com.smartgwt.client.widgets.tile

## Class TileLayout

- 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.tile.TileLayout

- All Implemented Interfaces:
    com.google.gwt.event.logical.shared.HasAttachHandlers, com.google.gwt.event.shared.HasHandlers, com.google.gwt.user.client.EventListener, com.google.gwt.user.client.ui.HasVisibility, com.google.gwt.user.client.ui.IsWidget, LogicalStructure, HasClearHandlers, HasClickHandlers, HasDoubleClickHandlers, HasDragMoveHandlers, HasDragRepositionMoveHandlers, HasDragRepositionStartHandlers, HasDragRepositionStopHandlers, HasDragResizeMoveHandlers, HasDragResizeStartHandlers, HasDragResizeStopHandlers, HasDragStartHandlers, HasDragStopHandlers, HasDropHandlers, HasDropMoveHandlers, HasDropOutHandlers, HasDropOverHandlers, HasFocusChangedHandlers, HasHoverHandlers, HasHoverHiddenHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseStillDownHandlers, HasMouseUpHandlers, HasMouseWheelHandlers, HasMovedHandlers, HasParentMovedHandlers, HasResizedHandlers, HasRightMouseDownHandlers, HasRuleContextChangedHandlers, HasScrolledHandlers, HasShowContextMenuHandlers, HasVisibilityChangedHandlers
  Direct Known Subclasses:
    FlowLayout, TileGrid

      public class TileLayout
      extends Canvas

  Lays out a series of components, called "tiles", in a grid with multiple tiles per row.

