Package com.smartgwt.client.widgets

# Class MultiGroupPanel

java.lang.Object
com.google.gwt.user.client.ui.UIObject
com.google.gwt.user.client.ui.Widget
com.smartgwt.client.widgets.BaseWidget
com.smartgwt.client.widgets.Canvas
com.smartgwt.client.widgets.layout.Layout
com.smartgwt.client.widgets.MultiGroupPanel

All Implemented Interfaces:
  `HasAttachHandlers`, `HasHandlers`, `EventListener`, `HasVisibility`, `IsWidget`, `LogicalStructure`, `HasClearHandlers`, `HasClickHandlers`, `HasDoubleClickHandlers`, `HasDragMoveHandlers`, `HasDragRepositionMoveHandlers`, `HasDragRepositionStartHandlers`, `HasDragRepositionStopHandlers`, `HasDragResizeMoveHandlers`, `HasDragResizeStartHandlers`, `HasDragResizeStopHandlers`, `HasDragStartHandlers`, `HasDragStopHandlers`, `HasDropHandlers`, `HasDropMoveHandlers`, `HasDropOutHandlers`, `HasDropOverHandlers`, `HasFocusChangedHandlers`, `HasHoverHandlers`, `HasHoverHiddenHandlers`, `HasKeyDownHandlers`, `HasKeyPressHandlers`, `HasMouseDownHandlers`, `HasMouseMoveHandlers`, `HasMouseOutHandlers`, `HasMouseOverHandlers`, `HasMouseStillDownHandlers`, `HasMouseUpHandlers`, `HasMouseWheelHandlers`, `HasMovedHandlers`, `HasParentMovedHandlers`, `HasResizedHandlers`, `HasRightMouseDownHandlers`, `HasRuleContextChangedHandlers`, `HasScrolledHandlers`, `HasShowContextMenuHandlers`, `HasVisibilityChangedHandlers`, `HasMembersChangedHandlers`

public class MultiGroupPanel extends Layout
A widget that allows the user to set up complex grouping arrangements by defining a group of `GroupSpecifier`s.

Each `GroupSpecifier` applies to a single property and grouping - so, for instance, in a grid with two columns, `Nationhood` and `Country`, you could group first by `Nationhood` with its selected groupingMode and then by `Country` with its selected groupingMode. Important Note: this class should not be used directly - it is exposed purely for `i18n reasons.`

- ## Nested Class Summary

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

  `UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled`

