com.smartgwt.client.widgets.layout

## Class Layout

- 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

- All Implemented Interfaces:
    com.google.gwt.event.logical.shared.HasAttachHandlers, com.google.gwt.event.shared.HasHandlers, com.google.gwt.user.client.EventListener, com.google.gwt.user.client.ui.HasVisibility, com.google.gwt.user.client.ui.IsWidget, LogicalStructure, HasClearHandlers, HasClickHandlers, HasDoubleClickHandlers, HasDragMoveHandlers, HasDragRepositionMoveHandlers, HasDragRepositionStartHandlers, HasDragRepositionStopHandlers, HasDragResizeMoveHandlers, HasDragResizeStartHandlers, HasDragResizeStopHandlers, HasDragStartHandlers, HasDragStopHandlers, HasDropHandlers, HasDropMoveHandlers, HasDropOutHandlers, HasDropOverHandlers, HasFocusChangedHandlers, HasHoverHandlers, HasHoverHiddenHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseStillDownHandlers, HasMouseUpHandlers, HasMouseWheelHandlers, HasMovedHandlers, HasParentMovedHandlers, HasResizedHandlers, HasRightMouseDownHandlers, HasRuleContextChangedHandlers, HasScrolledHandlers, HasShowContextMenuHandlers, HasVisibilityChangedHandlers, HasMembersChangedHandlers
  Direct Known Subclasses:
    AdaptiveMenu, ColumnTree, Deck, FilterBuilder, HLayout, HStack, ListPropertiesPane, MultiGroupPanel, MultiSortPanel, PortalLayout, SplitPane, Toolbar, ToolStrip, VLayout, VStack

      public class Layout
      extends Canvas
      implements HasMembersChangedHandlers

  Arranges a set of "member" Canvases in horizontal or vertical stacks, applying a layout policy to determine member heights and widths.

  A Layout manages a set of "member" Canvases provided as `members`. Layouts can have both "members", whose position and size are managed by the Layout, and normal Canvas children, which manage their own position and size.

  Rather than using the Layout class directly, use the `HLayout`, `VLayout`, `HStack` and `VStack` classes, which are subclasses of Layout preconfigured for horizontal or vertical stacking, with the "fill" (VLayout) or "none" (VStack) `policies` already set.

  Layouts and Stacks may be nested to create arbitrarily complex layouts.

  Since Layouts can be either horizontally or vertically oriented, throughout the documentation of Layout and it's subclasses, the term "length" refers to the axis of stacking, and the term "breadth" refers to the other axis. Hence, "length" means height in the context of a VLayout or VStack, but means width in the context of an HLayout or HStack.

  To show a resizer bar after (to the right or bottom of) a layout member, set `showResizeBar` to true on that member component (not on the HLayout or VLayout). Resizer bars override `membersMargin` spacing.

  Like other Canvas subclasses, Layout and Stack components may have % width and height values. To create a dynamically-resizing layout that occupies the entire page (or entire parent component), set width and height to "100%".

  See Also:
    `LayoutPolicy`, `VLayout`, `HLayout`, `VStack`, `HStack`, `LayoutSpacer`

