Package 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:
  `HasAttachHandlers`, `HasHandlers`, `EventListener`, `HasVisibility`, `IsWidget`, `LogicalStructure`, `HasClearHandlers`, `HasClickHandlers`, `HasDoubleClickHandlers`, `HasDragMoveHandlers`, `HasDragRepositionMoveHandlers`, `HasDragRepositionStartHandlers`, `HasDragRepositionStopHandlers`, `HasDragResizeMoveHandlers`, `HasDragResizeStartHandlers`, `HasDragResizeStopHandlers`, `HasDragStartHandlers`, `HasDragStopHandlers`, `HasDropHandlers`, `HasDropMoveHandlers`, `HasDropOutHandlers`, `HasDropOverHandlers`, `HasFocusChangedHandlers`, `HasHoverHandlers`, `HasHoverHiddenHandlers`, `HasKeyDownHandlers`, `HasKeyPressHandlers`, `HasMouseDownHandlers`, `HasMouseMoveHandlers`, `HasMouseOutHandlers`, `HasMouseOverHandlers`, `HasMouseStillDownHandlers`, `HasMouseUpHandlers`, `HasMouseWheelHandlers`, `HasMovedHandlers`, `HasParentMovedHandlers`, `HasResizedHandlers`, `HasRightMouseDownHandlers`, `HasRuleContextChangedHandlers`, `HasScrolledHandlers`, `HasShowContextMenuHandlers`, `HasVisibilityChangedHandlers`, `HasMembersChangedHandlers`

Direct Known Subclasses:
  `AdaptiveMenu`, `ColumnTree`, `Deck`, `FilterBuilder`, `HLayout`, `HStack`, `ListPropertiesPane`, `MultiGroupPanel`, `MultiSortPanel`, `PortalLayout`, `Shuttle`, `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`
  - `Drag and Drop behavior within PortalLayouts`

