com.smartgwt.client.widgets.layout
Class Layout

java.lang.Object
  extended by com.google.gwt.user.client.ui.UIObject
      extended by com.google.gwt.user.client.ui.Widget
          extended by com.smartgwt.client.widgets.BaseWidget
              extended by com.smartgwt.client.widgets.Canvas
                  extended by 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, 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, id, nativeObject, scClassName
 
Fields inherited from class com.google.gwt.user.client.ui.UIObject
DEBUG_ID_PREFIX
 
Constructor Summary
Layout()
           
Layout(JavaScriptObject jsObj)
           
 
Method Summary
 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(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.
 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.
 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 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 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.
 com.smartgwt.logicalstructure.core.LogicalStructureObject getLogicalStructure()
           
 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(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(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.
 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.
protected  void onInit_Layout()
           
protected  void onInit()
           
 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 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(Boolean animateMembers)
          If true when members are added / removed, they should be animated as they are shown or hidden in position
 void 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.
 void 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.
 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 setEnforcePolicy(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(Integer layoutBottomMargin)
          Space outside of all members, on the bottom side.
 void setLayoutLeftMargin(Integer layoutLeftMargin)
          Space outside of all members, on the left-hand side.
 void setLayoutMargin(Integer layoutMargin)
          Space outside of all members.
 void setLayoutRightMargin(Integer layoutRightMargin)
          Space outside of all members, on the right-hand side.
 void setLayoutTopMargin(Integer layoutTopMargin)
          Space outside of all members, on the top side.
 void setLeaveScrollbarGap(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)
           
 void 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.
 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(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(String resizeBarClass)
          Default class to use for creating resizeBars.
 void setResizeBarSize(int resizeBarSize)
          Thickness of the resizeBar in pixels.
 void setReverseOrder(Boolean reverseOrder)
          Reverse the order of stacking for this Layout, so that the last member is shown first.
 void 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.
 void setShowDropLines(Boolean showDropLines)
          Controls whether to show a drop-indicator during a drag and drop operation.
 void setStackZIndex(String stackZIndex)
          For use in conjunction with memberOverlap, controls the z-stacking order of members.
 void 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.
 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, focus, focusInNextTabElement, focusInPreviousTabElement, getAbsoluteLeft, getAbsoluteTop, getAccessKey, getAnimateAcceleration, getAnimateFadeTime, getAnimateHideAcceleration, getAnimateHideTime, getAnimateMoveAcceleration, getAnimateMoveTime, getAnimateRectAcceleration, getAnimateRectTime, getAnimateResizeAcceleration, getAnimateResizeTime, getAnimateScrollAcceleration, getAnimateScrollTime, getAnimateShowAcceleration, getAnimateShowEffect, getAnimateShowTime, getAnimateTime, getAppImgDir, getAriaRole, getAutoDraw, getAutoShowParent, getBackgroundColor, getBackgroundImage, getBackgroundPosition, getBackgroundRepeat, getBorder, getBottom, getById, getByJSObject, getByLocalId, getCanAcceptDrop, getCanDrag, getCanDragReposition, getCanDragResize, getCanDragScroll, getCanDrop, getCanDropBefore, getCanFocus, getCanHover, getCanSelectText, getCanvasAutoChild, getCanvasItem, getChildren, getChildrenSnapResizeToGrid, getChildrenSnapToGrid, getClassName, getContentElement, getContents, getContextMenu, getCursor, getDataPath, getDefaultHeight, getDefaultWidth, getDestroyed, getDestroying, getDisabled, getDisabledCursor, getDoubleClickDelay, getDragAppearance, getDragIntersectStyle, getDragMaskType, getDragOpacity, getDragRepositionAppearance, getDragRepositionCursor, getDragResizeAppearance, getDragScrollDelay, getDragStartDistance, getDragTarget, getDragType, getDropTypes, getDropTypesAsString, getDynamicContents, getEdgeBackgroundColor, getEdgeCenterBackgroundColor, getEdgeImage, getEdgeMarginSize, getEdgeOffset, getEdgeOpacity, getEdgeShowCenter, getEdgeSize, 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, getLeft, getLeftAsString, getLocateChildrenBy, getLocateChildrenType, getLocatePeersBy, getLocatePeersType, getMargin, getMasterCanvas, getMasterElement, getMatchElement, getMaxHeight, getMaxWidth, getMenuConstructor, getMinHeight, 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, getRect, getRedrawOnResize, getResizeBarTarget, getResizeFrom, getRight, getScrollbarSize, getScrollBottom, getScrollHeight, getScrollLeft, getScrollRight, getScrollTop, getScrollWidth, getShadowDepth, getShadowImage, getShadowOffset, getShadowSoftness, getShouldPrint, getShowCustomScrollbars, getShowDragShadow, getShowEdges, getShowHover, getShowHoverComponents, getShowResizeBar, getShowShadow, 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, getValuesManager, getViewportHeight, getViewportWidth, getVisibility, getVisibleHeight, getVisibleWidth, getVSnapOrigin, getVSnapOrigin, getVSnapPosition, getVSnapPosition, getWidth, getWidthAsString, getZIndex, getZIndex, handleHover, hide, hideClickMask, hideClickMask, hideContextMenu, imgHTML, imgHTML, imgHTML, intersects, isDirty, isDisabled, isDrawn, isVisible, keyUp, layoutChildren, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, markForDestroy, markForRedraw, markForRedraw, moveAbove, moveBelow, moveBy, moveTo, onAttach, onDetach, parentResized, printComponents, redraw, redraw, removeChild, removeChild, removePeer, removePeer, resizeBy, resizeTo, resizeTo, scrollBy, scrollByPercent, scrollTo, scrollTo, scrollTo, scrollToBottom, scrollToLeft, scrollToPercent, scrollToRight, scrollToTop, sendToBack, setAccessKey, setAllowExternalFilters, setAnimateAcceleration, setAnimateFadeTime, setAnimateHideAcceleration, setAnimateHideTime, setAnimateMoveAcceleration, setAnimateMoveTime, setAnimateRectAcceleration, setAnimateRectTime, setAnimateResizeAcceleration, setAnimateResizeTime, setAnimateScrollAcceleration, setAnimateScrollTime, setAnimateShowAcceleration, setAnimateShowEffect, setAnimateShowTime, setAnimateTime, setAppImgDir, setAriaRole, setAriaState, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoDraw, setAutoHeight, setAutoShowParent, setAutoWidth, setBackgroundColor, setBackgroundImage, setBackgroundPosition, setBackgroundRepeat, setBorder, setBottom, setCanAcceptDrop, setCanDrag, setCanDragReposition, setCanDragResize, setCanDragScroll, setCanDrop, setCanDropBefore, setCanFocus, setCanHover, setCanSelectText, setChildren, setChildrenSnapResizeToGrid, setChildrenSnapToGrid, setContents, setContextMenu, setCursor, setDataPath, setDefaultHeight, setDefaultProperties, setDefaultWidth, setDisabled, setDisabledCursor, setDoubleClickDelay, setDragAppearance, setDragIntersectStyle, setDragMaskType, setDragOpacity, setDragRepositionAppearance, setDragRepositionCursor, setDragResizeAppearance, setDragScrollDelay, setDragStartDistance, setDragTarget, setDragType, setDropTypes, setDropTypes, setDynamicContents, setEdgeBackgroundColor, setEdgeCenterBackgroundColor, setEdgeImage, setEdgeMarginSize, setEdgeOffset, setEdgeOpacity, setEdgeShowCenter, setEdgeSize, 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, setLeft, setLeft, setLocateChildrenBy, setLocateChildrenType, setLocatePeersBy, setLocatePeersType, setLogicalStructure, setMargin, setMatchElement, setMaxHeight, setMaxWidth, setMenuConstructor, setMinHeight, setMinWidth, setMomentumScrollMinSpeed, setMouseStillDownDelay, setMouseStillDownInitialDelay, setNeverUseFilters, setNoDoubleClicks, setOpacity, setPadding, setPageLeft, setPageTop, setParentCanvas, setParentElement, setPeers, setPercentBox, setPercentSource, setPosition, setPrefix, setPrintChildrenAbsolutelyPositioned, setPrompt, setRect, setRect, setRedrawOnResize, setResizeBarTarget, setResizeFrom, setResizeFrom, setRight, setScrollbarConstructor, setScrollbarSize, setShadowDepth, setShadowImage, setShadowOffset, setShadowSoftness, setShouldPrint, setShowCustomScrollbars, setShowDragShadow, setShowEdges, setShowHover, setShowHoverComponents, setShowResizeBar, setShowShadow, 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, setValuesManager, setVisibility, setVisible, setWidth, setWidth, setWidth, setWidth100, setZIndex, shouldDragScroll, show, showClickMask, 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, 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, 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, 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(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(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(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 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(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 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(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, 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:
IllegalStateException - this property cannot be changed after the component has been created
See Also:
Dragdrop overview and related methods

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, 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 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:
IllegalStateException - if this widget has not yet been rendered.
See Also:
Drag move Example

setDropLineThickness

public void 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 - Default value is 2
Throws:
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

setEnforcePolicy

public void 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 - Default value is true

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:
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(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 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(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 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(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 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(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 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(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 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(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 - Default value is false
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:
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(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 - Default value is true
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:
Boolean

setMemberOverlap

public void 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 extraSpace.

Parameters:
memberOverlap - Default value is 0
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 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): 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): 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)
                 throws IllegalStateException
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"
Throws:
IllegalStateException - this property cannot be changed after the component has been created
See Also:
Sizing overview and related methods

getOverflow

public Overflow getOverflow()
Normal Overflow settings can be used on layouts, for example, an overflow:auto Layout will scroll if 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(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 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 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:
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 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:
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(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 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(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 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(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 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(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 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(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 - Default value is null
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:
String

setVertical

public void setVertical(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 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(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(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 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(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(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 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)

getLogicalStructure

public com.smartgwt.logicalstructure.core.LogicalStructureObject getLogicalStructure()
Specified by:
getLogicalStructure in interface LogicalStructure
Overrides:
getLogicalStructure in class Canvas