Class TabSet

All Implemented Interfaces:
HasAttachHandlers, HasHandlers, EventListener, HasVisibility, 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, HasAddTabClickHandlers, 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.

  • Constructor Details

  • Method Details

    • getOrCreateRef

      public static TabSet getOrCreateRef(JavaScriptObject jsObj)
    • changeAutoChildDefaults

      public static void changeAutoChildDefaults(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:
    • changeAutoChildDefaults

      public static void changeAutoChildDefaults(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:
    • create

      protected JavaScriptObject create()
      Overrides:
      create in class Canvas
    • getAddTabButton

      public ImgButton getAddTabButton() throws 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:
      IllegalStateException - if this widget has not yet been rendered.
    • setAddTabButtonIcon

      public TabSet setAddTabButtonIcon(String addTabButtonIcon) throws IllegalStateException
      Icon for the addTabButton.
      Parameters:
      addTabButtonIcon - New addTabButtonIcon value. Default value is "[SKIN]actions/add.png"
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getAddTabButtonIcon

      public String getAddTabButtonIcon()
      Icon for the addTabButton.
      Returns:
      Current addTabButtonIcon value. Default value is "[SKIN]actions/add.png"
      See Also:
    • setAnimateTabScrolling

      public TabSet setAnimateTabScrolling(Boolean animateTabScrolling) throws 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
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getAnimateTabScrolling

      public 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 TabSet setAriaCloseableSuffix(String ariaCloseableSuffix) throws 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"
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getAriaCloseableSuffix

      public 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 TabSet setCanAddTabs(Boolean canAddTabs) throws 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.addTabClick() event to implement a behavior.

      Parameters:
      canAddTabs - New canAddTabs value. Default value is null
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getCanAddTabs

      public 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.addTabClick() event to implement a behavior.

      Returns:
      Current canAddTabs value. Default value is null
    • setCanCloseTabs

      public TabSet setCanCloseTabs(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
      Returns:
      TabSet instance, for chaining setter calls
      See Also:
      • com.smartgwt.client.widgets.tab.TabSet#closeClick
    • getCanCloseTabs

      public 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 TabSet setCanEditTabTitles(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
      Returns:
      TabSet instance, for chaining setter calls
      See Also:
    • getCanEditTabTitles

      public 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:
    • setCanReorderTabs

      public TabSet setCanReorderTabs(Boolean canReorderTabs) throws 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
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getCanReorderTabs

      public 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:
    • setCloseTabIcon

      public TabSet setCloseTabIcon(String closeTabIcon) throws 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
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getCloseTabIcon

      public 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:
    • setCloseTabIconSize

      public TabSet setCloseTabIconSize(int closeTabIconSize) throws IllegalStateException
      Size in pixels of the icon for closing tabs, displayed when canCloseTabs is true.
      Parameters:
      closeTabIconSize - New closeTabIconSize value. Default value is 16
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      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 TabSet setDefaultTabHeight(Integer defaultTabHeight) throws 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
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getDefaultTabHeight

      public 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 TabSet setDefaultTabWidth(Integer defaultTabWidth) throws 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
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getDefaultTabWidth

      public 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 TabSet setDestroyPanes(Boolean destroyPanes) throws 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
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getDestroyPanes

      public 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 TabSet setEditProxyConstructor(String editProxyConstructor) throws 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"
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getEditProxyConstructor

      public 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:
    • setLocateTabsBy

      public TabSet setLocateTabsBy(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
      Returns:
      TabSet instance, for chaining setter calls
      See Also:
    • getLocateTabsBy

      public 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:
    • getMoreTab

      public Tab getMoreTab() throws 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:
      IllegalStateException - if this widget has not yet been rendered.
    • setMoreTabCount

      public TabSet setMoreTabCount(int moreTabCount) throws 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
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      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 TabSet setMoreTabImage(String moreTabImage) throws 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"
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getMoreTabImage

      public 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:
    • getMoreTabPane

      public VLayout getMoreTabPane() throws 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:
      IllegalStateException - if this widget has not yet been rendered.
    • setMoreTabPaneDefaults

      public TabSet setMoreTabPaneDefaults(Canvas moreTabPaneDefaults) throws 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
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • 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 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:
      IllegalStateException - if this widget has not yet been rendered.
    • setMoreTabPaneProperties

      public TabSet setMoreTabPaneProperties(Canvas moreTabPaneProperties) throws IllegalStateException
      Properties to apply to the "more" tab's pane created by this TabSet.
      Parameters:
      moreTabPaneProperties - New moreTabPaneProperties value. Default value is null
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • 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 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:
      IllegalStateException - if this widget has not yet been rendered.
    • setMoreTabProperties

      public TabSet setMoreTabProperties(Tab moreTabProperties) throws IllegalStateException
      Properties to apply to the "more" tab created by this TabSet.
      Parameters:
      moreTabProperties - New moreTabProperties value. Default value is null
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      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 TabSet setMoreTabTitle(String moreTabTitle) throws IllegalStateException
      Title for the "More" tab.
      Parameters:
      moreTabTitle - New moreTabTitle value. Default value is "More"
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getMoreTabTitle

      public String getMoreTabTitle()
      Title for the "More" tab.
      Returns:
      Current moreTabTitle value. Default value is "More"
    • getPaneContainer

      public VLayout getPaneContainer() throws 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:
      IllegalStateException - if this widget has not yet been rendered.
    • setPaneContainerClassName

      public TabSet setPaneContainerClassName(String paneContainerClassName)
      CSS style used for the paneContainer.
      Parameters:
      paneContainerClassName - New paneContainerClassName value. Default value is null
      Returns:
      TabSet instance, for chaining setter calls
      See Also:
    • getPaneContainerClassName

      public String getPaneContainerClassName()
      CSS style used for the paneContainer.
      Returns:
      Current paneContainerClassName value. Default value is null
      See Also:
    • setPaneContainerOverflow

      public TabSet 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
      Returns:
      TabSet instance, for chaining setter calls
    • 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 TabSet setPaneMargin(int paneMargin) throws 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
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      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 TabSet setPickerButtonHSrc(String pickerButtonHSrc) throws 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"
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getPickerButtonHSrc

      public 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:
    • setPickerButtonSize

      public TabSet setPickerButtonSize(int pickerButtonSize) throws 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
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      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 TabSet setPickerButtonSrc(String pickerButtonSrc) throws 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"
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getPickerButtonSrc

      public 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:
    • setPickerButtonVSrc

      public TabSet setPickerButtonVSrc(String pickerButtonVSrc) throws 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"
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getPickerButtonVSrc

      public 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:
    • getScroller

      public StretchImgButton getScroller() throws 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:
      IllegalStateException - if this widget has not yet been rendered.
    • setScrollerButtonSize

      public TabSet setScrollerButtonSize(int scrollerButtonSize) throws 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
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      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 TabSet setScrollerHSrc(String scrollerHSrc) throws 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"
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getScrollerHSrc

      public 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:
    • setScrollerSrc

      public TabSet setScrollerSrc(String scrollerSrc) throws 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"
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getScrollerSrc

      public 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:
    • setScrollerVSrc

      public TabSet setScrollerVSrc(String scrollerVSrc) throws 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"
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getScrollerVSrc

      public 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:
    • setShowMoreTab

      public TabSet setShowMoreTab(Boolean showMoreTab) throws 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
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getShowMoreTab

      public 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 TabSet setShowPaneContainerEdges(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
      Returns:
      TabSet instance, for chaining setter calls
    • getShowPaneContainerEdges

      public Boolean getShowPaneContainerEdges()
      Should the paneContainer for this tabset show edges.
      Returns:
      Current showPaneContainerEdges value. Default value is null
    • setShowPartialEdges

      public TabSet setShowPartialEdges(Boolean showPartialEdges) throws 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
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getShowPartialEdges

      public 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 TabSet setShowTabBar(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
      Returns:
      TabSet instance, for chaining setter calls
    • getShowTabBar

      public 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 TabSet setShowTabPicker(Boolean showTabPicker) throws 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
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getShowTabPicker

      public 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 TabSet setShowTabScroller(Boolean showTabScroller) throws 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
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getShowTabScroller

      public 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 TabSet setSimpleTabBaseStyle(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"
      Returns:
      TabSet instance, for chaining setter calls
      See Also:
    • getSimpleTabBaseStyle

      public 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:
    • setSimpleTabIconOnlyBaseStyle

      public TabSet setSimpleTabIconOnlyBaseStyle(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
      Returns:
      TabSet instance, for chaining setter calls
      See Also:
    • getSimpleTabIconOnlyBaseStyle

      public 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:
    • setSkinImgDir

      public TabSet setSkinImgDir(String skinImgDir) throws 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/"
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getSkinImgDir

      public 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:
    • setSymmetricEdges

      public TabSet setSymmetricEdges(Boolean symmetricEdges) throws 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
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getSymmetricEdges

      public 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
      See Also:
    • setSymmetricPickerButton

      public TabSet setSymmetricPickerButton(Boolean symmetricPickerButton) throws 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
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getSymmetricPickerButton

      public 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 TabSet setSymmetricScroller(Boolean symmetricScroller) throws 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
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getSymmetricScroller

      public 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 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:
      IllegalStateException - if this widget has not yet been rendered.
    • setTabBarAlign

      public TabSet setTabBarAlign(Side tabBarAlign)
      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
      Returns:
      TabSet instance, for chaining setter calls
      See Also:
    • 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:
    • setTabBarAlign

      public TabSet setTabBarAlign(Alignment tabBarAlign)
      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
      Returns:
      TabSet instance, for chaining setter calls
      See Also:
    • 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:
    • getTabBarControlLayout

      public Layout getTabBarControlLayout() throws 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:
      IllegalStateException - if this widget has not yet been rendered.
    • setTabBarPosition

      public TabSet setTabBarPosition(Side tabBarPosition) throws IllegalStateException
      Which side of the TabSet the TabBar should appear on.
      Parameters:
      tabBarPosition - New tabBarPosition value. Default value is Canvas.TOP
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • 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:
    • setTabBarThickness

      public TabSet setTabBarThickness(int tabBarThickness) throws IllegalStateException
      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
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • 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 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:
      IllegalStateException - if this widget has not yet been rendered.
    • getTitleEditor

      public TextItem getTitleEditor() throws 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:
      IllegalStateException - if this widget has not yet been rendered.
      See Also:
    • setTitleEditorLeftOffset

      public TabSet setTitleEditorLeftOffset(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
      Returns:
      TabSet instance, for chaining setter calls
      See Also:
    • getTitleEditorLeftOffset

      public 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:
    • setTitleEditorProperties

      public TabSet setTitleEditorProperties(TextItem titleEditorProperties) throws 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
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • 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:
    • setTitleEditorRightOffset

      public TabSet setTitleEditorRightOffset(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
      Returns:
      TabSet instance, for chaining setter calls
      See Also:
    • getTitleEditorRightOffset

      public 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:
    • setTitleEditorTopOffset

      public TabSet setTitleEditorTopOffset(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
      Returns:
      TabSet instance, for chaining setter calls
      See Also:
    • getTitleEditorTopOffset

      public 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:
    • setTouchPickerButtonSize

      public TabSet setTouchPickerButtonSize(int touchPickerButtonSize) throws IllegalStateException
      The size of the tab picker button when isTouch is true.
      Parameters:
      touchPickerButtonSize - New touchPickerButtonSize value. Default value is 16
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • 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:
    • setUseIOSTabs

      public TabSet setUseIOSTabs(Boolean useIOSTabs) throws 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
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getUseIOSTabs

      public 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 TabSet setUseSimpleTabs(Boolean useSimpleTabs) throws 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
      Returns:
      TabSet instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getUseSimpleTabs

      public 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
    • addAddTabClickHandler

      public HandlerRegistration addAddTabClickHandler(AddTabClickHandler handler)
      Add a addTabClick handler.

      Notification method fired when the user clicks the TabSet.addTabButton.

      No default implementation.

      Specified by:
      addAddTabClickHandler in interface HasAddTabClickHandlers
      Parameters:
      handler - the addTabClick handler
      Returns:
      HandlerRegistration used to remove this handler
    • addAddTabClickedHandler

      public HandlerRegistration addAddTabClickedHandler(AddTabClickedHandler handler)
      Deprecated.
      Add a addTabClicked handler.

      Click handler applied to the TabSet.addTabButton.

      The default implementation will invoke TabSet.addTabClick()

      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
    • hideTab

      public void hideTab(int tab)
      Hide a tab in this tabset at runtime. If the tab is selected, it will be deselected and the tab button will be hidden from the user.

      Note that this does not remove a tab from the tabset entirely (see removeTab()) The tab will no longer be visible to the user or selectable by the user, but the configuration will still existing in the tabs array for this tabSet. Developers should particularly be aware of this when calling methods that refer to tabs by index - the index includes both hidden and visible tabs in the tabset.

      Tabs may be marked as hidden at init-time via Tab.hidden.

      To test whether a tab is currently visible, use tabIsVisible()

      Parameters:
      tab - Tab to hide
    • hideTab

      public void hideTab(String tab)
      Hide a tab in this tabset at runtime. If the tab is selected, it will be deselected and the tab button will be hidden from the user.

      Note that this does not remove a tab from the tabset entirely (see removeTab()) The tab will no longer be visible to the user or selectable by the user, but the configuration will still existing in the tabs array for this tabSet. Developers should particularly be aware of this when calling methods that refer to tabs by index - the index includes both hidden and visible tabs in the tabset.

      Tabs may be marked as hidden at init-time via Tab.hidden.

      To test whether a tab is currently visible, use tabIsVisible()

      Parameters:
      tab - Tab to hide
    • hideTab

      public void hideTab(Tab tab)
      Hide a tab in this tabset at runtime. If the tab is selected, it will be deselected and the tab button will be hidden from the user.

      Note that this does not remove a tab from the tabset entirely (see removeTab()) The tab will no longer be visible to the user or selectable by the user, but the configuration will still existing in the tabs array for this tabSet. Developers should particularly be aware of this when calling methods that refer to tabs by index - the index includes both hidden and visible tabs in the tabset.

      Tabs may be marked as hidden at init-time via Tab.hidden.

      To test whether a tab is currently visible, use tabIsVisible()

      Parameters:
      tab - Tab to hide
    • addCloseClickHandler

      public 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, String pickerTitle)
      Changes the title of the picker menu item of a tab
      Parameters:
      tab -
      pickerTitle - new title. See HTMLString
    • showTab

      public void showTab(int tab)
      Show a hidden tab at runtime.

      To test whether a tab is currently visible, use tabIsVisible()

      Parameters:
      tab - Tab to hide
    • showTab

      public void showTab(String tab)
      Show a hidden tab at runtime.

      To test whether a tab is currently visible, use tabIsVisible()

      Parameters:
      tab - Tab to hide
    • showTab

      public void showTab(Tab tab)
      Show a hidden tab at runtime.

      To test whether a tab is currently visible, use tabIsVisible()

      Parameters:
      tab - Tab to hide
    • addTabContextMenuHandler

      public 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 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 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
    • tabIsVisible

      public boolean tabIsVisible(int tab)
      Is the tab hidden or visible?
      Parameters:
      tab - Tab to test
      Returns:
      returns true if the tab has not been hidden.
    • tabIsVisible

      public boolean tabIsVisible(String tab)
      Is the tab hidden or visible?
      Parameters:
      tab - Tab to test
      Returns:
      returns true if the tab has not been hidden.
    • tabIsVisible

      public boolean tabIsVisible(Tab tab)
      Is the tab hidden or visible?
      Parameters:
      tab - Tab to test
      Returns:
      returns true if the tab has not been hidden.
    • addTabSelectedHandler

      public 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 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 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:
    • 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:
      IllegalStateException - this property cannot be changed after the component has been created
    • setTabBarControls

      public void setTabBarControls(Object... tabBarControls) throws 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:
      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(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, String title)
      Changes the title of a tab
      Parameters:
      tabIndex - the tab index
      title - new title
    • setTabTitle

      public void setTabTitle(String ID, String title)
      Changes the title of a tab
      Parameters:
      ID - the tab ID
      title - new title
    • setTabTitle

      public void setTabTitle(Tab tab, String title)
      Changes the title of a tab
      Parameters:
      tab - the tab
      title - new title
    • setTabIcon

      public void setTabIcon(int tabIndex, String iconURL)
      Changes the icon of a tab
      Parameters:
      tabIndex - the tab index
      iconURL - new icon
    • setTabIcon

      public void setTabIcon(String ID, String iconURL)
      Changes the icon of a tab
      Parameters:
      ID - the tab ID
      iconURL - new icon
    • setTabIcon

      public void setTabIcon(Tab tab, 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(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(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(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(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(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(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(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:
    • getTitleEditEvent

      public TabTitleEditEvent getTitleEditEvent()
      The event that triggers title editing on this TabSet.
      Returns:
      TabTitleEditEvent
      See Also:
    • editTabTitle

      public void editTabTitle(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 <b.always 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 <b.always 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 IllegalStateException
      This attribute allows developers to specify custom properties for this tabset's tabBar
      Parameters:
      tabBarProperties - tabBarProperties Default value is null
      Throws:
      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(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(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 LogicalStructureObject setLogicalStructure(TabSetLogicalStructure s)
      Setter implementing the LogicalStructure interface, which supports Eclipse's logical structure debugging facility.
    • getLogicalStructure

      public 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