- ## Field Summary

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

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

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

  `DEBUG_ID_PREFIX`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MultiGroupPanel()`
  `MultiGroupPanel(JavaScriptObject jsObj)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `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()`
  `IButton`
  `getAddLevelButton()`
  Automatically generated `IButton` providing a mechanism for adding new levels to the group configuration.
  `String`
  `getAddLevelButtonTitle()`
  The title-text to appear on the addLevelButton
  `IButton`
  `getCopyLevelButton()`
  Automatically generated `IButton` providing a mechanism for duplicating levels in the group configuration.
  `String`
  `getCopyLevelButtonTitle()`
  The title-text to appear on the copyLevelButton
  `IButton`
  `getDeleteLevelButton()`
  Automatically generated `IButton` providing a mechanism for deleting levels from the group configuration.
  `String`
  `getDeleteLevelButtonTitle()`
  The title-text to appear on the deleteLevelButton
  `String`
  `getFirstGroupLevelTitle()`
  The title-text to appear in the first column for the first group-level.
  `GroupSpecifier[]`
  `getGroup()`
  Returns all configured grouping levels, as an array of `GroupSpecifier`s.
  `String`
  `getGroupingFieldTitle()`
  The title-text to appear in the header of the "grouping" field.
  `String`
  `getIconBaseStyle()`
  A CSS style to apply to images in the `Level Up` and `Level Down` buttons.
  `Integer`
  `getIconSize()`
  The size for the images in the `Level Up` and `Level Down` buttons.
  `String`
  `getInvalidListPrompt()`
  This is a dynamic string - text within `${...}` will be evaluated as JS code when the message is displayed.
  `ImgButton`
  `getLevelDownButton()`
  Automatically generated `ImgButton` providing a mechanism for moving existing group-levels down in the group configuration.
  `String`
  `getLevelDownButtonTitle()`
  The hover-prompt for the Level Down button.
  `ImgButton`
  `getLevelUpButton()`
  Automatically generated `ImgButton` providing a mechanism for moving existing group-levels up in the group configuration.
  `String`
  `getLevelUpButtonTitle()`
  The hover-prompt for the Level Up button.
  `LogicalStructureObject`
  `getLogicalStructure()`
  Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
  `Integer`
  `getMaxLevels()`
  The maximum number of levels of grouping that can be applied.
  `int`
  `getNumLevels()`
  Return the number of levels of grouping that have been configured.
  `ListGrid`
  `getOptionsGrid()`
  Automatically generated `ListGrid` allowing the user to configure a set of `GroupSpecifier`s.
  `static MultiGroupPanel`
  `getOrCreateRef(JavaScriptObject jsObj)`
  `String`
  `getOtherGroupLevelTitle()`
  The title-text to appear in the first column for all group-levels other than the first.
  `String`
  `getPropertyFieldTitle()`
  The title-text to appear in the header of the "property" field.
  `void`
  `groupChanged(GroupSpecifier... groupLevels)`
  Fired whenever the group configuration changes.
  `MultiGroupPanel`
  `setAddLevelButtonTitle(String addLevelButtonTitle)`
  The title-text to appear on the addLevelButton
  `MultiGroupPanel`
  `setCopyLevelButtonTitle(String copyLevelButtonTitle)`
  The title-text to appear on the copyLevelButton
  `static void`
  `setDefaultProperties(MultiGroupPanel multiGroupPanelProperties)`
  Class level method to set the default properties of this class.
  `MultiGroupPanel`
  `setDeleteLevelButtonTitle(String deleteLevelButtonTitle)`
  The title-text to appear on the deleteLevelButton
  `MultiGroupPanel`
  `setFirstGroupLevelTitle(String firstGroupLevelTitle)`
  The title-text to appear in the first column for the first group-level.
  `MultiGroupPanel`
  `setGroupingFieldTitle(String groupingFieldTitle)`
  The title-text to appear in the header of the "grouping" field.
  `MultiGroupPanel`
  `setIconBaseStyle(String iconBaseStyle)`
  A CSS style to apply to images in the `Level Up` and `Level Down` buttons.
  `MultiGroupPanel`
  `setIconSize(Integer iconSize)`
  The size for the images in the `Level Up` and `Level Down` buttons.
  `MultiGroupPanel`
  `setInvalidListPrompt(String invalidListPrompt)`
  This is a dynamic string - text within `${...}` will be evaluated as JS code when the message is displayed.
  `MultiGroupPanel`
  `setLevelDownButtonTitle(String levelDownButtonTitle)`
  The hover-prompt for the Level Down button.
  `MultiGroupPanel`
  `setLevelUpButtonTitle(String levelUpButtonTitle)`
  The hover-prompt for the Level Up button.
  `LogicalStructureObject`
  `setLogicalStructure(MultiGroupPanelLogicalStructure s)`
  Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
  `MultiGroupPanel`
  `setMaxLevels(Integer maxLevels)`
  The maximum number of levels of grouping that can be applied.
  `MultiGroupPanel`
  `setOtherGroupLevelTitle(String otherGroupLevelTitle)`
  The title-text to appear in the first column for all group-levels other than the first.
  `MultiGroupPanel`
  `setPropertyFieldTitle(String propertyFieldTitle)`
  The title-text to appear in the header of the "property" field.
  `boolean`
  `validate()`
  Validate that no two `GroupSpecifier`s group on the same `property`.

  ### Methods inherited from class com.smartgwt.client.widgets.layout.Layout

  `addMember, addMember, addMember, addMember, addMemberPostCreate, addMemberPostCreate, addMemberPreCreate, addMemberPreCreate, addMembers, addMembers, addMembersChangedHandler, getAnimateMembers, getAnimateMemberTime, getCanDropComponents, getChildTabPosition, getDefaultResizeBars, getDropComponent, getDropLine, getDropLineThickness, getDropPosition, getEditProxyConstructor, getEnforcePolicy, getHPolicy, getLayoutBottomMargin, getLayoutEndMargin, getLayoutLeftMargin, getLayoutMargin, getLayoutRightMargin, getLayoutStartMargin, getLayoutTopMargin, getLeaveScrollbarGap, getLocateMembersBy, getLocateMembersType, getManagePercentBreadth, getMember, getMember, getMemberDefaultBreadth, getMemberNumber, getMemberNumber, getMemberOverlap, getMembers, getMembersAsStringArray, getMembersLength, getMembersMargin, getMinMemberLength, getMinMemberSize, getOverflow, getPaddingAsLayoutMargin, getResizeBar, getResizeBarClass, getResizeBarSize, getReverseOrder, getShowDragPlaceHolder, getShowDropLines, getStackZIndex, getVertical, getVPolicy, hasMember, hideDropLine, hideMember, hideMember, layoutIsDirty, onInit, onInit_Layout, reflow, reflow, reflowNow, removeMember, removeMembers, removeMembers, reorderMember, reorderMembers, replaceMember, revealChild, revealChild, setAlign, setAlign, setAnimateMembers, setAnimateMemberTime, setCanDropComponents, setDefaultLayoutAlign, setDefaultLayoutAlign, setDefaultProperties, setDefaultResizeBars, setDropLineProperties, setDropLineThickness, setEditProxyConstructor, setEnforcePolicy, setHPolicy, setLayoutBottomMargin, setLayoutEndMargin, setLayoutLeftMargin, setLayoutMargin, setLayoutRightMargin, setLayoutStartMargin, setLayoutTopMargin, setLeaveScrollbarGap, setLocateMembersBy, setLocateMembersType, setLogicalStructure, setManagePercentBreadth, setMemberOverlap, setMembers, setMembers, setMembersMargin, setMinBreadthMember, setMinBreadthMember, setMinBreadthMember, setMinMemberLength, setMinMemberSize, setOverflow, setPaddingAsLayoutMargin, setPlaceHolderDefaults, setPlaceHolderProperties, setResizeBarClass, setResizeBarSize, setReverseOrder, setShowDragPlaceHolder, setShowDropLines, setStackZIndex, setVertical, setVisibleMember, setVPolicy, showMember, showMember`

  ### 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, doValueDictation, doVoiceCommand, enable, encloses, focus, focusAfterGroup, focusAtEnd, focusInNextTabElement, focusInPreviousTabElement, getAbsoluteLeft, getAbsoluteTop, getAccessKey, getAdaptiveHeightPriority, getAdaptiveWidthPriority, getAllCanvases, getAllCanvases, getAllCanvases, getAlwaysManageFocusNavigation, getAlwaysShowScrollbars, getAnimateAcceleration, getAnimateFadeTime, getAnimateHideAcceleration, getAnimateHideEffect, getAnimateHideTime, getAnimateMoveAcceleration, getAnimateMoveTime, getAnimateRectAcceleration, getAnimateRectTime, getAnimateResizeAcceleration, getAnimateResizeLayoutMode, getAnimateResizeTime, getAnimateScrollAcceleration, getAnimateScrollTime, getAnimateShowAcceleration, getAnimateShowEffect, getAnimateShowTime, getAnimateTime, getAppImgDir, getAriaHandleID, getAriaRole, getAriaStateDefaults, getAutoMaskComponents, getAutoParent, getAutoPopulateData, getAutoShowParent, getBackgroundColor, getBackgroundImage, getBackgroundPosition, getBackgroundRepeat, getBorder, getBorderRadius, getBottom, getById, getByJSObject, getByLocalId, getCanAcceptDrop, getCanAdaptHeight, getCanAdaptWidth, getCanDrag, getCanDragReposition, getCanDragResize, getCanDragScroll, getCanDrop, getCanDropBefore, getCanDropContent, getCanDropFiles, getCanFocus, getCanHover, getCanSelectText, getCanvasAutoChild, getCanvasItem, getChildren, getChildrenAsStringArray, getChildrenResizeSnapAlign, getChildrenSnapAlign, getChildrenSnapCenterAlign, getChildrenSnapEdgeAlign, getChildrenSnapResizeToGrid, getChildrenSnapToGrid, getClassName, getComponentMask, getComponentMaskDefaults, getContentElement, getContents, getContextMenu, getCorrectZoomOverflow, getCursor, getDataContext, getDataPath, getDefaultHeight, getDefaultWidth, getDeferActionConversion, getDefiningProperty, getDefiningPropertyName, getDefiningPropertyNameOptions, getDestroyed, getDestroying, getDisabled, getDisabledCursor, getDisableTouchScrollingForDrag, getDoubleClickDelay, getDragAppearance, getDragIntersectStyle, getDragMaskType, getDragMaxHeight, getDragMaxWidth, getDragMinHeight, getDragMinWidth, getDragOpacity, getDragRepositionAppearance, getDragRepositionCursor, getDragResizeAppearance, getDragScrollDelay, getDragStartDistance, getDragTarget, getDragTargetAsString, getDragType, getDropTarget, getDropTargetAsString, getDropTypes, getDropTypesAsString, getDynamicContents, getEdgeBackgroundColor, getEdgeCenterBackgroundColor, getEdgeImage, getEdgeMarginSize, getEdgeOffset, getEdgeOpacity, getEdgeShowCenter, getEdgeSize, getEditNode, getEditProxy, getElement, getElement, getEnableWhen, getEndLine, getEventEdge, getEventEdge, getEvents, getExtraSpace, getFacetId, getFloatingScrollbars, getFormItemAutoChild, getForwardSVGeventsToObject, getFullDataPath, getGroupBorderCSS, getGroupLabelBackgroundColor, getGroupLabelStyleName, getGroupPadding, getGroupTitle, getHeight, getHeightAsString, getHideUsingDisplayNone, getHoverAlign, getHoverAutoDestroy, getHoverAutoFitMaxWidth, getHoverAutoFitMaxWidthAsString, getHoverAutoFitWidth, getHoverComponent, getHoverDelay, getHoverFocusKey, getHoverHeight, getHoverHTML, getHoverMoveWithMouse, getHoverOpacity, getHoverPersist, getHoverScreen, getHoverStyle, getHoverVAlign, getHoverWidth, getHoverWrap, getHSnapPosition, getHSnapPosition, getHtmlElement, getHtmlElementAsString, getHtmlPosition, getImage, getImgURL, getImgURL, getInnerContentHeight, getInnerContentWidth, getInnerHeight, getInnerWidth, getIsGroup, getIsPrinting, getIsRuleScope, getIsSnapAlignCandidate, getKeepInParentRect, getLayoutAlign, getLeaveGroupLabelSpace, getLeavePageSpace, getLeft, getLeftAsString, getLocalId, getLocateByIDOnly, getLocateChildrenBy, getLocateChildrenType, getLocatePeersBy, getLocatePeersType, getLocatorName, getMargin, getMasterCanvas, getMasterElement, getMatchElement, getMatchElementHeight, getMatchElementWidth, getMaxHeight, getMaxWidth, getMaxZoomOverflowError, getMenuConstructor, getMinHeight, getMinNonEdgeSize, getMinWidth, getMomentumScrollMinSpeed, getMouseStillDownDelay, getMouseStillDownInitialDelay, getName, getNativeAutoHideScrollbars, getNextZIndex, getNoDoubleClicks, getNoDropCursor, getOffsetHeight, getOffsetWidth, getOffsetX, getOffsetY, getOpacity, getOuterElement, getPadding, getPageBottom, getPageLeft, getPageRect, getPageRight, getPageTop, getPaletteDefaults, getPanelContainer, getParentCanvas, getParentCanvasAsString, getParentElement, getParentElementAsString, getPeers, getPendingMarkerStyle, getPendingMarkerVisible, getPercentBox, getPercentSource, getPersistentMatchElement, getPointerSettings, getPointerTarget, getPointerTargetAsString, getPosition, getPrefix, getPrintChildrenAbsolutelyPositioned, getPrintHTML, getPrintHTML, getPrintStyleName, getPrompt, getProportionalResizeModifiers, getProportionalResizing, getReceiveScrollbarEvents, getRect, getRedrawOnResize, getResizeBarTarget, getResizeFrom, getRight, getRuleContext, getRuleContext, getRuleScope, getScrollbarSize, getScrollBottom, getScrollHeight, getScrollLeft, getScrollRight, getScrollTop, getScrollWidth, getShadowColor, getShadowDepth, getShadowHOffset, getShadowImage, getShadowOffset, getShadowSoftness, getShadowSpread, getShadowVOffset, getShouldPrint, getShowCustomScrollbars, getShowDragShadow, getShowEdges, getShowFocusOutline, getShowHover, getShowHoverComponents, getShowPointer, getShowResizeBar, getShowShadow, getShowSnapGrid, getShrinkElementOnHide, getSingleDiv, getSizeMayChangeOnRedraw, getSkinImgDir, getSnapAlignCandidates, getSnapAlignCenterLineStyle, getSnapAlignEdgeLineStyle, getSnapAxis, getSnapEdge, getSnapGridLineProperties, getSnapGridStyle, getSnapHDirection, getSnapHGap, getSnapOffsetLeft, getSnapOffsetTop, getSnapOnDrop, getSnapPosition, getSnapPosition, getSnapResizeToAlign, getSnapResizeToGrid, getSnapTo, getSnapToAlign, getSnapToCenterAlign, getSnapToEdgeAlign, getSnapToGrid, getSnapVDirection, getSnapVGap, getStartLine, getStyleName, getTabIndex, getTestDataContext, getTestInstance, getTitle, getTooltip, getTop, getTopAsString, getTopElement, getTopLevelComponents, getUpdateTabPositionOnDraw, getUpdateTabPositionOnReparent, getUseBackMask, getUseCSSShadow, getUseDragMask, getUseGeneratedStyles, 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, 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, scrollBy, scrollByPercent, scrollTo, scrollTo, scrollTo, scrollTo, scrollTo, scrollToBottom, scrollToLeft, scrollToPercent, scrollToRight, scrollToTop, sendToBack, setAccessKey, setAdaptHeightByCustomizer, setAdaptiveHeightPriority, setAdaptiveWidthPriority, setAdaptWidthByCustomizer, setAllowExternalFilters, setAlwaysManageFocusNavigation, setAlwaysShowScrollbars, setAnimateAcceleration, setAnimateFadeTime, setAnimateHideAcceleration, setAnimateHideEffect, setAnimateHideTime, setAnimateMoveAcceleration, setAnimateMoveTime, setAnimateRectAcceleration, setAnimateRectTime, setAnimateResizeAcceleration, setAnimateResizeLayoutMode, setAnimateResizeTime, setAnimateScrollAcceleration, setAnimateScrollTime, setAnimateShowAcceleration, setAnimateShowEffect, setAnimateShowTime, setAnimateTime, setAppImgDir, setAriaRole, setAriaState, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoHeight, setAutoMaskComponents, setAutoParent, setAutoPopulateData, setAutoResizeAutoChildAttributes, setAutoResizeIcons, setAutoShowParent, setAutoWidth, setBackgroundColor, setBackgroundImage, setBackgroundPosition, setBackgroundRepeat, setBorder, setBorderRadius, setBottom, setCanAcceptDrop, setCanAdaptHeight, setCanAdaptWidth, setCanDrag, setCanDragReposition, setCanDragResize, setCanDragScroll, setCanDrop, setCanDropBefore, setCanDropContent, setCanDropFiles, setCanFocus, setCanHover, setCanSelectText, setChildren, setChildrenResizeSnapAlign, setChildrenSnapAlign, setChildrenSnapCenterAlign, setChildrenSnapEdgeAlign, setChildrenSnapResizeToGrid, setChildrenSnapToGrid, setComponentMaskDefaults, setContents, setContextMenu, setCorrectZoomOverflow, setCursor, setDataContext, setDataPath, setDefaultHeight, setDefaultNativeAutoHideScrollbars, setDefaultPageSpace, setDefaultProperties, setDefaultShowCustomScrollbars, setDefaultWidth, setDeferActionConversion, setDefiningProperty, setDefiningPropertyNameOptions, setDisabled, setDisabledCursor, setDisableTouchScrollingForDrag, setDoubleClickDelay, setDragAppearance, setDragIntersectStyle, setDragMaskType, setDragMaxHeight, setDragMaxWidth, setDragMinHeight, setDragMinWidth, setDragOpacity, setDragRepositionAppearance, setDragRepositionCursor, setDragResizeAppearance, setDragScrollDelay, setDragStartDistance, setDragTarget, setDragTarget, setDragType, setDropTarget, setDropTarget, setDropTypes, setDropTypes, setDynamicContents, setEdgeBackgroundColor, setEdgeCenterBackgroundColor, setEdgeImage, setEdgeMarginSize, setEdgeOffset, setEdgeOpacity, setEdgeShowCenter, setEdgeSize, setEditMode, setEditMode, setEditMode, setElement, setEnableWhen, setEndLine, setExtraSpace, setFacetId, setFloatingScrollbars, setForwardSVGeventsToObject, setGroupBorderCSS, setGroupLabelBackgroundColor, setGroupLabelStyleName, setGroupPadding, setGroupTitle, setHeight, setHeight, setHeight, setHeight100, setHideUsingDisplayNone, setHoverAlign, setHoverAutoDestroy, setHoverAutoFitMaxWidth, setHoverAutoFitMaxWidth, setHoverAutoFitWidth, setHoverDelay, setHoverFocusKey, setHoverHeight, setHoverMoveWithMouse, setHoverOpacity, setHoverPersist, setHoverScreen, setHoverStyle, setHoverVAlign, setHoverWidth, setHoverWrap, setHtmlElement, setHtmlElement, setHtmlPosition, setImage, setImage, setInitHandler, setIsGroup, setIsRuleScope, setIsSnapAlignCandidate, setKeepInParentRect, setKeepInParentRect, setKeepInParentRect, setLayoutAlign, setLayoutAlign, setLeaveGroupLabelSpace, setLeavePageSpace, setLeft, setLeft, setLocateByIDOnly, setLocateChildrenBy, setLocateChildrenType, setLocatePeersBy, setLocatePeersType, setLocatorName, setLocatorParent, setLocatorParent, setLogicalStructure, setMargin, setMatchElement, setMatchElementHeight, setMatchElementWidth, setMaxHeight, setMaxWidth, setMaxZoomOverflowError, setMenuConstructor, setMinHeight, setMinNonEdgeSize, setMinWidth, setMomentumScrollMinSpeed, setMouseStillDownDelay, setMouseStillDownInitialDelay, setName, setNativeAutoHideScrollbars, setNeverUseFilters, setNoDoubleClicks, setNoDropCursor, setOpacity, setPadding, setPageLeft, setPageTop, setPanelContainer, setParentCanvas, setParentCanvas, setParentElement, setParentElement, setPeers, setPendingMarkerStyle, setPendingMarkerVisible, setPercentBox, setPercentSource, setPersistentMatchElement, setPointerSettings, setPointerTarget, setPosition, setPrefix, setPrintChildrenAbsolutelyPositioned, setPrintStyleName, setPrompt, setProportionalResizeModifiers, setProportionalResizing, setReceiveScrollbarEvents, setRect, setRect, setRedrawOnResize, setRelativeTabPosition, setResizeBarTarget, setResizeFrom, setResizeFrom, setRight, setRuleScope, setScrollbarConstructor, setScrollbarSize, setShadowColor, setShadowDepth, setShadowHOffset, setShadowImage, setShadowOffset, setShadowSoftness, setShadowSpread, setShadowVOffset, setShouldPrint, setShowCustomScrollbars, setShowDragShadow, setShowEdges, setShowFocusOutline, setShowHover, setShowHoverComponents, setShowPointer, setShowResizeBar, setShowShadow, setShowSnapGrid, setShrinkElementOnHide, setSingleDiv, setSizeMayChangeOnRedraw, setSkinImgDir, setSmoothFade, setSnapAlignCandidates, setSnapAlignCenterLineStyle, setSnapAlignEdgeLineStyle, setSnapAxis, setSnapEdge, setSnapGridLineProperties, setSnapGridStyle, setSnapHDirection, setSnapHGap, setSnapOffsetLeft, setSnapOffsetTop, setSnapOnDrop, setSnapResizeToAlign, setSnapResizeToGrid, setSnapTo, setSnapToAlign, setSnapToCenterAlign, setSnapToEdgeAlign, setSnapToGrid, setSnapVDirection, setSnapVGap, setStartLine, setStyleName, setTabIndex, setTestDataContext, setTitle, setTooltip, setTop, setTop, setUpdateTabPositionOnDraw, setUpdateTabPositionOnReparent, setUseBackMask, setUseCSSShadow, setUseDragMask, setUseGeneratedStyles, setUseImageForSVG, setUseNativeDrag, setUseOpacityFilter, setUseTouchScrolling, setValuesManager, setValuesManager, setVisibility, setVisible, setVisibleWhen, setWidth, setWidth, setWidth, setWidth100, setWorkflows, setZIndex, shouldDragScroll, show, showClickMask, showComponentMask, showComponentMask, showNextTo, showNextTo, showNextTo, showNextTo, showPendingMarker, showPrintPreview, showPrintPreview, showPrintPreview, showPrintPreview, showRecursively, startDebuggingOverflow, stopDebuggingOverflow, supportsValueDictation, supportsVoiceCommands, updateChildTabPosition, updateChildTabPositions, updateEditNode, updateHover, updateHover, updateShadow, updateTabPositionForDraw, visibleAtPoint, willAcceptDrop`

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

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

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

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

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

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

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

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

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

  `fireEvent`

