Package com.smartgwt.client.widgets.layout

# Class SectionStackSection

java.lang.Object
com.smartgwt.client.core.JsObject
com.smartgwt.client.core.DataClass
com.smartgwt.client.core.RefDataClass
com.smartgwt.client.widgets.layout.SectionStackSection

All Implemented Interfaces:
  `HasHandlers`

public class SectionStackSection extends RefDataClass
Section descriptor used by a SectionStack to describe a section of items which are shown or hidden together along with their associated header.

A `SectionStackSection` can't be modified once it's been added to a `SectionStack`, which creates its section header (by default a `SectionHeader`, but see `SectionStack.sectionHeaderClass`). After that, you must call the appropriate `SectionStack` method to modify a section property, or the section header getter method to get the updated property value. As a convenience, we route several `SectionStackSection` setter methods to the `SectionStack` for you after the `SectionStackSection` has been added to it, but with the exception of `items`, you'll always get the original property values when calling a getter directly on a `SectionStackSection`.

Additional SectionHeader properties set on the SectionStackSection not explicitly documented, such as "iconAlign" or "prompt", are supported - use `setAttribute()`.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected SectionStack`
  `stack`
  Once a SectionStackSection has been applied to a SectionStack, this method may be used to return a pointer to the SectionStack in which this section header is embedded.

  ### Fields inherited from class com.smartgwt.client.core.RefDataClass

  `id`

  ### Fields inherited from class com.smartgwt.client.core.DataClass

  `factoryCreated, factoryProperties`

  ### Fields inherited from class com.smartgwt.client.core.JsObject

  `jsObj`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SectionStackSection()`
  `SectionStackSection(JavaScriptObject jsObj)`
  `SectionStackSection(String title)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addItem(Canvas item)`
  Adds a new Canvas to this section, at the end.
  `Boolean`
  `getCanClose()`
  Is this section closeable?
  `Boolean`
  `getCanTabToHeader()`
  If true, the header for this Section will be included in the page's tab order for accessibility.
  `Boolean`
  `getClipTitle()`
  If the title for this section header is too large for the available space, should the title be clipped?
  `String`
  `getCloseIcon()`
  Icon src for the `close button` if `canClose` is true.
  `Integer`
  `getCloseIconSize()`
  Pixel width/height for this sections `closeIcon`.
  If unset `SectionStack.closeSectionIconSize` will be used.
  `Canvas[]`
  `getControls()`
  Custom controls to be shown on top of this section header.
  `SectionHeader`
  `getHeaderProperties()`
  Allows properties for the header (a `SectionHeader` or `ImgSectionHeader` subclass) to be set on the section before it's added to the `SectionStack`.
  `ImgSectionHeader`
  `getHeaderPropertiesAsImgSectionHeader()`
  Allows properties for the header (a `SectionHeader` or `ImgSectionHeader` subclass) to be set on the section before it's added to the `SectionStack`.
  `String`
  `getIcon()`
  Base filename of the icon that represents open and closed states.
  `String`
  `getID()`
  Optional ID for the section.
  `Canvas[]`
  `getItems()`
  Return the items in this SectionStackSection
  `String`
  `getName()`
  Identifier for the section.
  `static SectionStackSection`
  `getOrCreateRef(JavaScriptObject jsObj)`
  `SectionHeader`
  `getSectionHeader()`
  Once a SectionStackSection has been applied to a SectionStack, this method may be used to return a pointer to the SectionHeader for this section
  `SectionStack`
  `getSectionStack()`
  `Boolean`
  `getShowClippedTitleOnHover()`
  If true and the title is clipped, then a hover containing the full title of this section header is enabled.
  `String`
  `getTitle()`
  Title to show for the section
  `void`
  `setAriaRole(String ariaRole)`
  Specify the ariaRole for this SectionStackSection.
  `void`
  `setAriaState(String stateName, Object stateValue)`
  Specify an ariaState for this SectionStackSection.
  `SectionStackSection`
  `setCanClose(Boolean canClose)`
  Is this section closeable?
  `SectionStackSection`
  `setCanCollapse(Boolean canCollapse)`
  This attribute controls whether or not the expand/collapse UI control is shown on the header of this section.
  `SectionStackSection`
  `setCanDropBefore(Boolean canDropBefore)`
  When explicitly set to false, disallows drop before this member in the Layout.
  `SectionStackSection`
  `setCanReorder(Boolean canReorder)`
  If set to false, then this sectionHeader will not be able to be dragged to perform a drag reorder, if `SectionStack.canReorderSections` is true.
  `SectionStackSection`
  `setCanTabToHeader(Boolean canTabToHeader)`
  If true, the header for this Section will be included in the page's tab order for accessibility.
  `SectionStackSection`
  `setClipTitle(Boolean clipTitle)`
  If the title for this section header is too large for the available space, should the title be clipped?
  `SectionStackSection`
  `setCloseIcon(String closeIcon)`
  Icon src for the `close button` if `canClose` is true.
  `SectionStackSection`
  `setCloseIconSize(Integer closeIconSize)`
  Pixel width/height for this sections `closeIcon`.
  If unset `SectionStack.closeSectionIconSize` will be used.
  `SectionStackSection`
  `setControls(Canvas... controls)`
  Custom controls to be shown on top of this section header.
  `SectionStackSection`
  `setDestroyOnRemove(Boolean destroyOnRemove)`
  Should the `items` be `destroyed` if this section is `removed`? The section header itself and any controls will always be destroyed.
  `void`
  `setExpanded(Boolean expanded)`
  Sections default to the collapsed state unless `showHeader` is set to `false` in which case they default to the expanded state.
  `SectionStackSection`
  `setHeaderProperties(ImgSectionHeader headerProperties)`
  Allows properties for the header (a `SectionHeader` or `ImgSectionHeader` subclass) to be set on the section before it's added to the `SectionStack`.
  `SectionStackSection`
  `setHeaderProperties(SectionHeader headerProperties)`
  Allows properties for the header (a `SectionHeader` or `ImgSectionHeader` subclass) to be set on the section before it's added to the `SectionStack`.
  `void`
  `setHidden(Boolean hidden)`
  Sections default to the visible state.
  `SectionStackSection`
  `setIcon(String icon)`
  Base filename of the icon that represents open and closed states.
  `void`
  `setID(String ID)`
  Optional ID for the section.
  `void`
  `setItems(Canvas... items)`
  Assign a new set of Canvases to this section.
  `SectionStackSection`
  `setName(String name)`
  Identifier for the section.
  `SectionStackSection`
  `setResizeable(Boolean resizeable)`
  If set to false, then the items in this section will not be resized by sectionHeader repositioning.
  `SectionStackSection`
  `setShowClippedTitleOnHover(Boolean showClippedTitleOnHover)`
  If true and the title is clipped, then a hover containing the full title of this section header is enabled.
  `SectionStackSection`
  `setShowHeader(Boolean showHeader)`
  If true, a header will be shown for this section.
  `void`
  `setTitle(String title)`
  Title to show for the section
  `void`
  `setTitleHoverFormatter(TitleHoverFormatter formatter)`
  Provide a custom implementation of `SectionHeader.titleHoverHTML(java.lang.String)`.

  ### Methods inherited from class com.smartgwt.client.core.RefDataClass

  `getRef, getRef, internalSetID`

  ### Methods inherited from class com.smartgwt.client.core.DataClass

  `applyFactoryProperties, doAddHandler, fireEvent, getAttribute, getAttributeAsBoolean, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsDoubleArray, getAttributeAsElement, getAttributeAsFloat, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsLong, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getAttributes, getHandlerCount, isFactoryCreated, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttributeAsJavaObject, setFactoryCreated`

  ### Methods inherited from class com.smartgwt.client.core.JsObject

  `equals, getJsObj, hashCode, isCreated, setJavaScriptObject, setJsObj`

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

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