- - ### Nested Class Summary

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

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

  - ### Field Summary

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

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

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

      `DEBUG_ID_PREFIX`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addTile(Canvas tile)` Add a tile to the layout, dynamically.
    `void` | `addTile(Canvas tile, java.lang.Integer index)` Add a tile to the layout, dynamically.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, Canvas defaults)` Changes the defaults for Canvas AutoChildren named `autoChildName`.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, FormItem defaults)` Changes the defaults for FormItem AutoChildren named `autoChildName`.
    `protected com.google.gwt.core.client.JavaScriptObject` | `create()`
    `java.lang.Boolean` | `getAnimateTileChange()` If set, tiles animate to their new positions when a tile is added, removed, or reordered via drag and drop.
    `java.lang.Boolean` | `getAutoWrapLines()` When `LayoutPolicy` is "flow", should we automatically start a new line when there's not enough room to fit the next tile on the same line?
    `DragDataAction` | `getDragDataAction()` Indicates what to do with data dragged into another DataBoundComponent.
    `Canvas` | `getDragLine()` Canvas used to display a drop indicator when a another canvas is dragged over this widget.
    `java.lang.String` | `getDragLineStyle()` The CSS class applied to the `dragLine` autochild.
    `int` | `getDragLineThickness()` Thickness of the `dragLine` autochild.
    `int` | `getDropIndex()` Returns the tile index of the tile that would currently be dropped on by the drag in process.
    `java.lang.Boolean` | `getExpandMargins()` With `LayoutPolicy`:"fit", should margins be expanded so that tiles fill the available space in the TileLayout on the breadth axis? This can also affect `tileWidth` or `tileHeight`.
    `java.lang.Integer` | `getLayoutMargin()` A margin left around the outside of all tiles.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `getLogicalStructure()` Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `static TileLayout` | `getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `Orientation` | `getOrientation()` Direction of tiling.
    `Overflow` | `getOverflow()` Normal `Overflow` settings can be used on TileLayouts, for example, an overflow:auto TileLayout will scroll if members exceed its specified size, whereas an overflow:visible TileLayout 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?
    `java.lang.Boolean` | `getShowDragLine()` Set false to prevent the `dragLine` autochild from showing during dragging.
    `Canvas` | `getTile(int index)` Retrieve a tile by index.
    `java.lang.Integer` | `getTileHeight()` Height of each tile in pixels.
    `java.lang.Integer` | `getTileHMargin()` Horizontal margin in between tiles.
    `int` | `getTileMargin()` Margin in between tiles.
    `int` | `getTileSize()` Size of each tile in pixels.
    `java.lang.Integer` | `getTilesPerLine()` Number of tiles to show in each line.
    `java.lang.Integer` | `getTileVMargin()` Vertical margin in between tiles.
    `java.lang.Integer` | `getTileWidth()` Width of each tile in pixels.
    `void` | `layoutTiles()` Forces layout out the tiles
    `boolean` | `removeTile(Canvas tile)` Remove a tile from the layout.
    `boolean` | `removeTile(int tileIndex)` Remove a tile from the layout.
    `boolean` | `removeTile(java.lang.String tileID)` Remove a tile from the layout.
    `TileLayout` | `setAnimateTileChange(java.lang.Boolean animateTileChange)` If set, tiles animate to their new positions when a tile is added, removed, or reordered via drag and drop.
    `TileLayout` | `setAutoWrapLines(java.lang.Boolean autoWrapLines)` When `LayoutPolicy` is "flow", should we automatically start a new line when there's not enough room to fit the next tile on the same line?
    `static void` | `setDefaultProperties(TileLayout tileLayoutProperties)` Class level method to set the default properties of this class.
    `TileLayout` | `setDragDataAction(DragDataAction dragDataAction)` Indicates what to do with data dragged into another DataBoundComponent.
    `TileLayout` | `setDragLineStyle(java.lang.String dragLineStyle)` The CSS class applied to the `dragLine` autochild.
    `TileLayout` | `setDragLineThickness(int dragLineThickness)` Thickness of the `dragLine` autochild.
    `TileLayout` | `setExpandMargins(java.lang.Boolean expandMargins)` With `LayoutPolicy`:"fit", should margins be expanded so that tiles fill the available space in the TileLayout on the breadth axis? This can also affect `tileWidth` or `tileHeight`.
    `TileLayout` | `setLayoutMargin(java.lang.Integer layoutMargin)` A margin left around the outside of all tiles.
    `void` | `setLayoutPolicy(TileLayoutPolicy layoutPolicy)` Policy for laying out tiles.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `setLogicalStructure(com.smartgwt.logicalstructure.widgets.tile.TileLayoutLogicalStructure s)` Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `TileLayout` | `setOrientation(Orientation orientation)` Direction of tiling.
    `TileLayout` | `setOverflow(Overflow overflow)` Normal `Overflow` settings can be used on TileLayouts, for example, an overflow:auto TileLayout will scroll if members exceed its specified size, whereas an overflow:visible TileLayout will grow to accommodate members.
    `TileLayout` | `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?
    `TileLayout` | `setShowDragLine(java.lang.Boolean showDragLine)` Set false to prevent the `dragLine` autochild from showing during dragging.
    `TileLayout` | `setTileHeight(java.lang.Integer tileHeight)` Height of each tile in pixels.
    `TileLayout` | `setTileHMargin(java.lang.Integer tileHMargin)` Horizontal margin in between tiles.
    `TileLayout` | `setTileMargin(int tileMargin)` Margin in between tiles.
    `TileLayout` | `setTiles(Canvas... tiles)` List of tiles to lay out.
    `TileLayout` | `setTileSize(int tileSize)` Size of each tile in pixels.
    `TileLayout` | `setTilesPerLine(java.lang.Integer tilesPerLine)` Number of tiles to show in each line.
    `TileLayout` | `setTileVMargin(java.lang.Integer tileVMargin)` Vertical margin in between tiles.
    `TileLayout` | `setTileWidth(java.lang.Integer tileWidth)` Width of each tile in pixels.
    `Rectangle` | `transformTileRect(int left, int top, int width, int height)` Transforms the input tile `relative rect` to an absolute page rect that you can apply to your own drop indicator canvas.

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

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

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

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

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

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

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

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

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

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

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

      `fireEvent`

- - ### Constructor Detail

    - #### TileLayout

          public TileLayout()

    - #### TileLayout

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

  - ### Method Detail

    - #### getOrCreateRef

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

    - #### changeAutoChildDefaults

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

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

    - #### changeAutoChildDefaults

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

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

    - #### create

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

      Overrides:
        `create` in class `Canvas`

    - #### setAnimateTileChange

          public TileLayout setAnimateTileChange(java.lang.Boolean animateTileChange)

      If set, tiles animate to their new positions when a tile is added, removed, or reordered via drag and drop.

      Note : This is an advanced setting

      Parameters:
        `animateTileChange` - New animateTileChange value. Default value is true
      Returns:
        `TileLayout` instance, for chaining setter calls
      See Also:
        `Appearance overview and related methods`

    - #### getAnimateTileChange

          public java.lang.Boolean getAnimateTileChange()

      If set, tiles animate to their new positions when a tile is added, removed, or reordered via drag and drop.
      Returns:
        Current animateTileChange value. Default value is true
      See Also:
        `Appearance overview and related methods`

    - #### setAutoWrapLines

          public TileLayout setAutoWrapLines(java.lang.Boolean autoWrapLines)
                                      throws java.lang.IllegalStateException

      When `LayoutPolicy` is "flow", should we automatically start a new line when there's not enough room to fit the next tile on the same line?

      If set to false, a new line will only be started if a tile specifies `tile.startLine` or `tile.endLine`.

      Parameters:
        `autoWrapLines` - New autoWrapLines value. Default value is true
      Returns:
        `TileLayout` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getAutoWrapLines

          public java.lang.Boolean getAutoWrapLines()

      When `LayoutPolicy` is "flow", should we automatically start a new line when there's not enough room to fit the next tile on the same line?

      If set to false, a new line will only be started if a tile specifies `tile.startLine` or `tile.endLine`.

      Returns:
        Current autoWrapLines value. Default value is true

    - #### setDragDataAction

          public TileLayout setDragDataAction(DragDataAction dragDataAction)

      Indicates what to do with data dragged into another DataBoundComponent. See DragDataAction type for details.
      Parameters:
        `dragDataAction` - New dragDataAction value. Default value is Canvas.MOVE
      Returns:
        `TileLayout` instance, for chaining setter calls
      See Also:
        Drag move Example, Drag copy Example

    - #### getDragDataAction

          public DragDataAction getDragDataAction()

      Indicates what to do with data dragged into another DataBoundComponent. See DragDataAction type for details.
      Returns:
        Current dragDataAction value. Default value is Canvas.MOVE
      See Also:
        Drag move Example, Drag copy Example

    - #### getDragLine

          public Canvas getDragLine()
                             throws java.lang.IllegalStateException

      Canvas used to display a drop indicator when a another canvas is dragged over this widget.

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

      Returns:
        Current dragLine value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setDragLineStyle

          public TileLayout setDragLineStyle(java.lang.String dragLineStyle)
                                      throws java.lang.IllegalStateException

      The CSS class applied to the `dragLine` autochild.
      Parameters:
        `dragLineStyle` - New dragLineStyle value. Default value is "layoutDropLine"
      Returns:
        `TileLayout` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `CSSStyleName`

    - #### getDragLineStyle

          public java.lang.String getDragLineStyle()

      The CSS class applied to the `dragLine` autochild.
      Returns:
        Current dragLineStyle value. Default value is "layoutDropLine"
      See Also:
        `CSSStyleName`

    - #### setDragLineThickness

          public TileLayout setDragLineThickness(int dragLineThickness)

      Thickness of the `dragLine` autochild.
      Parameters:
        `dragLineThickness` - New dragLineThickness value. Default value is 2
      Returns:
        `TileLayout` instance, for chaining setter calls

    - #### getDragLineThickness

          public int getDragLineThickness()

      Thickness of the `dragLine` autochild.
      Returns:
        Current dragLineThickness value. Default value is 2

    - #### setExpandMargins

          public TileLayout setExpandMargins(java.lang.Boolean expandMargins)
                                      throws java.lang.IllegalStateException

      With `LayoutPolicy`:"fit", should margins be expanded so that tiles fill the available space in the TileLayout on the breadth axis? This can also affect `tileWidth` or `tileHeight`. See those properties for details.
      Parameters:
        `expandMargins` - New expandMargins value. Default value is true
      Returns:
        `TileLayout` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getExpandMargins

          public java.lang.Boolean getExpandMargins()

      With `LayoutPolicy`:"fit", should margins be expanded so that tiles fill the available space in the TileLayout on the breadth axis? This can also affect `tileWidth` or `tileHeight`. See those properties for details.
      Returns:
        Current expandMargins value. Default value is true

    - #### setLayoutMargin

          public TileLayout setLayoutMargin(java.lang.Integer layoutMargin)
                                     throws java.lang.IllegalStateException

      A margin left around the outside of all tiles.
      Parameters:
        `layoutMargin` - New layoutMargin value. Default value is 5
      Returns:
        `TileLayout` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getLayoutMargin

          public java.lang.Integer getLayoutMargin()

      A margin left around the outside of all tiles.
      Returns:
        Current layoutMargin value. Default value is 5

    - #### setOrientation

          public TileLayout setOrientation(Orientation orientation)
                                    throws java.lang.IllegalStateException

      Direction of tiling. See also `TileLayoutPolicy`.
      Parameters:
        `orientation` - New orientation value. Default value is "horizontal"
      Returns:
        `TileLayout` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getOrientation

          public Orientation getOrientation()

      Direction of tiling. See also `TileLayoutPolicy`.
      Returns:
        Current orientation value. Default value is "horizontal"

    - #### setOverflow

          public TileLayout setOverflow(Overflow overflow)

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

    - #### getOverflow

          public Overflow getOverflow()

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

    - #### setPaddingAsLayoutMargin

          public TileLayout 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 `Layout.layoutMargin` if specified, takes precedence over this value.

      Note : This is an advanced setting

      Parameters:
        `paddingAsLayoutMargin` - New paddingAsLayoutMargin value. Default value is true
      Returns:
        `TileLayout` instance, for chaining setter calls

    - #### 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 `Layout.layoutMargin` if specified, takes precedence over this value.

      Returns:
        Current paddingAsLayoutMargin value. Default value is true

    - #### setShowDragLine

          public TileLayout setShowDragLine(java.lang.Boolean showDragLine)

      Set false to prevent the `dragLine` autochild from showing during dragging.
      Parameters:
        `showDragLine` - New showDragLine value. Default value is null
      Returns:
        `TileLayout` instance, for chaining setter calls

    - #### getShowDragLine

          public java.lang.Boolean getShowDragLine()

      Set false to prevent the `dragLine` autochild from showing during dragging.
      Returns:
        Current showDragLine value. Default value is null

    - #### setTileHeight

          public TileLayout setTileHeight(java.lang.Integer tileHeight)
                                   throws java.lang.IllegalStateException

      Height of each tile in pixels. See `tileSize`. If `TileLayoutPolicy` is "fit", `expandMargins` is false, `tilesPerLine` is set, `Orientation` is "vertical", and tileHeight is not set, tileHeight will be computed automatically based on `tilesPerLine`.
      If this method is called after the component has been drawn/initialized: Sets the height of tiles.
      Parameters:
        `tileHeight` - height. Default value is null
      Returns:
        `TileLayout` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Sizing overview and related methods`

    - #### getTileHeight

          public java.lang.Integer getTileHeight()

      Height of each tile in pixels. See `tileSize`. If `TileLayoutPolicy` is "fit", `expandMargins` is false, `tilesPerLine` is set, `Orientation` is "vertical", and tileHeight is not set, tileHeight will be computed automatically based on `tilesPerLine`.
      Returns:
        Current tileHeight value. Default value is null
      See Also:
        `Sizing overview and related methods`

    - #### setTileHMargin

          public TileLayout setTileHMargin(java.lang.Integer tileHMargin)
                                    throws java.lang.IllegalStateException

      Horizontal margin in between tiles. See `tileMargin`.
      If this method is called after the component has been drawn/initialized: Sets the horizontal margin of tiles.
      Parameters:
        `tileHMargin` - margin. Default value is null
      Returns:
        `TileLayout` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getTileHMargin

          public java.lang.Integer getTileHMargin()

      Horizontal margin in between tiles. See `tileMargin`.
      Returns:
        Current tileHMargin value. Default value is null

    - #### setTileMargin

          public TileLayout setTileMargin(int tileMargin)
                                   throws java.lang.IllegalStateException

      Margin in between tiles. Can be set on a per-axis basis with `tileHMargin` and `tileVMargin`.
      If this method is called after the component has been drawn/initialized: Sets the vertical and horizontal margin of tiles.
      Parameters:
        `tileMargin` - margin. Default value is 10
      Returns:
        `TileLayout` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getTileMargin

          public int getTileMargin()

      Margin in between tiles. Can be set on a per-axis basis with `tileHMargin` and `tileVMargin`.
      Returns:
        Current tileMargin value. Default value is 10

    - #### setTiles

          public TileLayout setTiles(Canvas... tiles)
                              throws java.lang.IllegalStateException

      List of tiles to lay out.
      Parameters:
        `tiles` - New tiles value. Default value is null
      Returns:
        `TileLayout` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### setTileSize

          public TileLayout setTileSize(int tileSize)
                                 throws java.lang.IllegalStateException

      Size of each tile in pixels. Depending on the `TileLayoutPolicy`, `tileSize` may be taken as a maximum, minimum or exact size of tiles, or may be irrelevant.

      Width and height may be separately set via `tileHeight` and `tileWidth`.
      If this method is called after the component has been drawn/initialized: Sets the height and width of tiles.

      Parameters:
        `tileSize` - size. Default value is 100
      Returns:
        `TileLayout` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Sizing overview and related methods`

    - #### getTileSize

          public int getTileSize()

      Size of each tile in pixels. Depending on the `TileLayoutPolicy`, `tileSize` may be taken as a maximum, minimum or exact size of tiles, or may be irrelevant.

      Width and height may be separately set via `tileHeight` and `tileWidth`.

      Returns:
        Current tileSize value. Default value is 100
      See Also:
        `Sizing overview and related methods`

    - #### setTilesPerLine

          public TileLayout setTilesPerLine(java.lang.Integer tilesPerLine)

      Number of tiles to show in each line. Auto-derived from `tileSize` for some layout modes. See `TileLayoutPolicy`. This can also affect `tileWidth` or `tileHeight`. See those properties for details.
      If this method is called after the component has been drawn/initialized: Sets the number of tiles per line.
      Parameters:
        `tilesPerLine` - New `tilesPerLine` value. Default value is null
      Returns:
        `TileLayout` instance, for chaining setter calls

    - #### getTilesPerLine

          public java.lang.Integer getTilesPerLine()

      Number of tiles to show in each line. Auto-derived from `tileSize` for some layout modes. See `TileLayoutPolicy`. This can also affect `tileWidth` or `tileHeight`. See those properties for details.
      Returns:
        Current tilesPerLine value. Default value is null

    - #### setTileVMargin

          public TileLayout setTileVMargin(java.lang.Integer tileVMargin)
                                    throws java.lang.IllegalStateException

      Vertical margin in between tiles. See `tileMargin`.
      If this method is called after the component has been drawn/initialized: Sets the vertical margin of tiles.
      Parameters:
        `tileVMargin` - margin. Default value is null
      Returns:
        `TileLayout` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getTileVMargin

          public java.lang.Integer getTileVMargin()

      Vertical margin in between tiles. See `tileMargin`.
      Returns:
        Current tileVMargin value. Default value is null

    - #### setTileWidth

          public TileLayout setTileWidth(java.lang.Integer tileWidth)
                                  throws java.lang.IllegalStateException

      Width of each tile in pixels. See `tileSize`. If `TileLayoutPolicy` is "fit", `expandMargins` is false, `tilesPerLine` is set, `Orientation` is "horizontal", and tileWidth is not set, tileWidth will be computed automatically based on `tilesPerLine`.
      If this method is called after the component has been drawn/initialized: Sets the width of tiles.
      Parameters:
        `tileWidth` - width. Default value is null
      Returns:
        `TileLayout` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Sizing overview and related methods`

    - #### getTileWidth

          public java.lang.Integer getTileWidth()

      Width of each tile in pixels. See `tileSize`. If `TileLayoutPolicy` is "fit", `expandMargins` is false, `tilesPerLine` is set, `Orientation` is "horizontal", and tileWidth is not set, tileWidth will be computed automatically based on `tilesPerLine`.
      Returns:
        Current tileWidth value. Default value is null
      See Also:
        `Sizing overview and related methods`

    - #### addTile

          public void addTile(Canvas tile)

      Add a tile to the layout, dynamically.
      Parameters:
        `tile` - new tile to add

    - #### addTile

          public void addTile(Canvas tile,
                              java.lang.Integer index)

      Add a tile to the layout, dynamically.
      Parameters:
        `tile` - new tile to add
        `index` - position where the tile should be added. Defaults to adding the tile at the end.

    - #### getDropIndex

          public int getDropIndex()

      Returns the tile index of the tile that would currently be dropped on by the drag in process. Returns one beyond the last valid index to indicate a drop after all tiles. Except for that special case, a non-null index returned by this method may be passed to `getTile()` to get the corresponding visible tile.
      Returns:
        tile index of tile that would currently be dropped on, or the tile count for a drop after all tiles
      See Also:
        `transformTileRect(int, int, int, int)`

    - #### getTile

          public Canvas getTile(int index)

      Retrieve a tile by index.

      The TileLayout consistently uses this method to access tiles, in order to allow subclasses to create tiles on demand.

      Parameters:
        `index` - index of the tile
      Returns:
        the tile

    - #### setDefaultProperties

          public static void setDefaultProperties(TileLayout tileLayoutProperties)

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

    - #### setLayoutPolicy

          public void setLayoutPolicy(TileLayoutPolicy layoutPolicy)
                               throws java.lang.IllegalStateException

      Policy for laying out tiles. See `TileLayoutPolicy` for options.
      Parameters:
        `layoutPolicy` - layoutPolicy Default value is ""
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### removeTile

          public boolean removeTile(int tileIndex)

      Remove a tile from the layout.
      Parameters:
        `tileIndex` - index or String ID of the tile
      Returns:
        whether a tile was found and removed

    - #### removeTile

          public boolean removeTile(java.lang.String tileID)

      Remove a tile from the layout.
      Parameters:
        `tileID` - index or String ID of the tile
      Returns:
        whether a tile was found and removed

    - #### removeTile

          public boolean removeTile(Canvas tile)

      Remove a tile from the layout.
      Parameters:
        `tile` - index or String ID of the tile
      Returns:
        whether a tile was found and removed

    - #### layoutTiles

          public void layoutTiles()

      Forces layout out the tiles

    - #### transformTileRect

          public Rectangle transformTileRect(int left,
                                             int top,
                                             int width,
                                             int height)

      Transforms the input tile `relative rect` to an absolute page rect that you can apply to your own drop indicator canvas. The supplied rect is automatically clipped along the direction perpendicular to the layout's `orientation` if it extends beyond the visible edges of the layout, just like the `dragLine` autochild.

      Note: This is an advanced setting. Only code your own drop indicator if you can't get what you need by customizing and `styling` the built-in `dragLine` autochild!

      To build your own:

      - Create a separate indicator `Canvas`, positioned off screen with the appropriate color, opacity, and `style` that you want. Set the indicator's `dropTarget` to be the layout to so the indicator is ignored.
      - Override `dropMove()` to call `getDropIndex()`, retrieve the tile, get the `tile's relative rect`, and modify the rect as you need to size your indicator properly.
      - You'll have to manually handle the case of the drop index pointing beyond the last record, perhaps by grabbing the last tile rect, but narrowing it to the opposite side.
      - Pass the modified rect to this method to clip and transform it to an absolute rect, and then `set that new rect` into your drop indicator and `show()` it.
      - You will need to `hide()` the drop indicator in `dropOut()`.

      Sample code to insert into the SGWT LGPL "Basic Tiling" sample, replacing getViewPanel():

              public static class MyTileGrid extends TileGrid {
                  Canvas dropIndicator;

                  void showDropIndicator(int left, int top, int width, int height) {
                      // create the indicator if it doesn't exist
                      if (dropIndicator == null) {
                          dropIndicator = new Canvas();
                          dropIndicator.setTop(-1000);
                          dropIndicator.setOpacity(40);
                          dropIndicator.setDropTarget(this);
                          dropIndicator.setBackgroundColor("yellow");
                          dropIndicator.draw();
                      }
                      // transform the rect to a page rect and clip to grid borders
                      Rectangle rect = transformTileRect(left, top, width, height);
                      dropIndicator.setRect(rect);
                      dropIndicator.show();
                  }
              }

              public Canvas getViewPanel() {
                  TileGrid tileGrid = new MyTileGrid();

                  tileGrid.setTileWidth(194);
                  tileGrid.setTileHeight(180);
                  tileGrid.setHeight(400);
                  tileGrid.setWidth100();
                  tileGrid.setCanReorderTiles(true);
                  tileGrid.setShowAllRecords(true);
                  tileGrid.setData(CarData.getRecords());
                  tileGrid.setShowDragLine(false);
                  tileGrid.setCanReorderTiles(true);

                  tileGrid.addDropMoveHandler(new DropMoveHandler() {
                      \@Override
                      public void onDropMove(DropMoveEvent event) {
                          MyTileGrid tg = (MyTileGrid)event.getFiringCanvas();
                          int index  = tg.getDropIndex();
                          int length = tg.getData().length;

                          // you can drop after last tile (special case)
                          boolean after = index >= length;
                          if (after) index = length - 1;

                          // transform tile rect to indicator rect
                          Canvas tile = tg.getTile(index);
                          if (tile != null) {
                              int left = tile.getLeft(),  width = tile.getVisibleWidth(),
                                  top  = tile.getTop(),  height = tile.getVisibleHeight()
                              ;
                              // to show drop after last tile, shift indicator over
                              if (after) left += width - 20;

                              // now show the indicator
                              tg.showDropIndicator(left, top, 20, height);
                          }
                      }
                  });

                  tileGrid.addDropOutHandler(new DropOutHandler() {
                      \@Override
                      public void onDropOut(DropOutEvent event) {
                          MyTileGrid tg = (MyTileGrid)event.getFiringCanvas();
                          if (tg.dropIndicator != null) tg.dropIndicator.hide();
                      }
                  });

                  tileGrid.addClearHandler(new ClearHandler() {
                      \@Override
                      public void onClear(ClearEvent event) {
                          MyTileGrid tg = (MyTileGrid)event.getFiringCanvas();
                          if (tg.dropIndicator != null) {
                              tg.dropIndicator.markForDestroy();
                              tg.dropIndicator = null;
                          }
                      }
                  });

                  // unchanged from here and below...
                     :

      Parameters:
        `left` - new left coordinate
        `top` - new top coordinate
        `width` - new width
        `height` - new height
      Returns:
        the Rectangle

    - #### setLogicalStructure

          public com.smartgwt.logicalstructure.core.LogicalStructureObject setLogicalStructure(com.smartgwt.logicalstructure.widgets.tile.TileLayoutLogicalStructure 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`