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, HasClickHandlers, HasDoubleClickHandlers, HasDragMoveHandlers, HasDragRepositionMoveHandlers, HasDragRepositionStartHandlers, HasDragRepositionStopHandlers, HasDragResizeMoveHandlers, HasDragResizeStartHandlers, HasDragResizeStopHandlers, HasDragStartHandlers, HasDragStopHandlers, HasDropHandlers, HasDropMoveHandlers, HasDropOutHandlers, HasDropOverHandlers, HasFocusChangedHandlers, HasHoverHandlers, HasHoverHiddenHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseStillDownHandlers, HasMouseUpHandlers, HasMouseWheelHandlers, HasMovedHandlers, HasParentMovedHandlers, HasResizedHandlers, HasRightMouseDownHandlers, HasScrolledHandlers, HasShowContextMenuHandlers, HasVisibilityChangedHandlers, HasMembersChangedHandlers
  Direct Known Subclasses:
    ColumnTree, FilterBuilder, HLayout, HStack, ListPropertiesPane, PortalLayout, SplitPane, Toolbar, ToolStrip, VLayout, VStack

      public class Layout
      extends Canvas
      implements HasMembersChangedHandlers

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

  A Layout manages a set of "member" Canvases initialized via the "members" property. Layouts can have both "members", which are managed by the Layout, and normal Canvas children, which are unmanaged.

  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.

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

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

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