- - ### Nested Class Summary

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

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

  - ### Field Summary

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

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

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

      `DEBUG_ID_PREFIX`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addMember(Canvas component)` Add a canvas to the layout, optionally at a specific position.
    `void` | `addMember(Canvas component, int position)` Add a canvas to the layout, optionally at a specific position.
    `void` | `addMember(com.google.gwt.user.client.ui.Widget widget)` Add a canvas to the layout, optionally at a specific position.
    `void` | `addMember(com.google.gwt.user.client.ui.Widget widget, int position)`
    `protected void` | `addMemberPostCreate(java.lang.Object componentJS)`
    `protected void` | `addMemberPostCreate(java.lang.Object componentJS, int position)`
    `protected void` | `addMemberPreCreate(java.lang.Object componentJS)`
    `protected void` | `addMemberPreCreate(java.lang.Object componentJS, int position)`
    `void` | `addMembers(Canvas... newMembers)` Add one or more canvases to the layout.
    `void` | `addMembers(Canvas[] newMembers, int position)` Add one or more canvases to the layout at specific positions.
    `com.google.gwt.event.shared.HandlerRegistration` | `addMembersChangedHandler(MembersChangedHandler handler)` Add a membersChanged 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`.
    `protected com.google.gwt.core.client.JavaScriptObject` | `create()`
    `java.lang.Boolean` | `getAnimateMembers()` If true when members are added / removed, they should be animated as they are shown or hidden in position
    `java.lang.Integer` | `getAnimateMemberTime()` If specified this is the duration of show/hide animations when members are being shown or hidden due to being added / removed from this layout.
    `java.lang.Boolean` | `getCanDropComponents()` Layouts provide a default implementation of a drag and drop interaction.
    `java.lang.Integer` | `getChildTabPosition(Canvas child)` Layout overrides `Canvas.getChildTabPosition()` to ensure children are ordered in the tab-sequence with members being reachable first (in member order), then any non-member children.
    `LayoutResizeBarPolicy` | `getDefaultResizeBars()` Policy for whether resize bars are shown on members by default.
    `protected Canvas` | `getDropComponent(Canvas dragTarget, int dropPosition)`
    `Canvas` | `getDropLine()` Line showed to mark the drop position when components are being dragged onto this Layout.
    `int` | `getDropLineThickness()` Thickness, in pixels of the dropLine shown during drag and drop when `canDropComponents` is set to `true`.
    `int` | `getDropPosition()` Get the position a new member would be dropped.
    `java.lang.String` | `getEditProxyConstructor()` Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
    `java.lang.Boolean` | `getEnforcePolicy()` Whether the layout policy is continuously enforced as new members are added or removed and as members are resized.
    `LayoutPolicy` | `getHPolicy()` Sizing policy applied to members on horizontal axis
    `java.lang.Integer` | `getLayoutBottomMargin()` Space outside of all members, on the bottom side.
    `java.lang.Integer` | `getLayoutEndMargin()` Equivalent to `layoutRightMargin` for a horizontal layout, or `layoutBottomMargin` for a vertical layout.
    `java.lang.Integer` | `getLayoutLeftMargin()` Space outside of all members, on the left-hand side.
    `java.lang.Integer` | `getLayoutMargin()` Space outside of all members.
    `java.lang.Integer` | `getLayoutRightMargin()` Space outside of all members, on the right-hand side.
    `java.lang.Integer` | `getLayoutStartMargin()` Equivalent to `layoutLeftMargin` for a horizontal layout, or `layoutTopMargin` for a vertical layout.
    `java.lang.Integer` | `getLayoutTopMargin()` Space outside of all members, on the top side.
    `java.lang.Boolean` | `getLeaveScrollbarGap()` Whether to leave a gap for a vertical scrollbar even when one is not actually present.
    `LocatorStrategy` | `getLocateMembersBy()` Part of the `AutomatedTesting` system, strategy to use when generated locators for members from within this Layout's members array.
    `LocatorTypeStrategy` | `getLocateMembersType()` `LocatorTypeStrategy` to use when finding members within this layout.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `getLogicalStructure()` Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `java.lang.Boolean` | `getManagePercentBreadth()` If set, a Layout with breadthPolicy:"fill" will specially interpret a percentage breadth on a member as a percentage of available space excluding the `layoutMargin`.
    `Canvas` | `getMember(int index)` Given a numerical index or a member ID, return a pointer to the appropriate member.
    `Canvas` | `getMember(java.lang.String memberID)` Given a numerical index or a member name or member ID, return a pointer to the appropriate member.
    `void` | `getMemberDefaultBreadth(Canvas member, int defaultBreadth)` Return the breadth for a member of this layout which either didn't specify a breadth or specified a percent breadth with `managePercentBreadth`:true.
    `int` | `getMemberNumber(Canvas member)` Given a member Canvas or member ID, return the index of that member within this layout's members array
    `int` | `getMemberNumber(java.lang.String memberID)` Given a member Canvas or member ID or name, return the index of that member within this layout's members array
    `int` | `getMemberOverlap()` Number of pixels by which each member should overlap the preceding member, used for creating an "stack of cards" appearance for the members of a Layout.
    `Canvas[]` | `getMembers()` An array of canvases that will be contained within this layout.
    `java.lang.Integer` | `getMembersLength()` Convenience method to return the number of members this Layout has
    `int` | `getMembersMargin()` Space between each member of the layout.
    `int` | `getMinMemberLength()` Minimum size, in pixels, below which flexible-sized members should never be shrunk, even if this requires the Layout to overflow.
    `int` | `getMinMemberSize()` Deprecated. use the more intuitively named `minMemberLength`
    `static Layout` | `getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `Overflow` | `getOverflow()` A Layout may overflow if it has one or more members with a fixed width or height, or that themselves overflow.
    `java.lang.Boolean` | `getPaddingAsLayoutMargin()` If this widget has padding specified (as `this.padding` or in the CSS style applied to this layout), should it show up as space outside the members, similar to layoutMargin?
    `Splitbar` | `getResizeBar()` Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists.
    `java.lang.String` | `getResizeBarClass()` Default class to use for creating `resizeBars`.
    `int` | `getResizeBarSize()` Thickness of the resizeBar in pixels.
    `java.lang.Boolean` | `getReverseOrder()` Reverse the order of stacking for this Layout, so that the last member is shown first.
    `java.lang.Boolean` | `getShowDragPlaceHolder()` If set to true, when a member is dragged out of layout, a visible placeholder canvas will be displayed in place of the dragged widget for the duration of the drag and drop interaction.
    `java.lang.Boolean` | `getShowDropLines()` Controls whether to show a drop-indicator during a drag and drop operation.
    `java.lang.String` | `getStackZIndex()` For use in conjunction with `memberOverlap`, controls the z-stacking order of members.
    `java.lang.Boolean` | `getVertical()` Should this layout appear with members stacked vertically or horizontally.
    `LayoutPolicy` | `getVPolicy()` Sizing policy applied to members on vertical axis
    `java.lang.Boolean` | `hasMember(Canvas canvas)` Returns true if the layout includes the specified canvas.
    `void` | `hideDropLine()` Calling this method hides the dropLine shown during a drag and drop interaction with a Layout that has `canDropComponents` set to true.
    `void` | `hideMember(Canvas member)` Hide the specified member, firing the specified callback when the hide is complete.
    `void` | `hideMember(Canvas member, Function callback)` Hide the specified member, firing the specified callback when the hide is complete.
    `boolean` | `layoutIsDirty()` Returns whether there is a pending reflow of the members of the layout.
    `protected void` | `onInit_Layout()`
    `protected void` | `onInit()`
    `void` | `reflow()` Layout members according to current settings.
    `void` | `reflow(java.lang.String reason)` Layout members according to current settings.
    `void` | `reflowNow()` Layout members according to current settings, immediately.
    `void` | `removeMember(Canvas member)` Removes the specified member from the layout.
    `void` | `removeMembers(Canvas... members)` Removes the specified members from the layout.
    `void` | `removeMembers(Canvas members)` Removes the specified members from the layout.
    `void` | `reorderMember(int memberNum, int newPosition)` Shift a member of the layout to a new position
    `void` | `reorderMembers(int start, int end, int newPosition)` Move a range of members to a new position
    `void` | `revealChild(Canvas child)` Reveals the child or member Canvas passed in by showing it if it is currently hidden NOTE: This is an override point.
    `void` | `revealChild(java.lang.String childID)` Reveals the child or member Canvas passed in by showing it if it is currently hidden.
    `void` | `setAlign(Alignment alignment)` Alignment of all members in this Layout on the length axis.
    `void` | `setAlign(VerticalAlignment alignment)` Alignment of all members in this Layout on the length axis.
    `void` | `setAnimateMembers(java.lang.Boolean animateMembers)` If true when members are added / removed, they should be animated as they are shown or hidden in position
    `void` | `setAnimateMemberTime(java.lang.Integer animateMemberTime)` If specified this is the duration of show/hide animations when members are being shown or hidden due to being added / removed from this layout.
    `void` | `setCanDropComponents(java.lang.Boolean canDropComponents)` Layouts provide a default implementation of a drag and drop interaction.
    `void` | `setDefaultLayoutAlign(Alignment alignment)` Specifies the default alignment for layout members on the breadth axis.
    `void` | `setDefaultLayoutAlign(VerticalAlignment alignment)` Specifies the default alignment for layout members on the breadth axis.
    `static void` | `setDefaultProperties(Layout layoutProperties)` Class level method to set the default properties of this class.
    `void` | `setDefaultResizeBars(LayoutResizeBarPolicy defaultResizeBars)` Policy for whether resize bars are shown on members by default.
    `void` | `setDropLineProperties(Canvas dropLineProperties)`
    `void` | `setDropLineThickness(int dropLineThickness)` Thickness, in pixels of the dropLine shown during drag and drop when `canDropComponents` is set to `true`.
    `void` | `setEditProxyConstructor(java.lang.String editProxyConstructor)` Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
    `void` | `setEnforcePolicy(java.lang.Boolean enforcePolicy)` Whether the layout policy is continuously enforced as new members are added or removed and as members are resized.
    `void` | `setHPolicy(LayoutPolicy hPolicy)` Sizing policy applied to members on horizontal axis
    `void` | `setLayoutBottomMargin(java.lang.Integer layoutBottomMargin)` Space outside of all members, on the bottom side.
    `void` | `setLayoutEndMargin(java.lang.Integer layoutEndMargin)` Equivalent to `layoutRightMargin` for a horizontal layout, or `layoutBottomMargin` for a vertical layout.
    `void` | `setLayoutLeftMargin(java.lang.Integer layoutLeftMargin)` Space outside of all members, on the left-hand side.
    `void` | `setLayoutMargin(java.lang.Integer layoutMargin)` Space outside of all members.
    `void` | `setLayoutRightMargin(java.lang.Integer layoutRightMargin)` Space outside of all members, on the right-hand side.
    `void` | `setLayoutStartMargin(java.lang.Integer layoutStartMargin)` Equivalent to `layoutLeftMargin` for a horizontal layout, or `layoutTopMargin` for a vertical layout.
    `void` | `setLayoutTopMargin(java.lang.Integer layoutTopMargin)` Space outside of all members, on the top side.
    `void` | `setLeaveScrollbarGap(java.lang.Boolean leaveScrollbarGap)` Whether to leave a gap for a vertical scrollbar even when one is not actually present.
    `void` | `setLocateMembersBy(LocatorStrategy locateMembersBy)` Part of the `AutomatedTesting` system, strategy to use when generated locators for members from within this Layout's members array.
    `void` | `setLocateMembersType(LocatorTypeStrategy locateMembersType)` `LocatorTypeStrategy` to use when finding members within this layout.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `setLogicalStructure(com.smartgwt.logicalstructure.widgets.layout.LayoutLogicalStructure s)` Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `void` | `setManagePercentBreadth(java.lang.Boolean managePercentBreadth)` If set, a Layout with breadthPolicy:"fill" will specially interpret a percentage breadth on a member as a percentage of available space excluding the `layoutMargin`.
    `void` | `setMemberOverlap(int memberOverlap)` Number of pixels by which each member should overlap the preceding member, used for creating an "stack of cards" appearance for the members of a Layout.
    `void` | `setMembers(Canvas... members)` An array of canvases that will be contained within this layout.
    `void` | `setMembersMargin(int membersMargin)` Space between each member of the layout.
    `void` | `setMinBreadthMember(Canvas minBreadthMember)` Set this property to cause the layout to assign the breadths of other members as if the available breadth is actually wide enough to accommodate the `minBreadthMember` (even though the Layout might not actually be that wide, and may overflow its assigned size along the breadth axis due to the breadth of the `minBreadthMember`.
    `void` | `setMinBreadthMember(int minBreadthMember)` Set this property to cause the layout to assign the breadths of other members as if the available breadth is actually wide enough to accommodate the `minBreadthMember` (even though the Layout might not actually be that wide, and may overflow its assigned size along the breadth axis due to the breadth of the `minBreadthMember`.
    `void` | `setMinBreadthMember(java.lang.String minBreadthMember)` Set this property to cause the layout to assign the breadths of other members as if the available breadth is actually wide enough to accommodate the `minBreadthMember` (even though the Layout might not actually be that wide, and may overflow its assigned size along the breadth axis due to the breadth of the `minBreadthMember`.
    `void` | `setMinMemberLength(int minMemberLength)` Minimum size, in pixels, below which flexible-sized members should never be shrunk, even if this requires the Layout to overflow.
    `void` | `setMinMemberSize(int minMemberSize)` Deprecated. use the more intuitively named `minMemberLength`
    `void` | `setOverflow(Overflow overflow)` A Layout may overflow if it has one or more members with a fixed width or height, or that themselves overflow.
    `void` | `setPaddingAsLayoutMargin(java.lang.Boolean paddingAsLayoutMargin)` If this widget has padding specified (as `this.padding` or in the CSS style applied to this layout), should it show up as space outside the members, similar to layoutMargin?
    `void` | `setPlaceHolderDefaults(Canvas placeHolderDefaults)` If `this.showDragPlaceHolder` is true, this defaults object determines the default appearance of the placeholder displayed when the user drags a widget out of this layout. Default value for this property sets the placeholder `styleName` to `"layoutPlaceHolder"` To modify this object, use Class.changeDefaults()
    `void` | `setPlaceHolderProperties(Canvas placeHolderProperties)` If `this.showDragPlaceHolder` is true, this properties object can be used to customize the appearance of the placeholder displayed when the user drags a widget out of this layout.
    `void` | `setResizeBarClass(java.lang.String resizeBarClass)` Default class to use for creating `resizeBars`.
    `void` | `setResizeBarSize(int resizeBarSize)` Thickness of the resizeBar in pixels.
    `void` | `setReverseOrder(java.lang.Boolean reverseOrder)` Reverse the order of stacking for this Layout, so that the last member is shown first.
    `void` | `setShowDragPlaceHolder(java.lang.Boolean showDragPlaceHolder)` If set to true, when a member is dragged out of layout, a visible placeholder canvas will be displayed in place of the dragged widget for the duration of the drag and drop interaction.
    `void` | `setShowDropLines(java.lang.Boolean showDropLines)` Controls whether to show a drop-indicator during a drag and drop operation.
    `void` | `setStackZIndex(java.lang.String stackZIndex)` For use in conjunction with `memberOverlap`, controls the z-stacking order of members.
    `void` | `setVertical(java.lang.Boolean vertical)` Should this layout appear with members stacked vertically or horizontally.
    `void` | `setVisibleMember(Canvas member)` Hide all other members and make the single parameter member visible.
    `void` | `setVPolicy(LayoutPolicy vPolicy)` Sizing policy applied to members on vertical axis
    `void` | `showMember(Canvas member)` Show the specified member, firing the specified callback when the show is complete.
    `void` | `showMember(Canvas member, Function callback)` Show the specified member, firing the specified callback when the show is complete.

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

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

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

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

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

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

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

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

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

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

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

      `fireEvent`

- - ### Constructor Detail

    - #### Layout

          public Layout()

    - #### Layout

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

  - ### Method Detail

    - #### getOrCreateRef

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

    - #### changeAutoChildDefaults

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

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

    - #### changeAutoChildDefaults

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

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

    - #### create

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

      Overrides:
        `create` in class `Canvas`

    - #### setAnimateMembers

          public void setAnimateMembers(java.lang.Boolean animateMembers)

      If true when members are added / removed, they should be animated as they are shown or hidden in position
      Parameters:
        `animateMembers` - New animateMembers value. Default value is null
      See Also:
        Layout Add & Remove Example

    - #### getAnimateMembers

          public java.lang.Boolean getAnimateMembers()

      If true when members are added / removed, they should be animated as they are shown or hidden in position
      Returns:
        Current animateMembers value. Default value is null
      See Also:
        Layout Add & Remove Example

    - #### setAnimateMemberTime

          public void setAnimateMemberTime(java.lang.Integer animateMemberTime)

      If specified this is the duration of show/hide animations when members are being shown or hidden due to being added / removed from this layout.

      Note : This is an advanced setting

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

    - #### getAnimateMemberTime

          public java.lang.Integer getAnimateMemberTime()

      If specified this is the duration of show/hide animations when members are being shown or hidden due to being added / removed from this layout.
      Returns:
        Current animateMemberTime value. Default value is null

    - #### setCanDropComponents

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

      Layouts provide a default implementation of a drag and drop interaction. If you set `canAcceptDrop`:true and `canDropComponents:true` on a Layout, when a droppable Canvas (`canDrop:true` is dragged over the layout, it will show a dropLine (a simple insertion line) at the drop location.

      When the drop occurs, the dragTarget (obtained using `EventHandler.getDragTarget()`) is added as a member of this layout at the location shown by the dropLine (calculated by `getDropPosition()`). This default behavior allows either members or external components that have `Canvas.canDragReposition` (or `Canvas.canDrag`) and `Canvas.canDrop` set to `true` to be added to or reordered within the Layout.

      You can control the thickness of the dropLine via `dropLineThickness` and you can customize the style using css styling in the skin file (look for .layoutDropLine in skin_styles.css for your skin).

      If you want to dynamically create a component to be added to the Layout in response to a drop event you can do so as follows:

            isc.VLayout.create({
              ...various layout properties...
              canDropComponents: true,
              drop : function () {
                // create the new component
                var newMember = isc.Canvas.create();
                // add to the layout at the current drop position
                // (the dropLine will be showing here)
                this.addMember(newMember, this.getDropPosition());
                // hide the dropLine that was automatically shown
                // by builtin Smart GWT methods
                this.hideDropLine();
              }
            });

      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 `Canvas.canAcceptDrop` to `true` and `canDropComponents` to `false` on your Layout.

      Note : This is an advanced setting

      Parameters:
        `canDropComponents` - New canDropComponents value. 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()

      Layouts provide a default implementation of a drag and drop interaction. If you set `canAcceptDrop`:true and `canDropComponents:true` on a Layout, when a droppable Canvas (`canDrop:true` is dragged over the layout, it will show a dropLine (a simple insertion line) at the drop location.

      When the drop occurs, the dragTarget (obtained using `EventHandler.getDragTarget()`) is added as a member of this layout at the location shown by the dropLine (calculated by `getDropPosition()`). This default behavior allows either members or external components that have `Canvas.canDragReposition` (or `Canvas.canDrag`) and `Canvas.canDrop` set to `true` to be added to or reordered within the Layout.

      You can control the thickness of the dropLine via `dropLineThickness` and you can customize the style using css styling in the skin file (look for .layoutDropLine in skin_styles.css for your skin).

      If you want to dynamically create a component to be added to the Layout in response to a drop event you can do so as follows:

            isc.VLayout.create({
              ...various layout properties...
              canDropComponents: true,
              drop : function () {
                // create the new component
                var newMember = isc.Canvas.create();
                // add to the layout at the current drop position
                // (the dropLine will be showing here)
                this.addMember(newMember, this.getDropPosition());
                // hide the dropLine that was automatically shown
                // by builtin Smart GWT methods
                this.hideDropLine();
              }
            });

      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 `Canvas.canAcceptDrop` to `true` and `canDropComponents` to `false` on your Layout.
      Returns:
        Current canDropComponents value. Default value is true
      See Also:
        `Dragdrop overview and related methods`

    - #### setDefaultResizeBars

          public void setDefaultResizeBars(LayoutResizeBarPolicy defaultResizeBars)

      Policy for whether resize bars are shown on members by default. Note that this setting changes the effect of `Canvas.showResizeBar` for members of this layout.
      Parameters:
        `defaultResizeBars` - New defaultResizeBars value. Default value is "marked"
      See Also:
        `Canvas.setShowResizeBar(java.lang.Boolean)`

    - #### getDefaultResizeBars

          public LayoutResizeBarPolicy getDefaultResizeBars()

      Policy for whether resize bars are shown on members by default. Note that this setting changes the effect of `Canvas.showResizeBar` for members of this layout.
      Returns:
        Current defaultResizeBars value. Default value is "marked"
      See Also:
        `Canvas.getShowResizeBar()`

    - #### getDropLine

          public Canvas getDropLine()
                             throws java.lang.IllegalStateException

      Line showed to mark the drop position when components are being dragged onto this Layout. A simple Canvas typically styled via CSS. The default dropLine.styleName is "layoutDropLine".

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

      Returns:
        Current dropLine value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.
      See Also:
        Drag move Example

    - #### setDropLineThickness

          public void setDropLineThickness(int dropLineThickness)
                                    throws java.lang.IllegalStateException

      Thickness, in pixels of the dropLine shown during drag and drop when `canDropComponents` is set to `true`. See the discussion in `Layout` for more info.

      Note : This is an advanced setting

      Parameters:
        `dropLineThickness` - New dropLineThickness value. Default value is 2
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Layout`, `Dragdrop overview and related methods`, Drag move Example

    - #### getDropLineThickness

          public int getDropLineThickness()

      Thickness, in pixels of the dropLine shown during drag and drop when `canDropComponents` is set to `true`. See the discussion in `Layout` for more info.
      Returns:
        Current dropLineThickness value. Default value is 2
      See Also:
        `Layout`, `Dragdrop overview and related methods`, Drag move Example

    - #### setEditProxyConstructor

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

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

    - #### getEditProxyConstructor

          public java.lang.String getEditProxyConstructor()

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

    - #### setEnforcePolicy

          public void setEnforcePolicy(java.lang.Boolean enforcePolicy)

      Whether the layout policy is continuously enforced as new members are added or removed and as members are resized.

      This setting implies that any member that resizes larger, or any added member, will take space from other members in order to allow the overall layout to stay the same size.

      Note : This is an advanced setting

      Parameters:
        `enforcePolicy` - New enforcePolicy value. Default value is true

    - #### getEnforcePolicy

          public java.lang.Boolean getEnforcePolicy()

      Whether the layout policy is continuously enforced as new members are added or removed and as members are resized.

      This setting implies that any member that resizes larger, or any added member, will take space from other members in order to allow the overall layout to stay the same size.

      Returns:
        Current enforcePolicy value. Default value is true

    - #### setHPolicy

          public void setHPolicy(LayoutPolicy hPolicy)

      Sizing policy applied to members on horizontal axis

      Note : This is an advanced setting

      Parameters:
        `hPolicy` - New hPolicy value. Default value is "fill"

    - #### getHPolicy

          public LayoutPolicy getHPolicy()

      Sizing policy applied to members on horizontal axis
      Returns:
        Current hPolicy value. Default value is "fill"

    - #### setLayoutBottomMargin

          public void setLayoutBottomMargin(java.lang.Integer layoutBottomMargin)

      Space outside of all members, on the bottom side. Defaults to `layoutMargin`.

      Requires a manual call to `setLayoutMargin()` if changed on the fly.

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

    - #### getLayoutBottomMargin

          public java.lang.Integer getLayoutBottomMargin()

      Space outside of all members, on the bottom side. Defaults to `layoutMargin`.

      Requires a manual call to `setLayoutMargin()` if changed on the fly.

      Returns:
        Current layoutBottomMargin value. Default value is null

    - #### setLayoutEndMargin

          public void setLayoutEndMargin(java.lang.Integer layoutEndMargin)

      Equivalent to `layoutRightMargin` for a horizontal layout, or `layoutBottomMargin` for a vertical layout.

      If both `layoutEndMargin` and the more specific properties (right/bottom margin) are both set, the more specific properties win.

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

    - #### getLayoutEndMargin

          public java.lang.Integer getLayoutEndMargin()

      Equivalent to `layoutRightMargin` for a horizontal layout, or `layoutBottomMargin` for a vertical layout.

      If both `layoutEndMargin` and the more specific properties (right/bottom margin) are both set, the more specific properties win.

      Returns:
        Current layoutEndMargin value. Default value is null

    - #### setLayoutLeftMargin

          public void setLayoutLeftMargin(java.lang.Integer layoutLeftMargin)

      Space outside of all members, on the left-hand side. Defaults to `layoutMargin`.

      Requires a manual call to `setLayoutMargin()` if changed on the fly.

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

    - #### getLayoutLeftMargin

          public java.lang.Integer getLayoutLeftMargin()

      Space outside of all members, on the left-hand side. Defaults to `layoutMargin`.

      Requires a manual call to `setLayoutMargin()` if changed on the fly.

      Returns:
        Current layoutLeftMargin value. Default value is null

    - #### setLayoutMargin

          public void setLayoutMargin(java.lang.Integer layoutMargin)

      Space outside of all members. This attribute, along with `layoutLeftMargin` and related properties do not have a true setter method. If this method is called after the layout instance has been created, it will force a reflow of the layout and pick up changes to all of the layout*Margin properties.
      Parameters:
        `layoutMargin` - New layoutMargin value. Default value is null
      See Also:
        `setLayoutLeftMargin(java.lang.Integer)`, `setLayoutRightMargin(java.lang.Integer)`, `setLayoutBottomMargin(java.lang.Integer)`, `setLayoutTopMargin(java.lang.Integer)`, `setPaddingAsLayoutMargin(java.lang.Boolean)`, User Sizing Example

    - #### getLayoutMargin

          public java.lang.Integer getLayoutMargin()

      Space outside of all members. This attribute, along with `layoutLeftMargin` and related properties do not have a true setter method. If this method is called after the layout instance has been created, it will force a reflow of the layout and pick up changes to all of the layout*Margin properties.
      Returns:
        Current layoutMargin value. Default value is null
      See Also:
        `getLayoutLeftMargin()`, `getLayoutRightMargin()`, `getLayoutBottomMargin()`, `getLayoutTopMargin()`, `getPaddingAsLayoutMargin()`, User Sizing Example

    - #### setLayoutRightMargin

          public void setLayoutRightMargin(java.lang.Integer layoutRightMargin)

      Space outside of all members, on the right-hand side. Defaults to `layoutMargin`.

      Requires a manual call to `setLayoutMargin()` if changed on the fly.

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

    - #### getLayoutRightMargin

          public java.lang.Integer getLayoutRightMargin()

      Space outside of all members, on the right-hand side. Defaults to `layoutMargin`.

      Requires a manual call to `setLayoutMargin()` if changed on the fly.

      Returns:
        Current layoutRightMargin value. Default value is null

    - #### setLayoutStartMargin

          public void setLayoutStartMargin(java.lang.Integer layoutStartMargin)

      Equivalent to `layoutLeftMargin` for a horizontal layout, or `layoutTopMargin` for a vertical layout.

      If both `layoutStartMargin` and the more specific properties (top/left margin) are both set, the more specific properties win.

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

    - #### getLayoutStartMargin

          public java.lang.Integer getLayoutStartMargin()

      Equivalent to `layoutLeftMargin` for a horizontal layout, or `layoutTopMargin` for a vertical layout.

      If both `layoutStartMargin` and the more specific properties (top/left margin) are both set, the more specific properties win.

      Returns:
        Current layoutStartMargin value. Default value is null

    - #### setLayoutTopMargin

          public void setLayoutTopMargin(java.lang.Integer layoutTopMargin)

      Space outside of all members, on the top side. Defaults to `layoutMargin`.

      Requires a manual call to `setLayoutMargin()` if changed on the fly.

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

    - #### getLayoutTopMargin

          public java.lang.Integer getLayoutTopMargin()

      Space outside of all members, on the top side. Defaults to `layoutMargin`.

      Requires a manual call to `setLayoutMargin()` if changed on the fly.

      Returns:
        Current layoutTopMargin value. Default value is null

    - #### setLeaveScrollbarGap

          public void setLeaveScrollbarGap(java.lang.Boolean leaveScrollbarGap)
                                    throws java.lang.IllegalStateException

      Whether to leave a gap for a vertical scrollbar even when one is not actually present.

      This setting avoids the layout resizing all members when the vertical scrollbar is introduced or removed, which can avoid unnecessary screen shifting and improve performance.

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

    - #### getLeaveScrollbarGap

          public java.lang.Boolean getLeaveScrollbarGap()

      Whether to leave a gap for a vertical scrollbar even when one is not actually present.

      This setting avoids the layout resizing all members when the vertical scrollbar is introduced or removed, which can avoid unnecessary screen shifting and improve performance.

      Returns:
        Current leaveScrollbarGap value. Default value is false

    - #### setLocateMembersBy

          public void setLocateMembersBy(LocatorStrategy locateMembersBy)

      Part of the `AutomatedTesting` system, strategy to use when generated locators for members from within this Layout's members array.

      Note : This is an advanced setting

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

    - #### getLocateMembersBy

          public LocatorStrategy getLocateMembersBy()

      Part of the `AutomatedTesting` system, strategy to use when generated locators for members from within this Layout's members array.
      Returns:
        Current locateMembersBy value. Default value is null

    - #### setLocateMembersType

          public void setLocateMembersType(LocatorTypeStrategy locateMembersType)

      `LocatorTypeStrategy` to use when finding members within this layout.

      Note : This is an advanced setting

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

    - #### getLocateMembersType

          public LocatorTypeStrategy getLocateMembersType()

      `LocatorTypeStrategy` to use when finding members within this layout.
      Returns:
        Current locateMembersType value. Default value is null

    - #### setManagePercentBreadth

          public void setManagePercentBreadth(java.lang.Boolean managePercentBreadth)
                                       throws java.lang.IllegalStateException

      If set, a Layout with breadthPolicy:"fill" will specially interpret a percentage breadth on a member as a percentage of available space excluding the `layoutMargin`. If false, percentages work exactly as for a non-member, with layoutMargins, if any, ignored.
      Parameters:
        `managePercentBreadth` - New managePercentBreadth value. Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getManagePercentBreadth

          public java.lang.Boolean getManagePercentBreadth()

      If set, a Layout with breadthPolicy:"fill" will specially interpret a percentage breadth on a member as a percentage of available space excluding the `layoutMargin`. If false, percentages work exactly as for a non-member, with layoutMargins, if any, ignored.
      Returns:
        Current managePercentBreadth value. Default value is true

    - #### setMemberOverlap

          public void setMemberOverlap(int memberOverlap)
                                throws java.lang.IllegalStateException

      Number of pixels by which each member should overlap the preceding member, used for creating an "stack of cards" appearance for the members of a Layout.

      `memberOverlap` can be used in conjunction with `stackZIndex` to create a particular visual stacking order.

      Note that overlap of individual members can be accomplished with a negative setting for `Canvas.extraSpace`.

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

    - #### getMemberOverlap

          public int getMemberOverlap()

      Number of pixels by which each member should overlap the preceding member, used for creating an "stack of cards" appearance for the members of a Layout.

      `memberOverlap` can be used in conjunction with `stackZIndex` to create a particular visual stacking order.

      Note that overlap of individual members can be accomplished with a negative setting for `Canvas.extraSpace`.

      Returns:
        Current memberOverlap value. Default value is 0
      See Also:
        `LayoutMember overview and related methods`

    - #### setMembers

          public void setMembers(Canvas... members)

      An array of canvases that will be contained within this layout. You can set the following properties on these canvases (in addition to the standard component properties):
      - `layoutAlign` -- specifies the member's alignment along the breadth axis; valid values are "top", "center" and "bottom" for a horizontal layout and "left", "center" and "right" for a vertical layout (see `defaultLayoutAlign` for default implementation.)
      - `showResizeBar` -- set to true to show a resize bar (default is false)
      Height and width settings found on members are interpreted by the Layout according to the `layout policy`.

      Note that it is valid to have null slots in the provided `members` Array, and the Layout will ignore those slots. This can be useful to keep code compact, for example, when constructing the `members` Array, you might use an expression that either returns a component or null depending on whether the component should be present. If the expression returns null, the null slot will be ignored by the Layout.
      If this method is called after the component has been drawn/initialized: Display a new set of members in this layout. Equivalent to calling removeMembers() then addMembers(). Note that the new members may include members already present, in which case they will be reordered / integrated with any other new members passed into this method.

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

    - #### getMembers

          public Canvas[] getMembers()

      An array of canvases that will be contained within this layout. You can set the following properties on these canvases (in addition to the standard component properties):
      - `layoutAlign` -- specifies the member's alignment along the breadth axis; valid values are "top", "center" and "bottom" for a horizontal layout and "left", "center" and "right" for a vertical layout (see `defaultLayoutAlign` for default implementation.)
      - `showResizeBar` -- set to true to show a resize bar (default is false)
      Height and width settings found on members are interpreted by the Layout according to the `layout policy`.

      Note that it is valid to have null slots in the provided `members` Array, and the Layout will ignore those slots. This can be useful to keep code compact, for example, when constructing the `members` Array, you might use an expression that either returns a component or null depending on whether the component should be present. If the expression returns null, the null slot will be ignored by the Layout.

      Returns:
        Get the Array of members. Default value is null

    - #### setMembersMargin

          public void setMembersMargin(int membersMargin)

      Space between each member of the layout.

      Requires a manual call to `reflow()` if changed on the fly.

      Parameters:
        `membersMargin` - New membersMargin value. Default value is 0
      See Also:
        User Sizing Example

    - #### getMembersMargin

          public int getMembersMargin()

      Space between each member of the layout.

      Requires a manual call to `reflow()` if changed on the fly.

      Returns:
        Current membersMargin value. Default value is 0
      See Also:
        User Sizing Example

    - #### setMinBreadthMember

          public void setMinBreadthMember(java.lang.String minBreadthMember)

      Set this property to cause the layout to assign the breadths of other members as if the available breadth is actually wide enough to accommodate the `minBreadthMember` (even though the Layout might not actually be that wide, and may overflow its assigned size along the breadth axis due to the breadth of the `minBreadthMember`.

      Without this property set, members of a layout aren't ever expanded in breadth (by the layout) to fit an overflow of the layout along the breadth axis. Setting this property will make sure all members (other than the one specified) get expanded to fill the full visual breadth of the layout (assuming they are configured to use 100% layout breadth).

      Note : This is an advanced setting

      Parameters:
        `minBreadthMember` - New minBreadthMember value. Default value is null
      See Also:
        `LayoutPolicy`

    - #### setMinBreadthMember

          public void setMinBreadthMember(int minBreadthMember)

      Set this property to cause the layout to assign the breadths of other members as if the available breadth is actually wide enough to accommodate the `minBreadthMember` (even though the Layout might not actually be that wide, and may overflow its assigned size along the breadth axis due to the breadth of the `minBreadthMember`.

      Without this property set, members of a layout aren't ever expanded in breadth (by the layout) to fit an overflow of the layout along the breadth axis. Setting this property will make sure all members (other than the one specified) get expanded to fill the full visual breadth of the layout (assuming they are configured to use 100% layout breadth).

      Note : This is an advanced setting

      Parameters:
        `minBreadthMember` - New minBreadthMember value. Default value is null
      See Also:
        `LayoutPolicy`

    - #### setMinBreadthMember

          public void setMinBreadthMember(Canvas minBreadthMember)

      Set this property to cause the layout to assign the breadths of other members as if the available breadth is actually wide enough to accommodate the `minBreadthMember` (even though the Layout might not actually be that wide, and may overflow its assigned size along the breadth axis due to the breadth of the `minBreadthMember`.

      Without this property set, members of a layout aren't ever expanded in breadth (by the layout) to fit an overflow of the layout along the breadth axis. Setting this property will make sure all members (other than the one specified) get expanded to fill the full visual breadth of the layout (assuming they are configured to use 100% layout breadth).

      Note : This is an advanced setting

      Parameters:
        `minBreadthMember` - New minBreadthMember value. Default value is null
      See Also:
        `LayoutPolicy`

    - #### setMinMemberLength

          public void setMinMemberLength(int minMemberLength)

      Minimum size, in pixels, below which flexible-sized members should never be shrunk, even if this requires the Layout to overflow. Note that this property only applies along the length axis of the Layout, and has no affect on breadth.

      Does not apply to members given a fixed size in pixels - such members will never be shrunk below their specified size in general.

      Parameters:
        `minMemberLength` - New minMemberLength value. Default value is 1
      See Also:
        `Canvas.setMinWidth(int)`

    - #### getMinMemberLength

          public int getMinMemberLength()

      Minimum size, in pixels, below which flexible-sized members should never be shrunk, even if this requires the Layout to overflow. Note that this property only applies along the length axis of the Layout, and has no affect on breadth.

      Does not apply to members given a fixed size in pixels - such members will never be shrunk below their specified size in general.

      Returns:
        Current minMemberLength value. Default value is 1
      See Also:
        `Canvas.getMinWidth()`

    - #### setMinMemberSize

          public void setMinMemberSize(int minMemberSize)

      Deprecated. use the more intuitively named `minMemberLength`
      See `minMemberLength`.
      Parameters:
        `minMemberSize` - New minMemberSize value. Default value is 1

    - #### getMinMemberSize

          public int getMinMemberSize()

      Deprecated. use the more intuitively named `minMemberLength`
      See `minMemberLength`.
      Returns:
        Current minMemberSize value. Default value is 1

    - #### setOverflow

          public void setOverflow(Overflow overflow)

      A Layout may overflow if it has one or more members with a fixed width or height, or that themselves overflow. For details on member sizing see `LayoutPolicy`.

      Note that for overflow: "auto", "scroll", or "visible", members exceeding the Layout's specified breadth but falling short of its overflow breadth will keep the alignment set via `defaultLayoutAlign` or `Canvas.layoutAlign`.

      Overrides:
        `setOverflow` in class `Canvas`
      Parameters:
        `overflow` - New overflow value. Default value is "visible"
      See Also:
        `Canvas.setOverflow(com.smartgwt.client.types.Overflow)`, `setMinBreadthMember(java.lang.String)`

    - #### getOverflow

          public Overflow getOverflow()

      A Layout may overflow if it has one or more members with a fixed width or height, or that themselves overflow. For details on member sizing see `LayoutPolicy`.

      Note that for overflow: "auto", "scroll", or "visible", members exceeding the Layout's specified breadth but falling short of its overflow breadth will keep the alignment set via `defaultLayoutAlign` or `Canvas.layoutAlign`.

      Overrides:
        `getOverflow` in class `Canvas`
      Returns:
        Current overflow value. Default value is "visible"
      See Also:
        `Canvas.getOverflow()`, `com.smartgwt.client.widgets.layout.Layout#getMinBreadthMember`

    - #### setPaddingAsLayoutMargin

          public void setPaddingAsLayoutMargin(java.lang.Boolean paddingAsLayoutMargin)

      If this widget has padding specified (as `this.padding` or in the CSS style applied to this layout), should it show up as space outside the members, similar to layoutMargin?

      If this setting is false, padding will not affect member positioning (as CSS padding normally does not affect absolutely positioned children). Leaving this setting true allows a designer to more effectively control layout purely from CSS.

      Note that `layoutMargin` if specified, takes precedence over this value.

      Note : This is an advanced setting

      Parameters:
        `paddingAsLayoutMargin` - New paddingAsLayoutMargin value. Default value is true

    - #### getPaddingAsLayoutMargin

          public java.lang.Boolean getPaddingAsLayoutMargin()

      If this widget has padding specified (as `this.padding` or in the CSS style applied to this layout), should it show up as space outside the members, similar to layoutMargin?

      If this setting is false, padding will not affect member positioning (as CSS padding normally does not affect absolutely positioned children). Leaving this setting true allows a designer to more effectively control layout purely from CSS.

      Note that `layoutMargin` if specified, takes precedence over this value.

      Returns:
        Current paddingAsLayoutMargin value. Default value is true

    - #### setPlaceHolderDefaults

          public void setPlaceHolderDefaults(Canvas placeHolderDefaults)
                                      throws java.lang.IllegalStateException

      If `this.showDragPlaceHolder` is true, this defaults object determines the default appearance of the placeholder displayed when the user drags a widget out of this layout.
      Default value for this property sets the placeholder `styleName` to `"layoutPlaceHolder"`
      To modify this object, use Class.changeDefaults()
      Parameters:
        `placeHolderDefaults` - New placeHolderDefaults value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Dragdrop overview and related methods`, `SGWTProperties`

    - #### setPlaceHolderProperties

          public void setPlaceHolderProperties(Canvas placeHolderProperties)
                                        throws java.lang.IllegalStateException

      If `this.showDragPlaceHolder` is true, this properties object can be used to customize the appearance of the placeholder displayed when the user drags a widget out of this layout.
      Parameters:
        `placeHolderProperties` - New placeHolderProperties value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Dragdrop overview and related methods`, `SGWTProperties`, Drag move Example

    - #### getResizeBar

          public Splitbar getResizeBar()

      Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists. See `Using AutoChildren` for details.

      A MultiAutoChild created to resize members of this `Layout`.

      A resize bar will be created for any member of this `Layout` that has `showResizeBar` set to `true`. Resize bars will be instances of the class specified by `resizeBarClass` by default, and will automatically be sized to the member's breadth, and to the thickness specified by `resizeBarSize`.

      To customize the appearance or behavior of resizeBars within some layout a custom resize bar class can be created by subclassing `Splitbar` or `ImgSplitbar` and setting `resizeBarClass` or `resizeBarConstructor` to this custom class. Alternatively, `Canvas.setAutoChildProperties(java.lang.String, com.smartgwt.client.widgets.Canvas)` may be called to set resizeBar properties:

                final Splitbar resizeBarProperties = new Splitbar();
                //...
                layout.setAutoChildProperties("resizeBar", resizeBarProperties);

      See `AutoChildUsage` for more information.

      If you create a custom resize bar class in Java, enable `Reflection` to allow it to be used.

      Alternatively, you can use the SmartClient class system to create a simple SmartClient subclass of either `Splitbar` or `ImgSplitbar` for use with this API - see the `Skinning Guide` for details.

      The built-in `Splitbar` class supports drag resizing of its target member, and clicking on the bar with a mouse to collapse/uncollapse the target member.

      Returns:
        null

    - #### setResizeBarClass

          public void setResizeBarClass(java.lang.String resizeBarClass)

      Default class to use for creating `resizeBars`. This may be overridden by `resizeBarConstructor`.

      Classes that are valid by default are `Splitbar`, `ImgSplitbar`, and `Snapbar`.

      Note : This is an advanced setting

      Parameters:
        `resizeBarClass` - New resizeBarClass value. Default value is "Splitbar"
      See Also:
        `Splitbar`, `ImgSplitbar`

    - #### getResizeBarClass

          public java.lang.String getResizeBarClass()

      Default class to use for creating `resizeBars`. This may be overridden by `resizeBarConstructor`.

      Classes that are valid by default are `Splitbar`, `ImgSplitbar`, and `Snapbar`.

      Returns:
        Current resizeBarClass value. Default value is "Splitbar"
      See Also:
        `Splitbar`, `ImgSplitbar`

    - #### setResizeBarSize

          public void setResizeBarSize(int resizeBarSize)

      Thickness of the resizeBar in pixels.

      Note : This is an advanced setting

      Parameters:
        `resizeBarSize` - New resizeBarSize value. Default value is 7

    - #### getResizeBarSize

          public int getResizeBarSize()

      Thickness of the resizeBar in pixels.
      Returns:
        Current resizeBarSize value. Default value is 7

    - #### setReverseOrder

          public void setReverseOrder(java.lang.Boolean reverseOrder)

      Reverse the order of stacking for this Layout, so that the last member is shown first.

      Requires a manual call to `reflow()` if changed on the fly.

      In RTL mode, for horizontal Layouts the value of this flag will be flipped during initialization.

      Parameters:
        `reverseOrder` - New reverseOrder value. Default value is false

    - #### getReverseOrder

          public java.lang.Boolean getReverseOrder()

      Reverse the order of stacking for this Layout, so that the last member is shown first.

      Requires a manual call to `reflow()` if changed on the fly.

      In RTL mode, for horizontal Layouts the value of this flag will be flipped during initialization.

      Returns:
        Current reverseOrder value. Default value is false

    - #### setShowDragPlaceHolder

          public void setShowDragPlaceHolder(java.lang.Boolean showDragPlaceHolder)

      If set to true, when a member is dragged out of layout, a visible placeholder canvas will be displayed in place of the dragged widget for the duration of the drag and drop interaction.
      Parameters:
        `showDragPlaceHolder` - New showDragPlaceHolder value. Default value is null
      See Also:
        `Dragdrop overview and related methods`, Drag move Example

    - #### getShowDragPlaceHolder

          public java.lang.Boolean getShowDragPlaceHolder()

      If set to true, when a member is dragged out of layout, a visible placeholder canvas will be displayed in place of the dragged widget for the duration of the drag and drop interaction.
      Returns:
        Current showDragPlaceHolder value. Default value is null
      See Also:
        `Dragdrop overview and related methods`, Drag move Example

    - #### setShowDropLines

          public void setShowDropLines(java.lang.Boolean showDropLines)

      Controls whether to show a drop-indicator during a drag and drop operation. Set to false if you either don't want to show drop-lines, or plan to create your own.
      Parameters:
        `showDropLines` - New showDropLines value. Default value is null
      See Also:
        `Dragdrop overview and related methods`

    - #### getShowDropLines

          public java.lang.Boolean getShowDropLines()

      Controls whether to show a drop-indicator during a drag and drop operation. Set to false if you either don't want to show drop-lines, or plan to create your own.
      Returns:
        Current showDropLines value. Default value is null
      See Also:
        `Dragdrop overview and related methods`

    - #### setStackZIndex

          public void setStackZIndex(java.lang.String stackZIndex)
                              throws java.lang.IllegalStateException

      For use in conjunction with `memberOverlap`, controls the z-stacking order of members.

      If set to "lastOnTop", members stack from the first member at bottom to the last member at top. If set to "firstOnTop", members stack from the last member at bottom to the first member at top.

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

    - #### getStackZIndex

          public java.lang.String getStackZIndex()

      For use in conjunction with `memberOverlap`, controls the z-stacking order of members.

      If set to "lastOnTop", members stack from the first member at bottom to the last member at top. If set to "firstOnTop", members stack from the last member at bottom to the first member at top.

      Returns:
        Current stackZIndex value. Default value is null

    - #### setVertical

          public void setVertical(java.lang.Boolean vertical)

      Should this layout appear with members stacked vertically or horizontally. Defaults to `false` if unspecified.
      Parameters:
        `vertical` - New vertical value. Default value is null

    - #### getVertical

          public java.lang.Boolean getVertical()

      Should this layout appear with members stacked vertically or horizontally. Defaults to `false` if unspecified.
      Returns:
        Current vertical value. Default value is null

    - #### setVPolicy

          public void setVPolicy(LayoutPolicy vPolicy)

      Sizing policy applied to members on vertical axis

      Note : This is an advanced setting

      Parameters:
        `vPolicy` - New vPolicy value. Default value is "fill"

    - #### getVPolicy

          public LayoutPolicy getVPolicy()

      Sizing policy applied to members on vertical axis
      Returns:
        Current vPolicy value. Default value is "fill"

    - #### getChildTabPosition

          public java.lang.Integer getChildTabPosition(Canvas child)

      Layout overrides `Canvas.getChildTabPosition()` to ensure children are ordered in the tab-sequence with members being reachable first (in member order), then any non-member children.

      As with `Canvas.getChildTabPosition()` if `Canvas.setRelativeTabPosition()` was called explicitly called for some child, it will be respected over member order.

      Overrides:
        `getChildTabPosition` in class `Canvas`
      Parameters:
        `child` - The child for which the tab position should be returned
      Returns:
        tab position of the child within this layout.

    - #### getDropPosition

          public int getDropPosition()

      Get the position a new member would be dropped. This drop position switches in the middle of each member, and both edges (before beginning, after end) are legal drop positions

      Use this method to obtain the drop position for e.g. a custom drop handler.

      Returns:
        the position a new member would be dropped

    - #### getMember

          public Canvas getMember(java.lang.String memberID)

      Given a numerical index or a member name or member ID, return a pointer to the appropriate member.

      If passed a member Canvas, just returns it.

      Parameters:
        `memberID` - identifier for the required member
      Returns:
        member widget
      See Also:
        `getMemberNumber(java.lang.String)`

    - #### getMemberDefaultBreadth

          public void getMemberDefaultBreadth(Canvas member,
                                              int defaultBreadth)

      Return the breadth for a member of this layout which either didn't specify a breadth or specified a percent breadth with `managePercentBreadth`:true.

      Called only for Layouts which have a `layout policy` for the breadth axis of "fill", since Layouts with a breadth policy of "none" leave all member breadths alone.

      Parameters:
        `member` - Component to be sized
        `defaultBreadth` - Value of the currently calculated member breadth. This may be returned verbatim or manipulated in this method.
      See Also:
        `LayoutMember overview and related methods`

    - #### getMemberNumber

          public int getMemberNumber(java.lang.String memberID)

      Given a member Canvas or member ID or name, return the index of that member within this layout's members array

      If passed a number, just returns it.

      Parameters:
        `memberID` - identifier for the required member
      Returns:
        index of the member canvas (or -1 if not found)
      See Also:
        `getMember(java.lang.String)`

    - #### getMembersLength

          public java.lang.Integer getMembersLength()

      Convenience method to return the number of members this Layout has
      Returns:
        the number of members this Layout has

    - #### hasMember

          public java.lang.Boolean hasMember(Canvas canvas)

      Returns true if the layout includes the specified canvas.
      Parameters:
        `canvas` - the canvas to check for
      Returns:
        true if the layout includes the specified canvas

    - #### hideDropLine

          public void hideDropLine()

      Calling this method hides the dropLine shown during a drag and drop interaction with a Layout that has `canDropComponents` set to true. This method is only useful for custom implementations of `drop()` as the default implementation calls this method automatically.

    - #### hideMember

          public void hideMember(Canvas member)

      Hide the specified member, firing the specified callback when the hide is complete.

      Members can always be directly hidden via `member.hide()`, but if `animation` is enabled, animation will only occur if hideMember() is called to hide the member.

      Parameters:
        `member` - Member to hide

    - #### hideMember

          public void hideMember(Canvas member,
                                 Function callback)

      Hide the specified member, firing the specified callback when the hide is complete.

      Members can always be directly hidden via `member.hide()`, but if `animation` is enabled, animation will only occur if hideMember() is called to hide the member.

      Parameters:
        `member` - Member to hide
        `callback` - callback to fire when the member is hidden.

    - #### layoutIsDirty

          public boolean layoutIsDirty()

      Returns whether there is a pending reflow of the members of the layout.

      Modifying the set of members, resizing members or changing layout settings will cause a recalculation of member sizes to be scheduled. The recalculation is delayed so that it is not performed redundantly if multiple changes are made in a row.

      To force immediate recalculation of new member sizes and resizing of members, call `reflowNow()`.

      Returns:
        whether the layout is currently dirty

    - #### addMembersChangedHandler

          public com.google.gwt.event.shared.HandlerRegistration addMembersChangedHandler(MembersChangedHandler handler)

      Add a membersChanged handler.

      Fires once at initialization if the layout has any initial members, and then fires whenever members are added, removed or reordered.

      Specified by:
        `addMembersChangedHandler` in interface `HasMembersChangedHandlers`
      Parameters:
        `handler` - the membersChanged handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### reflow

          public void reflow()

      Layout members according to current settings.

      Members will reflow automatically when the layout is resized, members resize, the list of members changes or members change visibility. It is only necessary to manually call `reflow()` after changing settings on the layout, for example, `layout.reverseOrder`.

    - #### reflow

          public void reflow(java.lang.String reason)

      Layout members according to current settings.

      Members will reflow automatically when the layout is resized, members resize, the list of members changes or members change visibility. It is only necessary to manually call `reflow()` after changing settings on the layout, for example, `layout.reverseOrder`.

      Parameters:
        `reason` - reason reflow() had to be called (appear in logs if enabled)

    - #### reflowNow

          public void reflowNow()

      Layout members according to current settings, immediately.
      Generally, when changes occur that require a layout to reflow (such as members being shown or hidden), the Layout will reflow only after a delay, so that multiple changes cause only one reflow. To remove this delay for cases where it is not helpful, reflowNow() can be called.

    - #### removeMember

          public void removeMember(Canvas member)

      Removes the specified member from the layout. If it has a resize bar, the bar will be destroyed.
      Parameters:
        `member` - the canvas to be removed from the layout

    - #### removeMembers

          public void removeMembers(Canvas... members)

      Removes the specified members from the layout. If any of the removed members have resize bars, the bars will be destroyed.
      Parameters:
        `members` - array of members to be removed, or single member

    - #### removeMembers

          public void removeMembers(Canvas members)

      Removes the specified members from the layout. If any of the removed members have resize bars, the bars will be destroyed.
      Parameters:
        `members` - array of members to be removed, or single member

    - #### reorderMember

          public void reorderMember(int memberNum,
                                    int newPosition)

      Shift a member of the layout to a new position
      Parameters:
        `memberNum` - current position of the member to move to a new position
        `newPosition` - new position to move the member to

    - #### reorderMembers

          public void reorderMembers(int start,
                                     int end,
                                     int newPosition)

      Move a range of members to a new position
      Parameters:
        `start` - beginning of range of members to move
        `end` - end of range of members to move, non-inclusive
        `newPosition` - new position to move the members to

    - #### setVisibleMember

          public void setVisibleMember(Canvas member)

      Hide all other members and make the single parameter member visible.
      Parameters:
        `member` - member to show

    - #### showMember

          public void showMember(Canvas member)

      Show the specified member, firing the specified callback when the show is complete.

      Members can always be directly shown via `member.show()`, but if `animation` is enabled, animation will only occur if showMember() is called to show the member.

      Parameters:
        `member` - Member to show

    - #### showMember

          public void showMember(Canvas member,
                                 Function callback)

      Show the specified member, firing the specified callback when the show is complete.

      Members can always be directly shown via `member.show()`, but if `animation` is enabled, animation will only occur if showMember() is called to show the member.

      Parameters:
        `member` - Member to show
        `callback` - action to fire when the member has been shown

    - #### setDefaultProperties

          public static void setDefaultProperties(Layout layoutProperties)

      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:
        `layoutProperties` - properties that should be used as new defaults when instances of this class are created
      See Also:
        `SGWTProperties`

    - #### onInit

          protected void onInit()

      Overrides:
        `onInit` in class `Canvas`

    - #### onInit_Layout

          protected void onInit_Layout()

    - #### getDropComponent

          protected Canvas getDropComponent(Canvas dragTarget,
                                            int dropPosition)

    - #### addMembers

          public void addMembers(Canvas... newMembers)

      Add one or more canvases to the layout. NOTE: depending on the layout policy, adding a new member may cause existing members to resize.
      Parameters:
        `newMembers` - canvases to be added

    - #### addMembers

          public void addMembers(Canvas[] newMembers,
                                 int position)

      Add one or more canvases to the layout at specific positions. NOTE: depending on the layout policy, adding a new member may cause existing members to resize.
      Parameters:
        `newMembers` - array of canvases to be added
        `position` - position to add newMembers position

    - #### addMember

          public void addMember(com.google.gwt.user.client.ui.Widget widget)

      Add a canvas to the layout, optionally at a specific position.
      Parameters:
        `widget` - the canvas object to be added to the layout

    - #### addMember

          public void addMember(Canvas component)

      Add a canvas to the layout, optionally at a specific position.
      Parameters:
        `component` - the canvas object to be added to the layout

    - #### addMember

          public void addMember(com.google.gwt.user.client.ui.Widget widget,
                                int position)

    - #### addMember

          public void addMember(Canvas component,
                                int position)

      Add a canvas to the layout, optionally at a specific position.
      Parameters:
        `component` - the canvas object to be added to the layout
        `position` - the position in the layout to place newMember (starts with 0); if omitted, it will be added at the last position

    - #### addMemberPreCreate

          protected void addMemberPreCreate(java.lang.Object componentJS)

    - #### addMemberPostCreate

          protected void addMemberPostCreate(java.lang.Object componentJS)

    - #### addMemberPreCreate

          protected void addMemberPreCreate(java.lang.Object componentJS,
                                            int position)

    - #### addMemberPostCreate

          protected void addMemberPostCreate(java.lang.Object componentJS,
                                             int position)

    - #### setDefaultLayoutAlign

          public void setDefaultLayoutAlign(Alignment alignment)
                                     throws java.lang.IllegalStateException

      Specifies the default alignment for layout members on the breadth axis. Can be overridden on a per-member basis by setting `layoutAlign`.
      If unset, default member layout alignment will be "top" for a horizontal layout, and left for a vertical layout.
      Parameters:
        `alignment` - defaultLayoutAlign Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### setDefaultLayoutAlign

          public void setDefaultLayoutAlign(VerticalAlignment alignment)
                                     throws java.lang.IllegalStateException

      Specifies the default alignment for layout members on the breadth axis. Can be overridden on a per-member basis by setting `layoutAlign`.
      If unset, default member layout alignment will be "top" for a horizontal layout, and left for a vertical layout.
      Parameters:
        `alignment` - defaultLayoutAlign Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### setDropLineProperties

          public void setDropLineProperties(Canvas dropLineProperties)
                                     throws java.lang.IllegalStateException

      Throws:
        `java.lang.IllegalStateException`

    - #### setAlign

          public void setAlign(Alignment alignment)

      Alignment of all members in this Layout on the length axis. Defaults to "top" for vertical Layouts, and "left" for horizontal Layouts.
      Horizontal layouts should only be changed to Alignment, and vertical layouts to VerticalAlignment, otherwise they will be considered invalid values, and assigning an invalid value here will log a warning to the Developer Console.
      For alignment on the breadth axis, see `defaultLayoutAlign` and `layoutAlign`.
      Overrides:
        `setAlign` in class `Canvas`
      Parameters:
        `alignment` - alignment Default value is null

    - #### setAlign

          public void setAlign(VerticalAlignment alignment)

      Alignment of all members in this Layout on the length axis. Defaults to "top" for vertical Layouts, and "left" for horizontal Layouts.
      Horizontal layouts should only be changed to Alignment, and vertical layouts to VerticalAlignment, otherwise they will be considered invalid values, and assigning an invalid value here will log a warning to the Developer Console.
      For alignment on the breadth axis, see `defaultLayoutAlign` and `layoutAlign`.
      Parameters:
        `alignment` - alignment Default value is null

    - #### getMember

          public Canvas getMember(int index)

      Given a numerical index or a member ID, return a pointer to the appropriate member.

      If passed a member Canvas, just returns it.

      Parameters:
        `index` - index for the member
      Returns:
        member widget

    - #### getMemberNumber

          public int getMemberNumber(Canvas member)

      Given a member Canvas or member ID, return the index of that member within this layout's members array

      If passed a number, just returns it.

      Parameters:
        `member` - the member
      Returns:
        index of the member canvas (or -1 if not found)

    - #### revealChild

          public void revealChild(java.lang.String childID)

      Reveals the child or member Canvas passed in by showing it if it is currently hidden. 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 or member Canvas passed in by showing it if it is currently hidden NOTE: This is an override point.
      Overrides:
        `revealChild` in class `Canvas`
      Parameters:
        `child` - the child Canvas to reveal

    - #### setLogicalStructure

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

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

    - #### getLogicalStructure

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

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