- ## Constructor Details

  - ### MultiGroupPanel

    public MultiGroupPanel()

  - ### MultiGroupPanel

    public MultiGroupPanel(JavaScriptObject jsObj)

- ## Method Details

  - ### getOrCreateRef

    public static MultiGroupPanel getOrCreateRef(JavaScriptObject jsObj)

  - ### changeAutoChildDefaults

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

  - ### changeAutoChildDefaults

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

  - ### create

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

  - ### getAddLevelButton

    public IButton getAddLevelButton() throws IllegalStateException
    Automatically generated `IButton` providing a mechanism for adding new levels to the group configuration.

    This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `multiGroupPanel.addLevelButtonProperties` and `multiGroupPanel.addLevelButtonDefaults`.

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

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

  - ### setAddLevelButtonTitle

    public MultiGroupPanel setAddLevelButtonTitle(String addLevelButtonTitle) throws IllegalStateException
    The title-text to appear on the addLevelButton
    Parameters:
      `addLevelButtonTitle` - New addLevelButtonTitle value. Default value is "Add Level"
    Returns:
      `MultiGroupPanel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getAddLevelButtonTitle

    public String getAddLevelButtonTitle()
    The title-text to appear on the addLevelButton
    Returns:
      Current addLevelButtonTitle value. Default value is "Add Level"

  - ### getCopyLevelButton

    public IButton getCopyLevelButton() throws IllegalStateException
    Automatically generated `IButton` providing a mechanism for duplicating levels in the group configuration.

    This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `multiGroupPanel.copyLevelButtonProperties` and `multiGroupPanel.copyLevelButtonDefaults`.

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

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

  - ### setCopyLevelButtonTitle

    public MultiGroupPanel setCopyLevelButtonTitle(String copyLevelButtonTitle) throws IllegalStateException
    The title-text to appear on the copyLevelButton
    Parameters:
      `copyLevelButtonTitle` - New copyLevelButtonTitle value. Default value is "Copy Level"
    Returns:
      `MultiGroupPanel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getCopyLevelButtonTitle

    public String getCopyLevelButtonTitle()
    The title-text to appear on the copyLevelButton
    Returns:
      Current copyLevelButtonTitle value. Default value is "Copy Level"

  - ### getDeleteLevelButton

    public IButton getDeleteLevelButton() throws IllegalStateException
    Automatically generated `IButton` providing a mechanism for deleting levels from the group configuration.

    This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `multiGroupPanel.deleteLevelButtonProperties` and `multiGroupPanel.deleteLevelButtonDefaults`.

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

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

  - ### setDeleteLevelButtonTitle

    public MultiGroupPanel setDeleteLevelButtonTitle(String deleteLevelButtonTitle) throws IllegalStateException
    The title-text to appear on the deleteLevelButton
    Parameters:
      `deleteLevelButtonTitle` - New deleteLevelButtonTitle value. Default value is "Delete Level"
    Returns:
      `MultiGroupPanel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getDeleteLevelButtonTitle

    public String getDeleteLevelButtonTitle()
    The title-text to appear on the deleteLevelButton
    Returns:
      Current deleteLevelButtonTitle value. Default value is "Delete Level"

  - ### setFirstGroupLevelTitle

    public MultiGroupPanel setFirstGroupLevelTitle(String firstGroupLevelTitle) throws IllegalStateException
    The title-text to appear in the first column for the first group-level.
    Parameters:
      `firstGroupLevelTitle` - New firstGroupLevelTitle value. Default value is "Group by"
    Returns:
      `MultiGroupPanel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getFirstGroupLevelTitle

    public String getFirstGroupLevelTitle()
    The title-text to appear in the first column for the first group-level.
    Returns:
      Current firstGroupLevelTitle value. Default value is "Group by"

  - ### setGroupingFieldTitle

    public MultiGroupPanel setGroupingFieldTitle(String groupingFieldTitle) throws IllegalStateException
    The title-text to appear in the header of the "grouping" field.
    Parameters:
      `groupingFieldTitle` - New groupingFieldTitle value. Default value is "Grouping"
    Returns:
      `MultiGroupPanel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getGroupingFieldTitle

    public String getGroupingFieldTitle()
    The title-text to appear in the header of the "grouping" field.
    Returns:
      Current groupingFieldTitle value. Default value is "Grouping"

  - ### setIconBaseStyle

    public MultiGroupPanel setIconBaseStyle(String iconBaseStyle) throws IllegalStateException
    A CSS style to apply to images in the `Level Up` and `Level Down` buttons. This is a base style supporting suffixes for states, specifically "Over", "Down" and "Disabled", which are applied when `ImgButton` settings like `ImgButton.showRollOverIcon` are applied to the icons.
    Parameters:
      `iconBaseStyle` - New iconBaseStyle value. Default value is "icon"
    Returns:
      `MultiGroupPanel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `CSSStyleName`

  - ### getIconBaseStyle

    public String getIconBaseStyle()
    A CSS style to apply to images in the `Level Up` and `Level Down` buttons. This is a base style supporting suffixes for states, specifically "Over", "Down" and "Disabled", which are applied when `ImgButton` settings like `ImgButton.showRollOverIcon` are applied to the icons.
    Returns:
      Current iconBaseStyle value. Default value is "icon"
    See Also:
      - `CSSStyleName`

  - ### setIconSize

    public MultiGroupPanel setIconSize(Integer iconSize) throws IllegalStateException
    The size for the images in the `Level Up` and `Level Down` buttons.
    Parameters:
      `iconSize` - New iconSize value. Default value is null
    Returns:
      `MultiGroupPanel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getIconSize

    public Integer getIconSize()
    The size for the images in the `Level Up` and `Level Down` buttons.
    Returns:
      Current iconSize value. Default value is null

  - ### setInvalidListPrompt

    public MultiGroupPanel setInvalidListPrompt(String invalidListPrompt) throws IllegalStateException
    This is a dynamic string - text within `${...}` will be evaluated as JS code when the message is displayed.

    Default value returns

    `Columns may only be used once: `[some field's title]` is used multiple times`

    Parameters:
      `invalidListPrompt` - New invalidListPrompt value. Default value is "Columns may only be used once: '${title}' is used multiple times."
    Returns:
      `MultiGroupPanel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `HTMLString`

  - ### getInvalidListPrompt

    public String getInvalidListPrompt()
    This is a dynamic string - text within `${...}` will be evaluated as JS code when the message is displayed.

    Default value returns

    `Columns may only be used once: `[some field's title]` is used multiple times`

    Returns:
      Current invalidListPrompt value. Default value is "Columns may only be used once: '${title}' is used multiple times."
    See Also:
      - `HTMLString`

  - ### getLevelDownButton

    public ImgButton getLevelDownButton() throws IllegalStateException
    Automatically generated `ImgButton` providing a mechanism for moving existing group-levels down in the group configuration.

    This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `multiGroupPanel.levelDownButtonProperties` and `multiGroupPanel.levelDownButtonDefaults`.

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

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

  - ### setLevelDownButtonTitle

    public MultiGroupPanel setLevelDownButtonTitle(String levelDownButtonTitle) throws IllegalStateException
    The hover-prompt for the Level Down button.
    Parameters:
      `levelDownButtonTitle` - New levelDownButtonTitle value. Default value is "Move Level Down"
    Returns:
      `MultiGroupPanel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getLevelDownButtonTitle

    public String getLevelDownButtonTitle()
    The hover-prompt for the Level Down button.
    Returns:
      Current levelDownButtonTitle value. Default value is "Move Level Down"

  - ### getLevelUpButton

    public ImgButton getLevelUpButton() throws IllegalStateException
    Automatically generated `ImgButton` providing a mechanism for moving existing group-levels up in the group configuration.

    This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `multiGroupPanel.levelUpButtonProperties` and `multiGroupPanel.levelUpButtonDefaults`.

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

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

  - ### setLevelUpButtonTitle

    public MultiGroupPanel setLevelUpButtonTitle(String levelUpButtonTitle) throws IllegalStateException
    The hover-prompt for the Level Up button.
    Parameters:
      `levelUpButtonTitle` - New levelUpButtonTitle value. Default value is "Move Level Up"
    Returns:
      `MultiGroupPanel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getLevelUpButtonTitle

    public String getLevelUpButtonTitle()
    The hover-prompt for the Level Up button.
    Returns:
      Current levelUpButtonTitle value. Default value is "Move Level Up"

  - ### setMaxLevels

    public MultiGroupPanel setMaxLevels(Integer maxLevels) throws IllegalStateException
    The maximum number of levels of grouping that can be applied. Since each group-property or field-name can be used only once in a given multi-group operation, if no maxLevels value or a value larger than the total number of available properties is specified, it will default to the total number of available properties.
    Parameters:
      `maxLevels` - New maxLevels value. Default value is null
    Returns:
      `MultiGroupPanel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getMaxLevels

    public Integer getMaxLevels()
    The maximum number of levels of grouping that can be applied. Since each group-property or field-name can be used only once in a given multi-group operation, if no maxLevels value or a value larger than the total number of available properties is specified, it will default to the total number of available properties.
    Returns:
      Current maxLevels value. Default value is null

  - ### getOptionsGrid

    public ListGrid getOptionsGrid() throws IllegalStateException
    Automatically generated `ListGrid` allowing the user to configure a set of `GroupSpecifier`s.

    This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `multiGroupPanel.optionsGridProperties` and `multiGroupPanel.optionsGridDefaults`.

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

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

  - ### setOtherGroupLevelTitle

    public MultiGroupPanel setOtherGroupLevelTitle(String otherGroupLevelTitle) throws IllegalStateException
    The title-text to appear in the first column for all group-levels other than the first.
    Parameters:
      `otherGroupLevelTitle` - New otherGroupLevelTitle value. Default value is "Then by"
    Returns:
      `MultiGroupPanel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getOtherGroupLevelTitle

    public String getOtherGroupLevelTitle()
    The title-text to appear in the first column for all group-levels other than the first.
    Returns:
      Current otherGroupLevelTitle value. Default value is "Then by"

  - ### setPropertyFieldTitle

    public MultiGroupPanel setPropertyFieldTitle(String propertyFieldTitle) throws IllegalStateException
    The title-text to appear in the header of the "property" field.
    Parameters:
      `propertyFieldTitle` - New propertyFieldTitle value. Default value is "Column"
    Returns:
      `MultiGroupPanel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getPropertyFieldTitle

    public String getPropertyFieldTitle()
    The title-text to appear in the header of the "property" field.
    Returns:
      Current propertyFieldTitle value. Default value is "Column"

  - ### getGroup

    public GroupSpecifier[] getGroup()
    Returns all configured grouping levels, as an array of `GroupSpecifier`s.
    Returns:
      the GroupSpecifiers for all configured grouping levels

  - ### getNumLevels

    public int getNumLevels()
    Return the number of levels of grouping that have been configured.
    Returns:
      The number of levels of grouping that have been configured

  - ### groupChanged

    public void groupChanged(GroupSpecifier... groupLevels)
    Fired whenever the group configuration changes. The single parameter is an array of `GroupSpecifier`s that represent the list of group-levels as they appear after whatever change has occurred.
    Parameters:
      `groupLevels` - The current group configuration, after any changes

  - ### validate

    public boolean validate()
    Validate that no two `GroupSpecifier`s group on the same `property`.
    Returns:
      True if validation succeeds, false if any property is used twice

  - ### setDefaultProperties

    public static void setDefaultProperties(MultiGroupPanel multiGroupPanelProperties)
    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:
      `multiGroupPanelProperties` - properties that should be used as new defaults when instances of this class are created
    See Also:
      - `SGWTProperties`

  - ### setLogicalStructure

    public LogicalStructureObject setLogicalStructure(MultiGroupPanelLogicalStructure s)
    Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.

  - ### getLogicalStructure

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