com.smartgwt.client.widgets.layout

## Class SectionStack

- java.lang.Object
- - com.google.gwt.user.client.ui.UIObject
  - - com.google.gwt.user.client.ui.Widget
    - - com.smartgwt.client.widgets.BaseWidget
      - - com.smartgwt.client.widgets.Canvas
        - - com.smartgwt.client.widgets.layout.Layout
          - - com.smartgwt.client.widgets.layout.VLayout
            - - com.smartgwt.client.widgets.layout.SectionStack

- All Implemented Interfaces:
    com.google.gwt.event.logical.shared.HasAttachHandlers, com.google.gwt.event.shared.HasHandlers, com.google.gwt.user.client.EventListener, com.google.gwt.user.client.ui.HasVisibility, com.google.gwt.user.client.ui.IsWidget, LogicalStructure, 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, HasScrolledHandlers, HasShowContextMenuHandlers, HasVisibilityChangedHandlers, HasSectionHeaderClickHandlers

      public class SectionStack
      extends VLayout
      implements HasSectionHeaderClickHandlers

  A container that manages a list of sections of widgets, each with a header. Sometimes called an "Accordion".

  SectionStack can be configured so that only one section is visible at a time (similar to MS Outlook's left-hand Nav), or to allow multiple sections to be visible and share the available space.

- - ### Nested Class Summary

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

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

  - ### Field Summary

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

      `config, configOnly, id, isElementSet, nativeObject, scClassName`

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

      `DEBUG_ID_PREFIX`

  - ### Constructor Summary

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addSection(SectionStackSection section)` Add a section to the SectionStack.
    `void` | `addSection(SectionStackSection section, int position)` Add a section to the SectionStack.
    `com.google.gwt.event.shared.HandlerRegistration` | `addSectionHeaderClickHandler(SectionHeaderClickHandler handler)` Add a SectionHeaderClick handler.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, Canvas defaults)` Changes the defaults for Canvas AutoChildren named `autoChildName`.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, FormItem defaults)` Changes the defaults for FormItem AutoChildren named `autoChildName`.
    `void` | `collapseSection(int index)` Collapse a section.
    `void` | `collapseSection(java.lang.String sectionID)` Collapse a section.
    `protected com.google.gwt.core.client.JavaScriptObject` | `create()`
    `void` | `expandSection(int index)` Expands a section.
    `void` | `expandSection(java.lang.String sectionID)` Expands a section.
    `java.lang.Boolean` | `getAnimateSections()` If true, sections are animated during expand/collapse and addition/removal of SectionItems is likewise animated.
    `java.lang.Boolean` | `getCanCollapseAll()` In `visibilityMode` "mutex", whether to allow the last remaining expanded section to be collapsed.
    `java.lang.Boolean` | `getCanDropComponents()` SectionStacks provide the same default implementation of drag and drop interactions as `Layouts`, except that members are added as items into the section over which they're dropped.
    `java.lang.Boolean` | `getCanReorderSections()` Whether sections can be drag reordered by the user dragging the section header.
    `java.lang.Boolean` | `getCanResizeSections()` Whether sections can be drag resized by the user dragging the section header.
    `java.lang.Boolean` | `getCanTabToHeaders()` If true, the headers for the sections (if shown) will be included in the page's tab order for accessibility.
    `int` | `getHeaderHeight()` Height of headers for sections.
    `int` | `getItemEndIndent()` Size, in pixels, of indentation of all member items relative to the end of the alignment axis.
    `int` | `getItemIndent()` Size, in pixels, of indentation of all member items.
    `int` | `getItemStartIndent()` Size, in pixels, of indentation of all member items relative to the start of the alignment axis.
    `LocatorStrategy` | `getLocateSectionsBy()` When AutoTest.getElement is used to parse locator strings generated by link{isc.AutoTest.getLocator()}, how should sections within this stack be identified? By default if section has a specified name this will always be used.
    `LocatorTypeStrategy` | `getLocateSectionsType()` `LocatorTypeStrategy` to use when finding Sections within this section Stack.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `getLogicalStructure()`
    `static SectionStack` | `getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `Overflow` | `getOverflow()` Normal `Overflow` settings can be used on layouts, for example, an overflow:auto Layout will scroll if sections are resized to exceed the specified size, whereas an overflow:visible Layout will grow to accommodate the resized sections.
    `java.lang.Boolean` | `getScrollSectionIntoView()` If an expanded or shown section expands past the current viewport and this property is true, then the viewport will auto-scroll to fit as much of the section content into the viewport without scrolling the top of the section out of the viewport.
    `SectionStackSection` | `getSection(int index)` Return the SectionStackSection for a section.
    `SectionStackSection` | `getSection(java.lang.String sectionID)` Return the SectionStackSection for a section.
    `java.lang.String` | `getSectionHeaderClass()` Name of a Smart GWT class to use for creating section headers.
    `int` | `getSectionNumber(java.lang.String sectionName)` Returns the position of the specified section in the SectionStack.
    `SectionStackSection[]` | `getSections()`
    `java.lang.Boolean` | `getShowExpandControls()` Whether to show the Expand/Collapse controls in the headers of sections.
    `java.lang.String` | `getStyleName()` Default CSS style for the SectionStack as a whole.
    `java.lang.Boolean` | `getUseGlobalSectionIDs()` Should any specified `ID` be applied to the generated SectionHeader widget for the section as a widget ID? If set to false, SectionStackSection.ID will behave as a synonym for SectionStackSection.name.
    `VisibilityMode` | `getVisibilityMode()` Whether multiple sections can be visible at once
    `void` | `hideSection(int index)` Hides a section.
    `void` | `hideSection(java.lang.String sectionID)` Hides a section.
    `void` | `moveSection(int index, int position)` Moves the specified section to a new position in the SectionStack order.
    `void` | `moveSection(java.lang.String sectionID, int position)` Moves the specified section to a new position in the SectionStack order.
    `void` | `removeSection(int index)` Remove a section from the SectionStack.
    `void` | `removeSection(java.lang.String sectionID)` Remove a section from the SectionStack.
    `SectionStackSection` | `sectionForItem(Canvas item)` Search for a section that contains passed item.
    `void` | `sectionHeaderClick(Canvas sectionHeader)` Method intended to be called by the sectionHeader when it is clicked on.
    `boolean` | `sectionIsExpanded(int index)` Returns true if the specified section is expanded, false if it is collapsed.
    `boolean` | `sectionIsExpanded(java.lang.String sectionID)` Returns true if the specified section is expanded, false if it is collapsed.
    `boolean` | `sectionIsVisible(int index)` Returns true if the specified section is visible, false if it is not.
    `boolean` | `sectionIsVisible(java.lang.String sectionID)` Returns true if the specified section is visible, false if it is not.
    `void` | `setAnimateSections(java.lang.Boolean animateSections)` If true, sections are animated during expand/collapse and addition/removal of SectionItems is likewise animated.
    `void` | `setCanCollapseAll(java.lang.Boolean canCollapseAll)` In `visibilityMode` "mutex", whether to allow the last remaining expanded section to be collapsed.
    `void` | `setCanDropComponents(java.lang.Boolean canDropComponents)` SectionStacks provide the same default implementation of drag and drop interactions as `Layouts`, except that members are added as items into the section over which they're dropped.
    `void` | `setCanReorderSections(java.lang.Boolean canReorderSections)` Whether sections can be drag reordered by the user dragging the section header.
    `void` | `setCanResizeSections(java.lang.Boolean canResizeSections)` Whether sections can be drag resized by the user dragging the section header.
    `void` | `setCanTabToHeaders(java.lang.Boolean canTabToHeaders)` If true, the headers for the sections (if shown) will be included in the page's tab order for accessibility.
    `static void` | `setDefaultProperties(SectionStack sectionStackProperties)` Class level method to set the default properties of this class.
    `void` | `setHeaderHeight(int headerHeight)` Height of headers for sections.
    `void` | `setItemEndIndent(int itemEndIndent)` Size, in pixels, of indentation of all member items relative to the end of the alignment axis.
    `void` | `setItemIndent(int itemIndent)` Size, in pixels, of indentation of all member items.
    `void` | `setItemStartIndent(int itemStartIndent)` Size, in pixels, of indentation of all member items relative to the start of the alignment axis.
    `void` | `setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `void` | `setLocateSectionsBy(LocatorStrategy locateSectionsBy)` When AutoTest.getElement is used to parse locator strings generated by link{isc.AutoTest.getLocator()}, how should sections within this stack be identified? By default if section has a specified name this will always be used.
    `void` | `setLocateSectionsType(LocatorTypeStrategy locateSectionsType)` `LocatorTypeStrategy` to use when finding Sections within this section Stack.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `setLogicalStructure(com.smartgwt.logicalstructure.widgets.layout.SectionStackLogicalStructure s)`
    `void` | `setOverflow(Overflow overflow)` Normal `Overflow` settings can be used on layouts, for example, an overflow:auto Layout will scroll if sections are resized to exceed the specified size, whereas an overflow:visible Layout will grow to accommodate the resized sections.
    `void` | `setScrollSectionIntoView(java.lang.Boolean scrollSectionIntoView)` If an expanded or shown section expands past the current viewport and this property is true, then the viewport will auto-scroll to fit as much of the section content into the viewport without scrolling the top of the section out of the viewport.
    `void` | `setSectionHeaderClass(java.lang.String sectionHeaderClass)` Name of a Smart GWT class to use for creating section headers.
    `void` | `setSectionProperties(int section, SectionStackSection properties)` Set arbitrary properties for a particular section in this SectionStack.
    `void` | `setSectionProperties(java.lang.String section, SectionStackSection properties)` Set arbitrary properties for a particular section in this SectionStack.
    `void` | `setSections(SectionStackSection... sections)`
    `void` | `setSectionTitle(int index, java.lang.String newTitle)` Changes the title of a Section Header.
    `void` | `setSectionTitle(java.lang.String sectionID, java.lang.String newTitle)` Changes the title of a Section Header.
    `void` | `setShowExpandControls(java.lang.Boolean showExpandControls)` Whether to show the Expand/Collapse controls in the headers of sections.
    `void` | `setStyleName(java.lang.String styleName)` Default CSS style for the SectionStack as a whole.
    `void` | `setUseGlobalSectionIDs(java.lang.Boolean useGlobalSectionIDs)` Should any specified `ID` be applied to the generated SectionHeader widget for the section as a widget ID? If set to false, SectionStackSection.ID will behave as a synonym for SectionStackSection.name.
    `void` | `setVisibilityMode(VisibilityMode visibilityMode)` Whether multiple sections can be visible at once
    `void` | `showSection(int index)` Shows a section.
    `void` | `showSection(java.lang.String sectionID)` Shows a section.

    - ### Methods inherited from class com.smartgwt.client.widgets.layout.VLayout

      `setDefaultProperties, setLogicalStructure`

    - ### Methods inherited from class com.smartgwt.client.widgets.layout.Layout

      `addMember, addMember, addMember, addMember, addMemberPostCreate, addMemberPostCreate, addMemberPreCreate, addMemberPreCreate, addMembers, addMembers, getAnimateMembers, getAnimateMemberTime, getDefaultResizeBars, getDropComponent, getDropLine, getDropLineThickness, getDropPosition, getEnforcePolicy, getHPolicy, getLayoutBottomMargin, getLayoutLeftMargin, getLayoutMargin, getLayoutRightMargin, getLayoutTopMargin, getLeaveScrollbarGap, getLocateMembersBy, getLocateMembersType, getManagePercentBreadth, getMember, getMember, getMemberDefaultBreadth, getMemberNumber, getMemberNumber, getMemberOffset, getMemberOverlap, getMembers, getMembersMargin, getMinMemberSize, getPaddingAsLayoutMargin, getResizeBarClass, getResizeBarSize, getReverseOrder, getShowDragPlaceHolder, getShowDropLines, getStackZIndex, getVertical, getVPolicy, hasMember, hideDropLine, hideMember, hideMember, membersChanged, onInit_Layout, onInit, reflow, reflow, reflowNow, removeMember, removeMembers, reorderMember, reorderMembers, setAlign, setAlign, setAnimateMembers, setAnimateMemberTime, setDefaultLayoutAlign, setDefaultLayoutAlign, setDefaultProperties, setDefaultResizeBars, setDropLineProperties, setDropLineThickness, setEnforcePolicy, setHPolicy, setLayoutBottomMargin, setLayoutLeftMargin, setLayoutMargin, setLayoutRightMargin, setLayoutTopMargin, setLeaveScrollbarGap, setLocateMembersBy, setLocateMembersType, setLogicalStructure, setManagePercentBreadth, setMemberOverlap, setMembers, setMembersMargin, setMinMemberSize, setPaddingAsLayoutMargin, setPlaceHolderDefaults, setPlaceHolderProperties, setResizeBarClass, setResizeBarSize, setReverseOrder, setShowDragPlaceHolder, setShowDropLines, setStackZIndex, setVertical, setVisibleMember, setVPolicy, showMember, showMember`

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

      `addChild, addChild, addChild, addChild, addChild, addClickHandler, addDoubleClickHandler, addDragMoveHandler, addDragRepositionMoveHandler, addDragRepositionStartHandler, addDragRepositionStopHandler, addDragResizeMoveHandler, addDragResizeStartHandler, addDragResizeStopHandler, addDragStartHandler, addDragStopHandler, addDropHandler, addDropMoveHandler, addDropOutHandler, addDropOverHandler, addFocusChangedHandler, addHoverHandler, addHoverHiddenHandler, addKeyDownHandler, addKeyPressHandler, addMouseDownHandler, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseStillDownHandler, addMouseUpHandler, addMouseWheelHandler, addMovedHandler, addParentMovedHandler, addPeer, addPeer, addPeer, addPeer, addResizedHandler, addRightMouseDownHandler, addScrolledHandler, addShowContextMenuHandler, addStyleName, addVisibilityChangedHandler, adjustForContent, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateHide, animateHide, animateHide, animateMove, animateMove, animateMove, animateMove, animateRect, animateRect, animateRect, animateRect, animateResize, animateResize, animateResize, animateResize, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateShow, animateShow, animateShow, asSGWTComponent, blur, bringToFront, clear, clickMaskUp, clickMaskUp, contains, contains, containsEvent, containsFocus, containsPoint, containsPoint, deparent, depeer, disable, enable, focus, focusInNextTabElement, focusInPreviousTabElement, getAbsoluteLeft, getAbsoluteTop, getAccessKey, getAnimateAcceleration, getAnimateFadeTime, getAnimateHideAcceleration, getAnimateHideTime, getAnimateMoveAcceleration, getAnimateMoveTime, getAnimateRectAcceleration, getAnimateRectTime, getAnimateResizeAcceleration, getAnimateResizeTime, getAnimateScrollAcceleration, getAnimateScrollTime, getAnimateShowAcceleration, getAnimateShowEffect, getAnimateShowTime, getAnimateTime, getAppImgDir, getAriaRole, getAutoDraw, getAutoShowParent, getBackgroundColor, getBackgroundImage, getBackgroundPosition, getBackgroundRepeat, getBorder, getBottom, getById, getByJSObject, getByLocalId, getCanAcceptDrop, getCanDrag, getCanDragReposition, getCanDragResize, getCanDragScroll, getCanDrop, getCanDropBefore, getCanFocus, getCanHover, getCanSelectText, getCanvasAutoChild, getCanvasItem, getChildren, getChildrenSnapResizeToGrid, getChildrenSnapToGrid, getClassName, getContentElement, getContents, getContextMenu, getCursor, getDataPath, getDefaultHeight, getDefaultWidth, getDestroyed, getDestroying, getDisabled, getDisabledCursor, getDoubleClickDelay, getDragAppearance, getDragIntersectStyle, getDragOpacity, getDragRepositionAppearance, getDragRepositionCursor, getDragResizeAppearance, getDragScrollDelay, getDragStartDistance, getDragTarget, getDragType, getDropTypes, getDynamicContents, getEdgeBackgroundColor, getEdgeCenterBackgroundColor, getEdgeImage, getEdgeMarginSize, getEdgeOffset, getEdgeOpacity, getEdgeShowCenter, getEdgeSize, getEventEdge, getEventEdge, getExtraSpace, getFacetId, getFormItemAutoChild, getFullDataPath, getGroupBorderCSS, getGroupLabelBackgroundColor, getGroupLabelStyleName, getGroupTitle, getHeight, getHeightAsString, getHideUsingDisplayNone, getHoverAlign, getHoverAutoDestroy, getHoverComponent, getHoverDelay, getHoverHeight, getHoverHTML, getHoverMoveWithMouse, getHoverOpacity, getHoverStyle, getHoverVAlign, getHoverWidth, getHoverWrap, getHSnapOrigin, getHSnapOrigin, getHSnapPosition, getHSnapPosition, getHtmlPosition, getImage, getImgURL, getImgURL, getInnerContentHeight, getInnerContentWidth, getInnerHeight, getInnerWidth, getIsGroup, getKeepInParentRect, getLayoutAlign, getLeft, getLeftAsString, getLocateChildrenBy, getLocateChildrenType, getLocatePeersBy, getLocatePeersType, getMargin, getMasterElement, getMatchElement, getMaxHeight, getMaxWidth, getMenuConstructor, getMinHeight, getMinWidth, getMouseStillDownDelay, getMouseStillDownInitialDelay, getNextZIndex, getNoDoubleClicks, getOffsetHeight, getOffsetWidth, getOffsetX, getOffsetY, getOpacity, getOuterElement, getPadding, getPageBottom, getPageLeft, getPageRect, getPageRight, getPageTop, getParentElement, getPeers, getPercentBox, getPercentSource, getPosition, getPrefix, getPrintChildrenAbsolutelyPositioned, getPrintHTML, getPrintHTML, getPrompt, getRect, getRedrawOnResize, getResizeBarTarget, getResizeFrom, getRight, getScrollbarSize, getScrollBottom, getScrollHeight, getScrollLeft, getScrollRight, getScrollTop, getScrollWidth, getShadowDepth, getShadowImage, getShadowOffset, getShadowSoftness, getShouldPrint, getShowCustomScrollbars, getShowDragShadow, getShowEdges, getShowHover, getShowHoverComponents, getShowResizeBar, getShowShadow, getSkinImgDir, getSnapAxis, getSnapEdge, getSnapHDirection, getSnapHGap, getSnapOffsetLeft, getSnapOffsetTop, getSnapOnDrop, getSnapResizeToGrid, getSnapTo, getSnapToGrid, getSnapVDirection, getSnapVGap, getTabIndex, getTestInstance, getTitle, getTooltip, getTop, getTopAsString, getTopElement, getUseBackMask, getUseOpacityFilter, getValuesManager, getViewportHeight, getViewportWidth, getVisibility, getVisibleHeight, getVisibleWidth, getVSnapOrigin, getVSnapOrigin, getVSnapPosition, getVSnapPosition, getWidth, getWidthAsString, getZIndex, handleHover, hide, hideClickMask, hideClickMask, hideContextMenu, imgHTML, imgHTML, imgHTML, intersects, isDirty, isDisabled, isDrawn, isVisible, keyUp, layoutChildren, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, markForDestroy, markForRedraw, markForRedraw, moveAbove, moveBelow, moveBy, moveTo, onAttach, onDetach, parentResized, printComponents, redraw, redraw, removeChild, removeChild, removePeer, removePeer, resizeBy, resizeTo, resizeTo, scrollBy, scrollByPercent, scrollTo, scrollTo, scrollTo, scrollToBottom, scrollToLeft, scrollToPercent, scrollToRight, scrollToTop, sendToBack, setAccessKey, setAllowExternalFilters, setAnimateAcceleration, setAnimateFadeTime, setAnimateHideAcceleration, setAnimateHideTime, setAnimateMoveAcceleration, setAnimateMoveTime, setAnimateRectAcceleration, setAnimateRectTime, setAnimateResizeAcceleration, setAnimateResizeTime, setAnimateScrollAcceleration, setAnimateScrollTime, setAnimateShowAcceleration, setAnimateShowEffect, setAnimateShowTime, setAnimateTime, setAppImgDir, setAriaRole, setAriaState, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoDraw, setAutoHeight, setAutoShowParent, setAutoWidth, setBackgroundColor, setBackgroundImage, setBackgroundPosition, setBackgroundRepeat, setBorder, setBottom, setCanAcceptDrop, setCanDrag, setCanDragReposition, setCanDragResize, setCanDragScroll, setCanDrop, setCanDropBefore, setCanFocus, setCanHover, setCanSelectText, setCanvasItem, setChildren, setChildrenSnapResizeToGrid, setChildrenSnapToGrid, setContents, setContextMenu, setCursor, setDataPath, setDefaultHeight, setDefaultProperties, setDefaultWidth, setDisabled, setDisabledCursor, setDoubleClickDelay, setDragAppearance, setDragIntersectStyle, setDragOpacity, setDragRepositionAppearance, setDragRepositionCursor, setDragResizeAppearance, setDragScrollDelay, setDragStartDistance, setDragTarget, setDragType, setDropTypes, setDynamicContents, setEdgeBackgroundColor, setEdgeCenterBackgroundColor, setEdgeImage, setEdgeMarginSize, setEdgeOffset, setEdgeOpacity, setEdgeShowCenter, setEdgeSize, setExtraSpace, setFacetId, setGroupBorderCSS, setGroupLabelBackgroundColor, setGroupLabelStyleName, setGroupTitle, setHeight, setHeight, setHeight100, setHideUsingDisplayNone, setHoverAlign, setHoverAutoDestroy, setHoverDelay, setHoverHeight, setHoverMoveWithMouse, setHoverOpacity, setHoverStyle, setHoverVAlign, setHoverWidth, setHoverWrap, setHtmlPosition, setImage, setImage, setIsGroup, setKeepInParentRect, setKeepInParentRect, setKeepInParentRect, setLayoutAlign, setLayoutAlign, setLeft, setLeft, setLocateChildrenBy, setLocateChildrenType, setLocatePeersBy, setLocatePeersType, setLogicalStructure, setMargin, setMatchElement, setMaxHeight, setMaxWidth, setMenuConstructor, setMinHeight, setMinWidth, setMouseStillDownDelay, setMouseStillDownInitialDelay, setNeverUseFilters, setNoDoubleClicks, setOpacity, setPadding, setPageLeft, setPageTop, setParentElement, setPeers, setPercentBox, setPercentSource, setPosition, setPrefix, setPrintChildrenAbsolutelyPositioned, setPrompt, setRect, setRect, setRedrawOnResize, setResizeBarTarget, setResizeFrom, setResizeFrom, setRight, setScrollbarConstructor, setScrollbarSize, setShadowDepth, setShadowImage, setShadowOffset, setShadowSoftness, setShouldPrint, setShowCustomScrollbars, setShowDragShadow, setShowEdges, setShowHover, setShowHoverComponents, setShowResizeBar, setShowShadow, setSkinImgDir, setSmoothFade, setSnapAxis, setSnapEdge, setSnapHDirection, setSnapHGap, setSnapOffsetLeft, setSnapOffsetTop, setSnapOnDrop, setSnapResizeToGrid, setSnapTo, setSnapToGrid, setSnapVDirection, setSnapVGap, setTabIndex, setTitle, setTooltip, setTop, setTop, setUseBackMask, setUseOpacityFilter, setValuesManager, setVisibility, setVisible, setWidth, setWidth, setWidth100, setZIndex, shouldDragScroll, show, showClickMask, showNextTo, showNextTo, showNextTo, showNextTo, showPrintPreview, showPrintPreview, showPrintPreview, showPrintPreview, showRecursively, updateHover, updateHover, updateShadow, visibleAtPoint, willAcceptDrop`

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

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

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

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

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

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

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

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

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

      `fireEvent`

- - ### Constructor Detail

    - #### SectionStack

          public SectionStack()

    - #### SectionStack

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

  - ### Method Detail

    - #### getOrCreateRef

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

    - #### setJavaScriptObject

          public void setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj)

      Overrides:
        `setJavaScriptObject` in class `VLayout`

    - #### changeAutoChildDefaults

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

      Changes the defaults for Canvas AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - Canvas defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties.
      See Also:
        `AutoChildUsage`

    - #### changeAutoChildDefaults

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

      Changes the defaults for FormItem AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - FormItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties.
      See Also:
        `AutoChildUsage`

    - #### create

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

      Overrides:
        `create` in class `VLayout`

    - #### setAnimateSections

          public void setAnimateSections(java.lang.Boolean animateSections)

      If true, sections are animated during expand/collapse and addition/removal of SectionItems is likewise animated.
      Parameters:
        `animateSections` - animateSections Default value is null
      See Also:
        Section Reveal Example

    - #### getAnimateSections

          public java.lang.Boolean getAnimateSections()

      If true, sections are animated during expand/collapse and addition/removal of SectionItems is likewise animated.
      Returns:
        Boolean
      See Also:
        Section Reveal Example

    - #### setCanCollapseAll

          public void setCanCollapseAll(java.lang.Boolean canCollapseAll)

      In `visibilityMode` "mutex", whether to allow the last remaining expanded section to be collapsed. If false, collapsing the last open section will open the next one (wrapping around at the end).
      Parameters:
        `canCollapseAll` - canCollapseAll Default value is true

    - #### getCanCollapseAll

          public java.lang.Boolean getCanCollapseAll()

      In `visibilityMode` "mutex", whether to allow the last remaining expanded section to be collapsed. If false, collapsing the last open section will open the next one (wrapping around at the end).
      Returns:
        Boolean

    - #### setCanDropComponents

          public void setCanDropComponents(java.lang.Boolean canDropComponents)
                                    throws java.lang.IllegalStateException

      SectionStacks provide the same default implementation of drag and drop interactions as `Layouts`, except that members are added as items into the section over which they're dropped.

      If you want to completely suppress the builtin drag and drop logic, but still receive drag and drop events for your own custom implementation, set `canAcceptDrop` to `true` and `canDropComponents` to `false` on your SectionStack.

      Note : This is an advanced setting

      Overrides:
        `setCanDropComponents` in class `Layout`
      Parameters:
        `canDropComponents` - canDropComponents Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Dragdrop overview and related methods`

    - #### getCanDropComponents

          public java.lang.Boolean getCanDropComponents()

      SectionStacks provide the same default implementation of drag and drop interactions as `Layouts`, except that members are added as items into the section over which they're dropped.

      If you want to completely suppress the builtin drag and drop logic, but still receive drag and drop events for your own custom implementation, set `canAcceptDrop` to `true` and `canDropComponents` to `false` on your SectionStack.

      Overrides:
        `getCanDropComponents` in class `Layout`
      Returns:
        Boolean
      See Also:
        `Dragdrop overview and related methods`

    - #### setCanReorderSections

          public void setCanReorderSections(java.lang.Boolean canReorderSections)
                                     throws java.lang.IllegalStateException

      Whether sections can be drag reordered by the user dragging the section header.

      Note that, with `canReorderSections:true`, sections with `section.canReorder:false` will not be able to be drag-reordered (though their index may still be changed by dropping other sections above or below them in the section stack).

      Note : This is an advanced setting

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

    - #### getCanReorderSections

          public java.lang.Boolean getCanReorderSections()

      Whether sections can be drag reordered by the user dragging the section header.

      Note that, with `canReorderSections:true`, sections with `section.canReorder:false` will not be able to be drag-reordered (though their index may still be changed by dropping other sections above or below them in the section stack).

      Returns:
        Boolean

    - #### setCanResizeSections

          public void setCanResizeSections(java.lang.Boolean canResizeSections)
                                    throws java.lang.IllegalStateException

      Whether sections can be drag resized by the user dragging the section header.

      Note that, with `canResizeSections:true`, not all sections can be resized: sections that contain only `autofitting` components or that are marked with `section.resizeable:false` will not be resizeable.

      Note : This is an advanced setting

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

    - #### getCanResizeSections

          public java.lang.Boolean getCanResizeSections()

      Whether sections can be drag resized by the user dragging the section header.

      Note that, with `canResizeSections:true`, not all sections can be resized: sections that contain only `autofitting` components or that are marked with `section.resizeable:false` will not be resizeable.

      Returns:
        Boolean

    - #### setCanTabToHeaders

          public void setCanTabToHeaders(java.lang.Boolean canTabToHeaders)
                                  throws java.lang.IllegalStateException

      If true, the headers for the sections (if shown) will be included in the page's tab order for accessibility. May be overridden at the Section level via `canTabToHeader`

      If unset, section headers will be focusable if setScreenReaderMode has been called. See `Accessibility`.

      Note : This is an advanced setting

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

    - #### getCanTabToHeaders

          public java.lang.Boolean getCanTabToHeaders()

      If true, the headers for the sections (if shown) will be included in the page's tab order for accessibility. May be overridden at the Section level via `canTabToHeader`

      If unset, section headers will be focusable if setScreenReaderMode has been called. See `Accessibility`.

      Returns:
        Boolean

    - #### setHeaderHeight

          public void setHeaderHeight(int headerHeight)
                               throws java.lang.IllegalStateException

      Height of headers for sections.
      Parameters:
        `headerHeight` - headerHeight Default value is 20
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getHeaderHeight

          public int getHeaderHeight()

      Height of headers for sections.
      Returns:
        int

    - #### setItemEndIndent

          public void setItemEndIndent(int itemEndIndent)

      Size, in pixels, of indentation of all member items relative to the end of the alignment axis. For instance, for left-aligned members, itemStartIndent specifies indentation for every item from the right side of the section stack.
      Parameters:
        `itemEndIndent` - itemEndIndent Default value is undefined
      See Also:
        `LayoutMember overview and related methods`

    - #### getItemEndIndent

          public int getItemEndIndent()

      Size, in pixels, of indentation of all member items relative to the end of the alignment axis. For instance, for left-aligned members, itemStartIndent specifies indentation for every item from the right side of the section stack.
      Returns:
        int
      See Also:
        `LayoutMember overview and related methods`

    - #### setItemIndent

          public void setItemIndent(int itemIndent)

      Size, in pixels, of indentation of all member items. Items will be offset and reduced in width by this amount. Overridden by `itemStartIndent` or `itemEndIndent`. Setting itemIndent is equivalent to setting itemStartIndent to the same amount and itemEndIndent to 0.
      Parameters:
        `itemIndent` - itemIndent Default value is 0
      See Also:
        `LayoutMember overview and related methods`

    - #### getItemIndent

          public int getItemIndent()

      Size, in pixels, of indentation of all member items. Items will be offset and reduced in width by this amount. Overridden by `itemStartIndent` or `itemEndIndent`. Setting itemIndent is equivalent to setting itemStartIndent to the same amount and itemEndIndent to 0.
      Returns:
        int
      See Also:
        `LayoutMember overview and related methods`

    - #### setItemStartIndent

          public void setItemStartIndent(int itemStartIndent)

      Size, in pixels, of indentation of all member items relative to the start of the alignment axis. For instance, for left-aligned members, itemStartIndent specifies indentation for every item from the left side of the section stack. Overrides `itemIndent`.
      Parameters:
        `itemStartIndent` - itemStartIndent Default value is undefined
      See Also:
        `LayoutMember overview and related methods`

    - #### getItemStartIndent

          public int getItemStartIndent()

      Size, in pixels, of indentation of all member items relative to the start of the alignment axis. For instance, for left-aligned members, itemStartIndent specifies indentation for every item from the left side of the section stack. Overrides `itemIndent`.
      Returns:
        int
      See Also:
        `LayoutMember overview and related methods`

    - #### setLocateSectionsBy

          public void setLocateSectionsBy(LocatorStrategy locateSectionsBy)

      When AutoTest.getElement is used to parse locator strings generated by link{isc.AutoTest.getLocator()}, how should sections within this stack be identified? By default if section has a specified name this will always be used. For sections with no name, the following options are available:
      - `"title"` use the title as an identifier
      - `"index"` use the index of the section in the sections array as an identifier
      If unset, and the section has no specified name, default behavior is to identify by title (if available), otherwise by index.

      Note : This is an advanced setting

      Parameters:
        `locateSectionsBy` - locateSectionsBy Default value is null

    - #### getLocateSectionsBy

          public LocatorStrategy getLocateSectionsBy()

      When AutoTest.getElement is used to parse locator strings generated by link{isc.AutoTest.getLocator()}, how should sections within this stack be identified? By default if section has a specified name this will always be used. For sections with no name, the following options are available:
      - `"title"` use the title as an identifier
      - `"index"` use the index of the section in the sections array as an identifier
      If unset, and the section has no specified name, default behavior is to identify by title (if available), otherwise by index.
      Returns:
        LocatorStrategy

    - #### setLocateSectionsType

          public void setLocateSectionsType(LocatorTypeStrategy locateSectionsType)

      `LocatorTypeStrategy` to use when finding Sections within this section Stack.

      Note : This is an advanced setting

      Parameters:
        `locateSectionsType` - locateSectionsType Default value is null

    - #### getLocateSectionsType

          public LocatorTypeStrategy getLocateSectionsType()

      `LocatorTypeStrategy` to use when finding Sections within this section Stack.
      Returns:
        LocatorTypeStrategy

    - #### setOverflow

          public void setOverflow(Overflow overflow)
                           throws java.lang.IllegalStateException

      Normal `Overflow` settings can be used on layouts, for example, an overflow:auto Layout will scroll if sections are resized to exceed the specified size, whereas an overflow:visible Layout will grow to accommodate the resized sections.
      Overrides:
        `setOverflow` in class `Layout`
      Parameters:
        `overflow` - overflow Default value is "hidden"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Sizing overview and related methods`

    - #### getOverflow

          public Overflow getOverflow()

      Normal `Overflow` settings can be used on layouts, for example, an overflow:auto Layout will scroll if sections are resized to exceed the specified size, whereas an overflow:visible Layout will grow to accommodate the resized sections.
      Overrides:
        `getOverflow` in class `Layout`
      Returns:
        Overflow
      See Also:
        `Sizing overview and related methods`

    - #### setScrollSectionIntoView

          public void setScrollSectionIntoView(java.lang.Boolean scrollSectionIntoView)
                                        throws java.lang.IllegalStateException

      If an expanded or shown section expands past the current viewport and this property is true, then the viewport will auto-scroll to fit as much of the section content into the viewport without scrolling the top of the section out of the viewport.
      Parameters:
        `scrollSectionIntoView` - scrollSectionIntoView Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getScrollSectionIntoView

          public java.lang.Boolean getScrollSectionIntoView()

      If an expanded or shown section expands past the current viewport and this property is true, then the viewport will auto-scroll to fit as much of the section content into the viewport without scrolling the top of the section out of the viewport.
      Returns:
        Boolean

    - #### setSectionHeaderClass

          public void setSectionHeaderClass(java.lang.String sectionHeaderClass)
                                     throws java.lang.IllegalStateException

      Name of a Smart GWT class to use for creating section headers. This will default to either `"SectionHeader"` or `"ImgSectionHeader"` depending on the skin. You can use the SmartClient class system to create a simple Smart GWT subclass of either SectionHeader or ImgSectionHeader for use with this API - see the `Skinning Guide` for details.

      Note : This is an advanced setting

      Parameters:
        `sectionHeaderClass` - . See `Classname`. Default value is "SectionHeader"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getSectionHeaderClass

          public java.lang.String getSectionHeaderClass()

      Name of a Smart GWT class to use for creating section headers. This will default to either `"SectionHeader"` or `"ImgSectionHeader"` depending on the skin. You can use the SmartClient class system to create a simple Smart GWT subclass of either SectionHeader or ImgSectionHeader for use with this API - see the `Skinning Guide` for details.
      Returns:
        . See `Classname`

    - #### setShowExpandControls

          public void setShowExpandControls(java.lang.Boolean showExpandControls)

      Whether to show the Expand/Collapse controls in the headers of sections. If false, hides the expand/collapse controls and, instead, treats a click anywhere on the header as if it were a click on the expand control.
      Parameters:
        `showExpandControls` - showExpandControls Default value is true

    - #### getShowExpandControls

          public java.lang.Boolean getShowExpandControls()

      Whether to show the Expand/Collapse controls in the headers of sections. If false, hides the expand/collapse controls and, instead, treats a click anywhere on the header as if it were a click on the expand control.
      Returns:
        Boolean

    - #### setStyleName

          public void setStyleName(java.lang.String styleName)
                            throws java.lang.IllegalStateException

      Default CSS style for the SectionStack as a whole.
      Overrides:
        `setStyleName` in class `Canvas`
      Parameters:
        `styleName` - . See `CSSStyleName`. Default value is "sectionStack"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Appearance overview and related methods`, CSS styles Example

    - #### getStyleName

          public java.lang.String getStyleName()

      Default CSS style for the SectionStack as a whole.
      Overrides:
        `getStyleName` in class `Canvas`
      Returns:
        . See `CSSStyleName`
      See Also:
        `Appearance overview and related methods`, CSS styles Example

    - #### setUseGlobalSectionIDs

          public void setUseGlobalSectionIDs(java.lang.Boolean useGlobalSectionIDs)
                                      throws java.lang.IllegalStateException

      Should any specified `ID` be applied to the generated SectionHeader widget for the section as a widget ID? If set to false, SectionStackSection.ID will behave as a synonym for SectionStackSection.name.
      Parameters:
        `useGlobalSectionIDs` - useGlobalSectionIDs Default value is false
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getUseGlobalSectionIDs

          public java.lang.Boolean getUseGlobalSectionIDs()

      Should any specified `ID` be applied to the generated SectionHeader widget for the section as a widget ID? If set to false, SectionStackSection.ID will behave as a synonym for SectionStackSection.name.
      Returns:
        Boolean

    - #### setVisibilityMode

          public void setVisibilityMode(VisibilityMode visibilityMode)

      Whether multiple sections can be visible at once
      Parameters:
        `visibilityMode` - visibilityMode Default value is "mutex"
      See Also:
        `VisibilityMode`, Expand / Collapse Example

    - #### getVisibilityMode

          public VisibilityMode getVisibilityMode()

      Whether multiple sections can be visible at once
      Returns:
        VisibilityMode
      See Also:
        `VisibilityMode`, Expand / Collapse Example

    - #### getSectionNumber

          public int getSectionNumber(java.lang.String sectionName)

      Returns the position of the specified section in the SectionStack. The numbering is zero-based.
      Parameters:
        `sectionName` - name of a section for which you want to obtain the position.
      Returns:
        Position of the section in the SectionStack or -1 if the specified section is not a member of this SectionStack.

    - #### addSectionHeaderClickHandler

          public com.google.gwt.event.shared.HandlerRegistration addSectionHeaderClickHandler(SectionHeaderClickHandler handler)

      Add a SectionHeaderClick handler.

      Notification method fired when the user clicks on a section header. Returning false will cancel the default behavior (expanding / collapsing the section)

      Specified by:
        `addSectionHeaderClickHandler` in interface `HasSectionHeaderClickHandlers`
      Parameters:
        `handler` - the SectionHeaderClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### sectionForItem

          public SectionStackSection sectionForItem(Canvas item)

      Search for a section that contains passed item.
      Parameters:
        `item` - item to show
      Returns:
        section that contains passed item.

    - #### sectionHeaderClick

          public void sectionHeaderClick(Canvas sectionHeader)

      Method intended to be called by the sectionHeader when it is clicked on.
      Parameters:
        `sectionHeader` - the sectionHeader clicked on

    - #### setDefaultProperties

          public static void setDefaultProperties(SectionStack sectionStackProperties)

      Class level method to set the default properties of this class. If set, then all subsequent instances of this class will automatically have the default properties that were set when this method was called. 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 effect 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.

      Parameters:
        `sectionStackProperties` - properties that should be used as new defaults when instances of this class are created

    - #### setSections

          public void setSections(SectionStackSection... sections)

    - #### addSection

          public void addSection(SectionStackSection section)

      Add a section to the SectionStack.
      Parameters:
        `section` - the section to add

    - #### addSection

          public void addSection(SectionStackSection section,
                        int position)

      Add a section to the SectionStack.
      Parameters:
        `section` - the section to add
        `position` - index for the new section

    - #### removeSection

          public void removeSection(int index)

      Remove a section from the SectionStack. The removed sections' header and items (if any) are automatically destroyed.
      Parameters:
        `index` - the section index

    - #### removeSection

          public void removeSection(java.lang.String sectionID)

      Remove a section from the SectionStack. The removed sections' header and items (if any) are automatically destroyed.
      Parameters:
        `sectionID` - the section ID

    - #### expandSection

          public void expandSection(int index)

      Expands a section. This action shows all the items assigned to the section. If the section is currently hidden, it is shown first and then expanded. Calling this method is equivalent to the user clicking on the SectionHeader of a collapsed section.
      Parameters:
        `index` - the section index

    - #### expandSection

          public void expandSection(java.lang.String sectionID)

      Expands a section. This action shows all the items assigned to the section. If the section is currently hidden, it is shown first and then expanded. Calling this method is equivalent to the user clicking on the SectionHeader of a collapsed section.
      Parameters:
        `sectionID` - the section ID

    - #### collapseSection

          public void collapseSection(int index)

      Collapse a section. This action hides all the items assigned to the section. Calling this method is equivalent to the user clicking on the SectionHeader of an expanded section.
      Parameters:
        `index` - the section index

    - #### collapseSection

          public void collapseSection(java.lang.String sectionID)

      Collapse a section. This action hides all the items assigned to the section. Calling this method is equivalent to the user clicking on the SectionHeader of an expanded section.
      Parameters:
        `sectionID` - the section ID

    - #### hideSection

          public void hideSection(int index)

      Hides a section. This includes the section header and its items. The space vacated by this action is reassigned to the nearest visible section item above this section. If there are no visible section items above this section, the space is reassigned to the nearest visible section item below this section.
      Parameters:
        `index` - the section index

    - #### hideSection

          public void hideSection(java.lang.String sectionID)

      Hides a section. This includes the section header and its items. The space vacated by this action is reassigned to the nearest visible section item above this section. If there are no visible section items above this section, the space is reassigned to the nearest visible section item below this section.
      Parameters:
        `sectionID` - the section ID

    - #### showSection

          public void showSection(int index)

      Shows a section. This includes the section header and its items. If the section is collapsed, only the header is shown. If the section is expanded, the section header and all items are shown.
      Parameters:
        `index` - the section index

    - #### showSection

          public void showSection(java.lang.String sectionID)

      Shows a section. This includes the section header and its items. If the section is collapsed, only the header is shown. If the section is expanded, the section header and all items are shown.
      Parameters:
        `sectionID` - the section ID

    - #### moveSection

          public void moveSection(int index,
                         int position)

      Moves the specified section to a new position in the SectionStack order.
      Parameters:
        `index` - the section index
        `position` - new position index for the section

    - #### moveSection

          public void moveSection(java.lang.String sectionID,
                         int position)

      Moves the specified section to a new position in the SectionStack order.
      Parameters:
        `sectionID` - the section ID
        `position` - new position index for the section

    - #### sectionIsExpanded

          public boolean sectionIsExpanded(int index)

      Returns true if the specified section is expanded, false if it is collapsed.
      Parameters:
        `index` - position of the section in the SectionStack
      Returns:
        true if the section is expanded, false if it is not.

    - #### sectionIsExpanded

          public boolean sectionIsExpanded(java.lang.String sectionID)

      Returns true if the specified section is expanded, false if it is collapsed.
      Parameters:
        `sectionID` - the section ID
      Returns:
        true if the section is expanded, false if it is not.

    - #### sectionIsVisible

          public boolean sectionIsVisible(int index)

      Returns true if the specified section is visible, false if it is not. A section is visible if it shows a header and the header is visible or if it has items and the first item is visible. .
      Parameters:
        `index` - position of the section in the SectionStack
      Returns:
        ttrue if the section is visible, false if it is not

    - #### sectionIsVisible

          public boolean sectionIsVisible(java.lang.String sectionID)

      Returns true if the specified section is visible, false if it is not. A section is visible if it shows a header and the header is visible or if it has items and the first item is visible.
      Parameters:
        `sectionID` - the section ID
      Returns:
        true if the section is visible, false if it is not

    - #### setSectionTitle

          public void setSectionTitle(java.lang.String sectionID,
                             java.lang.String newTitle)

      Changes the title of a Section Header.
      Parameters:
        `sectionID` - ID of the section whose title you want to change
        `newTitle` - new title for the Section Header

    - #### setSectionTitle

          public void setSectionTitle(int index,
                             java.lang.String newTitle)

      Changes the title of a Section Header.
      Parameters:
        `index` - index of the section whose title you want to change
        `newTitle` - new title for the Section Header

    - #### getSection

          public SectionStackSection getSection(java.lang.String sectionID)

      Return the SectionStackSection for a section.
      Parameters:
        `sectionID` - ID of the section for which you want the header
      Returns:
        the section indicated

    - #### getSection

          public SectionStackSection getSection(int index)

      Return the SectionStackSection for a section.
      Parameters:
        `index` - index of the section for which you want the header
      Returns:
        the section header indicated

    - #### getSections

          public SectionStackSection[] getSections()

    - #### setSectionProperties

          public void setSectionProperties(java.lang.String section,
                                  SectionStackSection properties)

      Set arbitrary properties for a particular section in this SectionStack. Properties will be applied to the sectionHeader for the section.

      Note that where APIs exist to explicitly manipulate section properties these should be used in preference to this method. For example, to add or remove items in a section use `com.smartgwt.client.widgets.layout.SectionStack#addItem` or `com.smartgwt.client.widgets.layout.SectionStack#removeItem`. To change the title of a section, use `setSectionTitle(java.lang.String, java.lang.String)`.

      Also note that to modify properties of items within a section, call the appropriate setter methods directly on the item you want to modify.

      Parameters:
        `section` - ID or index of the section to modify
        `properties` - properties to apply to the section.

    - #### setSectionProperties

          public void setSectionProperties(int section,
                                  SectionStackSection properties)

      Set arbitrary properties for a particular section in this SectionStack. Properties will be applied to the sectionHeader for the section.

      Note that where APIs exist to explicitly manipulate section properties these should be used in preference to this method. For example, to add or remove items in a section use `com.smartgwt.client.widgets.layout.SectionStack#addItem` or `com.smartgwt.client.widgets.layout.SectionStack#removeItem`. To change the title of a section, use `setSectionTitle(java.lang.String, java.lang.String)`.

      Also note that to modify properties of items within a section, call the appropriate setter methods directly on the item you want to modify.

      Parameters:
        `section` - ID or index of the section to modify
        `properties` - properties to apply to the section.

    - #### setLogicalStructure

          public com.smartgwt.logicalstructure.core.LogicalStructureObject setLogicalStructure(com.smartgwt.logicalstructure.widgets.layout.SectionStackLogicalStructure s)

    - #### getLogicalStructure

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

      Specified by:
        `getLogicalStructure` in interface `LogicalStructure`
      Overrides:
        `getLogicalStructure` in class `VLayout`