- ## Field Details

  - ### stack

    protected SectionStack stack
    Once a SectionStackSection has been applied to a SectionStack, this method may be used to return a pointer to the SectionStack in which this section header is embedded.

- ## Constructor Details

  - ### SectionStackSection

    public SectionStackSection()

  - ### SectionStackSection

    public SectionStackSection(JavaScriptObject jsObj)

  - ### SectionStackSection

    public SectionStackSection(String title)

- ## Method Details

  - ### getOrCreateRef

    public static SectionStackSection getOrCreateRef(JavaScriptObject jsObj)

  - ### setCanClose

    public SectionStackSection setCanClose(Boolean canClose)
    Is this section closeable?

    Closeable sections show a `SectionStack.closeSectionButton` which will invoke `SectionStack.closeSection()` when clicked.

    This property overrides the default `SectionStack.canCloseSections` setting.

    Parameters:
      `canClose` - New canClose value. Default value is null
    Returns:
      `SectionStackSection` instance, for chaining setter calls

  - ### getCanClose

    public Boolean getCanClose()
    Is this section closeable?

    Closeable sections show a `SectionStack.closeSectionButton` which will invoke `SectionStack.closeSection()` when clicked.

    This property overrides the default `SectionStack.canCloseSections` setting.

    Returns:
      Current canClose value. Default value is null

  - ### setCanCollapse

    public SectionStackSection setCanCollapse(Boolean canCollapse)
    This attribute controls whether or not the expand/collapse UI control is shown on the header of this section. Any section can still be expanded/collapsed programmatically, regardless of this setting.
    Parameters:
      `canCollapse` - New canCollapse value. Default value is true
    Returns:
      `SectionStackSection` instance, for chaining setter calls
    See Also:
      - Expand / Collapse Example

  - ### setCanDropBefore

    public SectionStackSection setCanDropBefore(Boolean canDropBefore)
    When explicitly set to false, disallows drop before this member in the Layout.
    Parameters:
      `canDropBefore` - New canDropBefore value. Default value is null
    Returns:
      `SectionStackSection` instance, for chaining setter calls
    See Also:
      - `Layout`
      - `LayoutMember overview and related methods`

  - ### setCanReorder

    public SectionStackSection setCanReorder(Boolean canReorder)
    If set to false, then this sectionHeader will not be able to be dragged to perform a drag reorder, if `SectionStack.canReorderSections` is true. You can also disable dropping other sections before this one by setting `canDropBefore` to false.
    Parameters:
      `canReorder` - New canReorder value. Default value is null
    Returns:
      `SectionStackSection` instance, for chaining setter calls

  - ### setCanTabToHeader

    public SectionStackSection setCanTabToHeader(Boolean canTabToHeader)
    If true, the header for this Section will be included in the page's tab order for accessibility. May also be set at the `SectionStack` level via `SectionStack.canTabToHeaders`.

    See `Accessibility`.

    Parameters:
      `canTabToHeader` - New canTabToHeader value. Default value is null
    Returns:
      `SectionStackSection` instance, for chaining setter calls

  - ### getCanTabToHeader

    public Boolean getCanTabToHeader()
    If true, the header for this Section will be included in the page's tab order for accessibility. May also be set at the `SectionStack` level via `SectionStack.canTabToHeaders`.

    See `Accessibility`.

    Returns:
      Current canTabToHeader value. Default value is null

  - ### setClipTitle

    public SectionStackSection setClipTitle(Boolean clipTitle)
    If the title for this section header is too large for the available space, should the title be clipped?

    This feature is supported only in browsers that support the CSS UI text-overflow property (IE6+, Firefox 7+, Safari, Chrome, Opera 9+).

    Parameters:
      `clipTitle` - New clipTitle value. Default value is true
    Returns:
      `SectionStackSection` instance, for chaining setter calls

  - ### getClipTitle

    public Boolean getClipTitle()
    If the title for this section header is too large for the available space, should the title be clipped?

    This feature is supported only in browsers that support the CSS UI text-overflow property (IE6+, Firefox 7+, Safari, Chrome, Opera 9+).

    Returns:
      Current clipTitle value. Default value is true

  - ### setCloseIcon

    public SectionStackSection setCloseIcon(String closeIcon)
    Icon src for the `close button` if `canClose` is true.

    If specified this takes precedence over `SectionStack.closeSectionIcon`.

    Parameters:
      `closeIcon` - New closeIcon value. Default value is null
    Returns:
      `SectionStackSection` instance, for chaining setter calls
    See Also:
      - `SCImgURL`

  - ### getCloseIcon

    public String getCloseIcon()
    Icon src for the `close button` if `canClose` is true.

    If specified this takes precedence over `SectionStack.closeSectionIcon`.

    Returns:
      Current closeIcon value. Default value is null
    See Also:
      - `SCImgURL`

  - ### setCloseIconSize

    public SectionStackSection setCloseIconSize(Integer closeIconSize)
    Pixel width/height for this sections `closeIcon`.
    If unset `SectionStack.closeSectionIconSize` will be used.
    Parameters:
      `closeIconSize` - New closeIconSize value. Default value is null
    Returns:
      `SectionStackSection` instance, for chaining setter calls

  - ### getCloseIconSize

    public Integer getCloseIconSize()
    Pixel width/height for this sections `closeIcon`.
    If unset `SectionStack.closeSectionIconSize` will be used.
    Returns:
      Current closeIconSize value. Default value is null

  - ### setControls

    public SectionStackSection setControls(Canvas... controls)
    Custom controls to be shown on top of this section header.

    These controls are shown in the `SectionHeader.controlsLayout`.

    Note that this is an init-time property. If you need to dynamically change what controls are displayed to the user, we would recommend embedding the controls in a Layout or similar container. This will allow you to show/hide or add/remove members at runtime by manipulating the existing control(s) set up at init time.

    For `canClose:true` sections, a `close icon` will be added to the section controls automatically.

    Parameters:
      `controls` - New controls value. Default value is null
    Returns:
      `SectionStackSection` instance, for chaining setter calls
    See Also:
      - Custom Controls Example

  - ### getControls

    public Canvas[] getControls()
    Custom controls to be shown on top of this section header.

    These controls are shown in the `SectionHeader.controlsLayout`.

    Note that this is an init-time property. If you need to dynamically change what controls are displayed to the user, we would recommend embedding the controls in a Layout or similar container. This will allow you to show/hide or add/remove members at runtime by manipulating the existing control(s) set up at init time.

    For `canClose:true` sections, a `close icon` will be added to the section controls automatically.

    Returns:
      Current controls value. Default value is null
    See Also:
      - Custom Controls Example

  - ### setDestroyOnRemove

    public SectionStackSection setDestroyOnRemove(Boolean destroyOnRemove)
    Should the `items` be `destroyed` if this section is `removed`? The section header itself and any controls will always be destroyed.
    Parameters:
      `destroyOnRemove` - New destroyOnRemove value. Default value is false
    Returns:
      `SectionStackSection` instance, for chaining setter calls

  - ### setHeaderProperties

    public SectionStackSection setHeaderProperties(SectionHeader headerProperties)
    Allows properties for the header (a `SectionHeader` or `ImgSectionHeader` subclass) to be set on the section before it's added to the `SectionStack`.
    Parameters:
      `headerProperties` - New headerProperties value. Default value is null
    Returns:
      `SectionStackSection` instance, for chaining setter calls
    See Also:
      - `SectionStack.setSectionHeaderClass(java.lang.String)`
      - `SGWTProperties`

  - ### getHeaderProperties

    public SectionHeader getHeaderProperties()
    Allows properties for the header (a `SectionHeader` or `ImgSectionHeader` subclass) to be set on the section before it's added to the `SectionStack`.
    Returns:
      Current headerProperties value. Default value is null
    See Also:
      - `SectionStack.getSectionHeaderClass()`

  - ### setHeaderProperties

    public SectionStackSection setHeaderProperties(ImgSectionHeader headerProperties)
    Allows properties for the header (a `SectionHeader` or `ImgSectionHeader` subclass) to be set on the section before it's added to the `SectionStack`.
    Parameters:
      `headerProperties` - New headerProperties value. Default value is null
    Returns:
      `SectionStackSection` instance, for chaining setter calls
    See Also:
      - `SectionStack.setSectionHeaderClass(java.lang.String)`
      - `SGWTProperties`

  - ### getHeaderPropertiesAsImgSectionHeader

    public ImgSectionHeader getHeaderPropertiesAsImgSectionHeader()
    Allows properties for the header (a `SectionHeader` or `ImgSectionHeader` subclass) to be set on the section before it's added to the `SectionStack`.
    Returns:
      Current headerProperties value. Default value is null
    See Also:
      - `SectionStack.getSectionHeaderClass()`

  - ### setIcon

    public SectionStackSection setIcon(String icon)
    Base filename of the icon that represents open and closed states. The default settings also change the icon for disabled sections, so a total of four images are required (opened, closed, Disabled_opened, Disabled_closed).

    Not shown if `canCollapse` is false.

    Parameters:
      `icon` - New icon value. Default value is "[SKIN]SectionHeader/opener.gif"
    Returns:
      `SectionStackSection` instance, for chaining setter calls
    See Also:
      - `SCImgURL`

  - ### getIcon

    public String getIcon()
    Base filename of the icon that represents open and closed states. The default settings also change the icon for disabled sections, so a total of four images are required (opened, closed, Disabled_opened, Disabled_closed).

    Not shown if `canCollapse` is false.

    Returns:
      Current icon value. Default value is "[SKIN]SectionHeader/opener.gif"
    See Also:
      - `SCImgURL`

  - ### setName

    public SectionStackSection setName(String name)
    Identifier for the section. This can be used later in calls to `SectionStack` APIs such as `SectionStack.expandSection()` and `SectionStack.collapseSection()`. Note that if no name is specified for the section, one will be auto-generated when the section is created. This property should be a string which may be used as a valid JavaScript identifier (should start with a letter and not contain space or special characters such as "*").
    Parameters:
      `name` - New name value. Default value is null
    Returns:
      `SectionStackSection` instance, for chaining setter calls

  - ### getName

    public String getName()
    Identifier for the section. This can be used later in calls to `SectionStack` APIs such as `SectionStack.expandSection()` and `SectionStack.collapseSection()`. Note that if no name is specified for the section, one will be auto-generated when the section is created. This property should be a string which may be used as a valid JavaScript identifier (should start with a letter and not contain space or special characters such as "*").
    Returns:
      Current name value. Default value is null

  - ### setResizeable

    public SectionStackSection setResizeable(Boolean resizeable)
    If set to false, then the items in this section will not be resized by sectionHeader repositioning. You may also set this flag directly on any of the items in any section to cause that item to not be resizeable.
    Parameters:
      `resizeable` - New resizeable value. Default value is null
    Returns:
      `SectionStackSection` instance, for chaining setter calls
    See Also:
      - Resize Sections Example

  - ### setShowClippedTitleOnHover

    public SectionStackSection setShowClippedTitleOnHover(Boolean showClippedTitleOnHover)
    If true and the title is clipped, then a hover containing the full title of this section header is enabled.
    Parameters:
      `showClippedTitleOnHover` - New showClippedTitleOnHover value. Default value is true
    Returns:
      `SectionStackSection` instance, for chaining setter calls

  - ### getShowClippedTitleOnHover

    public Boolean getShowClippedTitleOnHover()
    If true and the title is clipped, then a hover containing the full title of this section header is enabled.
    Returns:
      Current showClippedTitleOnHover value. Default value is true

  - ### setShowHeader

    public SectionStackSection setShowHeader(Boolean showHeader)
    If true, a header will be shown for this section. If false, no header will be shown.
    Parameters:
      `showHeader` - New showHeader value. Default value is true
    Returns:
      `SectionStackSection` instance, for chaining setter calls

  - ### setTitle

    public void setTitle(String title)
    Title to show for the section
    Parameters:
      `title` - title Default value is null

  - ### getTitle

    public String getTitle()
    Title to show for the section
    Returns:
      String

  - ### setExpanded

    public void setExpanded(Boolean expanded)
    Sections default to the collapsed state unless `showHeader` is set to `false` in which case they default to the expanded state. This attribute allows you to explicitly control the expand/collapse state of the section by overriding the above default behavior.
    Parameters:
      `expanded` - expanded Default value is false

  - ### setHidden

    public void setHidden(Boolean hidden)
    Sections default to the visible state. This attribute allows you to explicitly control the visible/hidden state of the section by overriding the above default behavior.
    Parameters:
      `hidden` - hidden Default value is false

  - ### setItems

    public void setItems(Canvas... items)
    Assign a new set of Canvases to this section. These Canvases will be shown and hidden together.
    Parameters:
      `items` - list of Canvases that constitute the section

  - ### getItems

    public Canvas[] getItems()
    Return the items in this SectionStackSection
    Returns:
      the items in this SectionStackSection

  - ### addItem

    public void addItem(Canvas item)
    Adds a new Canvas to this section, at the end.
    Parameters:
      `new` - Canvas to add as item

  - ### getSectionStack

    public SectionStack getSectionStack()

  - ### getSectionHeader

    public SectionHeader getSectionHeader()
    Once a SectionStackSection has been applied to a SectionStack, this method may be used to return a pointer to the SectionHeader for this section
    Returns:
      the SectionHeader for the section

  - ### getID

    public String getID()
    Optional ID for the section. If `useGlobalSectionIDs` is true, this property will be applied to the generated SectionStackHeader widget as a standard widget ID, meaning it should be unique within a page.

    Backcompat Note: Section stack sections may be uniquely identified within a stack via the `name` attribute (introduced in Jan 2010). Prior to this, the section ID attribute was used in this way (and would not be applied to the section header as a widget ID). For backwards compatibility this is still supported: If `section.name` is unspecified for a section but `section.ID` is set, the ID will be used as a default name attribute for the section. For backwards compatibility we also disable the standard behavior of having the `section.ID` being applied to the generated section header (thereby avoiding the page-level uniqueness requirement) by defaulting `useGlobalSectionIDs` to false.

    Returns:
      String

  - ### setID

    public void setID(String ID)
    Optional ID for the section. If `useGlobalSectionIDs` is true, this property will be applied to the generated SectionStackHeader widget as a standard widget ID, meaning it should be unique within a page.

    Backcompat Note: Section stack sections may be uniquely identified within a stack via the `name` attribute (introduced in Jan 2010). Prior to this, the section ID attribute was used in this way (and would not be applied to the section header as a widget ID). For backwards compatibility this is still supported: If `section.name` is unspecified for a section but `section.ID` is set, the ID will be used as a default name attribute for the section. For backwards compatibility we also disable the standard behavior of having the `section.ID` being applied to the generated section header (thereby avoiding the page-level uniqueness requirement) by defaulting `useGlobalSectionIDs` to false.

    Parameters:
      `ID` - ID Default value is null

  - ### setAriaRole

    public void setAriaRole(String ariaRole)
    Specify the ariaRole for this SectionStackSection. This role will be applied to the SectionHeader for the section. See `Accessibility`
    Parameters:
      `ariaRole` -

  - ### setAriaState

    public void setAriaState(String stateName, Object stateValue)
    Specify an ariaState for this SectionStackSection. This state will be applied to the SectionHeader for the section. See `Accessibility`
    Parameters:
      `stateName` -
      `stateValue` -

  - ### setTitleHoverFormatter

    public void setTitleHoverFormatter(TitleHoverFormatter formatter)
    Provide a custom implementation of `SectionHeader.titleHoverHTML(java.lang.String)`.