- - ### Nested Class Summary

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

      `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 and Description
    `Layout()`
    `Layout(JavaScriptObject jsObj)`

  - ### Method Summary

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

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

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

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

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

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

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

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

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

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

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

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

      `fireEvent`

- - ### Constructor Detail

    - #### Layout

          public Layout()

    - #### Layout

          public Layout(JavaScriptObject jsObj)

  - ### Method Detail

    - #### getOrCreateRef

          public static Layout getOrCreateRef(JavaScriptObject jsObj)

    - #### changeAutoChildDefaults

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

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

    - #### changeAutoChildDefaults

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

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

    - #### create

          protected JavaScriptObject create()

      Overrides:
        `create` in class `Canvas`

    - #### setAnimateMembers

          public void setAnimateMembers(java.lang.Boolean animateMembers)

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

    - #### getAnimateMembers

          public java.lang.Boolean getAnimateMembers()

      If true when members are added / removed, they should be animated as they are shown or hidden in position
      Returns:
        Boolean
      See Also:
        Layout Add & Remove Example

    - #### setAnimateMemberTime

          public void setAnimateMemberTime(java.lang.Integer animateMemberTime)

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

      Note : This is an advanced setting

      Parameters:
        `animateMemberTime` - Default value is null

    - #### getAnimateMemberTime

          public java.lang.Integer getAnimateMemberTime()

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

    - #### setCanDropComponents

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

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

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

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

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

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

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

      Note : This is an advanced setting

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

    - #### getCanDropComponents

          public java.lang.Boolean getCanDropComponents()

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

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

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

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

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

      If you want to completely suppress the builtin drag and drop logic, but still receive drag and drop events for your own custom implementation, set `canAcceptDrop` to `true` and `canDropComponents` to `false` on your Layout.
      Returns:
        Boolean
      See Also:
        `Dragdrop overview and related methods`

    - #### setDefaultResizeBars

          public void setDefaultResizeBars(LayoutResizeBarPolicy defaultResizeBars)

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

    - #### getDefaultResizeBars

          public LayoutResizeBarPolicy getDefaultResizeBars()

      Policy for whether resize bars are shown on members by default. Note that this setting changes the effect of `showResizeBar` for members of this layout.
      Returns:
        LayoutResizeBarPolicy
      See Also:
        `Canvas.getShowResizeBar()`

    - #### getDropLine

          public Canvas getDropLine()
                             throws java.lang.IllegalStateException

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

      For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Canvas
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.
      See Also:
        Drag move Example

    - #### setDropLineThickness

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

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

      Note : This is an advanced setting

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

    - #### getDropLineThickness

          public int getDropLineThickness()

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

    - #### setEditProxyConstructor

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

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

    - #### getEditProxyConstructor

          public java.lang.String getEditProxyConstructor()

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

    - #### setEnforcePolicy

          public void setEnforcePolicy(java.lang.Boolean enforcePolicy)

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

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

      Note : This is an advanced setting

      Parameters:
        `enforcePolicy` - Default value is true

    - #### getEnforcePolicy

          public java.lang.Boolean getEnforcePolicy()

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

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

      Returns:
        Boolean

    - #### setHPolicy

          public void setHPolicy(LayoutPolicy hPolicy)

      Sizing policy applied to members on horizontal axis

      Note : This is an advanced setting

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

    - #### getHPolicy

          public LayoutPolicy getHPolicy()

      Sizing policy applied to members on horizontal axis
      Returns:
        LayoutPolicy

    - #### setLayoutBottomMargin

          public void setLayoutBottomMargin(java.lang.Integer layoutBottomMargin)

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

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

      Parameters:
        `layoutBottomMargin` - Default value is null

    - #### getLayoutBottomMargin

          public java.lang.Integer getLayoutBottomMargin()

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

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

      Returns:
        Integer

    - #### setLayoutLeftMargin

          public void setLayoutLeftMargin(java.lang.Integer layoutLeftMargin)

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

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

      Parameters:
        `layoutLeftMargin` - Default value is null

    - #### getLayoutLeftMargin

          public java.lang.Integer getLayoutLeftMargin()

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

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

      Returns:
        Integer

    - #### setLayoutMargin

          public void setLayoutMargin(java.lang.Integer layoutMargin)

      Space outside of all members. This attribute, along with `layoutLeftMargin` and related properties does not have a true setter method.
      It may be assigned directly at runtime. After setting the property, `Layout.setLayoutMargin()` may be called with no arguments to reflow the layout.
      If this method is called after the component has been drawn/initialized: Method to force a reflow of the layout after directly assigning a value to any of the layout*Margin properties. Takes no arguments.
      Parameters:
        `layoutMargin` - optional new setting for layout.layoutMargin. Regardless of whether a new layout margin is passed, the layout reflows according to the current settings for layoutStartMargin et al. Default value is null
      See Also:
        `setLayoutLeftMargin(java.lang.Integer)`, `setLayoutRightMargin(java.lang.Integer)`, `setLayoutBottomMargin(java.lang.Integer)`, `setLayoutTopMargin(java.lang.Integer)`, `setPaddingAsLayoutMargin(java.lang.Boolean)`, User Sizing Example

    - #### getLayoutMargin

          public java.lang.Integer getLayoutMargin()

      Space outside of all members. This attribute, along with `layoutLeftMargin` and related properties does not have a true setter method.
      It may be assigned directly at runtime. After setting the property, `Layout.setLayoutMargin()` may be called with no arguments to reflow the layout.
      Returns:
        Integer
      See Also:
        `getLayoutLeftMargin()`, `getLayoutRightMargin()`, `getLayoutBottomMargin()`, `getLayoutTopMargin()`, `getPaddingAsLayoutMargin()`, User Sizing Example

    - #### setLayoutRightMargin

          public void setLayoutRightMargin(java.lang.Integer layoutRightMargin)

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

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

      Parameters:
        `layoutRightMargin` - Default value is null

    - #### getLayoutRightMargin

          public java.lang.Integer getLayoutRightMargin()

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

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

      Returns:
        Integer

    - #### setLayoutTopMargin

          public void setLayoutTopMargin(java.lang.Integer layoutTopMargin)

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

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

      Parameters:
        `layoutTopMargin` - Default value is null

    - #### getLayoutTopMargin

          public java.lang.Integer getLayoutTopMargin()

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

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

      Returns:
        Integer

    - #### setLeaveScrollbarGap

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

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

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

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

    - #### getLeaveScrollbarGap

          public java.lang.Boolean getLeaveScrollbarGap()

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

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

      Returns:
        Boolean

    - #### setLocateMembersBy

          public void setLocateMembersBy(LocatorStrategy locateMembersBy)

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

      Note : This is an advanced setting

      Parameters:
        `locateMembersBy` - Default value is null

    - #### getLocateMembersBy

          public LocatorStrategy getLocateMembersBy()

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

    - #### setLocateMembersType

          public void setLocateMembersType(LocatorTypeStrategy locateMembersType)

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

      Note : This is an advanced setting

      Parameters:
        `locateMembersType` - Default value is null

    - #### getLocateMembersType

          public LocatorTypeStrategy getLocateMembersType()

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

    - #### setManagePercentBreadth

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

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

    - #### getManagePercentBreadth

          public java.lang.Boolean getManagePercentBreadth()

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

    - #### setMemberOverlap

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

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

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

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

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

    - #### getMemberOverlap

          public int getMemberOverlap()

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

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

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

      Returns:
        int
      See Also:
        `LayoutMember overview and related methods`

    - #### setMembers

          public void setMembers(Canvas... members)

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

    - #### getMembers

          public Canvas[] getMembers()

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

    - #### setMembersMargin

          public void setMembersMargin(int membersMargin)

      Space between each member of the layout.

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

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

    - #### getMembersMargin

          public int getMembersMargin()

      Space between each member of the layout.

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

      Returns:
        int
      See Also:
        User Sizing Example

    - #### setMinMemberSize

          public void setMinMemberSize(int minMemberSize)

      Minimum size, in pixels, below which flexible-sized members should never be shrunk, even if this requires the Layout to overflow.

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

      Parameters:
        `minMemberSize` - Default value is 1

    - #### getMinMemberSize

          public int getMinMemberSize()

      Minimum size, in pixels, below which flexible-sized members should never be shrunk, even if this requires the Layout to overflow.

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

      Returns:
        int

    - #### setOverflow

          public void setOverflow(Overflow overflow)

      Normal `Overflow` settings can be used on layouts, for example, an overflow:auto Layout will scroll if members exceed its specified size, whereas an overflow:visible Layout will grow to accommodate members.
      Overrides:
        `setOverflow` in class `Canvas`
      Parameters:
        `overflow` - Default value is "visible"
      See Also:
        `Sizing overview and related methods`

    - #### getOverflow

          public Overflow getOverflow()

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

    - #### setPaddingAsLayoutMargin

          public void setPaddingAsLayoutMargin(java.lang.Boolean paddingAsLayoutMargin)

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

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

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

      Note : This is an advanced setting

      Parameters:
        `paddingAsLayoutMargin` - Default value is true

    - #### getPaddingAsLayoutMargin

          public java.lang.Boolean getPaddingAsLayoutMargin()

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

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

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

      Returns:
        Boolean

    - #### setPlaceHolderDefaults

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

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

    - #### setPlaceHolderProperties

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

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

    - #### getResizeBar

          public Splitbar getResizeBar()

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

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

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

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

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

      See `AutoChildUsage` for more information.

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

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

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

      Returns:
        null

    - #### setResizeBarClass

          public void setResizeBarClass(java.lang.String resizeBarClass)

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

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

      Note : This is an advanced setting

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

    - #### getResizeBarClass

          public java.lang.String getResizeBarClass()

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

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

      Returns:
        String
      See Also:
        `Splitbar`, `ImgSplitbar`

    - #### setResizeBarSize

          public void setResizeBarSize(int resizeBarSize)

      Thickness of the resizeBar in pixels.

      Note : This is an advanced setting

      Parameters:
        `resizeBarSize` - Default value is 7

    - #### getResizeBarSize

          public int getResizeBarSize()

      Thickness of the resizeBar in pixels.
      Returns:
        int

    - #### setReverseOrder

          public void setReverseOrder(java.lang.Boolean reverseOrder)

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

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

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

      Parameters:
        `reverseOrder` - Default value is false

    - #### getReverseOrder

          public java.lang.Boolean getReverseOrder()

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

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

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

      Returns:
        Boolean

    - #### setShowDragPlaceHolder

          public void setShowDragPlaceHolder(java.lang.Boolean showDragPlaceHolder)

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

    - #### getShowDragPlaceHolder

          public java.lang.Boolean getShowDragPlaceHolder()

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

    - #### setShowDropLines

          public void setShowDropLines(java.lang.Boolean showDropLines)

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

    - #### getShowDropLines

          public java.lang.Boolean getShowDropLines()

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

    - #### setStackZIndex

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

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

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

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

    - #### getStackZIndex

          public java.lang.String getStackZIndex()

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

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

      Returns:
        String

    - #### setVertical

          public void setVertical(java.lang.Boolean vertical)

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

    - #### getVertical

          public java.lang.Boolean getVertical()

      Should this layout appear with members stacked vertically or horizontally. Defaults to `false` if unspecified.
      Returns:
        Boolean

    - #### setVPolicy

          public void setVPolicy(LayoutPolicy vPolicy)

      Sizing policy applied to members on vertical axis

      Note : This is an advanced setting

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

    - #### getVPolicy

          public LayoutPolicy getVPolicy()

      Sizing policy applied to members on vertical axis
      Returns:
        LayoutPolicy

    - #### getDropPosition

          public int getDropPosition()

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

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

      Returns:
        the position a new member would be dropped

    - #### getMember

          public Canvas getMember(java.lang.String memberID)

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

      If passed a member Canvas, just returns it.

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

    - #### getMemberDefaultBreadth

          public void getMemberDefaultBreadth(Canvas member,
                                     int defaultBreadth)

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

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

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

    - #### getMemberNumber

          public int getMemberNumber(java.lang.String memberID)

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

      If passed a number, just returns it.

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

    - #### hasMember

          public java.lang.Boolean hasMember(Canvas canvas)

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

    - #### hideDropLine

          public void hideDropLine()

      Calling this method hides the dropLine shown during a drag and drop interaction with a Layout that has `canDropComponents` set to true. This method is only useful for custom implementations of `Layout.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.

    - #### 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(java.lang.String reason)

      Layout members according to current settings.

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

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

    - #### reflowNow

          public void reflowNow()

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

    - #### removeMember

          public void removeMember(Canvas member)

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

    - #### removeMembers

          public void removeMembers(Canvas... members)

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

    - #### removeMembers

          public void removeMembers(Canvas members)

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

    - #### reorderMember

          public void reorderMember(int memberNum,
                           int newPosition)

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

    - #### reorderMembers

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

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

    - #### setVisibleMember

          public void setVisibleMember(Canvas member)

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

    - #### showMember

          public void showMember(Canvas member)

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

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

      Parameters:
        `member` - Member to show

    - #### showMember

          public void showMember(Canvas member,
                        Function callback)

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

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

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

    - #### setDefaultProperties

          public static void setDefaultProperties(Layout layoutProperties)

      Class level method to set the default properties of this class. If set, then all existing and subsequently created instances of this class will automatically have default properties corresponding to the properties set on the SmartGWT class instance passed to this function before its underlying SmartClient JS object was created. This is a powerful feature that eliminates the need for users to create a separate hierarchy of subclasses that only alter the default properties of this class. Can also be used for skinning / styling purposes.

      Note: This method is intended for setting default attributes only and will affect all instances of the underlying class (including those automatically generated in JavaScript). This method should not be used to apply standard EventHandlers or override methods for a class - use a custom subclass instead. Calling this method after instances have been created can result in undefined behavior, since it bypasses any setters and a class instance may have already examined a particular property and not be expecting any changes through this route.

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

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

    - #### addMemberPostCreate

          protected void addMemberPostCreate(java.lang.Object componentJS)

    - #### addMemberPreCreate

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

    - #### addMemberPostCreate

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

    - #### setDefaultLayoutAlign

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

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

    - #### setDefaultLayoutAlign

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

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

    - #### setDropLineProperties

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

      Throws:
        `java.lang.IllegalStateException`

    - #### setAlign

          public void setAlign(Alignment alignment)

      Alignment of all members in this Layout on the length axis. Defaults to "top" for vertical Layouts, and "left" for horizontal Layouts.
      Overrides:
        `setAlign` in class `Canvas`
      Parameters:
        `alignment` - alignment Default value is null

    - #### setAlign

          public void setAlign(VerticalAlignment alignment)

      Alignment of all members in this Layout on the length axis. Defaults to "top" for vertical Layouts, and "left" for horizontal Layouts.
      Parameters:
        `alignment` - alignment Default value is null

    - #### getMember

          public Canvas getMember(int index)

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

      If passed a member Canvas, just returns it.

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

    - #### getMemberNumber

          public int getMemberNumber(Canvas member)

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

      If passed a number, just returns it.

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

    - #### setLogicalStructure

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

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

    - #### getLogicalStructure

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

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