com.smartgwt.client.widgets.tab

## Class TabSet

- java.lang.Object
- - com.google.gwt.user.client.ui.UIObject
  - - com.google.gwt.user.client.ui.Widget
    - - com.smartgwt.client.widgets.BaseWidget
      - - com.smartgwt.client.widgets.Canvas
        - - com.smartgwt.client.widgets.tab.TabSet

- All Implemented Interfaces:
    com.google.gwt.event.logical.shared.HasAttachHandlers, com.google.gwt.event.shared.HasHandlers, com.google.gwt.user.client.EventListener, com.google.gwt.user.client.ui.HasVisibility, com.google.gwt.user.client.ui.IsWidget, LogicalStructure, HasClearHandlers, HasClickHandlers, HasDoubleClickHandlers, HasDragMoveHandlers, HasDragRepositionMoveHandlers, HasDragRepositionStartHandlers, HasDragRepositionStopHandlers, HasDragResizeMoveHandlers, HasDragResizeStartHandlers, HasDragResizeStopHandlers, HasDragStartHandlers, HasDragStopHandlers, HasDropHandlers, HasDropMoveHandlers, HasDropOutHandlers, HasDropOverHandlers, HasFocusChangedHandlers, HasHoverHandlers, HasHoverHiddenHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseStillDownHandlers, HasMouseUpHandlers, HasMouseWheelHandlers, HasMovedHandlers, HasParentMovedHandlers, HasResizedHandlers, HasRightMouseDownHandlers, HasRuleContextChangedHandlers, HasScrolledHandlers, HasShowContextMenuHandlers, HasVisibilityChangedHandlers, HasAddTabClickedHandlers, HasCloseClickHandlers, HasTabContextMenuHandlers, HasTabDeselectedHandlers, HasTabIconClickHandlers, HasTabSelectedHandlers, HasTabsReorderedHandlers, HasTabTitleChangedHandlers

      public class TabSet
      extends Canvas
      implements HasAddTabClickedHandlers, HasCloseClickHandlers, HasTabContextMenuHandlers, HasTabDeselectedHandlers, HasTabIconClickHandlers, HasTabSelectedHandlers, HasTabsReorderedHandlers, HasTabTitleChangedHandlers

  The TabSet class allows components on several panes to share the same space. The tabs at the top can be selected by the user to show each pane.

  Tabs are configured via the `tabs` property, each of which has a `pane` property which will be displayed in the main pane when that tab is selected.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject

      `com.google.gwt.user.client.ui.UIObject.DebugIdImpl, com.google.gwt.user.client.ui.UIObject.DebugIdImplEnabled`

  - ### Field Summary

    - ### Fields inherited from class com.smartgwt.client.widgets.BaseWidget

      `config, configOnly, factoryCreated, factoryProperties, id, nativeObject, scClassName`

    - ### Fields inherited from class com.google.gwt.user.client.ui.UIObject

      `DEBUG_ID_PREFIX`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TabSet()`
    `TabSet(com.google.gwt.core.client.JavaScriptObject jsObj)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `com.google.gwt.event.shared.HandlerRegistration` | `addAddTabClickedHandler(AddTabClickedHandler handler)` Add a addTabClicked handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addCloseClickHandler(CloseClickHandler handler)` Add a closeClick handler.
    `void` | `addTab(Tab tab)` Add a tab
    `void` | `addTab(Tab tab, int position)` Add a tab
    `com.google.gwt.event.shared.HandlerRegistration` | `addTabContextMenuHandler(TabContextMenuHandler handler)` Add a tabContextMenu handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addTabDeselectedHandler(TabDeselectedHandler handler)` Add a tabDeselected handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addTabIconClickHandler(TabIconClickHandler handler)` Add a tabIconClick handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addTabSelectedHandler(TabSelectedHandler handler)` Add a tabSelected handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addTabsReorderedHandler(TabsReorderedHandler handler)` Add a tabsReordered handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addTabTitleChangedHandler(TabTitleChangedHandler handler)` Add a tabTitleChanged handler.
    `void` | `cancelTabTitleEditing()` If the user is currently editing a tab title (see `canEditTabTitles`), dismiss the editor and discard the edit value entered by the user.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, Canvas defaults)` Changes the defaults for Canvas AutoChildren named `autoChildName`.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, FormItem defaults)` Changes the defaults for FormItem AutoChildren named `autoChildName`.
    `protected com.google.gwt.core.client.JavaScriptObject` | `create()`
    `void` | `disableTab(int tabIndex)` If the specified tab is enabled, disable it now.
    `void` | `disableTab(java.lang.String ID)` If the specified tab is enabled, disable it now.
    `void` | `disableTab(Tab tab)` If the specified tab is enabled, disable it now.
    `void` | `editTabTitle(int tab)` Places an editor in the title of the parameter tab and allows the user to edit the title.
    `void` | `editTabTitle(java.lang.String tab)` Places an editor in the title of the parameter tab and allows the user to edit the title.
    `void` | `enableTab(int tabIndex)` If the specified tab is disabled, enable it now.
    `void` | `enableTab(java.lang.String ID)` If the specified tab is disabled, enable it now.
    `void` | `enableTab(Tab tab)` If the specified tab is disabled, enable it now.
    `ImgButton` | `getAddTabButton()` Appears when `canAddTabs` is enabled.
    `java.lang.String` | `getAddTabButtonIcon()` Icon for the `addTabButton`.
    `java.lang.Boolean` | `getAnimateTabScrolling()` If `showTabScroller` is true, should tabs be scrolled into view via an animation when the user interacts with the scroller buttons?
    `java.lang.String` | `getAriaCloseableSuffix()` When `screen reader mode` is enabled and a tab is `closeable`, the `ariaCloseableSuffix` is a string that is appended to the label of closeable tabs.
    `java.lang.Boolean` | `getCanAddTabs()` Causes the `addTabButton` to appear after the `tabs` and before the `tabBarControls`.
    `java.lang.Boolean` | `getCanCloseTabs()` Should tabs in this tabSet show an icon allowing the user to dismiss the tab by clicking on it directly.
    `java.lang.Boolean` | `getCanEditTabTitles()` If true, users can edit the titles of tabs in this TabSet when the `titleEditEvent` fires.
    `java.lang.Boolean` | `getCanReorderTabs()` If true, tabs can be reordered by dragging on them.
    `java.lang.String` | `getCloseTabIcon()` Default src for the close icon for tabs to display if `canCloseTabs` is true.
    `int` | `getCloseTabIconSize()` Size in pixels of the icon for closing tabs, displayed when `canCloseTabs` is true.
    `java.lang.Integer` | `getDefaultTabHeight()` If set, is passed as "height" to all tabs when `tabBarPosition` is set to `"left"` or `"right"`.
    `java.lang.Integer` | `getDefaultTabWidth()` If set, is passed as "width" to all tabs when `tabBarPosition` is set to `"top"` or `"bottom"`.
    `java.lang.Boolean` | `getDestroyPanes()` Whether `destroy()` should be called on `Tab.pane` when it a tab is removed via `removeTab()`.
    `java.lang.String` | `getEditProxyConstructor()` Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
    `java.lang.String` | `getLocateTabsBy()` When `AutoTest.getElement()` is used to parse locator strings generated by `AutoTest.getLocator()`, how should tabs within this tabset be identified? If the locator has a specified `Tab.ID` or `Tab.name`, no fallback approach will be used as those attributes (with `Tab.ID` having priority) are each alone considered to definitively locate it.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `getLogicalStructure()` Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `Tab` | `getMoreTab()` `Tab` to be shown when `showMoreTab` is enabled more than `moreTabCount` tabs are provided.
    `int` | `getMoreTabCount()` This property defines the number tab buttons that should be shown before automatically adding a "more" button to handle the remaining tabs.
    `java.lang.String` | `getMoreTabImage()` If `showMoreTab` is enabled this property determines the image to display on the "More" tab button.
    `VLayout` | `getMoreTabPane()` Pane contents for the "more" tab based on a VLayout.
    `Canvas` | `getMoreTabPaneDefaults()` Default properties for the "more" tab's pane.
    `NavigationBar` | `getMoreTabPaneNavBar()` Navigation bar shown in the `moreTabPane`;
    `Canvas` | `getMoreTabPaneProperties()` Properties to apply to the "more" tab's pane created by this TabSet.
    `TableView` | `getMoreTabPaneTable()` `TableView` used to show links to other tabs in the `moreTabPane`;
    `Tab` | `getMoreTabProperties()` Properties to apply to the "more" tab created by this TabSet.
    `java.lang.String` | `getMoreTabTitle()` Title for the "More" tab.
    `int` | `getNumTabs()` The number of tabs
    `static TabSet` | `getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `VLayout` | `getPaneContainer()` Container where the component specified by `Tab.pane` is shown.
    `java.lang.String` | `getPaneContainerClassName()` CSS style used for the paneContainer.
    `Overflow` | `getPaneContainerOverflow()` Specifies the overflow of the pane container (the component that holds the pane contents for all tabs).
    `int` | `getPaneMargin()` Space to leave around the panes in our paneContainer
    `java.lang.String` | `getPickerButtonHSrc()` If `showTabPicker` is true, and `symmetricPickerButton` is set to true, this property governs the base URL for the picker button image, when displayed in a horizontal tab-bar [IE `tabBarPosition` is set to `"top"` or `"bottom"`].
    `int` | `getPickerButtonSize()` If `showTabPicker` is `true` and `isTouch` is `false`, this property governs the size of the tab picker button.
    `java.lang.String` | `getPickerButtonSrc()` If `showTabPicker` is true, this property governs the base URL for the picker button image, when `symmetricPickerButton` is set to false
    `java.lang.String` | `getPickerButtonVSrc()` If `showTabPicker` is true, and `symmetricPickerButton` is set to true, this property governs the base URL for the picker button image, when displayed in a verricaL tab-bar [IE `tabBarPosition` is set to `"LEFT"` or `"right"`].
    `StretchImgButton` | `getScroller()` A component containing back and forward buttons for scrolling through all of the tabs of the TabSet.
    `int` | `getScrollerButtonSize()` If `showTabScroller` is true, this property governs the size of scroller buttons.
    `java.lang.String` | `getScrollerHSrc()` If this TabSet is showing `tab scroller buttons`, and `symmetricScroller` is true, this property governs the base URL for the tab bar back and forward scroller button images for horizontal tab bars [IE for tab sets with `tabBarPosition` set to "top" or "bottom"].
    `java.lang.String` | `getScrollerSrc()` If this TabSet is showing `tab scroller buttons`, and `symmetricScroller` is false, this property governs the base URL for the tab bar back and forward scroller button images.
    `java.lang.String` | `getScrollerVSrc()` If this TabSet is showing `tab scroller buttons`, and `symmetricScroller` is true, this property governs the base URL for the tab bar back and forward scroller button images for vertical tab bars [IE for tab sets with `tabBarPosition` set to "left" or "right"].
    `Tab` | `getSelectedTab()` The currently selected tab.
    `int` | `getSelectedTabNumber()` Returns the index of the currently selected tab object.
    `java.lang.Boolean` | `getShowMoreTab()` Should tabs exceeding `moreTabCount` be shown on a "more" tab?
    `java.lang.Boolean` | `getShowPaneContainerEdges()` Should the paneContainer for this tabset show `edges`.
    `java.lang.Boolean` | `getShowPartialEdges()` If the paneContainer for this tab set is showing `edges`, setting this attribute to `true` will set the paneContainer to show `customEdges` for the three sides opposing the tabBarPosition.
    `java.lang.Boolean` | `getShowTabBar()` Should the tabBar be displayed or not If shrinkElementOnHide is true, the paneContainer will expand over the space occupied by TabBar
    `java.lang.Boolean` | `getShowTabPicker()` If there is not enough space to display all the tab-buttons in this tabSet, should a drop-down "picker" be displayed to allow selection of tabs that are clipped?
    `java.lang.Boolean` | `getShowTabScroller()` If there is not enough space to display all the tab-buttons in this tabSet, should scroll buttons be displayed to allow access to tabs that are clipped? If unset, defaults to false for `handsets` and true otherwise.
    `java.lang.String` | `getSimpleTabBaseStyle()` If `useSimpleTabs` is true, `simpleTabBaseStyle` will be the base style used to determine the css style to apply to the tabs.
    `java.lang.String` | `getSimpleTabIconOnlyBaseStyle()` If `useSimpleTabs` is true, `simpleTabIconOnlyBaseStyle` will be the base style used to determine the css style to apply to the tabs if `Tab.canAdaptWidth` is set and the title is not being shown.
    `java.lang.String` | `getSkinImgDir()` Default directory for skin images (those defined by the class), relative to the Page-wide `skinDir`.
    `java.lang.Boolean` | `getSymmetricEdges()` If this tabSet will `show edges` for the paneContainer, this property determines whether the same edge media will be used regardless of the tab bar position, or whether different media should be used (necessary if the edge appearance is not symmetrical on all sides).
    `java.lang.Boolean` | `getSymmetricPickerButton()` If this TabSet is showing a `tab picker button`, this property determines whether the `pickerButtonHSrc` and `pickerButtonVSrc` media will be used for vertical and horizontal tab-bar picker buttons, or whether separate media should be used for each possible `tabBarPosition` based on the `pickerButtonSrc` property for this tabSet.
    `java.lang.Boolean` | `getSymmetricScroller()` If this TabSet is showing `tab scroller buttons`, this property determines whether the `scrollerHSrc` and `scrollerVSrc` media will be used for vertical and horizontal tab-bar scroller buttons, or whether separate media should be used for each possible `tabBarPosition` based on the `scrollerSrc` property for this tabSet.
    `Tab` | `getTab(int tabIndex)` Retrieves a Tab definition from within this tabSet by index.
    `Tab` | `getTab(java.lang.String ID)` Retrieves a Tab definition from within this tabSet by ID.
    `TabBar` | `getTabBar()` TabBar for this TabSet, an instance of `TabBar`.
    `Side` | `getTabBarAlign()` Alignment of the tabBar.
    `Alignment` | `getTabBarAlignAsAlignment()` Alignment of the tabBar.
    `Layout` | `getTabBarControlLayout()` `com.smartgwt.client.types.AutoChild` of type `Layout` that holds the `tabBarControls` as well as the built-in controls such as the `tab picker menu`.
    `Side` | `getTabBarPosition()` Which side of the TabSet the TabBar should appear on.
    `int` | `getTabBarThickness()` Thickness of tabBar, applies to either orientation (specifies height for horizontal, width for vertical orientation).
    `StatefulCanvas` | `getTabCanvas(int tabIndex)` Get the live Canvas representing a tab by index.
    `StatefulCanvas` | `getTabCanvas(java.lang.String ID)` Get the live Canvas representing a tab by index.
    `int` | `getTabNumber(java.lang.String ID)` Get the index of a tab from the tabID.
    `ImgButton` | `getTabPicker()` A button control that allows tabs to be picked directly from a popup menu.
    `Tab[]` | `getTabs()` The tabs
    `TabTitleEditEvent` | `getTitleEditEvent()` The event that triggers title editing on this TabSet.
    `TextItem` | `getTitleEditor()` TextItem we use to edit tab titles in this TabSet.
    `java.lang.Integer` | `getTitleEditorLeftOffset()` If set, offsets the tab title editor further in from the left-hand edge of the tab, by the number of pixels set in this property.
    `TextItem` | `getTitleEditorProperties()` Properties for the auto-generated `titleEditor`.
    `java.lang.Integer` | `getTitleEditorRightOffset()` If set, offsets the tab title editor further in from the right-hand edge of the tab, by the number of pixels set in this property.
    `java.lang.Integer` | `getTitleEditorTopOffset()` If set, offsets the tab title editor further down from the top edge of the tab, by the number of pixels set in this property.
    `int` | `getTouchPickerButtonSize()` The size of the tab picker button when `isTouch` is `true`.
    `java.lang.Boolean` | `getUseIOSTabs()` Setting this to true turns on a different appearance for tabs, similar to iOS tabs from the "Music" app, where the tab.icon is enlarged and shown as a black and white mask.
    `java.lang.Boolean` | `getUseSimpleTabs()` Should we use simple button based tabs styled with CSS rather than image based `ImgTab` tabs?
    `static void` | `preloadImages()` Preload primary tab skin images.
    `void` | `removeLastTab()` Removes the last tab in the TabSet, excluding the `moreTab` if present.
    `void` | `removeTab(int tabIndex)` Remove a tab.
    `void` | `removeTab(java.lang.String ID)` Remove a tab.
    `void` | `removeTab(Tab tab)` Remove a tab.
    `void` | `removeTabs(int[] tabIndexes)` Remove one or more tabs.
    `void` | `removeTabs(java.lang.String[] ids)` Remove one or more tabs.
    `void` | `reorderTab(Tab tab)` Move a tab to another location in the tabset.
    `void` | `reorderTab(Tab tab, int moveToPosition)` Move a tab to another location in the tabset.
    `void` | `revealChild(Canvas child)` Reveals the child Canvas passed in by selecting the tab containing that child if it is not already selected.
    `void` | `revealChild(java.lang.String childID)` Reveals the child Canvas passed in by selecting the tab containing that child if it is not already selected.
    `void` | `saveTabTitle()` If the user is currently editing a tab title (see `canEditTabTitles`), save the edited tab title and hide the editor.
    `void` | `scrollBack()` If there is not enough space to display all the tabs in this tabSet, this method will scroll the previous tab (that first tab that is clipped at the beginning of the tab-bar) into view.
    `void` | `scrollForward()` If there is not enough space to display all the tabs in this tabSet, this method will scroll the next tab (that first tab that is clipped at the end of the tab-bar) into view.
    `void` | `selectTab(int tabIndex)` Select a tab.
    `void` | `selectTab(java.lang.String ID)` Select a tab.
    `void` | `selectTab(Tab tab)` Select a tab.
    `void` | `setAddTabButtonIcon(java.lang.String addTabButtonIcon)` Icon for the `addTabButton`.
    `void` | `setAnimateTabScrolling(java.lang.Boolean animateTabScrolling)` If `showTabScroller` is true, should tabs be scrolled into view via an animation when the user interacts with the scroller buttons?
    `void` | `setAriaCloseableSuffix(java.lang.String ariaCloseableSuffix)` When `screen reader mode` is enabled and a tab is `closeable`, the `ariaCloseableSuffix` is a string that is appended to the label of closeable tabs.
    `void` | `setCanAddTabs(java.lang.Boolean canAddTabs)` Causes the `addTabButton` to appear after the `tabs` and before the `tabBarControls`.
    `void` | `setCanCloseTab(Tab tab, boolean canClose)` Sets the given tab's `canClose` property to the boolean parameter canClose.
    `void` | `setCanCloseTabs(java.lang.Boolean canCloseTabs)` Should tabs in this tabSet show an icon allowing the user to dismiss the tab by clicking on it directly.
    `void` | `setCanEditTabTitles(java.lang.Boolean canEditTabTitles)` If true, users can edit the titles of tabs in this TabSet when the `titleEditEvent` fires.
    `void` | `setCanReorderTabs(java.lang.Boolean canReorderTabs)` If true, tabs can be reordered by dragging on them.
    `void` | `setCloseTabIcon(java.lang.String closeTabIcon)` Default src for the close icon for tabs to display if `canCloseTabs` is true.
    `void` | `setCloseTabIconSize(int closeTabIconSize)` Size in pixels of the icon for closing tabs, displayed when `canCloseTabs` is true.
    `static void` | `setDefaultProperties(TabSet tabSetProperties)` Class level method to set the default properties of this class.
    `void` | `setDefaultTabHeight(java.lang.Integer defaultTabHeight)` If set, is passed as "height" to all tabs when `tabBarPosition` is set to `"left"` or `"right"`.
    `void` | `setDefaultTabWidth(java.lang.Integer defaultTabWidth)` If set, is passed as "width" to all tabs when `tabBarPosition` is set to `"top"` or `"bottom"`.
    `void` | `setDestroyPanes(java.lang.Boolean destroyPanes)` Whether `destroy()` should be called on `Tab.pane` when it a tab is removed via `removeTab()`.
    `void` | `setEditProxyConstructor(java.lang.String editProxyConstructor)` Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
    `void` | `setLocateTabsBy(java.lang.String locateTabsBy)` When `AutoTest.getElement()` is used to parse locator strings generated by `AutoTest.getLocator()`, how should tabs within this tabset be identified? If the locator has a specified `Tab.ID` or `Tab.name`, no fallback approach will be used as those attributes (with `Tab.ID` having priority) are each alone considered to definitively locate it.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `setLogicalStructure(com.smartgwt.logicalstructure.widgets.tab.TabSetLogicalStructure s)` Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `void` | `setMoreTabCount(int moreTabCount)` This property defines the number tab buttons that should be shown before automatically adding a "more" button to handle the remaining tabs.
    `void` | `setMoreTabImage(java.lang.String moreTabImage)` If `showMoreTab` is enabled this property determines the image to display on the "More" tab button.
    `void` | `setMoreTabPaneDefaults(Canvas moreTabPaneDefaults)` Default properties for the "more" tab's pane.
    `void` | `setMoreTabPaneProperties(Canvas moreTabPaneProperties)` Properties to apply to the "more" tab's pane created by this TabSet.
    `void` | `setMoreTabProperties(Tab moreTabProperties)` Properties to apply to the "more" tab created by this TabSet.
    `void` | `setMoreTabTitle(java.lang.String moreTabTitle)` Title for the "More" tab.
    `void` | `setPaneContainerClassName(java.lang.String paneContainerClassName)` CSS style used for the paneContainer.
    `void` | `setPaneContainerOverflow(Overflow paneContainerOverflow)` Specifies the overflow of the pane container (the component that holds the pane contents for all tabs).
    `void` | `setPaneContainerProperties(Canvas paneContainerProperties)` Properties of the container where the component specified by Tab.pane is shown.
    `void` | `setPaneMargin(int paneMargin)` Space to leave around the panes in our paneContainer
    `void` | `setPickerButtonHSrc(java.lang.String pickerButtonHSrc)` If `showTabPicker` is true, and `symmetricPickerButton` is set to true, this property governs the base URL for the picker button image, when displayed in a horizontal tab-bar [IE `tabBarPosition` is set to `"top"` or `"bottom"`].
    `void` | `setPickerButtonSize(int pickerButtonSize)` If `showTabPicker` is `true` and `isTouch` is `false`, this property governs the size of the tab picker button.
    `void` | `setPickerButtonSrc(java.lang.String pickerButtonSrc)` If `showTabPicker` is true, this property governs the base URL for the picker button image, when `symmetricPickerButton` is set to false
    `void` | `setPickerButtonVSrc(java.lang.String pickerButtonVSrc)` If `showTabPicker` is true, and `symmetricPickerButton` is set to true, this property governs the base URL for the picker button image, when displayed in a verricaL tab-bar [IE `tabBarPosition` is set to `"LEFT"` or `"right"`].
    `void` | `setScrollerButtonSize(int scrollerButtonSize)` If `showTabScroller` is true, this property governs the size of scroller buttons.
    `void` | `setScrollerHSrc(java.lang.String scrollerHSrc)` If this TabSet is showing `tab scroller buttons`, and `symmetricScroller` is true, this property governs the base URL for the tab bar back and forward scroller button images for horizontal tab bars [IE for tab sets with `tabBarPosition` set to "top" or "bottom"].
    `void` | `setScrollerSrc(java.lang.String scrollerSrc)` If this TabSet is showing `tab scroller buttons`, and `symmetricScroller` is false, this property governs the base URL for the tab bar back and forward scroller button images.
    `void` | `setScrollerVSrc(java.lang.String scrollerVSrc)` If this TabSet is showing `tab scroller buttons`, and `symmetricScroller` is true, this property governs the base URL for the tab bar back and forward scroller button images for vertical tab bars [IE for tab sets with `tabBarPosition` set to "left" or "right"].
    `void` | `setSelectedTab(int selectedTab)` Specifies the index of the initially selected tab.
    `void` | `setShowMoreTab(java.lang.Boolean showMoreTab)` Should tabs exceeding `moreTabCount` be shown on a "more" tab?
    `void` | `setShowPaneContainerEdges(java.lang.Boolean showPaneContainerEdges)` Should the paneContainer for this tabset show `edges`.
    `void` | `setShowPartialEdges(java.lang.Boolean showPartialEdges)` If the paneContainer for this tab set is showing `edges`, setting this attribute to `true` will set the paneContainer to show `customEdges` for the three sides opposing the tabBarPosition.
    `void` | `setShowTabBar(java.lang.Boolean showTabBar)` Should the tabBar be displayed or not If shrinkElementOnHide is true, the paneContainer will expand over the space occupied by TabBar
    `void` | `setShowTabPicker(java.lang.Boolean showTabPicker)` If there is not enough space to display all the tab-buttons in this tabSet, should a drop-down "picker" be displayed to allow selection of tabs that are clipped?
    `void` | `setShowTabScroller(java.lang.Boolean showTabScroller)` If there is not enough space to display all the tab-buttons in this tabSet, should scroll buttons be displayed to allow access to tabs that are clipped? If unset, defaults to false for `handsets` and true otherwise.
    `void` | `setSimpleTabBaseStyle(java.lang.String simpleTabBaseStyle)` If `useSimpleTabs` is true, `simpleTabBaseStyle` will be the base style used to determine the css style to apply to the tabs.
    `void` | `setSimpleTabIconOnlyBaseStyle(java.lang.String simpleTabIconOnlyBaseStyle)` If `useSimpleTabs` is true, `simpleTabIconOnlyBaseStyle` will be the base style used to determine the css style to apply to the tabs if `Tab.canAdaptWidth` is set and the title is not being shown.
    `void` | `setSkinImgDir(java.lang.String skinImgDir)` Default directory for skin images (those defined by the class), relative to the Page-wide `skinDir`.
    `void` | `setSymmetricEdges(java.lang.Boolean symmetricEdges)` If this tabSet will `show edges` for the paneContainer, this property determines whether the same edge media will be used regardless of the tab bar position, or whether different media should be used (necessary if the edge appearance is not symmetrical on all sides).
    `void` | `setSymmetricPickerButton(java.lang.Boolean symmetricPickerButton)` If this TabSet is showing a `tab picker button`, this property determines whether the `pickerButtonHSrc` and `pickerButtonVSrc` media will be used for vertical and horizontal tab-bar picker buttons, or whether separate media should be used for each possible `tabBarPosition` based on the `pickerButtonSrc` property for this tabSet.
    `void` | `setSymmetricScroller(java.lang.Boolean symmetricScroller)` If this TabSet is showing `tab scroller buttons`, this property determines whether the `scrollerHSrc` and `scrollerVSrc` media will be used for vertical and horizontal tab-bar scroller buttons, or whether separate media should be used for each possible `tabBarPosition` based on the `scrollerSrc` property for this tabSet.
    `void` | `setTabBarAlign(Alignment tabBarAlign)` Alignment of the tabBar.
    `void` | `setTabBarAlign(Side tabBarAlign)` Alignment of the tabBar.
    `void` | `setTabBarControls(java.lang.Object... tabBarControls)` This property determines what controls should show up after the tabBar for this TabSet.
    `void` | `setTabBarPosition(Side tabBarPosition)` Which side of the TabSet the TabBar should appear on.
    `void` | `setTabBarProperties(TabBar tabBarProperties)` This attribute allows developers to specify custom properties for this tabset's `tabBar`
    `void` | `setTabBarThickness(int tabBarThickness)` Thickness of tabBar, applies to either orientation (specifies height for horizontal, width for vertical orientation).
    `void` | `setTabIcon(int tabIndex, java.lang.String iconURL)` Changes the icon of a tab
    `void` | `setTabIcon(java.lang.String ID, java.lang.String iconURL)` Changes the icon of a tab
    `void` | `setTabIcon(Tab tab, java.lang.String iconURL)` Changes the icon of a tab
    `void` | `setTabPane(int tabIndex, Canvas pane)` Apply a new `pane` to an existing tab in this tabSet
    `void` | `setTabPane(java.lang.String tabID, Canvas pane)` Apply a new `pane` to an existing tab in this tabSet
    `void` | `setTabPickerTitle(Tab tab, java.lang.String pickerTitle)` Changes the title of the picker menu item of a tab
    `void` | `setTabs(Tab... tabs)` An array of `Tab` objects, specifying the title and pane contents of each tab in the TabSet.
    `void` | `setTabTitle(int tabIndex, java.lang.String title)` Changes the title of a tab
    `void` | `setTabTitle(java.lang.String ID, java.lang.String title)` Changes the title of a tab
    `void` | `setTabTitle(Tab tab, java.lang.String title)` Changes the title of a tab
    `void` | `setTitleEditEvent(TabTitleEditEvent titleEditEvent)` The event that triggers title editing on this TabSet.
    `void` | `setTitleEditorLeftOffset(java.lang.Integer titleEditorLeftOffset)` If set, offsets the tab title editor further in from the left-hand edge of the tab, by the number of pixels set in this property.
    `void` | `setTitleEditorProperties(TextItem titleEditorProperties)` Properties for the auto-generated `titleEditor`.
    `void` | `setTitleEditorRightOffset(java.lang.Integer titleEditorRightOffset)` If set, offsets the tab title editor further in from the right-hand edge of the tab, by the number of pixels set in this property.
    `void` | `setTitleEditorTopOffset(java.lang.Integer titleEditorTopOffset)` If set, offsets the tab title editor further down from the top edge of the tab, by the number of pixels set in this property.
    `void` | `setTouchPickerButtonSize(int touchPickerButtonSize)` The size of the tab picker button when `isTouch` is `true`.
    `void` | `setUseIOSTabs(java.lang.Boolean useIOSTabs)` Setting this to true turns on a different appearance for tabs, similar to iOS tabs from the "Music" app, where the tab.icon is enlarged and shown as a black and white mask.
    `void` | `setUseSimpleTabs(java.lang.Boolean useSimpleTabs)` Should we use simple button based tabs styled with CSS rather than image based `ImgTab` tabs?
    `Tab` | `tabForPane(Canvas pane)` Search for a tab that contains a pane.
    `void` | `updateTab(int tabIndex, Canvas pane)` Set the pane for a tab.
    `void` | `updateTab(Tab tab, Canvas pane)` Set the pane for a tab.

    - ### Methods inherited from class com.smartgwt.client.widgets.Canvas

      `addChild, addChild, addChild, addChild, addChild, addClearHandler, addClickHandler, addDoubleClickHandler, addDragMoveHandler, addDragRepositionMoveHandler, addDragRepositionStartHandler, addDragRepositionStopHandler, addDragResizeMoveHandler, addDragResizeStartHandler, addDragResizeStopHandler, addDragStartHandler, addDragStopHandler, addDropHandler, addDropMoveHandler, addDropOutHandler, addDropOverHandler, addFocusChangedHandler, addHoverHandler, addHoverHiddenHandler, addKeyDownHandler, addKeyPressHandler, addMouseDownHandler, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseStillDownHandler, addMouseUpHandler, addMouseWheelHandler, addMovedHandler, addParentMovedHandler, addPeer, addPeer, addPeer, addPeer, addResizedHandler, addRightMouseDownHandler, addRuleContextChangedHandler, addScrolledHandler, addShowContextMenuHandler, addSnapAlignCandidate, addStyleName, addVisibilityChangedHandler, adjustForContent, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateHide, animateHide, animateHide, animateHide, animateHide, animateHide, animateHide, animateMove, animateMove, animateMove, animateMove, animateRect, animateRect, animateRect, animateRect, animateResize, animateResize, animateResize, animateResize, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateShow, animateShow, animateShow, animateShow, animateShow, animateShow, animateShow, asSGWTComponent, blur, bringToFront, clear, clearExplicitTabIndex, clickMaskUp, clickMaskUp, contains, contains, containsEvent, containsFocus, containsPoint, containsPoint, deparent, depeer, disable, enable, encloses, focus, focusAfterGroup, focusAtEnd, focusInNextTabElement, focusInPreviousTabElement, getAbsoluteLeft, getAbsoluteTop, getAccessKey, getAdaptiveHeightPriority, getAdaptiveWidthPriority, getAlwaysShowScrollbars, getAnimateAcceleration, getAnimateFadeTime, getAnimateHideAcceleration, getAnimateHideEffect, getAnimateHideTime, getAnimateMoveAcceleration, getAnimateMoveTime, getAnimateRectAcceleration, getAnimateRectTime, getAnimateResizeAcceleration, getAnimateResizeTime, getAnimateScrollAcceleration, getAnimateScrollTime, getAnimateShowAcceleration, getAnimateShowEffect, getAnimateShowTime, getAnimateTime, getAppImgDir, getAriaRole, getAutoDraw, getAutoMaskComponents, getAutoParent, getAutoShowParent, getBackgroundColor, getBackgroundImage, getBackgroundPosition, getBackgroundRepeat, getBorder, getBottom, getById, getByJSObject, getByLocalId, getCanAcceptDrop, getCanAdaptHeight, getCanAdaptWidth, getCanDrag, getCanDragReposition, getCanDragResize, getCanDragScroll, getCanDrop, getCanDropBefore, getCanFocus, getCanHover, getCanSelectText, getCanvasAutoChild, getCanvasItem, getChildren, getChildrenResizeSnapAlign, getChildrenSnapAlign, getChildrenSnapCenterAlign, getChildrenSnapEdgeAlign, getChildrenSnapResizeToGrid, getChildrenSnapToGrid, getChildTabPosition, getClassName, getComponentMask, getComponentMaskDefaults, getContentElement, getContents, getContextMenu, getCorrectZoomOverflow, getCursor, getDataPath, getDefaultHeight, getDefaultWidth, getDestroyed, getDestroying, getDisabled, getDisabledCursor, getDisableTouchScrollingForDrag, getDoubleClickDelay, getDragAppearance, getDragIntersectStyle, getDragMaskType, getDragMaxHeight, getDragMaxWidth, getDragMinHeight, getDragMinWidth, getDragOpacity, getDragRepositionAppearance, getDragRepositionCursor, getDragResizeAppearance, getDragScrollDelay, getDragStartDistance, getDragTarget, getDragType, getDropTypes, getDropTypesAsString, getDynamicContents, getEdgeBackgroundColor, getEdgeCenterBackgroundColor, getEdgeImage, getEdgeMarginSize, getEdgeOffset, getEdgeOpacity, getEdgeShowCenter, getEdgeSize, getEditNode, getEditProxy, getElement, getElement, getEnableWhen, getEndLine, getEventEdge, getEventEdge, getExtraSpace, getFacetId, getFormItemAutoChild, getFullDataPath, getGroupBorderCSS, getGroupLabelBackgroundColor, getGroupLabelStyleName, getGroupTitle, getHeight, getHeightAsString, getHideUsingDisplayNone, getHoverAlign, getHoverAutoDestroy, getHoverAutoFitMaxWidth, getHoverAutoFitMaxWidthAsString, getHoverAutoFitWidth, getHoverComponent, getHoverDelay, getHoverHeight, getHoverHTML, getHoverMoveWithMouse, getHoverOpacity, getHoverStyle, getHoverVAlign, getHoverWidth, getHoverWrap, getHSnapOrigin, getHSnapOrigin, getHSnapPosition, getHSnapPosition, getHtmlElement, getHtmlPosition, getImage, getImgURL, getImgURL, getInnerContentHeight, getInnerContentWidth, getInnerHeight, getInnerWidth, getIsGroup, getIsPrinting, getIsRuleScope, getIsSnapAlignCandidate, getKeepInParentRect, getLayoutAlign, getLeavePageSpace, getLeft, getLeftAsString, getLocalId, getLocateChildrenBy, getLocateChildrenType, getLocatePeersBy, getLocatePeersType, getMargin, getMasterCanvas, getMasterElement, getMatchElement, getMaxHeight, getMaxWidth, getMaxZoomOverflowError, getMenuConstructor, getMinHeight, getMinNonEdgeSize, getMinWidth, getMomentumScrollMinSpeed, getMouseStillDownDelay, getMouseStillDownInitialDelay, getNextZIndex, getNoDoubleClicks, getNoDropCursor, getOffsetHeight, getOffsetWidth, getOffsetX, getOffsetY, getOpacity, getOuterElement, getOverflow, getPadding, getPageBottom, getPageLeft, getPageRect, getPageRight, getPageTop, getPaletteDefaults, getPanelContainer, getParentCanvas, getParentElement, getPeers, getPercentBox, getPercentSource, getPosition, getPrefix, getPrintChildrenAbsolutelyPositioned, getPrintHTML, getPrintHTML, getPrompt, getProportionalResizeModifiers, getProportionalResizing, getRect, getRedrawOnResize, getResizeBarTarget, getResizeFrom, getRight, getRuleContext, getRuleContext, getRuleScope, getScrollbarSize, getScrollBottom, getScrollHeight, getScrollLeft, getScrollRight, getScrollTop, getScrollWidth, getShadowColor, getShadowDepth, getShadowHOffset, getShadowImage, getShadowOffset, getShadowSoftness, getShadowSpread, getShadowVOffset, getShouldPrint, getShowCustomScrollbars, getShowDragShadow, getShowEdges, getShowHover, getShowHoverComponents, getShowResizeBar, getShowShadow, getShowSnapGrid, getShrinkElementOnHide, getSizeMayChangeOnRedraw, getSnapAlignCandidates, getSnapAlignCenterLineStyle, getSnapAlignEdgeLineStyle, getSnapAxis, getSnapEdge, getSnapHDirection, getSnapHGap, getSnapOffsetLeft, getSnapOffsetTop, getSnapOnDrop, getSnapPosition, getSnapPosition, getSnapResizeToAlign, getSnapResizeToGrid, getSnapTo, getSnapToAlign, getSnapToCenterAlign, getSnapToEdgeAlign, getSnapToGrid, getSnapVDirection, getSnapVGap, getStartLine, getStyleName, getTabIndex, getTestInstance, getTitle, getTooltip, getTop, getTopAsString, getTopElement, getUpdateTabPositionOnDraw, getUpdateTabPositionOnReparent, getUseBackMask, getUseCSSShadow, getUseDragMask, getUseImageForSVG, getUseNativeDrag, getUseOpacityFilter, getUseTouchScrolling, getValuesManager, getValuesManagerAsString, getViewportHeight, getViewportWidth, getVisibility, getVisibleHeight, getVisibleWhen, getVisibleWidth, getVSnapOrigin, getVSnapOrigin, getVSnapPosition, getVSnapPosition, getWidth, getWidthAsString, getZIndex, getZIndex, handleHover, hide, hideClickMask, hideClickMask, hideComponentMask, hideComponentMask, hideContextMenu, imgHTML, imgHTML, imgHTML, intersects, isDirty, isDisabled, isFocused, isVisible, keyUp, layoutChildren, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, markForDestroy, markForRedraw, markForRedraw, moveAbove, moveBelow, moveBy, moveTo, onAttach, onDetach, onInit, pageScrollDown, pageScrollUp, parentResized, placeNear, placeNear, placeNear, printComponents, provideRuleContext, provideRuleContext, redraw, redraw, removeChild, removeChild, removePeer, removePeer, removeSnapAlignCandidate, resizeAutoChildAttributes, resizeBy, resizeControls, resizeFonts, resizeFonts, resizeFonts, resizeIcons, resizeTo, resizeTo, scrollBy, scrollByPercent, scrollTo, scrollTo, scrollTo, scrollToBottom, scrollToLeft, scrollToPercent, scrollToRight, scrollToTop, sendToBack, setAccessKey, setAdaptHeightByCustomizer, setAdaptiveHeightPriority, setAdaptiveWidthPriority, setAdaptWidthByCustomizer, setAlign, setAllowExternalFilters, setAlwaysShowScrollbars, setAnimateAcceleration, setAnimateFadeTime, setAnimateHideAcceleration, setAnimateHideEffect, setAnimateHideTime, setAnimateMoveAcceleration, setAnimateMoveTime, setAnimateRectAcceleration, setAnimateRectTime, setAnimateResizeAcceleration, setAnimateResizeTime, setAnimateScrollAcceleration, setAnimateScrollTime, setAnimateShowAcceleration, setAnimateShowEffect, setAnimateShowTime, setAnimateTime, setAppImgDir, setAriaRole, setAriaState, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoDraw, setAutoHeight, setAutoMaskComponents, setAutoParent, setAutoResizeAutoChildAttributes, setAutoResizeIcons, setAutoShowParent, setAutoWidth, setBackgroundColor, setBackgroundImage, setBackgroundPosition, setBackgroundRepeat, setBorder, setBottom, setCanAcceptDrop, setCanAdaptHeight, setCanAdaptWidth, setCanDrag, setCanDragReposition, setCanDragResize, setCanDragScroll, setCanDrop, setCanDropBefore, setCanFocus, setCanHover, setCanSelectText, setChildren, setChildrenResizeSnapAlign, setChildrenSnapAlign, setChildrenSnapCenterAlign, setChildrenSnapEdgeAlign, setChildrenSnapResizeToGrid, setChildrenSnapToGrid, setComponentMaskDefaults, setContents, setContextMenu, setCorrectZoomOverflow, setCursor, setDataPath, setDefaultHeight, setDefaultPageSpace, setDefaultProperties, setDefaultWidth, setDisabled, setDisabledCursor, setDisableTouchScrollingForDrag, setDoubleClickDelay, setDragAppearance, setDragIntersectStyle, setDragMaskType, setDragMaxHeight, setDragMaxWidth, setDragMinHeight, setDragMinWidth, setDragOpacity, setDragRepositionAppearance, setDragRepositionCursor, setDragResizeAppearance, setDragScrollDelay, setDragStartDistance, setDragTarget, setDragType, setDropTypes, setDropTypes, setDynamicContents, setEdgeBackgroundColor, setEdgeCenterBackgroundColor, setEdgeImage, setEdgeMarginSize, setEdgeOffset, setEdgeOpacity, setEdgeShowCenter, setEdgeSize, setEditMode, setEditMode, setEditMode, setElement, setEnableWhen, setEndLine, setExtraSpace, setFacetId, setGroupBorderCSS, setGroupLabelBackgroundColor, setGroupLabelStyleName, setGroupTitle, setHeight, setHeight, setHeight, setHeight100, setHideUsingDisplayNone, setHoverAlign, setHoverAutoDestroy, setHoverAutoFitMaxWidth, setHoverAutoFitMaxWidth, setHoverAutoFitWidth, setHoverDelay, setHoverHeight, setHoverMoveWithMouse, setHoverOpacity, setHoverStyle, setHoverVAlign, setHoverWidth, setHoverWrap, setHtmlElement, setHtmlPosition, setImage, setImage, setInitHandler, setIsGroup, setIsRuleScope, setIsSnapAlignCandidate, setKeepInParentRect, setKeepInParentRect, setKeepInParentRect, setLayoutAlign, setLayoutAlign, setLeavePageSpace, setLeft, setLeft, setLocateChildrenBy, setLocateChildrenType, setLocatePeersBy, setLocatePeersType, setLogicalStructure, setMargin, setMatchElement, setMaxHeight, setMaxWidth, setMaxZoomOverflowError, setMenuConstructor, setMinHeight, setMinNonEdgeSize, setMinWidth, setMomentumScrollMinSpeed, setMouseStillDownDelay, setMouseStillDownInitialDelay, setNeverUseFilters, setNoDoubleClicks, setNoDropCursor, setOpacity, setOverflow, setPadding, setPageLeft, setPageTop, setPanelContainer, setParentCanvas, setParentElement, setPeers, setPercentBox, setPercentSource, setPosition, setPrefix, setPrintChildrenAbsolutelyPositioned, setPrompt, setProportionalResizeModifiers, setProportionalResizing, setRect, setRect, setRedrawOnResize, setRelativeTabPosition, setResizeBarTarget, setResizeFrom, setResizeFrom, setRight, setRuleScope, setScrollbarConstructor, setScrollbarSize, setShadowColor, setShadowDepth, setShadowHOffset, setShadowImage, setShadowOffset, setShadowSoftness, setShadowSpread, setShadowVOffset, setShouldPrint, setShowCustomScrollbars, setShowDragShadow, setShowEdges, setShowHover, setShowHoverComponents, setShowResizeBar, setShowShadow, setShowSnapGrid, setShrinkElementOnHide, setSizeMayChangeOnRedraw, setSmoothFade, setSnapAlignCandidates, setSnapAlignCenterLineStyle, setSnapAlignEdgeLineStyle, setSnapAxis, setSnapEdge, setSnapHDirection, setSnapHGap, setSnapOffsetLeft, setSnapOffsetTop, setSnapOnDrop, setSnapResizeToAlign, setSnapResizeToGrid, setSnapTo, setSnapToAlign, setSnapToCenterAlign, setSnapToEdgeAlign, setSnapToGrid, setSnapVDirection, setSnapVGap, setStartLine, setStyleName, setTabIndex, setTitle, setTooltip, setTop, setTop, setUpdateTabPositionOnDraw, setUpdateTabPositionOnReparent, setUseBackMask, setUseCSSShadow, setUseDragMask, setUseImageForSVG, setUseNativeDrag, setUseOpacityFilter, setUseTouchScrolling, setValuesManager, setValuesManager, setVisibility, setVisible, setVisibleWhen, setWidth, setWidth, setWidth, setWidth100, setZIndex, shouldDragScroll, show, showClickMask, showComponentMask, showComponentMask, showNextTo, showNextTo, showNextTo, showNextTo, showPrintPreview, showPrintPreview, showPrintPreview, showPrintPreview, showRecursively, updateChildTabPosition, updateChildTabPositions, updateEditNode, updateHover, updateHover, updateShadow, updateTabPositionForDraw, visibleAtPoint, willAcceptDrop`

    - ### Methods inherited from class com.smartgwt.client.widgets.BaseWidget

      `addDrawHandler, applyFactoryProperties, completeCreation, destroy, doAddHandler, doInit, doOnRender, draw, equals, error, errorIfNotCreated, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDateArray, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsFloatArray, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getConfig, getDOM, getHandlerCount, getID, getInnerHTML, getJsObj, getOrCreateJsObj, getRef, getScClassName, hasAutoAssignedID, hashCode, initNativeObject, internalSetID, internalSetID, isConfigOnly, isCreated, isDrawn, isFactoryCreated, onBind, onDestroy, onDraw, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setConfigOnly, setDefaultProperties, setDragTracker, setFactoryCreated, setID, setJavaScriptObject, setLogicalStructure, setLogicalStructure, setNullProperty, setPosition, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setScClassName, toString`

    - ### Methods inherited from class com.google.gwt.user.client.ui.Widget

      `addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getLayoutData, getParent, isAttached, isOrWasAttached, onBrowserEvent, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents, unsinkEvents`

    - ### Methods inherited from class com.google.gwt.user.client.ui.UIObject

      `addStyleDependentName, ensureDebugId, ensureDebugId, ensureDebugId, getStyleElement, getStyleName, getStylePrimaryName, getStylePrimaryName, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setVisible, sinkBitlessEvent`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface com.google.gwt.event.shared.HasHandlers

      `fireEvent`

- - ### Constructor Detail

    - #### TabSet

          public TabSet()

    - #### TabSet

          public TabSet(com.google.gwt.core.client.JavaScriptObject jsObj)

  - ### Method Detail

    - #### getOrCreateRef

          public static TabSet getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                                     Canvas defaults)

      Changes the defaults for Canvas AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - Canvas defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
      See Also:
        `AutoChildUsage`

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                                     FormItem defaults)

      Changes the defaults for FormItem AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - FormItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
      See Also:
        `AutoChildUsage`

    - #### create

          protected com.google.gwt.core.client.JavaScriptObject create()

      Overrides:
        `create` in class `Canvas`

    - #### getAddTabButton

          public ImgButton getAddTabButton()
                                    throws java.lang.IllegalStateException

      Appears when `canAddTabs` is enabled.

      This component is an AutoChild named "addTabButton". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current addTabButton value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setAddTabButtonIcon

          public void setAddTabButtonIcon(java.lang.String addTabButtonIcon)
                                   throws java.lang.IllegalStateException

      Icon for the `addTabButton`.
      Parameters:
        `addTabButtonIcon` - New addTabButtonIcon value. Default value is "[SKIN]actions/add.png"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `SCImgURL`

    - #### getAddTabButtonIcon

          public java.lang.String getAddTabButtonIcon()

      Icon for the `addTabButton`.
      Returns:
        Current addTabButtonIcon value. Default value is "[SKIN]actions/add.png"
      See Also:
        `SCImgURL`

    - #### setAnimateTabScrolling

          public void setAnimateTabScrolling(java.lang.Boolean animateTabScrolling)
                                      throws java.lang.IllegalStateException

      If `showTabScroller` is true, should tabs be scrolled into view via an animation when the user interacts with the scroller buttons?
      Parameters:
        `animateTabScrolling` - New animateTabScrolling value. Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getAnimateTabScrolling

          public java.lang.Boolean getAnimateTabScrolling()

      If `showTabScroller` is true, should tabs be scrolled into view via an animation when the user interacts with the scroller buttons?
      Returns:
        Current animateTabScrolling value. Default value is true

    - #### setAriaCloseableSuffix

          public void setAriaCloseableSuffix(java.lang.String ariaCloseableSuffix)
                                      throws java.lang.IllegalStateException

      When `screen reader mode` is enabled and a tab is `closeable`, the `ariaCloseableSuffix` is a string that is appended to the label of closeable tabs. This suffix is hidden from sighted users, but is announced by screen readers to indicate that the tab may be closed.

      Set to `null` to disable appending this suffix.

      Note : This is an advanced setting

      Parameters:
        `ariaCloseableSuffix` - New ariaCloseableSuffix value. Default value is ", closeable"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getAriaCloseableSuffix

          public java.lang.String getAriaCloseableSuffix()

      When `screen reader mode` is enabled and a tab is `closeable`, the `ariaCloseableSuffix` is a string that is appended to the label of closeable tabs. This suffix is hidden from sighted users, but is announced by screen readers to indicate that the tab may be closed.

      Set to `null` to disable appending this suffix.

      Returns:
        Current ariaCloseableSuffix value. Default value is ", closeable"

    - #### setCanAddTabs

          public void setCanAddTabs(java.lang.Boolean canAddTabs)
                             throws java.lang.IllegalStateException

      Causes the `addTabButton` to appear after the `tabs` and before the `tabBarControls`.

      There is no default behavior for what happens when the `addTabButton` is clicked. Add a handler for the `TabSet.addTabClicked()` event to implement a behavior.

      Parameters:
        `canAddTabs` - New canAddTabs value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getCanAddTabs

          public java.lang.Boolean getCanAddTabs()

      Causes the `addTabButton` to appear after the `tabs` and before the `tabBarControls`.

      There is no default behavior for what happens when the `addTabButton` is clicked. Add a handler for the `TabSet.addTabClicked()` event to implement a behavior.

      Returns:
        Current canAddTabs value. Default value is null

    - #### setCanCloseTabs

          public void setCanCloseTabs(java.lang.Boolean canCloseTabs)

      Should tabs in this tabSet show an icon allowing the user to dismiss the tab by clicking on it directly. May be overridden for individual tabs by setting `Tab.canClose`.

      The URL for this icon's image will be derived from `closeTabIcon` by default, but may be overridden by explicitly specifying `Tab.closeIcon`.

      Note: Currently, tabs can only show a single icon, so a closable tab will show the close icon only even if `Tab.icon` is set. To work around this, add the icon as an HTML <img> tag to the `Tab.title` property, for example:

               tab.setTitle("<span>" + Canvas.imgHTML("path/to/icon.png") + " Tab Title</span>");

      If this method is called after the component has been drawn/initialized: Changes this TabSet's `canCloseTabs` property.
      Parameters:
        `canCloseTabs` - the new value for canCloseTabs. Default value is null
      See Also:
        `com.smartgwt.client.widgets.tab.TabSet#closeClick`

    - #### getCanCloseTabs

          public java.lang.Boolean getCanCloseTabs()

      Should tabs in this tabSet show an icon allowing the user to dismiss the tab by clicking on it directly. May be overridden for individual tabs by setting `Tab.canClose`.

      The URL for this icon's image will be derived from `closeTabIcon` by default, but may be overridden by explicitly specifying `Tab.closeIcon`.

      Note: Currently, tabs can only show a single icon, so a closable tab will show the close icon only even if `Tab.icon` is set. To work around this, add the icon as an HTML <img> tag to the `Tab.title` property, for example:

               tab.setTitle("<span>" + Canvas.imgHTML("path/to/icon.png") + " Tab Title</span>");

      Returns:
        Current canCloseTabs value. Default value is null
      See Also:
        `com.smartgwt.client.widgets.tab.TabSet#closeClick`

    - #### setCanEditTabTitles

          public void setCanEditTabTitles(java.lang.Boolean canEditTabTitles)

      If true, users can edit the titles of tabs in this TabSet when the `titleEditEvent` fires. You can override this behavior per tab with the `Tab.canEditTitle` property.

      Note that this TabSet's `titleEditEvent` must be set to a supported `TabTitleEditEvent` in order for users to be able to edit the titles of tabs.

      Parameters:
        `canEditTabTitles` - New canEditTabTitles value. Default value is false
      See Also:
        User-Editable Titles Example

    - #### getCanEditTabTitles

          public java.lang.Boolean getCanEditTabTitles()

      If true, users can edit the titles of tabs in this TabSet when the `titleEditEvent` fires. You can override this behavior per tab with the `Tab.canEditTitle` property.

      Note that this TabSet's `titleEditEvent` must be set to a supported `TabTitleEditEvent` in order for users to be able to edit the titles of tabs.

      Returns:
        Current canEditTabTitles value. Default value is false
      See Also:
        User-Editable Titles Example

    - #### setCanReorderTabs

          public void setCanReorderTabs(java.lang.Boolean canReorderTabs)
                                 throws java.lang.IllegalStateException

      If true, tabs can be reordered by dragging on them.

      To disallow drag-reorder of a specific tab, see `Tab.canReorder`.

      Parameters:
        `canReorderTabs` - New canReorderTabs value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Dragdrop overview and related methods`

    - #### getCanReorderTabs

          public java.lang.Boolean getCanReorderTabs()

      If true, tabs can be reordered by dragging on them.

      To disallow drag-reorder of a specific tab, see `Tab.canReorder`.

      Returns:
        Current canReorderTabs value. Default value is null
      See Also:
        `Dragdrop overview and related methods`

    - #### setCloseTabIcon

          public void setCloseTabIcon(java.lang.String closeTabIcon)
                               throws java.lang.IllegalStateException

      Default src for the close icon for tabs to display if `canCloseTabs` is true.
      Parameters:
        `closeTabIcon` - New closeTabIcon value. Default value is [SKIN]/TabSet/close.png
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `SCImgURL`

    - #### getCloseTabIcon

          public java.lang.String getCloseTabIcon()

      Default src for the close icon for tabs to display if `canCloseTabs` is true.
      Returns:
        Current closeTabIcon value. Default value is [SKIN]/TabSet/close.png
      See Also:
        `SCImgURL`

    - #### setCloseTabIconSize

          public void setCloseTabIconSize(int closeTabIconSize)
                                   throws java.lang.IllegalStateException

      Size in pixels of the icon for closing tabs, displayed when `canCloseTabs` is true.
      Parameters:
        `closeTabIconSize` - New closeTabIconSize value. Default value is 16
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getCloseTabIconSize

          public int getCloseTabIconSize()

      Size in pixels of the icon for closing tabs, displayed when `canCloseTabs` is true.
      Returns:
        Current closeTabIconSize value. Default value is 16

    - #### setDefaultTabHeight

          public void setDefaultTabHeight(java.lang.Integer defaultTabHeight)
                                   throws java.lang.IllegalStateException

      If set, is passed as "height" to all tabs when `tabBarPosition` is set to `"left"` or `"right"`.

      If unset, height will be picked up from the Tab constructor class defaults. Note that tabs expand to fit their content so this height acts as a minimum. May be customized by individual `skins`.

      Parameters:
        `defaultTabHeight` - New defaultTabHeight value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getDefaultTabHeight

          public java.lang.Integer getDefaultTabHeight()

      If set, is passed as "height" to all tabs when `tabBarPosition` is set to `"left"` or `"right"`.

      If unset, height will be picked up from the Tab constructor class defaults. Note that tabs expand to fit their content so this height acts as a minimum. May be customized by individual `skins`.

      Returns:
        Current defaultTabHeight value. Default value is null

    - #### setDefaultTabWidth

          public void setDefaultTabWidth(java.lang.Integer defaultTabWidth)
                                  throws java.lang.IllegalStateException

      If set, is passed as "width" to all tabs when `tabBarPosition` is set to `"top"` or `"bottom"`.

      If unset, width will be picked up from the Tab constructor class defaults. Tabs expand to fit their content, so this width acts as a minimum. Setting width:1 will result in tabs that are only as wide as their titles. May be customized by individual `skins`.

      Parameters:
        `defaultTabWidth` - New defaultTabWidth value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getDefaultTabWidth

          public java.lang.Integer getDefaultTabWidth()

      If set, is passed as "width" to all tabs when `tabBarPosition` is set to `"top"` or `"bottom"`.

      If unset, width will be picked up from the Tab constructor class defaults. Tabs expand to fit their content, so this width acts as a minimum. Setting width:1 will result in tabs that are only as wide as their titles. May be customized by individual `skins`.

      Returns:
        Current defaultTabWidth value. Default value is null

    - #### setDestroyPanes

          public void setDestroyPanes(java.lang.Boolean destroyPanes)
                               throws java.lang.IllegalStateException

      Whether `destroy()` should be called on `Tab.pane` when it a tab is removed via `removeTab()`.

      With the default setting of `null` panes will be automatically destroyed. An application might set this to false in order to re-use panes in different tabs or in different parts of the application.

      Parameters:
        `destroyPanes` - New destroyPanes value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getDestroyPanes

          public java.lang.Boolean getDestroyPanes()

      Whether `destroy()` should be called on `Tab.pane` when it a tab is removed via `removeTab()`.

      With the default setting of `null` panes will be automatically destroyed. An application might set this to false in order to re-use panes in different tabs or in different parts of the application.

      Returns:
        Current destroyPanes value. Default value is null

    - #### setEditProxyConstructor

          public void setEditProxyConstructor(java.lang.String editProxyConstructor)
                                       throws java.lang.IllegalStateException

      Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
      Overrides:
        `setEditProxyConstructor` in class `Canvas`
      Parameters:
        `editProxyConstructor` - New editProxyConstructor value. Default value is "TabSetEditProxy"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `SCClassName`

    - #### getEditProxyConstructor

          public java.lang.String getEditProxyConstructor()

      Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
      Overrides:
        `getEditProxyConstructor` in class `Canvas`
      Returns:
        Current editProxyConstructor value. Default value is "TabSetEditProxy"
      See Also:
        `SCClassName`

    - #### setLocateTabsBy

          public void setLocateTabsBy(java.lang.String locateTabsBy)

      When `AutoTest.getElement()` is used to parse locator strings generated by `AutoTest.getLocator()`, how should tabs within this tabset be identified? If the locator has a specified `Tab.ID` or `Tab.name`, no fallback approach will be used as those attributes (with `Tab.ID` having priority) are each alone considered to definitively locate it.

      Otherwise, the following options are available:

      - `"title"` use the title as an identifier
      - `"index"` use the index of the tab in the tabset as an identifier

      If unset, and the locator has no specified ID or name, default behavior is to identify by title (if available), otherwise by index.

      Note : This is an advanced setting

      Parameters:
        `locateTabsBy` - New locateTabsBy value. Default value is null
      See Also:
        `LocatorStrategy`

    - #### getLocateTabsBy

          public java.lang.String getLocateTabsBy()

      When `AutoTest.getElement()` is used to parse locator strings generated by `AutoTest.getLocator()`, how should tabs within this tabset be identified? If the locator has a specified `Tab.ID` or `Tab.name`, no fallback approach will be used as those attributes (with `Tab.ID` having priority) are each alone considered to definitively locate it.

      Otherwise, the following options are available:

      - `"title"` use the title as an identifier
      - `"index"` use the index of the tab in the tabset as an identifier

      If unset, and the locator has no specified ID or name, default behavior is to identify by title (if available), otherwise by index.

      Returns:
        Current locateTabsBy value. Default value is null
      See Also:
        `LocatorStrategy`

    - #### getMoreTab

          public Tab getMoreTab()
                         throws java.lang.IllegalStateException

      `Tab` to be shown when `showMoreTab` is enabled more than `moreTabCount` tabs are provided.

      This component is an AutoChild named "moreTab". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current moreTab value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setMoreTabCount

          public void setMoreTabCount(int moreTabCount)
                               throws java.lang.IllegalStateException

      This property defines the number tab buttons that should be shown before automatically adding a "more" button to handle the remaining tabs. This property is only used when `showMoreTab` is enabled.
      Parameters:
        `moreTabCount` - New moreTabCount value. Default value is 5
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getMoreTabCount

          public int getMoreTabCount()

      This property defines the number tab buttons that should be shown before automatically adding a "more" button to handle the remaining tabs. This property is only used when `showMoreTab` is enabled.
      Returns:
        Current moreTabCount value. Default value is 5

    - #### setMoreTabImage

          public void setMoreTabImage(java.lang.String moreTabImage)
                               throws java.lang.IllegalStateException

      If `showMoreTab` is enabled this property determines the image to display on the "More" tab button.
      Parameters:
        `moreTabImage` - New moreTabImage value. Default value is "[SKINIMG]/iOS/more.png"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `SCImgURL`

    - #### getMoreTabImage

          public java.lang.String getMoreTabImage()

      If `showMoreTab` is enabled this property determines the image to display on the "More" tab button.
      Returns:
        Current moreTabImage value. Default value is "[SKINIMG]/iOS/more.png"
      See Also:
        `SCImgURL`

    - #### getMoreTabPane

          public VLayout getMoreTabPane()
                                 throws java.lang.IllegalStateException

      Pane contents for the "more" tab based on a VLayout. Typically contains a `NavigationBar` and `TableView`.

      This component is an AutoChild named "moreTabPane". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current moreTabPane value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setMoreTabPaneDefaults

          public void setMoreTabPaneDefaults(Canvas moreTabPaneDefaults)
                                      throws java.lang.IllegalStateException

      Default properties for the "more" tab's pane.

      Currently constructs a VLayout with a `NavigationBar` and `TableView`.

      Parameters:
        `moreTabPaneDefaults` - New moreTabPaneDefaults value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `SGWTProperties`

    - #### getMoreTabPaneDefaults

          public Canvas getMoreTabPaneDefaults()

      Default properties for the "more" tab's pane.

      Currently constructs a VLayout with a `NavigationBar` and `TableView`.

      Returns:
        Current moreTabPaneDefaults value. Default value is null

    - #### getMoreTabPaneNavBar

          public NavigationBar getMoreTabPaneNavBar()
                                             throws java.lang.IllegalStateException

      Navigation bar shown in the `moreTabPane`;

      This component is an AutoChild named "moreTabPaneNavBar". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current moreTabPaneNavBar value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setMoreTabPaneProperties

          public void setMoreTabPaneProperties(Canvas moreTabPaneProperties)
                                        throws java.lang.IllegalStateException

      Properties to apply to the "more" tab's pane created by this TabSet.
      Parameters:
        `moreTabPaneProperties` - New moreTabPaneProperties value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `SGWTProperties`

    - #### getMoreTabPaneProperties

          public Canvas getMoreTabPaneProperties()

      Properties to apply to the "more" tab's pane created by this TabSet.
      Returns:
        Current moreTabPaneProperties value. Default value is null

    - #### getMoreTabPaneTable

          public TableView getMoreTabPaneTable()
                                        throws java.lang.IllegalStateException

      `TableView` used to show links to other tabs in the `moreTabPane`;

      This component is an AutoChild named "moreTabPaneTable". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current moreTabPaneTable value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setMoreTabProperties

          public void setMoreTabProperties(Tab moreTabProperties)
                                    throws java.lang.IllegalStateException

      Properties to apply to the "more" tab created by this TabSet.
      Parameters:
        `moreTabProperties` - New moreTabProperties value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getMoreTabProperties

          public Tab getMoreTabProperties()

      Properties to apply to the "more" tab created by this TabSet.
      Returns:
        Current moreTabProperties value. Default value is null

    - #### setMoreTabTitle

          public void setMoreTabTitle(java.lang.String moreTabTitle)
                               throws java.lang.IllegalStateException

      Title for the "More" tab.
      Parameters:
        `moreTabTitle` - New moreTabTitle value. Default value is "More"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getMoreTabTitle

          public java.lang.String getMoreTabTitle()

      Title for the "More" tab.
      Returns:
        Current moreTabTitle value. Default value is "More"

    - #### getPaneContainer

          public VLayout getPaneContainer()
                                   throws java.lang.IllegalStateException

      Container where the component specified by `Tab.pane` is shown.

      Note: paneContainer and showEdges:true for rounded tabsets: you can enable decorative image-based edges on the paneContainer by setting `showEdges:true` via paneContainerDefaults (to skin all tabsets) or paneContainerProperties (to use edges on one instance). In this structure, the `BaseLine` should use media that matches the appearance of the decorative edges and fully overlaps the edge of the paneContainer that it is adjacent to. In the most typical appearance (symmetric edges on all 4 sides), both `TabBar.baseLineCapSize` and `TabBar.baseLineThickness` match the `edgeSize` set on the paneContainer. See the load_skin.js file for the "Smart GWT" skin for an example of setting all relevant properties.

      To disable edges for a particular TabSet, which you may want to do for a TabSet that is already within a clearly defined container, configure the paneContainer to show only it's top edge:

                 paneContainerProperties : { customEdges:["T"] },

      To completely flatten even the top edge of the TabSet:

                 paneContainerProperties : { customEdges:["T"] },
                 tabBarProperties :{ baseLineCapSize:0 },

      This "flattens" the baseLine so that only the center image is used.

      This component is an AutoChild named "paneContainer". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current paneContainer value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setPaneContainerClassName

          public void setPaneContainerClassName(java.lang.String paneContainerClassName)

      CSS style used for the paneContainer.
      Parameters:
        `paneContainerClassName` - New paneContainerClassName value. Default value is null
      See Also:
        `CSSStyleName`

    - #### getPaneContainerClassName

          public java.lang.String getPaneContainerClassName()

      CSS style used for the paneContainer.
      Returns:
        Current paneContainerClassName value. Default value is null
      See Also:
        `CSSStyleName`

    - #### setPaneContainerOverflow

          public void setPaneContainerOverflow(Overflow paneContainerOverflow)

      Specifies the overflow of the pane container (the component that holds the pane contents for all tabs). By default this is set to "auto", meaning the pane container will automatically introduce scrolling when the pane contents exceed the TabSet's specified size.

      For other values and their meaning, see `Overflow`
      If this method is called after the component has been drawn/initialized: Update `paneContainerOverflow` after creation.

      Note : This is an advanced setting

      Parameters:
        `paneContainerOverflow` - new overflow setting. Default value is Canvas.AUTO

    - #### getPaneContainerOverflow

          public Overflow getPaneContainerOverflow()

      Specifies the overflow of the pane container (the component that holds the pane contents for all tabs). By default this is set to "auto", meaning the pane container will automatically introduce scrolling when the pane contents exceed the TabSet's specified size.

      For other values and their meaning, see `Overflow`

      Returns:
        Current paneContainerOverflow value. Default value is Canvas.AUTO

    - #### setPaneMargin

          public void setPaneMargin(int paneMargin)
                             throws java.lang.IllegalStateException

      Space to leave around the panes in our paneContainer

      Note that this property may be specified on a per-tab basis via `Tab.paneMargin`.

      Parameters:
        `paneMargin` - New paneMargin value. Default value is 0
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getPaneMargin

          public int getPaneMargin()

      Space to leave around the panes in our paneContainer

      Note that this property may be specified on a per-tab basis via `Tab.paneMargin`.

      Returns:
        Current paneMargin value. Default value is 0

    - #### setPickerButtonHSrc

          public void setPickerButtonHSrc(java.lang.String pickerButtonHSrc)
                                   throws java.lang.IllegalStateException

      If `showTabPicker` is true, and `symmetricPickerButton` is set to true, this property governs the base URL for the picker button image, when displayed in a horizontal tab-bar [IE `tabBarPosition` is set to `"top"` or `"bottom"`].

      Note that if `symmetricPickerButton` is false, the `pickerButtonSrc` property will be used instead.

      This base URL will have a suffix of `"Down"` appended when the user holds the mouse down over the button, and `"Disabled"` if the tabset as a whole is disabled.

      Parameters:
        `pickerButtonHSrc` - New pickerButtonHSrc value. Default value is "[SKIN]hpicker.gif"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setSymmetricPickerButton(java.lang.Boolean)`, `SCImgURL`

    - #### getPickerButtonHSrc

          public java.lang.String getPickerButtonHSrc()

      If `showTabPicker` is true, and `symmetricPickerButton` is set to true, this property governs the base URL for the picker button image, when displayed in a horizontal tab-bar [IE `tabBarPosition` is set to `"top"` or `"bottom"`].

      Note that if `symmetricPickerButton` is false, the `pickerButtonSrc` property will be used instead.

      This base URL will have a suffix of `"Down"` appended when the user holds the mouse down over the button, and `"Disabled"` if the tabset as a whole is disabled.

      Returns:
        Current pickerButtonHSrc value. Default value is "[SKIN]hpicker.gif"
      See Also:
        `getSymmetricPickerButton()`, `SCImgURL`

    - #### setPickerButtonSize

          public void setPickerButtonSize(int pickerButtonSize)
                                   throws java.lang.IllegalStateException

      If `showTabPicker` is `true` and `isTouch` is `false`, this property governs the size of the tab picker button. This value is applied as the width of the tab picker button if the `tabBar` is horizontal, or the height if the `tabBar` is vertical. Note that the other dimension is determined by `this.tabBarThickness`.

      On touch browsers (where `isTouch` is `true`), `touchPickerButtonSize` is used instead.

      Parameters:
        `pickerButtonSize` - New pickerButtonSize value. Default value is 16
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getPickerButtonSize

          public int getPickerButtonSize()

      If `showTabPicker` is `true` and `isTouch` is `false`, this property governs the size of the tab picker button. This value is applied as the width of the tab picker button if the `tabBar` is horizontal, or the height if the `tabBar` is vertical. Note that the other dimension is determined by `this.tabBarThickness`.

      On touch browsers (where `isTouch` is `true`), `touchPickerButtonSize` is used instead.

      Returns:
        Current pickerButtonSize value. Default value is 16

    - #### setPickerButtonSrc

          public void setPickerButtonSrc(java.lang.String pickerButtonSrc)
                                  throws java.lang.IllegalStateException

      If `showTabPicker` is true, this property governs the base URL for the picker button image, when `symmetricPickerButton` is set to false

      Note that if `symmetricPickerButton` is true, the `pickerButtonHSrc` and `pickerButtonVSrc` properties will be used instead.

      To get the path to the image to display, this base URL will be modified as follows:

      - If appropriate a state suffix of `"Down"` or `"Disabled"` will be appended.
      - The `tabBarPosition` for this tabSet will be appended.
      Parameters:
        `pickerButtonSrc` - New pickerButtonSrc value. Default value is "[SKIN]/picker.gif"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setSymmetricPickerButton(java.lang.Boolean)`, `SCImgURL`

    - #### getPickerButtonSrc

          public java.lang.String getPickerButtonSrc()

      If `showTabPicker` is true, this property governs the base URL for the picker button image, when `symmetricPickerButton` is set to false

      Note that if `symmetricPickerButton` is true, the `pickerButtonHSrc` and `pickerButtonVSrc` properties will be used instead.

      To get the path to the image to display, this base URL will be modified as follows:

      - If appropriate a state suffix of `"Down"` or `"Disabled"` will be appended.
      - The `tabBarPosition` for this tabSet will be appended.
      Returns:
        Current pickerButtonSrc value. Default value is "[SKIN]/picker.gif"
      See Also:
        `getSymmetricPickerButton()`, `SCImgURL`

    - #### setPickerButtonVSrc

          public void setPickerButtonVSrc(java.lang.String pickerButtonVSrc)
                                   throws java.lang.IllegalStateException

      If `showTabPicker` is true, and `symmetricPickerButton` is set to true, this property governs the base URL for the picker button image, when displayed in a verricaL tab-bar [IE `tabBarPosition` is set to `"LEFT"` or `"right"`].

      Note that if `symmetricPickerButton` is false, the `pickerButtonSrc` property will be used instead.

      This base URL will have a suffix of `"Down"` appended when the user holds the mouse down over the button, and `"Disabled"` if the tabset as a whole is disabled.

      Parameters:
        `pickerButtonVSrc` - New pickerButtonVSrc value. Default value is "[SKIN]vpicker.gif"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setSymmetricPickerButton(java.lang.Boolean)`, `SCImgURL`

    - #### getPickerButtonVSrc

          public java.lang.String getPickerButtonVSrc()

      If `showTabPicker` is true, and `symmetricPickerButton` is set to true, this property governs the base URL for the picker button image, when displayed in a verricaL tab-bar [IE `tabBarPosition` is set to `"LEFT"` or `"right"`].

      Note that if `symmetricPickerButton` is false, the `pickerButtonSrc` property will be used instead.

      This base URL will have a suffix of `"Down"` appended when the user holds the mouse down over the button, and `"Disabled"` if the tabset as a whole is disabled.

      Returns:
        Current pickerButtonVSrc value. Default value is "[SKIN]vpicker.gif"
      See Also:
        `getSymmetricPickerButton()`, `SCImgURL`

    - #### getScroller

          public StretchImgButton getScroller()
                                       throws java.lang.IllegalStateException

      A component containing back and forward buttons for scrolling through all of the tabs of the TabSet. The scroller is created automatically when needed and when `"tabScroller"` is specified in the `tabBarControls`.

      By default, the scroller constructor is `StretchImgButton`. Note that the scroller `items` are determined automatically, so any items set in scrollerProperties will be ignored.

      This component is an AutoChild named "scroller". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current scroller value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setScrollerButtonSize

          public void setScrollerButtonSize(int scrollerButtonSize)
                                     throws java.lang.IllegalStateException

      If `showTabScroller` is true, this property governs the size of scroller buttons. Applied as the width of buttons if the tabBar is horizontal, or the height if tabBar is vertical. Note that the other dimension is determined by `this.tabBarThickness`
      Parameters:
        `scrollerButtonSize` - New scrollerButtonSize value. Default value is 16
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getScrollerButtonSize

          public int getScrollerButtonSize()

      If `showTabScroller` is true, this property governs the size of scroller buttons. Applied as the width of buttons if the tabBar is horizontal, or the height if tabBar is vertical. Note that the other dimension is determined by `this.tabBarThickness`
      Returns:
        Current scrollerButtonSize value. Default value is 16

    - #### setScrollerHSrc

          public void setScrollerHSrc(java.lang.String scrollerHSrc)
                               throws java.lang.IllegalStateException

      If this TabSet is showing `tab scroller buttons`, and `symmetricScroller` is true, this property governs the base URL for the tab bar back and forward scroller button images for horizontal tab bars [IE for tab sets with `tabBarPosition` set to "top" or "bottom"].

      Note that if `symmetricScroller` is false, `scrollerSrc` will be used instead.

      To get the path to the image to display, this base URL will be modified as follows:

      - If appropriate a state suffix of `"Down"` or `"Disabled"` will be appended.
      - A suffix of `"forward"` or `"back"` will be appended for the forward or backward scrolling button.
      For example - if the scrollerHSrc is set to `"[SKIN]hscroll.gif"`, the image displayed for the back-scroller button on a tabSet with `tabBarPosition` set to "top" and `symmetricScroller` set to true would be one of `"[SKIN]hscroll_back.gif"`, `"[SKIN]hscroll_Down_back.gif"`, and `"[SKIN]hscroll_Disabled_back.gif"`.

      Note that for best results the media should be sized to match the scroller button sizes, determined by `tabBarThickness` and `scrollerButtonSize`.

      Parameters:
        `scrollerHSrc` - New scrollerHSrc value. Default value is "[SKIN]hscroll.gif"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setSymmetricScroller(java.lang.Boolean)`, `SCImgURL`

    - #### getScrollerHSrc

          public java.lang.String getScrollerHSrc()

      If this TabSet is showing `tab scroller buttons`, and `symmetricScroller` is true, this property governs the base URL for the tab bar back and forward scroller button images for horizontal tab bars [IE for tab sets with `tabBarPosition` set to "top" or "bottom"].

      Note that if `symmetricScroller` is false, `scrollerSrc` will be used instead.

      To get the path to the image to display, this base URL will be modified as follows:

      - If appropriate a state suffix of `"Down"` or `"Disabled"` will be appended.
      - A suffix of `"forward"` or `"back"` will be appended for the forward or backward scrolling button.
      For example - if the scrollerHSrc is set to `"[SKIN]hscroll.gif"`, the image displayed for the back-scroller button on a tabSet with `tabBarPosition` set to "top" and `symmetricScroller` set to true would be one of `"[SKIN]hscroll_back.gif"`, `"[SKIN]hscroll_Down_back.gif"`, and `"[SKIN]hscroll_Disabled_back.gif"`.

      Note that for best results the media should be sized to match the scroller button sizes, determined by `tabBarThickness` and `scrollerButtonSize`.

      Returns:
        Current scrollerHSrc value. Default value is "[SKIN]hscroll.gif"
      See Also:
        `getSymmetricScroller()`, `SCImgURL`

    - #### setScrollerSrc

          public void setScrollerSrc(java.lang.String scrollerSrc)
                              throws java.lang.IllegalStateException

      If this TabSet is showing `tab scroller buttons`, and `symmetricScroller` is false, this property governs the base URL for the tab bar back and forward scroller button images.

      Note that if `symmetricScroller` is true, `scrollerHSrc` and `scrollerVSrc` will be used instead.

      To get the path to the image to display, this base URL will be modified as follows:

      - If appropriate a state suffix of `"Down"` or `"Disabled"` will be appended.
      - The `tabBarPosition` for this tabSet will be appended.
      - A suffix of `"forward"` or `"back"` will be appended for the forward or backward scrolling button.
      For example - if the scrollerSrc is set to `"[SKIN]scroll.gif"`, the image displayed for the back-scroller button on a tabSet with `tabBarPosition` set to "top" and `symmetricScroller` set to false would be one of `"[SKIN]scroll_top_back.gif"`, `"[SKIN]scroll_Down_top_back.gif"`, and `"[SKIN]scroll_Disabled_top_back.gif"`.

      Note that for best results the media should be sized to match the scroller button sizes, determined by `tabBarThickness` and `scrollerButtonSize`.

      Parameters:
        `scrollerSrc` - New scrollerSrc value. Default value is "[SKIN]/scroll.gif"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setSymmetricScroller(java.lang.Boolean)`, `SCImgURL`

    - #### getScrollerSrc

          public java.lang.String getScrollerSrc()

      If this TabSet is showing `tab scroller buttons`, and `symmetricScroller` is false, this property governs the base URL for the tab bar back and forward scroller button images.

      Note that if `symmetricScroller` is true, `scrollerHSrc` and `scrollerVSrc` will be used instead.

      To get the path to the image to display, this base URL will be modified as follows:

      - If appropriate a state suffix of `"Down"` or `"Disabled"` will be appended.
      - The `tabBarPosition` for this tabSet will be appended.
      - A suffix of `"forward"` or `"back"` will be appended for the forward or backward scrolling button.
      For example - if the scrollerSrc is set to `"[SKIN]scroll.gif"`, the image displayed for the back-scroller button on a tabSet with `tabBarPosition` set to "top" and `symmetricScroller` set to false would be one of `"[SKIN]scroll_top_back.gif"`, `"[SKIN]scroll_Down_top_back.gif"`, and `"[SKIN]scroll_Disabled_top_back.gif"`.

      Note that for best results the media should be sized to match the scroller button sizes, determined by `tabBarThickness` and `scrollerButtonSize`.

      Returns:
        Current scrollerSrc value. Default value is "[SKIN]/scroll.gif"
      See Also:
        `getSymmetricScroller()`, `SCImgURL`

    - #### setScrollerVSrc

          public void setScrollerVSrc(java.lang.String scrollerVSrc)
                               throws java.lang.IllegalStateException

      If this TabSet is showing `tab scroller buttons`, and `symmetricScroller` is true, this property governs the base URL for the tab bar back and forward scroller button images for vertical tab bars [IE for tab sets with `tabBarPosition` set to "left" or "right"].

      Note that if `symmetricScroller` is false, `scrollerSrc` will be used instead.

      To get the path to the image to display, this base URL will be modified as follows:

      - If appropriate a state suffix of `"Down"` or `"Disabled"` will be appended.
      - A suffix of `"forward"` or `"back"` will be appended for the forward or backward scrolling button.
      For example - if the scrollerVSrc is set to `"[SKIN]vscroll.gif"`, the image displayed for the back-scroller button on a tabSet with `tabBarPosition` set to "left" and `symmetricScroller` set to true would be one of `"[SKIN]vscroll_back.gif"`, `"[SKIN]vscroll_Down_back.gif"`, and `"[SKIN]vscroll_Disabled_back.gif"`.

      Note that for best results the media should be sized to match the scroller button sizes, determined by `tabBarThickness` and `scrollerButtonSize`.

      Parameters:
        `scrollerVSrc` - New scrollerVSrc value. Default value is "[SKIN]vscroll.gif"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setSymmetricScroller(java.lang.Boolean)`, `SCImgURL`

    - #### getScrollerVSrc

          public java.lang.String getScrollerVSrc()

      If this TabSet is showing `tab scroller buttons`, and `symmetricScroller` is true, this property governs the base URL for the tab bar back and forward scroller button images for vertical tab bars [IE for tab sets with `tabBarPosition` set to "left" or "right"].

      Note that if `symmetricScroller` is false, `scrollerSrc` will be used instead.

      To get the path to the image to display, this base URL will be modified as follows:

      - If appropriate a state suffix of `"Down"` or `"Disabled"` will be appended.
      - A suffix of `"forward"` or `"back"` will be appended for the forward or backward scrolling button.
      For example - if the scrollerVSrc is set to `"[SKIN]vscroll.gif"`, the image displayed for the back-scroller button on a tabSet with `tabBarPosition` set to "left" and `symmetricScroller` set to true would be one of `"[SKIN]vscroll_back.gif"`, `"[SKIN]vscroll_Down_back.gif"`, and `"[SKIN]vscroll_Disabled_back.gif"`.

      Note that for best results the media should be sized to match the scroller button sizes, determined by `tabBarThickness` and `scrollerButtonSize`.

      Returns:
        Current scrollerVSrc value. Default value is "[SKIN]vscroll.gif"
      See Also:
        `getSymmetricScroller()`, `SCImgURL`

    - #### setShowMoreTab

          public void setShowMoreTab(java.lang.Boolean showMoreTab)
                              throws java.lang.IllegalStateException

      Should tabs exceeding `moreTabCount` be shown on a "more" tab?

      This setting is used to emulate an iPhone-style tab bar "more" button.

      Parameters:
        `showMoreTab` - New showMoreTab value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowMoreTab

          public java.lang.Boolean getShowMoreTab()

      Should tabs exceeding `moreTabCount` be shown on a "more" tab?

      This setting is used to emulate an iPhone-style tab bar "more" button.

      Returns:
        Current showMoreTab value. Default value is null

    - #### setShowPaneContainerEdges

          public void setShowPaneContainerEdges(java.lang.Boolean showPaneContainerEdges)

      Should the paneContainer for this tabset show `edges`.

      Note : This is an advanced setting

      Parameters:
        `showPaneContainerEdges` - New showPaneContainerEdges value. Default value is null

    - #### getShowPaneContainerEdges

          public java.lang.Boolean getShowPaneContainerEdges()

      Should the paneContainer for this tabset show `edges`.
      Returns:
        Current showPaneContainerEdges value. Default value is null

    - #### setShowPartialEdges

          public void setShowPartialEdges(java.lang.Boolean showPartialEdges)
                                   throws java.lang.IllegalStateException

      If the paneContainer for this tab set is showing `edges`, setting this attribute to `true` will set the paneContainer to show `customEdges` for the three sides opposing the tabBarPosition.

      Note : This is an advanced setting

      Parameters:
        `showPartialEdges` - New showPartialEdges value. Default value is false
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowPartialEdges

          public java.lang.Boolean getShowPartialEdges()

      If the paneContainer for this tab set is showing `edges`, setting this attribute to `true` will set the paneContainer to show `customEdges` for the three sides opposing the tabBarPosition.
      Returns:
        Current showPartialEdges value. Default value is false

    - #### setShowTabBar

          public void setShowTabBar(java.lang.Boolean showTabBar)

      Should the tabBar be displayed or not If shrinkElementOnHide is true, the paneContainer will expand over the space occupied by TabBar
      Parameters:
        `showTabBar` - New showTabBar value. Default value is true

    - #### getShowTabBar

          public java.lang.Boolean getShowTabBar()

      Should the tabBar be displayed or not If shrinkElementOnHide is true, the paneContainer will expand over the space occupied by TabBar
      Returns:
        Current showTabBar value. Default value is true

    - #### setShowTabPicker

          public void setShowTabPicker(java.lang.Boolean showTabPicker)
                                throws java.lang.IllegalStateException

      If there is not enough space to display all the tab-buttons in this tabSet, should a drop-down "picker" be displayed to allow selection of tabs that are clipped?
      Parameters:
        `showTabPicker` - New showTabPicker value. Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowTabPicker

          public java.lang.Boolean getShowTabPicker()

      If there is not enough space to display all the tab-buttons in this tabSet, should a drop-down "picker" be displayed to allow selection of tabs that are clipped?
      Returns:
        Current showTabPicker value. Default value is true

    - #### setShowTabScroller

          public void setShowTabScroller(java.lang.Boolean showTabScroller)
                                  throws java.lang.IllegalStateException

      If there is not enough space to display all the tab-buttons in this tabSet, should scroll buttons be displayed to allow access to tabs that are clipped? If unset, defaults to false for `handsets` and true otherwise.
      Parameters:
        `showTabScroller` - New showTabScroller value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowTabScroller

          public java.lang.Boolean getShowTabScroller()

      If there is not enough space to display all the tab-buttons in this tabSet, should scroll buttons be displayed to allow access to tabs that are clipped? If unset, defaults to false for `handsets` and true otherwise.
      Returns:
        Current showTabScroller value. Default value is null

    - #### setSimpleTabBaseStyle

          public void setSimpleTabBaseStyle(java.lang.String simpleTabBaseStyle)

      If `useSimpleTabs` is true, `simpleTabBaseStyle` will be the base style used to determine the css style to apply to the tabs.

      This property will be suffixed with the side on which the tab-bar will appear, followed by with the tab's state (selected, over, etc), resolving to a className like "tabButtonTopOver".

      Parameters:
        `simpleTabBaseStyle` - New simpleTabBaseStyle value. Default value is "tabButton"
      See Also:
        `Button.setBaseStyle(java.lang.String)`, `setSimpleTabIconOnlyBaseStyle(java.lang.String)`, `CSSStyleName`

    - #### getSimpleTabBaseStyle

          public java.lang.String getSimpleTabBaseStyle()

      If `useSimpleTabs` is true, `simpleTabBaseStyle` will be the base style used to determine the css style to apply to the tabs.

      This property will be suffixed with the side on which the tab-bar will appear, followed by with the tab's state (selected, over, etc), resolving to a className like "tabButtonTopOver".

      Returns:
        Current simpleTabBaseStyle value. Default value is "tabButton"
      See Also:
        `Button.getBaseStyle()`, `getSimpleTabIconOnlyBaseStyle()`, `CSSStyleName`

    - #### setSimpleTabIconOnlyBaseStyle

          public void setSimpleTabIconOnlyBaseStyle(java.lang.String simpleTabIconOnlyBaseStyle)

      If `useSimpleTabs` is true, `simpleTabIconOnlyBaseStyle` will be the base style used to determine the css style to apply to the tabs if `Tab.canAdaptWidth` is set and the title is not being shown.

      This property will be suffixed with the side on which the tab-bar will appear, followed by with the tab's state (selected, over, etc), resolving to a className like "iconOnlyTabButtonTopOver".

      Note that this property is only defined for certain skins, where it's needed. If not defined, `simpleTabBaseStyle` will serve as base style whether or not the title is hidden.

      Parameters:
        `simpleTabIconOnlyBaseStyle` - New simpleTabIconOnlyBaseStyle value. Default value is varies
      See Also:
        `Button.setBaseStyle(java.lang.String)`, `Button.setIconOnlyBaseStyle(java.lang.String)`, `setSimpleTabBaseStyle(java.lang.String)`, `CSSStyleName`

    - #### getSimpleTabIconOnlyBaseStyle

          public java.lang.String getSimpleTabIconOnlyBaseStyle()

      If `useSimpleTabs` is true, `simpleTabIconOnlyBaseStyle` will be the base style used to determine the css style to apply to the tabs if `Tab.canAdaptWidth` is set and the title is not being shown.

      This property will be suffixed with the side on which the tab-bar will appear, followed by with the tab's state (selected, over, etc), resolving to a className like "iconOnlyTabButtonTopOver".

      Note that this property is only defined for certain skins, where it's needed. If not defined, `simpleTabBaseStyle` will serve as base style whether or not the title is hidden.

      Returns:
        Current simpleTabIconOnlyBaseStyle value. Default value is varies
      See Also:
        `Button.getBaseStyle()`, `Button.getIconOnlyBaseStyle()`, `getSimpleTabBaseStyle()`, `CSSStyleName`

    - #### setSkinImgDir

          public void setSkinImgDir(java.lang.String skinImgDir)
                             throws java.lang.IllegalStateException

      Default directory for skin images (those defined by the class), relative to the Page-wide `skinDir`.
      Overrides:
        `setSkinImgDir` in class `Canvas`
      Parameters:
        `skinImgDir` - New skinImgDir value. Default value is "images/TabSet/"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `SCImgURL`, `Images overview and related methods`

    - #### getSkinImgDir

          public java.lang.String getSkinImgDir()

      Default directory for skin images (those defined by the class), relative to the Page-wide `skinDir`.
      Overrides:
        `getSkinImgDir` in class `Canvas`
      Returns:
        Current skinImgDir value. Default value is "images/TabSet/"
      See Also:
        `SCImgURL`, `Images overview and related methods`

    - #### setSymmetricEdges

          public void setSymmetricEdges(java.lang.Boolean symmetricEdges)
                                 throws java.lang.IllegalStateException

      If this tabSet will `show edges` for the paneContainer, this property determines whether the same edge media will be used regardless of the tab bar position, or whether different media should be used (necessary if the edge appearance is not symmetrical on all sides).

      If this property is set to false the paneContainer edge image URLs will be prefixed with the tabBarPosition of the tabSet - for example `"[SKIN]edge_top_T.gif"` rather than just `"[SKIN]edge_T.gif"`.

      When `symmetricEdges` is false, custom edge sizes for the pane container may be specified via `topEdgeSizes` et al, and custom edge offsets via `topEdgeOffsets` et al.

      Parameters:
        `symmetricEdges` - New symmetricEdges value. Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getSymmetricEdges

          public java.lang.Boolean getSymmetricEdges()

      If this tabSet will `show edges` for the paneContainer, this property determines whether the same edge media will be used regardless of the tab bar position, or whether different media should be used (necessary if the edge appearance is not symmetrical on all sides).

      If this property is set to false the paneContainer edge image URLs will be prefixed with the tabBarPosition of the tabSet - for example `"[SKIN]edge_top_T.gif"` rather than just `"[SKIN]edge_T.gif"`.

      When `symmetricEdges` is false, custom edge sizes for the pane container may be specified via `topEdgeSizes` et al, and custom edge offsets via `topEdgeOffsets` et al.

      Returns:
        Current symmetricEdges value. Default value is true

    - #### setSymmetricPickerButton

          public void setSymmetricPickerButton(java.lang.Boolean symmetricPickerButton)
                                        throws java.lang.IllegalStateException

      If this TabSet is showing a `tab picker button`, this property determines whether the `pickerButtonHSrc` and `pickerButtonVSrc` media will be used for vertical and horizontal tab-bar picker buttons, or whether separate media should be used for each possible `tabBarPosition` based on the `pickerButtonSrc` property for this tabSet.
      Parameters:
        `symmetricPickerButton` - New symmetricPickerButton value. Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getSymmetricPickerButton

          public java.lang.Boolean getSymmetricPickerButton()

      If this TabSet is showing a `tab picker button`, this property determines whether the `pickerButtonHSrc` and `pickerButtonVSrc` media will be used for vertical and horizontal tab-bar picker buttons, or whether separate media should be used for each possible `tabBarPosition` based on the `pickerButtonSrc` property for this tabSet.
      Returns:
        Current symmetricPickerButton value. Default value is true

    - #### setSymmetricScroller

          public void setSymmetricScroller(java.lang.Boolean symmetricScroller)
                                    throws java.lang.IllegalStateException

      If this TabSet is showing `tab scroller buttons`, this property determines whether the `scrollerHSrc` and `scrollerVSrc` media will be used for vertical and horizontal tab-bar scroller buttons, or whether separate media should be used for each possible `tabBarPosition` based on the `scrollerSrc` property for this tabSet.
      Parameters:
        `symmetricScroller` - New symmetricScroller value. Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getSymmetricScroller

          public java.lang.Boolean getSymmetricScroller()

      If this TabSet is showing `tab scroller buttons`, this property determines whether the `scrollerHSrc` and `scrollerVSrc` media will be used for vertical and horizontal tab-bar scroller buttons, or whether separate media should be used for each possible `tabBarPosition` based on the `scrollerSrc` property for this tabSet.
      Returns:
        Current symmetricScroller value. Default value is true

    - #### getTabBar

          public TabBar getTabBar()
                           throws java.lang.IllegalStateException

      TabBar for this TabSet, an instance of `TabBar`.

      This component is an AutoChild named "tabBar". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current tabBar value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setTabBarAlign

          public void setTabBarAlign(Side tabBarAlign)
                              throws java.lang.IllegalStateException

      Alignment of the tabBar.

      If the `tabBarPosition` is "top" or "bottom", then this attribute may be set to "left", "right" or "center". The default is "left", or "right" in `RTL mode`.

      If the `tabBarPosition` is "left" or "right", then this attribute may be set to "top", "bottom" or "center". The default is "top".

      Parameters:
        `tabBarAlign` - New tabBarAlign value. Default value is see below
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        Align Example

    - #### getTabBarAlign

          public Side getTabBarAlign()

      Alignment of the tabBar.

      If the `tabBarPosition` is "top" or "bottom", then this attribute may be set to "left", "right" or "center". The default is "left", or "right" in `RTL mode`.

      If the `tabBarPosition` is "left" or "right", then this attribute may be set to "top", "bottom" or "center". The default is "top".

      Returns:
        Current tabBarAlign value. Default value is see below
      See Also:
        Align Example

    - #### setTabBarAlign

          public void setTabBarAlign(Alignment tabBarAlign)
                              throws java.lang.IllegalStateException

      Alignment of the tabBar.

      If the `tabBarPosition` is "top" or "bottom", then this attribute may be set to "left", "right" or "center". The default is "left", or "right" in `RTL mode`.

      If the `tabBarPosition` is "left" or "right", then this attribute may be set to "top", "bottom" or "center". The default is "top".

      Parameters:
        `tabBarAlign` - New tabBarAlign value. Default value is see below
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        Align Example

    - #### getTabBarAlignAsAlignment

          public Alignment getTabBarAlignAsAlignment()

      Alignment of the tabBar.

      If the `tabBarPosition` is "top" or "bottom", then this attribute may be set to "left", "right" or "center". The default is "left", or "right" in `RTL mode`.

      If the `tabBarPosition` is "left" or "right", then this attribute may be set to "top", "bottom" or "center". The default is "top".

      Returns:
        Current tabBarAlign value. Default value is see below
      See Also:
        Align Example

    - #### getTabBarControlLayout

          public Layout getTabBarControlLayout()
                                        throws java.lang.IllegalStateException

      `com.smartgwt.client.types.AutoChild` of type `Layout` that holds the `tabBarControls` as well as the built-in controls such as the `tab picker menu`.

      This component is an AutoChild named "tabBarControlLayout". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current tabBarControlLayout value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setTabBarPosition

          public void setTabBarPosition(Side tabBarPosition)
                                 throws java.lang.IllegalStateException

      Which side of the TabSet the TabBar should appear on.
      Parameters:
        `tabBarPosition` - New tabBarPosition value. Default value is Canvas.TOP
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        Orientation Example

    - #### getTabBarPosition

          public Side getTabBarPosition()

      Which side of the TabSet the TabBar should appear on.
      Returns:
        Current tabBarPosition value. Default value is Canvas.TOP
      See Also:
        Orientation Example

    - #### setTabBarThickness

          public void setTabBarThickness(int tabBarThickness)

      Thickness of tabBar, applies to either orientation (specifies height for horizontal, width for vertical orientation). Note that overriding this value for TabSets that are skinned with images generally means providing new media for the borders.
      Parameters:
        `tabBarThickness` - New tabBarThickness value. Default value is 21

    - #### getTabBarThickness

          public int getTabBarThickness()

      Thickness of tabBar, applies to either orientation (specifies height for horizontal, width for vertical orientation). Note that overriding this value for TabSets that are skinned with images generally means providing new media for the borders.
      Returns:
        Current tabBarThickness value. Default value is 21

    - #### getTabPicker

          public ImgButton getTabPicker()
                                 throws java.lang.IllegalStateException

      A button control that allows tabs to be picked directly from a popup menu. The tabPicker is created automatically when needed and when `"tabPicker"` is specified in the `tabBarControls`.

      This component is an AutoChild named "tabPicker". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current tabPicker value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### getTitleEditor

          public TextItem getTitleEditor()
                                  throws java.lang.IllegalStateException

      TextItem we use to edit tab titles in this TabSet. You can override this property using the normal `com.smartgwt.client.types.AutoChild` facilities.

      This component is an AutoChild named "titleEditor". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current titleEditor value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.
      See Also:
        `getCanEditTabTitles()`, `Tab.getCanEditTitle()`, `editTabTitle(java.lang.String)`

    - #### setTitleEditorLeftOffset

          public void setTitleEditorLeftOffset(java.lang.Integer titleEditorLeftOffset)

      If set, offsets the tab title editor further in from the left-hand edge of the tab, by the number of pixels set in this property. Note that the editor is always offset to avoid overlapping the endcaps of the tab; this property is applied on top of that default offset.
      Parameters:
        `titleEditorLeftOffset` - New titleEditorLeftOffset value. Default value is null
      See Also:
        `setTitleEditorRightOffset(java.lang.Integer)`, `setTitleEditorTopOffset(java.lang.Integer)`

    - #### getTitleEditorLeftOffset

          public java.lang.Integer getTitleEditorLeftOffset()

      If set, offsets the tab title editor further in from the left-hand edge of the tab, by the number of pixels set in this property. Note that the editor is always offset to avoid overlapping the endcaps of the tab; this property is applied on top of that default offset.
      Returns:
        Current titleEditorLeftOffset value. Default value is null
      See Also:
        `getTitleEditorRightOffset()`, `getTitleEditorTopOffset()`

    - #### setTitleEditorProperties

          public void setTitleEditorProperties(TextItem titleEditorProperties)
                                        throws java.lang.IllegalStateException

      Properties for the auto-generated `titleEditor`. This is the text item we use to edit tab titles in this tabSet.
      Parameters:
        `titleEditorProperties` - New titleEditorProperties value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `com.smartgwt.client.widgets.tab.TabSet#setTitleEditor`, `setCanEditTabTitles(java.lang.Boolean)`

    - #### getTitleEditorProperties

          public TextItem getTitleEditorProperties()

      Properties for the auto-generated `titleEditor`. This is the text item we use to edit tab titles in this tabSet.
      Returns:
        Current titleEditorProperties value. Default value is null
      See Also:
        `getTitleEditor()`, `getCanEditTabTitles()`

    - #### setTitleEditorRightOffset

          public void setTitleEditorRightOffset(java.lang.Integer titleEditorRightOffset)

      If set, offsets the tab title editor further in from the right-hand edge of the tab, by the number of pixels set in this property. Note that the editor is always offset to avoid overlapping the endcaps of the tab; this property is applied on top of that default offset.
      Parameters:
        `titleEditorRightOffset` - New titleEditorRightOffset value. Default value is null
      See Also:
        `setTitleEditorLeftOffset(java.lang.Integer)`, `setTitleEditorTopOffset(java.lang.Integer)`

    - #### getTitleEditorRightOffset

          public java.lang.Integer getTitleEditorRightOffset()

      If set, offsets the tab title editor further in from the right-hand edge of the tab, by the number of pixels set in this property. Note that the editor is always offset to avoid overlapping the endcaps of the tab; this property is applied on top of that default offset.
      Returns:
        Current titleEditorRightOffset value. Default value is null
      See Also:
        `getTitleEditorLeftOffset()`, `getTitleEditorTopOffset()`

    - #### setTitleEditorTopOffset

          public void setTitleEditorTopOffset(java.lang.Integer titleEditorTopOffset)

      If set, offsets the tab title editor further down from the top edge of the tab, by the number of pixels set in this property. You can use this property, together with the left and right offset properties, to fine tune positioning of the editor within or around the tab button.

      Note: The height of the editor is an attribute of the editor itself, and can be set by specifying a "height" property in `titleEditorDefaults`.

      Parameters:
        `titleEditorTopOffset` - New titleEditorTopOffset value. Default value is null
      See Also:
        `setTitleEditorLeftOffset(java.lang.Integer)`, `setTitleEditorRightOffset(java.lang.Integer)`

    - #### getTitleEditorTopOffset

          public java.lang.Integer getTitleEditorTopOffset()

      If set, offsets the tab title editor further down from the top edge of the tab, by the number of pixels set in this property. You can use this property, together with the left and right offset properties, to fine tune positioning of the editor within or around the tab button.

      Note: The height of the editor is an attribute of the editor itself, and can be set by specifying a "height" property in `titleEditorDefaults`.

      Returns:
        Current titleEditorTopOffset value. Default value is null
      See Also:
        `getTitleEditorLeftOffset()`, `getTitleEditorRightOffset()`

    - #### setTouchPickerButtonSize

          public void setTouchPickerButtonSize(int touchPickerButtonSize)
                                        throws java.lang.IllegalStateException

      The size of the tab picker button when `isTouch` is `true`.
      Parameters:
        `touchPickerButtonSize` - New touchPickerButtonSize value. Default value is 16
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setPickerButtonSize(int)`

    - #### getTouchPickerButtonSize

          public int getTouchPickerButtonSize()

      The size of the tab picker button when `isTouch` is `true`.
      Returns:
        Current touchPickerButtonSize value. Default value is 16
      See Also:
        `getPickerButtonSize()`

    - #### setUseIOSTabs

          public void setUseIOSTabs(java.lang.Boolean useIOSTabs)
                             throws java.lang.IllegalStateException

      Setting this to true turns on a different appearance for tabs, similar to iOS tabs from the "Music" app, where the tab.icon is enlarged and shown as a black and white mask. This mode does not support a clickable icon - clicking the enlarged icon just switches tabs.

      This attribute only has an effect for tabs that are not `closable`, and only for Mobile WebKit.

      Parameters:
        `useIOSTabs` - New useIOSTabs value. Default value is false
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getUseIOSTabs

          public java.lang.Boolean getUseIOSTabs()

      Setting this to true turns on a different appearance for tabs, similar to iOS tabs from the "Music" app, where the tab.icon is enlarged and shown as a black and white mask. This mode does not support a clickable icon - clicking the enlarged icon just switches tabs.

      This attribute only has an effect for tabs that are not `closable`, and only for Mobile WebKit.

      Returns:
        Current useIOSTabs value. Default value is false

    - #### setUseSimpleTabs

          public void setUseSimpleTabs(java.lang.Boolean useSimpleTabs)
                                throws java.lang.IllegalStateException

      Should we use simple button based tabs styled with CSS rather than image based `ImgTab` tabs?

      If set to true tabs will instances of `Button`, styled according to the `simpleTabBaseStyle`.

      Note : This is an advanced setting

      Parameters:
        `useSimpleTabs` - New useSimpleTabs value. Default value is false
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getUseSimpleTabs

          public java.lang.Boolean getUseSimpleTabs()

      Should we use simple button based tabs styled with CSS rather than image based `ImgTab` tabs?

      If set to true tabs will instances of `Button`, styled according to the `simpleTabBaseStyle`.

      Returns:
        Current useSimpleTabs value. Default value is false

    - #### addAddTabClickedHandler

          public com.google.gwt.event.shared.HandlerRegistration addAddTabClickedHandler(AddTabClickedHandler handler)

      Add a addTabClicked handler.

      Event that fires when the `TabSet.addTabButton` is clicked. No default behavior.

      Specified by:
        `addAddTabClickedHandler` in interface `HasAddTabClickedHandlers`
      Parameters:
        `handler` - the addTabClicked handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### cancelTabTitleEditing

          public void cancelTabTitleEditing()

      If the user is currently editing a tab title (see `canEditTabTitles`), dismiss the editor and discard the edit value entered by the user.

    - #### getSelectedTabNumber

          public int getSelectedTabNumber()

      Returns the index of the currently selected tab object.
      Returns:
        the index of the currently selected tab object

    - #### addCloseClickHandler

          public com.google.gwt.event.shared.HandlerRegistration addCloseClickHandler(CloseClickHandler handler)

      Add a closeClick handler.

      When `TabSet.canCloseTabs` is set, this notification method fired when the user clicks the "close" icon for a tab. Call `TabCloseClickEvent.cancel()` from within `CloseClickHandler.onCloseClick(com.smartgwt.client.widgets.tab.events.TabCloseClickEvent)` to cancel default behavior of removing the tab from the TabSet

      Specified by:
        `addCloseClickHandler` in interface `HasCloseClickHandlers`
      Parameters:
        `handler` - the closeClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### removeLastTab

          public void removeLastTab()

      Removes the last tab in the TabSet, excluding the `moreTab` if present.

    - #### reorderTab

          public void reorderTab(Tab tab)

      Move a tab to another location in the tabset.
      Parameters:
        `tab` - tab to move

    - #### reorderTab

          public void reorderTab(Tab tab,
                                 int moveToPosition)

      Move a tab to another location in the tabset.
      Parameters:
        `tab` - tab to move
        `moveToPosition` - the index to move the tab to - defaults to the end of the tabset if not passed

    - #### saveTabTitle

          public void saveTabTitle()

      If the user is currently editing a tab title (see `canEditTabTitles`), save the edited tab title and hide the editor.

    - #### scrollBack

          public void scrollBack()

      If there is not enough space to display all the tabs in this tabSet, this method will scroll the previous tab (that first tab that is clipped at the beginning of the tab-bar) into view.

    - #### scrollForward

          public void scrollForward()

      If there is not enough space to display all the tabs in this tabSet, this method will scroll the next tab (that first tab that is clipped at the end of the tab-bar) into view.

    - #### setCanCloseTab

          public void setCanCloseTab(Tab tab,
                                     boolean canClose)

      Sets the given tab's `canClose` property to the boolean parameter canClose. If canClose is null, this will have the effect of causing the tab to fall back on `canCloseTabs`.
      Parameters:
        `tab` - tab to change
        `canClose` - new value for the tab's canClose property, or null to clear it

    - #### setTabPickerTitle

          public void setTabPickerTitle(Tab tab,
                                        java.lang.String pickerTitle)

      Changes the title of the picker menu item of a tab
      Parameters:
        `tab` -
        `pickerTitle` - new title. See `HTMLString`

    - #### addTabContextMenuHandler

          public com.google.gwt.event.shared.HandlerRegistration addTabContextMenuHandler(TabContextMenuHandler handler)

      Add a tabContextMenu handler.

      Notification fired when the user right-clicks on a tab. Event may be cancelled by returning false

      Specified by:
        `addTabContextMenuHandler` in interface `HasTabContextMenuHandlers`
      Parameters:
        `handler` - the tabContextMenu handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addTabDeselectedHandler

          public com.google.gwt.event.shared.HandlerRegistration addTabDeselectedHandler(TabDeselectedHandler handler)

      Add a tabDeselected handler.

      Optional handler to fire when a tab is deselected. Calling `TabDeselectedEvent.cancel` will cancel the new selection, leaving tab `ID` selected. As with `com.smartgwt.client.widgets.tab.events.TabSelectedEventl` this method only fires when the tabset is drawn.

      Specified by:
        `addTabDeselectedHandler` in interface `HasTabDeselectedHandlers`
      Parameters:
        `handler` - the tabDeselected handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### tabForPane

          public Tab tabForPane(Canvas pane)

      Search for a tab that contains a pane.
      Parameters:
        `pane` - pane to show
      Returns:
        tab that contains passed pane

    - #### addTabIconClickHandler

          public com.google.gwt.event.shared.HandlerRegistration addTabIconClickHandler(TabIconClickHandler handler)

      Add a tabIconClick handler.

      Method fired when the user clicks the icon for a tab, as specified via `Tab.icon`.

      Default behavior will fire `icon.click()` if specified, with two parameters `tab` (a pointer to the tab object and `tabSet` a pointer to the tabSet instance.

      Specified by:
        `addTabIconClickHandler` in interface `HasTabIconClickHandlers`
      Parameters:
        `handler` - the tabIconClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addTabSelectedHandler

          public com.google.gwt.event.shared.HandlerRegistration addTabSelectedHandler(TabSelectedHandler handler)

      Add a tabSelected handler.

      Notification fired when a tab is selected. Note that this will only fire if this tabSet is drawn. If a tab is selected before `draw` is called, `com.smartgwt.client.widgets.tab.events.TabSelectedEventl` will fire on `draw()`.

      Specified by:
        `addTabSelectedHandler` in interface `HasTabSelectedHandlers`
      Parameters:
        `handler` - the tabSelected handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addTabsReorderedHandler

          public com.google.gwt.event.shared.HandlerRegistration addTabsReorderedHandler(TabsReorderedHandler handler)

      Add a tabsReordered handler.

      Notification method executed when one or more tabs in the TabSet are reordered.

      Specified by:
        `addTabsReorderedHandler` in interface `HasTabsReorderedHandlers`
      Parameters:
        `handler` - the tabsReordered handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addTabTitleChangedHandler

          public com.google.gwt.event.shared.HandlerRegistration addTabTitleChangedHandler(TabTitleChangedHandler handler)

      Add a tabTitleChanged handler.

      This notification method fired when the user changes the title of a tab in this TabSet. This can happen either through user interaction with the UI if `canEditTabTitles` is set, or programmatically if application code calls `editTabTitle`.

      Call `TabTitleChangedEvent.cancel()` from within `TabTitleChangedHandler.onTabTitleChanged(com.smartgwt.client.widgets.tab.events.TabTitleChangedEvent)` from this method to cancel the change.

      Specified by:
        `addTabTitleChangedHandler` in interface `HasTabTitleChangedHandlers`
      Parameters:
        `handler` - the tabTitleChanged handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### setDefaultProperties

          public static void setDefaultProperties(TabSet tabSetProperties)

      Class level method to set the default properties of this class. If set, then all existing and subsequently created instances of this class will automatically have default properties corresponding to the properties set on the SmartGWT class instance passed to this function before its underlying SmartClient JS object was created. This is a powerful feature that eliminates the need for users to create a separate hierarchy of subclasses that only alter the default properties of this class. Can also be used for skinning / styling purposes.

      Note: This method is intended for setting default attributes only and will affect all instances of the underlying class (including those automatically generated in JavaScript). This method should not be used to apply standard EventHandlers or override methods for a class - use a custom subclass instead. Calling this method after instances have been created can result in undefined behavior, since it bypasses any setters and a class instance may have already examined a particular property and not be expecting any changes through this route.

      Parameters:
        `tabSetProperties` - properties that should be used as new defaults when instances of this class are created
      See Also:
        `SGWTProperties`

    - #### setSelectedTab

          public void setSelectedTab(int selectedTab)

      Specifies the index of the initially selected tab.
      Parameters:
        `selectedTab` - selectedTab Default value is 0

    - #### setTabs

          public void setTabs(Tab... tabs)

      An array of `Tab` objects, specifying the title and pane contents of each tab in the TabSet.

      Tab instances are not widgets, they just provide configuration such as title and icon.

      After providing `Tab` instances to `setTabs()`, the TabSet creates actual UI widgets to serve as interactive tabs. Any further modifications to tabs should be performed via TabSet APIs such as `setTabTitle`, `setTabIcon` and `setTabPane`.

      You can add and remove tabs after creating the TabSet by calling `addTab` and `removeTab`.

      Parameters:
        `tabs` - new tabs for the TabSet

    - #### setPaneContainerProperties

          public void setPaneContainerProperties(Canvas paneContainerProperties)

      Properties of the container where the component specified by Tab.pane is shown.
      Parameters:
        `paneContainerProperties` - the pane container properties
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### setTabBarControls

          public void setTabBarControls(java.lang.Object... tabBarControls)
                                 throws java.lang.IllegalStateException

      This property determines what controls should show up after the tabBar for this TabSet. Standard controls can be included using the strings `"tabScroller"` and `"tabPicker"`. These correspond to the `scroller` and `tabPicker` AutoChildren, respectively. The `"tabScroller"` standard control shows two buttons for scrolling through the tabs in order and the `"tabPicker"` standard control allows tabs to be picked directly from a menu. The standard controls show up only if `showTabScroller` or `showTabPicker` is true and there is not enough space available to show all of the tabs in the tabBar.

      Parameters:
        `tabBarControls` - tabBarControls Default value is ["tabScroller", "tabPicker"]
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        This sample illustrates the usage of this property

        Additional controls can be included by adding any widget to this array. Controls will show up in the order in which they are specified. For example, the following code would add a button in the tabBar area, while preserving the normal behavior of the tabScroller and tabPicker:

               ImgButton addButton = new ImgButton();
               addButton.setSrc("[SKINIMG]/actions/add.png");
               addButton.setTitle("Add");
               addButton.setWidth(16);
               addButton.setHeight(16);
               addButton.setAlign(Alignment.CENTER);
               TabSet ts = new TabSet();
               ts.setWidth(300);
               ts.setHeight(32);
               ts.setTabs(new Tab("Tab one"));
               ts.setTabBarControls(addButton, TabBarControls.TAB_SCROLLER, TabBarControls.TAB_PICKER);
               contentLayout.addMember(ts);

        You can also refer to the default tabPicker/tabScroll controls from Component XML:

              <TabSet width="300">
                 <tabBarControls>
                    <Button title="Custom Button"/>
                    <value xsi:type="string">tabPicker</value>
                    <value xsi:type="string">tabScroller</value>
                 </tabBarControls>
                 <tabs>
                    <tab title="Foo"/>
                    <tab title="Bar"/>
                 </tabs>
              </TabSet>

        Note : This is an advanced setting

    - #### selectTab

          public void selectTab(int tabIndex)

      Select a tab.
      Parameters:
        `tabIndex` - the tab index

    - #### selectTab

          public void selectTab(java.lang.String ID)

      Select a tab.
      Parameters:
        `ID` - the tab ID

    - #### selectTab

          public void selectTab(Tab tab)

      Select a tab.
      Parameters:
        `tab` - the tab

    - #### setTabTitle

          public void setTabTitle(int tabIndex,
                                  java.lang.String title)

      Changes the title of a tab
      Parameters:
        `tabIndex` - the tab index
        `title` - new title

    - #### setTabTitle

          public void setTabTitle(java.lang.String ID,
                                  java.lang.String title)

      Changes the title of a tab
      Parameters:
        `ID` - the tab ID
        `title` - new title

    - #### setTabTitle

          public void setTabTitle(Tab tab,
                                  java.lang.String title)

      Changes the title of a tab
      Parameters:
        `tab` - the tab
        `title` - new title

    - #### setTabIcon

          public void setTabIcon(int tabIndex,
                                 java.lang.String iconURL)

      Changes the icon of a tab
      Parameters:
        `tabIndex` - the tab index
        `iconURL` - new icon

    - #### setTabIcon

          public void setTabIcon(java.lang.String ID,
                                 java.lang.String iconURL)

      Changes the icon of a tab
      Parameters:
        `ID` - the tab ID
        `iconURL` - new icon

    - #### setTabIcon

          public void setTabIcon(Tab tab,
                                 java.lang.String iconURL)

      Changes the icon of a tab
      Parameters:
        `tab` - the tab
        `iconURL` - new icon

    - #### enableTab

          public void enableTab(int tabIndex)

      If the specified tab is disabled, enable it now.
      Parameters:
        `tabIndex` - the tab index

    - #### enableTab

          public void enableTab(java.lang.String ID)

      If the specified tab is disabled, enable it now.
      Parameters:
        `ID` - the tab id

    - #### enableTab

          public void enableTab(Tab tab)

      If the specified tab is disabled, enable it now.
      Parameters:
        `tab` - the tab

    - #### updateTab

          public void updateTab(int tabIndex,
                                Canvas pane)

      Set the pane for a tab. NOTE: the old pane for the tab is not destroy()d
      Parameters:
        `tabIndex` - the tab index
        `pane` - the new pane for the tab

    - #### updateTab

          public void updateTab(Tab tab,
                                Canvas pane)

      Set the pane for a tab. NOTE: the old pane for the tab is not destroy()d
      Parameters:
        `tab` - the tab
        `pane` - the new pane for the tab

    - #### disableTab

          public void disableTab(int tabIndex)

      If the specified tab is enabled, disable it now.
      Parameters:
        `tabIndex` - the tab index

    - #### disableTab

          public void disableTab(java.lang.String ID)

      If the specified tab is enabled, disable it now.
      Parameters:
        `ID` - the tab id

    - #### disableTab

          public void disableTab(Tab tab)

      If the specified tab is enabled, disable it now.
      Parameters:
        `tab` - the tab

    - #### removeTab

          public void removeTab(int tabIndex)

      Remove a tab.

      The pane associated with the removed tab is automatically destroyed when you call this method. To avoid this, call `updateTab(int, com.smartgwt.client.widgets.Canvas)` with `null` as the new pane immediately before removing the tab.

      Parameters:
        `tabIndex` - the tab index

    - #### removeTab

          public void removeTab(java.lang.String ID)

      Remove a tab.

      The pane associated with the removed tab is automatically destroyed when you call this method. To avoid this, call `updateTab(int, com.smartgwt.client.widgets.Canvas)` with `null` as the new pane immediately before removing the tab.

      Parameters:
        `ID` - the tabID

    - #### removeTab

          public void removeTab(Tab tab)

      Remove a tab.

      The pane associated with the removed tab is automatically destroyed when you call this method. To avoid this, call `updateTab(int, com.smartgwt.client.widgets.Canvas)` with `null` as the new pane immediately before removing the tab.

      Parameters:
        `tab` - the tab

    - #### removeTabs

          public void removeTabs(int[] tabIndexes)

      Remove one or more tabs. The pane(s) associated with the removed tab(s) is automatically destroyed when you call this method.
      Parameters:
        `tabIndexes` - the tab indexes

    - #### removeTabs

          public void removeTabs(java.lang.String[] ids)

      Remove one or more tabs. The pane(s) associated with the removed tab(s) is automatically destroyed when you call this method.
      Parameters:
        `ids` - the tabIDs

    - #### getSelectedTab

          public Tab getSelectedTab()

      The currently selected tab.
      Returns:
        the currently selected Tab

    - #### getTabCanvas

          public StatefulCanvas getTabCanvas(int tabIndex)

      Get the live Canvas representing a tab by index. * The underlying SmartClient class of the returned canvas depends on `getUseSimpleTabs()`. If this property is false, the returned canvas will be a `ImgTab` instance. If true the canvas will be a `com.smartgwt.client.widgets.tab.Button` instance. Note that you can make use of ImgTab APIs by using the `getJsObj()` and `create()` APIs to "cast" to the appropriate type - for example:
      `ImgTab liveTab = ImgTab.create(myTabSet.getTabCanvas(2).getJsObj());`

      Note that live Tab instances are not available until `BaseWidget.draw()`.

      Note that this is an advanced method. The returned Tab is considered an internal component of the TabSet. In order to maximize forward compatibility, wherever possible manipulate tabs through TabSet APIs such as a `setTabTitle(int, java.lang.String)` instead of modifying them directly.

      Parameters:
        `tab` -
      Returns:
        the tab Canvas, or null if not found or TabSet not drawn yet

    - #### getTabCanvas

          public StatefulCanvas getTabCanvas(java.lang.String ID)

      Get the live Canvas representing a tab by index. The underlying SmartClient class of the returned canvas depends on `getUseSimpleTabs()`. If this property is false, the returned canvas will be a `ImgTab` instance. If true the canvas will be a `com.smartgwt.client.widgets.tab.Button` instance. Note that you can make use of ImgTab APIs by using the `getJsObj()` and `create()` APIs to "cast" to the appropriate type - for example:
      `ImgTab liveTab = ImgTab.create(myTabSet.getTabCanvas(2).getJsObj());`

      Note that live Tab instances are not available until `BaseWidget.draw()`.

      Note that this is an advanced method. The returned Tab is considered an internal component of the TabSet. In order to maximize forward compatibility, wherever possible manipulate tabs through TabSet APIs such as a `setTabTitle(int, java.lang.String)` instead of modifying them directly.

      Parameters:
        `tab` -
      Returns:
        the tab Canvas, or null if not found or TabSet not drawn yet

    - #### getTab

          public Tab getTab(int tabIndex)

      Retrieves a Tab definition from within this tabSet by index.
      Parameters:
        `index` - of tab to retrieve
      Returns:
        the tab definition

    - #### getTab

          public Tab getTab(java.lang.String ID)

      Retrieves a Tab definition from within this tabSet by ID.
      Parameters:
        `ID` - of tab to retrieve
      Returns:
        the tab definition

    - #### getTabNumber

          public int getTabNumber(java.lang.String ID)

      Get the index of a tab from the tabID.
      Parameters:
        `ID` - the tab ID
      Returns:
        the index of the tab, or -1 if not found

    - #### addTab

          public void addTab(Tab tab)

      Add a tab
      Parameters:
        `tab` - new tab

    - #### addTab

          public void addTab(Tab tab,
                             int position)

      Add a tab
      Parameters:
        `tab` - new tab
        `position` - the position where tab should be added

    - #### getNumTabs

          public int getNumTabs()

      The number of tabs
      Returns:
        the number of tabs

    - #### setTitleEditEvent

          public void setTitleEditEvent(TabTitleEditEvent titleEditEvent)

      The event that triggers title editing on this TabSet.
      Parameters:
        `titleEditEvent` - titleEditEvent Default value is "doubleClick"
      See Also:
        `setCanEditTabTitles(java.lang.Boolean)`, `Tab.setCanEditTitle(java.lang.Boolean)`

    - #### getTitleEditEvent

          public TabTitleEditEvent getTitleEditEvent()

      The event that triggers title editing on this TabSet.
      Returns:
        TabTitleEditEvent
      See Also:
        `getCanEditTabTitles()`, `Tab.getCanEditTitle()`

    - #### editTabTitle

          public void editTabTitle(java.lang.String tab)

      Places an editor in the title of the parameter tab and allows the user to edit the title. Note that this programmatic method will allow editing of the specified tab's title, regardless of the settings of `canEditTabTitles` or `canEditTitle`.
      Parameters:
        `tab` - The tab whose title should be edited (may be specified by ID or index)

    - #### editTabTitle

          public void editTabTitle(int tab)

      Places an editor in the title of the parameter tab and allows the user to edit the title. Note that this programmatic method will allow editing of the specified tab's title, regardless of the settings of `canEditTabTitles` or `canEditTitle`.
      Parameters:
        `tab` - The tab whose title should be edited (may be specified by ID or index)

    - #### getTabs

          public Tab[] getTabs()

      The tabs
      Returns:
        the tabs

    - #### setTabBarProperties

          public void setTabBarProperties(TabBar tabBarProperties)
                                   throws java.lang.IllegalStateException

      This attribute allows developers to specify custom properties for this tabset's `tabBar`
      Parameters:
        `tabBarProperties` - tabBarProperties Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### setTabPane

          public void setTabPane(int tabIndex,
                                 Canvas pane)

      Apply a new `pane` to an existing tab in this tabSet
      Parameters:
        `tabIndex` - Tab to update
        `pane` - new Pane for the tab. pass null to drop existing pane

    - #### setTabPane

          public void setTabPane(java.lang.String tabID,
                                 Canvas pane)

      Apply a new `pane` to an existing tab in this tabSet
      Parameters:
        `tabID` - Tab to update
        `pane` - new Pane for the tab. pass null to drop existing pane

    - #### preloadImages

          public static void preloadImages()

      Preload primary tab skin images.

    - #### revealChild

          public void revealChild(java.lang.String childID)

      Reveals the child Canvas passed in by selecting the tab containing that child if it is not already selected. If no tab in this TabSet contains the passed-in Canvas, this method has no effect

      NOTE: This is an override point.

      Overrides:
        `revealChild` in class `Canvas`
      Parameters:
        `childID` - the global ID of the child Canvas to reveal

    - #### revealChild

          public void revealChild(Canvas child)

      Reveals the child Canvas passed in by selecting the tab containing that child if it is not already selected. If no tab in this TabSet contains the passed-in Canvas, this method has no effect

      NOTE: This is an override point.

      Overrides:
        `revealChild` in class `Canvas`
      Parameters:
        `child` - the child Canvas to reveal

    - #### setLogicalStructure

          public com.smartgwt.logicalstructure.core.LogicalStructureObject setLogicalStructure(com.smartgwt.logicalstructure.widgets.tab.TabSetLogicalStructure s)

      Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.

    - #### getLogicalStructure

          public com.smartgwt.logicalstructure.core.LogicalStructureObject getLogicalStructure()

      Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
      Specified by:
        `getLogicalStructure` in interface `LogicalStructure`
      Overrides:
        `getLogicalStructure` in class `Canvas`