- ## Nested Class Summary

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

  `UIObject.DebugIdImpl, 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
  Description
  `Layout()`
  `Layout(JavaScriptObject jsObj)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addMember(Widget widget)`
  Add a canvas to the layout, optionally at a specific position.
  `void`
  `addMember(Widget widget, int position)`
  `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.
  `protected void`
  `addMemberPostCreate(Object componentJS)`
  `protected void`
  `addMemberPostCreate(Object componentJS, int position)`
  `protected void`
  `addMemberPreCreate(Object componentJS)`
  `protected void`
  `addMemberPreCreate(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.
  `HandlerRegistration`
  `addMembersChangedHandler(MembersChangedHandler handler)`
  Add a membersChanged handler.
  `static void`
  `changeAutoChildDefaults(String autoChildName, Canvas defaults)`
  Changes the defaults for Canvas AutoChildren named `autoChildName`.
  `static void`
  `changeAutoChildDefaults(String autoChildName, FormItem defaults)`
  Changes the defaults for FormItem AutoChildren named `autoChildName`.
  `protected JavaScriptObject`
  `create()`
  `Boolean`
  `getAnimateMembers()`
  If true when members are added / removed, they should be animated as they are shown or hidden in position
  `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.
  `Boolean`
  `getCanDropComponents()`
  Layouts provide a default implementation of a drag and drop interaction.
  `Integer`
  `getChildTabPosition(Canvas child)`
  Layouts 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.
  `String`
  `getEditProxyConstructor()`
  Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
  `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
  `Integer`
  `getLayoutBottomMargin()`
  Space outside of all members, on the bottom side.
  `Integer`
  `getLayoutEndMargin()`
  Equivalent to `layoutRightMargin` for a horizontal layout, or `layoutBottomMargin` for a vertical layout.
  `Integer`
  `getLayoutLeftMargin()`
  Space outside of all members, on the left-hand side.
  `Integer`
  `getLayoutMargin()`
  Space outside of all members.
  `Integer`
  `getLayoutRightMargin()`
  Space outside of all members, on the right-hand side.
  `Integer`
  `getLayoutStartMargin()`
  Equivalent to `layoutLeftMargin` for a horizontal layout, or `layoutTopMargin` for a vertical layout.
  `Integer`
  `getLayoutTopMargin()`
  Space outside of all members, on the top side.
  `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.
  `LogicalStructureObject`
  `getLogicalStructure()`
  Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
  `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 `name` or member `ID`, return a pointer to the appropriate member.
  `Canvas`
  `getMember(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` or `name`, return the index of that member within this layout's members array.
  `int`
  `getMemberNumber(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.
  `String[]`
  `getMembersAsStringArray()`
  An array of canvases that will be contained within this layout.
  `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(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.
  `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.
  `String`
  `getResizeBarClass()`
  Default class to use for creating `resizeBars`.
  `int`
  `getResizeBarSize()`
  Thickness of the resizeBar in pixels.
  `Boolean`
  `getReverseOrder()`
  Reverse the order of stacking for this Layout, so that the last member is shown first.
  `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.
  `Boolean`
  `getShowDropLines()`
  Controls whether to show a drop-indicator during a drag and drop operation.
  `String`
  `getStackZIndex()`
  For use in conjunction with `memberOverlap`, controls the z-stacking order of members.
  `Boolean`
  `getVertical()`
  Should this layout appear with members stacked vertically or horizontally.
  `LayoutPolicy`
  `getVPolicy()`
  Sizing policy applied to members on vertical axis
  `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()`
  `protected void`
  `onInit_Layout()`
  `void`
  `reflow()`
  Layout members according to current settings.
  `void`
  `reflow(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`
  `replaceMember(Canvas oldMember, Canvas newMember)`
  Replaces an existing member of the layout with a different widget.
  `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(String childID)`
  Reveals the child or member Canvas passed in by showing it if it is currently hidden.
  `Layout`
  `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.
  `Layout`
  `setAnimateMembers(Boolean animateMembers)`
  If true when members are added / removed, they should be animated as they are shown or hidden in position
  `Layout`
  `setAnimateMemberTime(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.
  `Layout`
  `setCanDropComponents(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.
  `Layout`
  `setDefaultResizeBars(LayoutResizeBarPolicy defaultResizeBars)`
  Policy for whether resize bars are shown on members by default.
  `void`
  `setDropLineProperties(Canvas dropLineProperties)`
  `Layout`
  `setDropLineThickness(int dropLineThickness)`
  Thickness, in pixels of the dropLine shown during drag and drop when `canDropComponents` is set to `true`.
  `Layout`
  `setEditProxyConstructor(String editProxyConstructor)`
  Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
  `Layout`
  `setEnforcePolicy(Boolean enforcePolicy)`
  Whether the layout policy is continuously enforced as new members are added or removed and as members are resized.
  `Layout`
  `setHPolicy(LayoutPolicy hPolicy)`
  Sizing policy applied to members on horizontal axis
  `Layout`
  `setLayoutBottomMargin(Integer layoutBottomMargin)`
  Space outside of all members, on the bottom side.
  `Layout`
  `setLayoutEndMargin(Integer layoutEndMargin)`
  Equivalent to `layoutRightMargin` for a horizontal layout, or `layoutBottomMargin` for a vertical layout.
  `Layout`
  `setLayoutLeftMargin(Integer layoutLeftMargin)`
  Space outside of all members, on the left-hand side.
  `Layout`
  `setLayoutMargin(Integer layoutMargin)`
  Space outside of all members.
  `Layout`
  `setLayoutRightMargin(Integer layoutRightMargin)`
  Space outside of all members, on the right-hand side.
  `Layout`
  `setLayoutStartMargin(Integer layoutStartMargin)`
  Equivalent to `layoutLeftMargin` for a horizontal layout, or `layoutTopMargin` for a vertical layout.
  `Layout`
  `setLayoutTopMargin(Integer layoutTopMargin)`
  Space outside of all members, on the top side.
  `Layout`
  `setLeaveScrollbarGap(Boolean leaveScrollbarGap)`
  Whether to leave a gap for a vertical scrollbar even when one is not actually present.
  `Layout`
  `setLocateMembersBy(LocatorStrategy locateMembersBy)`
  Part of the `AutomatedTesting` system, strategy to use when generated locators for members from within this Layout's members array.
  `Layout`
  `setLocateMembersType(LocatorTypeStrategy locateMembersType)`
  `LocatorTypeStrategy` to use when finding members within this layout.
  `LogicalStructureObject`
  `setLogicalStructure(LayoutLogicalStructure s)`
  Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
  `Layout`
  `setManagePercentBreadth(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`.
  `Layout`
  `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.
  `Layout`
  `setMembers(Canvas... members)`
  An array of canvases that will be contained within this layout.
  `Layout`
  `setMembers(String... members)`
  An array of canvases that will be contained within this layout.
  `Layout`
  `setMembersMargin(int membersMargin)`
  Space between each member of the layout.
  `Layout`
  `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`.
  `Layout`
  `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`.
  `Layout`
  `setMinBreadthMember(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`.
  `Layout`
  `setMinMemberLength(int minMemberLength)`
  Minimum size, in pixels, below which flexible-sized members should never be shrunk, even if this requires the Layout to overflow.
  `Layout`
  `setMinMemberSize(int minMemberSize)`
  Deprecated.
  use the more intuitively named `minMemberLength`
  `Layout`
  `setOverflow(Overflow overflow)`
  A Layout may overflow if it has one or more members with a fixed width or height, or that themselves overflow.
  `Layout`
  `setPaddingAsLayoutMargin(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?
  `Layout`
  `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()
  `Layout`
  `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.
  `Layout`
  `setResizeBarClass(String resizeBarClass)`
  Default class to use for creating `resizeBars`.
  `Layout`
  `setResizeBarSize(int resizeBarSize)`
  Thickness of the resizeBar in pixels.
  `Layout`
  `setReverseOrder(Boolean reverseOrder)`
  Reverse the order of stacking for this Layout, so that the last member is shown first.
  `Layout`
  `setShowDragPlaceHolder(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.
  `Layout`
  `setShowDropLines(Boolean showDropLines)`
  Controls whether to show a drop-indicator during a drag and drop operation.
  `Layout`
  `setStackZIndex(String stackZIndex)`
  For use in conjunction with `memberOverlap`, controls the z-stacking order of members.
  `Layout`
  `setVertical(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.
  `Layout`
  `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, containsEventTarget, containsFocus, containsPoint, containsPoint, contentsComponentConnected, dataContextChanged, dataContextCriteriaChanged, deparent, depeer, disable, doValueDictation, doVoiceCommand, enable, encloses, endBatchCreation, focus, focusAfterGroup, focusAtEnd, focusInNextTabElement, focusInPreviousTabElement, getAbsoluteLeft, getAbsoluteTop, getAccessKey, getAdaptiveHeightPriority, getAdaptiveWidthPriority, getAllCanvases, getAllCanvases, getAllCanvases, getAlwaysManageFocusNavigation, getAlwaysShowScrollbars, getAnimateAcceleration, getAnimateFadeTime, getAnimateHideAcceleration, getAnimateHideEffect, getAnimateHideTime, getAnimateMoveAcceleration, getAnimateMoveTime, getAnimateRectAcceleration, getAnimateRectTime, getAnimateResizeAcceleration, getAnimateResizeLayoutMode, getAnimateResizeTime, getAnimateScrollAcceleration, getAnimateScrollTime, getAnimateShowAcceleration, getAnimateShowEffect, getAnimateShowTime, getAnimateTime, getAppImgDir, getAriaHandleID, getAriaRole, getAriaStateDefaults, getAutoMaskComponents, getAutoParent, getAutoPopulateData, getAutoRevertStyles, getAutoShowParent, getBackgroundColor, getBackgroundImage, getBackgroundPosition, getBackgroundRepeat, getBorder, getBorderRadius, getBorderRadiusAsString, getBottom, getById, getByJSObject, getByLocalId, getCanAcceptDrop, getCanAdaptHeight, getCanAdaptWidth, getCanDrag, getCanDragReposition, getCanDragResize, getCanDragScroll, getCanDrop, getCanDropBefore, getCanDropContent, getCanDropFiles, getCanFocus, getCanHover, getCanSelectText, getCanvasAutoChild, getCanvasItem, getChildren, getChildrenAsStringArray, getChildrenResizeSnapAlign, getChildrenSnapAlign, getChildrenSnapCenterAlign, getChildrenSnapEdgeAlign, getChildrenSnapResizeToGrid, getChildrenSnapToGrid, getClassName, getComponentMask, getComponentMaskDefaults, getContentElement, getContents, getContentsComponentDefaults, getContextMenu, getControlHeight, getCorrectZoomOverflow, getCursor, getDataContext, getDataContextCriteria, getDataContextCriteria, getDataPath, getDefaultHeight, getDefaultWidth, getDeferActionConversion, getDefiningProperty, getDefiningPropertyName, getDefiningPropertyNameOptions, getDestroyed, getDestroying, getDisabled, getDisabledCursor, getDisableTouchScrollingForDrag, getDoubleClickDelay, getDragAppearance, getDragIntersectStyle, getDragMaskType, getDragMaxHeight, getDragMaxWidth, getDragMinHeight, getDragMinWidth, getDragOpacity, getDragRepositionAppearance, getDragRepositionCursor, getDragResizeAppearance, getDragScrollDelay, getDragStartDistance, getDragTarget, getDragTargetAsString, getDragType, getDropTarget, getDropTargetAsString, getDropTypes, getDropTypesAsString, getDynamicContents, getEdgeBackgroundColor, getEdgeCenterBackgroundColor, getEdgeImage, getEdgeMarginSize, getEdgeOffset, getEdgeOpacity, getEdgeShowCenter, getEdgeSize, getEditNode, getEditProxy, getElement, getElement, getEnableWhen, getEndLine, getEventEdge, getEventEdge, getEvents, getExtraSpace, getFacetId, getFloatingScrollbars, getFormItemAutoChild, getForwardSVGeventsToObject, getFullDataPath, getGroupBorderCSS, getGroupLabelBackgroundColor, getGroupLabelStyleName, getGroupPadding, getGroupTitle, getHeight, getHeightAsString, getHideUsingDisplayNone, getHoverAlign, getHoverAutoDestroy, getHoverAutoFitMaxWidth, getHoverAutoFitMaxWidthAsString, getHoverAutoFitWidth, getHoverComponent, getHoverDelay, getHoverFocusKey, getHoverHeight, getHoverHTML, getHoverMoveWithMouse, getHoverOpacity, getHoverPersist, getHoverScreen, getHoverStyle, getHoverVAlign, getHoverWidth, getHoverWrap, getHSnapPosition, getHSnapPosition, getHtmlElement, getHtmlElementAsString, getHtmlPosition, getImage, getImgURL, getImgURL, getInnerContentHeight, getInnerContentWidth, getInnerHeight, getInnerWidth, getIsGroup, getIsPrinting, getIsRuleScope, getIsSnapAlignCandidate, getKeepInParentRect, getLayoutAlign, getLeaveGroupLabelSpace, getLeavePageSpace, getLeft, getLeftAsString, getLocalId, getLocateByIDOnly, getLocateChildrenBy, getLocateChildrenType, getLocatePeersBy, getLocatePeersType, getLocatorName, getMargin, getMasterCanvas, getMasterElement, getMatchElement, getMatchElementHeight, getMatchElementWidth, getMaxHeight, getMaxWidth, getMaxZoomOverflowError, getMenuConstructor, getMinHeight, getMinNonEdgeSize, getMinWidth, getMomentumScrollMinSpeed, getMouseStillDownDelay, getMouseStillDownInitialDelay, getName, getNativeAutoHideScrollbars, getNextZIndex, getNoDoubleClicks, getNoDropCursor, getOffsetHeight, getOffsetWidth, getOffsetX, getOffsetY, getOpacity, getOuterElement, getPadding, getPageBottom, getPageLeft, getPageRect, getPageRight, getPageTop, getPaletteDefaults, getPanelContainer, getParentCanvas, getParentCanvasAsString, getParentElement, getParentElementAsString, getPeers, getPendingMarkerStyle, getPendingMarkerVisible, getPercentBox, getPercentSource, getPersistentMatchElement, getPointerSettings, getPointerTarget, getPointerTargetAsString, getPosition, getPrefix, getPrintChildrenAbsolutelyPositioned, getPrintHTML, getPrintHTML, getPrintStyleName, getPrompt, getProportionalResizeModifiers, getProportionalResizing, getReceiveScrollbarEvents, getRect, getRedrawOnResize, getResizeBarTarget, getResizeFrom, getRight, getRuleContext, getRuleContext, getRuleScope, getScrollbarSize, getScrollBottom, getScrollHeight, getScrollLeft, getScrollRight, getScrollTop, getScrollWidth, getShadowColor, getShadowDepth, getShadowHOffset, getShadowImage, getShadowOffset, getShadowSoftness, getShadowSpread, getShadowVOffset, getShareCriteria, getShouldPrint, getShowCustomScrollbars, getShowDragShadow, getShowEdges, getShowFocusOutline, getShowHover, getShowHoverComponents, getShowPointer, getShowResizeBar, getShowShadow, getShowSnapGrid, getShrinkElementOnHide, getSingleDiv, getSizeMayChangeOnRedraw, getSkinImgDir, getSnapAlignCandidates, getSnapAlignCenterLineStyle, getSnapAlignEdgeLineStyle, getSnapAxis, getSnapEdge, getSnapGridLineProperties, getSnapGridStyle, getSnapHDirection, getSnapHGap, getSnapOffsetLeft, getSnapOffsetTop, getSnapOnDrop, getSnapPosition, getSnapPosition, getSnapResizeToAlign, getSnapResizeToGrid, getSnapTo, getSnapToAlign, getSnapToCenterAlign, getSnapToEdgeAlign, getSnapToGrid, getSnapVDirection, getSnapVGap, getStartLine, getStyleName, getSuppressRedraw, getTabIndex, getTestDataContext, getTestInstance, getTitle, getTooltip, getTop, getTopAsString, getTopElement, getTopLevelComponents, getUpdateTabPositionOnDraw, getUpdateTabPositionOnReparent, getUseBackMask, getUseCSSShadow, getUseDataContextCriteria, getUseDragMask, getUseGeneratedStyles, getUseImageForSVG, getUseNativeDrag, getUseOpacityFilter, getUseTouchScrolling, getValuesManager, getValuesManagerAsString, getViewportHeight, getViewportWidth, getVisibility, getVisibleHeight, getVisibleWhen, getVisibleWidth, getVSnapPosition, getVSnapPosition, getWidth, getWidthAsString, getWorkflows, getZIndex, getZIndex, handleDataContextCriteria, handleHover, hide, hideClickMask, hideClickMask, hideComponentMask, hideComponentMask, hideContextMenu, imgHTML, imgHTML, imgHTML, initComplete, 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, print, print, print, print, printComponents, provideRuleContext, provideRuleContext, redraw, redraw, registerAIService, registerFontScaledPaddingStyles, removeChild, removeChild, removePeer, removePeer, removeRuleContext, removeSnapAlignCandidate, resizeAutoChildAttributes, resizeBy, resizeControls, resizeControlsTo, resizeFonts, resizeFonts, resizeFonts, resizeFontsTo, resizeIcons, resizePadding, resizePadding, resizeTo, resizeTo, resolveContentsComponent, scrollBy, scrollByPercent, scrollTo, scrollTo, scrollTo, scrollTo, scrollTo, scrollToBottom, scrollToLeft, scrollToPercent, scrollToRight, scrollToTop, sendToBack, setAccessKey, setAdaptHeightByCustomizer, setAdaptiveHeightPriority, setAdaptiveWidthPriority, setAdaptWidthByCustomizer, setAllowExternalFilters, setAlwaysManageFocusNavigation, setAlwaysShowScrollbars, setAnimateAcceleration, setAnimateFadeTime, setAnimateHideAcceleration, setAnimateHideEffect, setAnimateHideTime, setAnimateMoveAcceleration, setAnimateMoveTime, setAnimateRectAcceleration, setAnimateRectTime, setAnimateResizeAcceleration, setAnimateResizeLayoutMode, setAnimateResizeTime, setAnimateScrollAcceleration, setAnimateScrollTime, setAnimateShowAcceleration, setAnimateShowEffect, setAnimateShowTime, setAnimateTime, setAppImgDir, setAriaRole, setAriaState, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoHeight, setAutoMaskComponents, setAutoParent, setAutoPopulateData, setAutoResizeAutoChildAttributes, setAutoResizeIcons, setAutoRevertStyles, setAutoShowParent, setAutoWidth, setBackgroundColor, setBackgroundImage, setBackgroundPosition, setBackgroundRepeat, setBorder, setBorderRadius, setBorderRadius, setBottom, setCanAcceptDrop, setCanAdaptHeight, setCanAdaptWidth, setCanDrag, setCanDragReposition, setCanDragResize, setCanDragScroll, setCanDrop, setCanDropBefore, setCanDropContent, setCanDropFiles, setCanFocus, setCanHover, setCanSelectText, setChildren, setChildrenResizeSnapAlign, setChildrenSnapAlign, setChildrenSnapCenterAlign, setChildrenSnapEdgeAlign, setChildrenSnapResizeToGrid, setChildrenSnapToGrid, setComponentMaskDefaults, setContents, setContentsComponentDefaults, setContextMenu, setCorrectZoomOverflow, setCursor, setDataContext, setDataContextCriteria, setDataContextCriteria, setDataContextCriteria, setDataContextCriteria, setDataContextCriteria, setDataContextCriteria, setDataContextCriteria, setDataContextCriteria, setDataPath, setDefaultHeight, setDefaultNativeAutoHideScrollbars, setDefaultPageSpace, setDefaultProperties, setDefaultShowCustomScrollbars, setDefaultWidth, setDeferActionConversion, setDefiningProperty, setDefiningPropertyNameOptions, setDisabled, setDisabledCursor, setDisableTouchScrollingForDrag, setDoubleClickDelay, setDragAppearance, setDragIntersectStyle, setDragMaskType, setDragMaxHeight, setDragMaxWidth, setDragMinHeight, setDragMinWidth, setDragOpacity, setDragRepositionAppearance, setDragRepositionCursor, setDragResizeAppearance, setDragScrollDelay, setDragStartDistance, setDragTarget, setDragTarget, setDragType, setDropTarget, setDropTarget, setDropTypes, setDropTypes, setDynamicContents, setEdgeBackgroundColor, setEdgeCenterBackgroundColor, setEdgeImage, setEdgeMarginSize, setEdgeOffset, setEdgeOpacity, setEdgeShowCenter, setEdgeSize, setEditMode, setEditMode, setEditMode, setElement, setEnableWhen, setEndLine, setExtraSpace, setFacetId, setFloatingScrollbars, setForwardSVGeventsToObject, setGroupBorderCSS, setGroupLabelBackgroundColor, setGroupLabelStyleName, setGroupPadding, setGroupTitle, setHeight, setHeight, setHeight, setHeight100, setHideUsingDisplayNone, setHoverAlign, setHoverAutoDestroy, setHoverAutoFitMaxWidth, setHoverAutoFitMaxWidth, setHoverAutoFitWidth, setHoverDelay, setHoverFocusKey, setHoverHeight, setHoverMoveWithMouse, setHoverOpacity, setHoverPersist, setHoverScreen, setHoverStyle, setHoverVAlign, setHoverWidth, setHoverWrap, setHtmlElement, setHtmlElement, setHtmlPosition, setImage, setImage, setInitHandler, setIsGroup, setIsRuleScope, setIsSnapAlignCandidate, setKeepInParentRect, setKeepInParentRect, setKeepInParentRect, setLayoutAlign, setLayoutAlign, setLeaveGroupLabelSpace, setLeavePageSpace, setLeft, setLeft, setLocateByIDOnly, setLocateChildrenBy, setLocateChildrenType, setLocatePeersBy, setLocatePeersType, setLocatorName, setLocatorParent, setLocatorParent, setLogicalStructure, setMargin, setMatchElement, setMatchElementHeight, setMatchElementWidth, setMaxHeight, setMaxWidth, setMaxZoomOverflowError, setMenuConstructor, setMinHeight, setMinNonEdgeSize, setMinWidth, setMomentumScrollMinSpeed, setMouseStillDownDelay, setMouseStillDownInitialDelay, setName, setNativeAutoHideScrollbars, setNeverUseFilters, setNoDoubleClicks, setNoDropCursor, setOpacity, setPadding, setPageLeft, setPageTop, setPanelContainer, setParentCanvas, setParentCanvas, setParentElement, setParentElement, setPeers, setPendingMarkerStyle, setPendingMarkerVisible, setPercentBox, setPercentSource, setPersistentMatchElement, setPointerSettings, setPointerTarget, setPosition, setPrefix, setPrintChildrenAbsolutelyPositioned, setPrintStyleName, setPrompt, setProportionalResizeModifiers, setProportionalResizing, setReceiveScrollbarEvents, setRect, setRect, setRedrawOnResize, setRelativeTabPosition, setResizeBarTarget, setResizeFrom, setResizeFrom, setRight, setRuleScope, setScrollbarConstructor, setScrollbarSize, setShadowColor, setShadowDepth, setShadowHOffset, setShadowImage, setShadowOffset, setShadowSoftness, setShadowSpread, setShadowVOffset, setShareCriteria, setShouldPrint, setShowCustomScrollbars, setShowDragShadow, setShowEdges, setShowFocusOutline, setShowHover, setShowHoverComponents, setShowPointer, setShowResizeBar, setShowShadow, setShowSnapGrid, setShrinkElementOnHide, setSingleDiv, setSizeMayChangeOnRedraw, setSkinImgDir, setSmoothFade, setSnapAlignCandidates, setSnapAlignCenterLineStyle, setSnapAlignEdgeLineStyle, setSnapAxis, setSnapEdge, setSnapGridLineProperties, setSnapGridStyle, setSnapHDirection, setSnapHGap, setSnapOffsetLeft, setSnapOffsetTop, setSnapOnDrop, setSnapResizeToAlign, setSnapResizeToGrid, setSnapTo, setSnapToAlign, setSnapToCenterAlign, setSnapToEdgeAlign, setSnapToGrid, setSnapVDirection, setSnapVGap, setStartLine, setStyleName, setSuppressRedraw, setTabIndex, setTestDataContext, setTitle, setTooltip, setTop, setTop, setUpdateTabPositionOnDraw, setUpdateTabPositionOnReparent, setUseBackMask, setUseCSSShadow, setUseDataContextCriteria, setUseDragMask, setUseGeneratedStyles, setUseImageForSVG, setUseNativeDrag, setUseOpacityFilter, setUseTouchScrolling, setValuesManager, setValuesManager, setVisibility, setVisible, setVisibleWhen, setWidth, setWidth, setWidth, setWidth100, setWorkflows, setZIndex, shouldDragScroll, show, showClickMask, showComponentMask, showComponentMask, showNextTo, showNextTo, showNextTo, showNextTo, showPendingMarker, showPrintPreview, showPrintPreview, showPrintPreview, showPrintPreview, showRecursively, startBatchCreation, startDebuggingOverflow, stopDebuggingOverflow, subtractRects, supportsValueDictation, supportsVoiceCommands, unregisterAIService, updateChildTabPosition, updateChildTabPositions, updateEditNode, updateHover, updateHover, updateShadow, updateTabPositionForDraw, visibleAtPoint, willAcceptDrop`

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

  `addDrawHandler, addDynamicProperty, addDynamicProperty, addDynamicProperty, addDynamicProperty, applyFactoryProperties, clearDynamicProperty, completeCreation, destroy, doAddHandler, doInit, doOnRender, draw, equals, error, errorIfNotCreated, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDateArray, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsFloatArray, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getAutoDraw, getConfig, getDOM, getHandlerCount, getID, getInnerHTML, getJsObj, getOrCreateJsObj, getRef, getScClassName, hasAutoAssignedID, hasDynamicProperty, 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, setAutoDraw, 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 Details

  - ### Layout

    public Layout()

  - ### Layout

    public Layout(JavaScriptObject jsObj)

- ## Method Details

  - ### getOrCreateRef

    public static Layout getOrCreateRef(JavaScriptObject jsObj)

  - ### changeAutoChildDefaults

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

  - ### changeAutoChildDefaults

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

  - ### create

    protected JavaScriptObject create()
    Overrides:
      `create` in class `Canvas`

  - ### setAnimateMembers

    public Layout setAnimateMembers(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
    Returns:
      `Layout` instance, for chaining setter calls
    See Also:
      - Layout Add & Remove Example

  - ### getAnimateMembers

    public 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 Layout setAnimateMemberTime(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
    Returns:
      `Layout` instance, for chaining setter calls

  - ### getAnimateMemberTime

    public 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 Layout setCanDropComponents(Boolean canDropComponents) throws 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, `getDropComponent()` is invoked to determine which component should be added to the layout as a member at the location calculated by `getDropPosition()`. By default this method will return the current drag target. This default behavior allows existing members to be reordered or external components that have `Canvas.canDragReposition` (or `Canvas.canDrag`) and `Canvas.canDrop` set to `true` to be added to 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 override `getDropComponent()`, or for entirely custom behavior override the `drop event handler` as follows:

           final VLayout vLayout = new VLayout();
           //...various layout properties...
           vLayout.setCanDropComponents(true);
           vLayout.addDropHandler(new DropHandler() {
               @Override
               public void onDrop(DropEvent event) {
                   // create the new component
                   Canvas newMember = new Canvas();
                   // add to the layout at the current drop position
                   // (the dropLine will be showing here)
                   vLayout.addMember(newMember, vLayout.getDropPosition());
                   // hide the dropLine that was automatically shown
                   // by builtin SmartGWT methods
                   vLayout.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
    Returns:
      `Layout` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `Drag and Drop`

  - ### getCanDropComponents

    public 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, `getDropComponent()` is invoked to determine which component should be added to the layout as a member at the location calculated by `getDropPosition()`. By default this method will return the current drag target. This default behavior allows existing members to be reordered or external components that have `Canvas.canDragReposition` (or `Canvas.canDrag`) and `Canvas.canDrop` set to `true` to be added to 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 override `getDropComponent()`, or for entirely custom behavior override the `drop event handler` as follows:

           final VLayout vLayout = new VLayout();
           //...various layout properties...
           vLayout.setCanDropComponents(true);
           vLayout.addDropHandler(new DropHandler() {
               @Override
               public void onDrop(DropEvent event) {
                   // create the new component
                   Canvas newMember = new Canvas();
                   // add to the layout at the current drop position
                   // (the dropLine will be showing here)
                   vLayout.addMember(newMember, vLayout.getDropPosition());
                   // hide the dropLine that was automatically shown
                   // by builtin SmartGWT methods
                   vLayout.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:
      - `Drag and Drop`

  - ### setDefaultResizeBars

    public Layout 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"
    Returns:
      `Layout` instance, for chaining setter calls
    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 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:
      `IllegalStateException` - if this widget has not yet been rendered.
    See Also:
      - Drag move Example

  - ### setDropLineThickness

    public Layout setDropLineThickness(int dropLineThickness) throws 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
    Returns:
      `Layout` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `Layout`
      - `Drag and Drop`
      - 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`
      - `Drag and Drop`
      - Drag move Example

  - ### setEditProxyConstructor

    public Layout setEditProxyConstructor(String editProxyConstructor) throws IllegalStateException
    Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
    Overrides:
      `setEditProxyConstructor` in class `Canvas`
    Parameters:
      `editProxyConstructor` - New editProxyConstructor value. Default value is "LayoutEditProxy"
    Returns:
      `Layout` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `SCClassName`

  - ### getEditProxyConstructor

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

  - ### setEnforcePolicy

    public Layout setEnforcePolicy(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
    Returns:
      `Layout` instance, for chaining setter calls

  - ### getEnforcePolicy

    public 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 Layout 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"
    Returns:
      `Layout` instance, for chaining setter calls

  - ### getHPolicy

    public LayoutPolicy getHPolicy()
    Sizing policy applied to members on horizontal axis
    Returns:
      Current hPolicy value. Default value is "fill"

  - ### setLayoutBottomMargin

    public Layout setLayoutBottomMargin(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
    Returns:
      `Layout` instance, for chaining setter calls

  - ### getLayoutBottomMargin

    public 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 Layout setLayoutEndMargin(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
    Returns:
      `Layout` instance, for chaining setter calls

  - ### getLayoutEndMargin

    public 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 Layout setLayoutLeftMargin(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
    Returns:
      `Layout` instance, for chaining setter calls

  - ### getLayoutLeftMargin

    public 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 Layout setLayoutMargin(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
    Returns:
      `Layout` instance, for chaining setter calls
    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 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 Layout setLayoutRightMargin(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
    Returns:
      `Layout` instance, for chaining setter calls

  - ### getLayoutRightMargin

    public 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 Layout setLayoutStartMargin(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
    Returns:
      `Layout` instance, for chaining setter calls

  - ### getLayoutStartMargin

    public 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 Layout setLayoutTopMargin(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
    Returns:
      `Layout` instance, for chaining setter calls

  - ### getLayoutTopMargin

    public 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 Layout setLeaveScrollbarGap(Boolean leaveScrollbarGap) throws 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
    Returns:
      `Layout` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getLeaveScrollbarGap

    public 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 Layout 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
    Returns:
      `Layout` instance, for chaining setter calls

  - ### 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 Layout 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
    Returns:
      `Layout` instance, for chaining setter calls

  - ### getLocateMembersType

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

  - ### setManagePercentBreadth

    public Layout setManagePercentBreadth(Boolean managePercentBreadth) throws 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
    Returns:
      `Layout` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getManagePercentBreadth

    public 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 Layout setMemberOverlap(int memberOverlap) throws 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
    Returns:
      `Layout` instance, for chaining setter calls
    Throws:
      `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 Layout 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
    Returns:
      `Layout` instance, for chaining setter calls

  - ### 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

  - ### setMembers

    public Layout setMembers(String... 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
    Returns:
      `Layout` instance, for chaining setter calls

  - ### getMembersAsStringArray

    public String[] getMembersAsStringArray()
    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 Layout 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
    Returns:
      `Layout` instance, for chaining setter calls
    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 Layout setMinBreadthMember(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
    Returns:
      `Layout` instance, for chaining setter calls
    See Also:
      - `LayoutPolicy`

  - ### setMinBreadthMember

    public Layout 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
    Returns:
      `Layout` instance, for chaining setter calls
    See Also:
      - `LayoutPolicy`

  - ### setMinBreadthMember

    public Layout 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
    Returns:
      `Layout` instance, for chaining setter calls
    See Also:
      - `LayoutPolicy`

  - ### setMinMemberLength

    public Layout 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
    Returns:
      `Layout` instance, for chaining setter calls
    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 Layout setMinMemberSize(int minMemberSize)
    Deprecated.
    use the more intuitively named `minMemberLength`
    See `minMemberLength`.
    Parameters:
      `minMemberSize` - New minMemberSize value. Default value is 1
    Returns:
      `Layout` instance, for chaining setter calls

  - ### getMinMemberSize

    public int getMinMemberSize()
    Deprecated.
    use the more intuitively named `minMemberLength`
    See `minMemberLength`.
    Returns:
      Current minMemberSize value. Default value is 1

  - ### setOverflow

    public Layout 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"
    Returns:
      `Layout` instance, for chaining setter calls
    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 Layout setPaddingAsLayoutMargin(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
    Returns:
      `Layout` instance, for chaining setter calls

  - ### getPaddingAsLayoutMargin

    public 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 Layout setPlaceHolderDefaults(Canvas placeHolderDefaults) throws 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
    Returns:
      `Layout` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `Drag and Drop`
      - `SGWTProperties`

  - ### setPlaceHolderProperties

    public Layout setPlaceHolderProperties(Canvas placeHolderProperties) throws 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
    Returns:
      `Layout` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `Drag and Drop`
      - `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 Layout setResizeBarClass(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"
    Returns:
      `Layout` instance, for chaining setter calls
    See Also:
      - `Splitbar`
      - `ImgSplitbar`

  - ### getResizeBarClass

    public 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 Layout setResizeBarSize(int resizeBarSize)
    Thickness of the resizeBar in pixels.

    Note : This is an advanced setting

    Parameters:
      `resizeBarSize` - New resizeBarSize value. Default value is 7
    Returns:
      `Layout` instance, for chaining setter calls

  - ### getResizeBarSize

    public int getResizeBarSize()
    Thickness of the resizeBar in pixels.
    Returns:
      Current resizeBarSize value. Default value is 7

  - ### setReverseOrder

    public Layout setReverseOrder(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
    Returns:
      `Layout` instance, for chaining setter calls

  - ### getReverseOrder

    public 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 Layout setShowDragPlaceHolder(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
    Returns:
      `Layout` instance, for chaining setter calls
    See Also:
      - `Drag and Drop`
      - Drag move Example

  - ### getShowDragPlaceHolder

    public 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:
      - `Drag and Drop`
      - Drag move Example

  - ### setShowDropLines

    public Layout setShowDropLines(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
    Returns:
      `Layout` instance, for chaining setter calls
    See Also:
      - `Drag and Drop`

  - ### getShowDropLines

    public 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:
      - `Drag and Drop`

  - ### setStackZIndex

    public Layout setStackZIndex(String stackZIndex) throws 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
    Returns:
      `Layout` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getStackZIndex

    public 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 Layout setVertical(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
    Returns:
      `Layout` instance, for chaining setter calls

  - ### getVertical

    public 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 Layout 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"
    Returns:
      `Layout` instance, for chaining setter calls

  - ### getVPolicy

    public LayoutPolicy getVPolicy()
    Sizing policy applied to members on vertical axis
    Returns:
      Current vPolicy value. Default value is "fill"

  - ### getChildTabPosition

    public Integer getChildTabPosition(Canvas child)
    Layouts 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(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.

    Note that if more than one member has the same `name`, passing in a `name` has an undefined result.

    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(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.

    Note that if more than one member has the same `name`, passing in a `name` has an undefined result.

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

  - ### getMembersLength

    public Integer getMembersLength()
    Convenience method to return the number of members this Layout has
    Returns:
      the number of members this Layout has

  - ### hasMember

    public 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 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(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

  - ### replaceMember

    public void replaceMember(Canvas oldMember, Canvas newMember)
    Replaces an existing member of the layout with a different widget. The new member will be assigned the width and height of the existing member (including sizes configured via end user resize), so no reflow will occur unless the new component has visible overflow and it differs from that of the widget it replaced.
    Parameters:
      `oldMember` - an existing member of the layout to be replaced
      `newMember` - a different widget that should replace `oldMember`
    See Also:
      - `RPCManager.createScreen(java.lang.String)`

  - ### 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(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(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(Object componentJS)

  - ### addMemberPostCreate

    protected void addMemberPostCreate(Object componentJS)

  - ### addMemberPreCreate

    protected void addMemberPreCreate(Object componentJS, int position)

  - ### addMemberPostCreate

    protected void addMemberPostCreate(Object componentJS, int position)

  - ### setDefaultLayoutAlign

    public void setDefaultLayoutAlign(Alignment alignment) throws 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:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### setDefaultLayoutAlign

    public void setDefaultLayoutAlign(VerticalAlignment alignment) throws 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:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### setDropLineProperties

    public void setDropLineProperties(Canvas dropLineProperties) throws IllegalStateException
    Throws:
      `IllegalStateException`

  - ### setAlign

    public Layout 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
    Returns:
      `Layout` instance, for chaining setter calls

  - ### 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 `name` or member `ID`, return a pointer to the appropriate member. If passed a member Canvas, just returns it.

    Note that if more than one member has the same `name`, passing in a `name` has an undefined result.

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

  - ### getMemberNumber

    public int getMemberNumber(Canvas member)
    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.

    Note that if more than one member has the same `name`, passing in a `name` has an undefined result.

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

  - ### revealChild

    public void revealChild(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 LogicalStructureObject setLogicalStructure(LayoutLogicalStructure s)
    Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.

  - ### getLogicalStructure

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