com.smartgwt.client.widgets

## Class MultiSortPanel

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

- 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, HasMembersChangedHandlers

      public class MultiSortPanel
      extends Layout

  A widget that allows the user to set up complex sorting arrangements by defining a group of `SortSpecifier`s.

  Each `SortSpecifier` applies to a single property and direction - so, for instance, in a grid with two columns, `year` and `monthNumber`, you could sort first by `year` in descending order and then by `monthNumber` in ascending order. This would producing a grid sorted by year from largest (most recent) to smallest (least recent) and, within each year, by monthNumber from smallest (January) to largest (December).

- - ### 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
    `MultiSortPanel()`
    `MultiSortPanel(com.google.gwt.core.client.JavaScriptObject jsObj)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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()`
    `IButton` | `getAddLevelButton()` Automatically generated `IButton` providing a mechanism for adding new levels to the sort configuration.
    `java.lang.String` | `getAddLevelButtonTitle()` The title-text to appear on the addLevelButton
    `java.lang.String` | `getAscendingTitle()` The title-text to appear in the "direction" field's SelectItem for an "ascending" sort
    `IButton` | `getCopyLevelButton()` Automatically generated `IButton` providing a mechanism for duplicating levels in the sort configuration.
    `java.lang.String` | `getCopyLevelButtonTitle()` The title-text to appear on the copyLevelButton
    `IButton` | `getDeleteLevelButton()` Automatically generated `IButton` providing a mechanism for deleting levels from the sort configuration.
    `java.lang.String` | `getDeleteLevelButtonTitle()` The title-text to appear on the deleteLevelButton
    `java.lang.String` | `getDescendingTitle()` The title-text to appear in the "direction" field's SelectItem for a "descending" sort
    `java.lang.String` | `getDirectionFieldTitle()` The title-text to appear in the header of the "direction" field.
    `DataSourceField[]` | `getFields()` The list of fields which the user can choose to sort by.
    `java.lang.String` | `getFirstSortLevelTitle()` The title-text to appear in the first column for the first sort-level.
    `java.lang.String` | `getIconBaseStyle()` A CSS style to apply to images in the `Level Up` and `Level Down` buttons.
    `java.lang.Integer` | `getIconSize()` The size for the images in the `Level Up` and `Level Down` buttons.
    `SortSpecifier[]` | `getInitialSort()` The initial sort configuration to show in the `optionsGrid`.
    `java.lang.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 sort-levels down in the sort configuration.
    `java.lang.String` | `getLevelDownButtonTitle()` The hover-prompt for the Level Down button.
    `ImgButton` | `getLevelUpButton()` Automatically generated `ImgButton` providing a mechanism for moving existing sort-levels up in the sort configuration.
    `java.lang.String` | `getLevelUpButtonTitle()` The hover-prompt for the Level Up button.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `getLogicalStructure()` Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `java.lang.Integer` | `getMaxLevels()` The maximum number of levels of sorting that can be applied.
    `int` | `getNumLevels()` Return the number of levels of sorting that have been configured.
    `ListGrid` | `getOptionsGrid()` Automatically generated `ListGrid` allowing the user to configure a set of `SortSpecifier`s.
    `static MultiSortPanel` | `getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `java.lang.String` | `getOtherSortLevelTitle()` The title-text to appear in the first column for all sort-levels other than the first.
    `java.lang.String` | `getPropertyFieldTitle()` The title-text to appear in the header of the "property" field.
    `SortSpecifier[]` | `getSort()` Returns all configured sorting levels, as an array of `SortSpecifier`s.
    `SortSpecifier` | `getSortLevel(int levelNum)` Return a `SortSpecifier` object for the requested levelNum.
    `MultiSortPanel` | `setAddLevelButtonTitle(java.lang.String addLevelButtonTitle)` The title-text to appear on the addLevelButton
    `MultiSortPanel` | `setAscendingTitle(java.lang.String ascendingTitle)` The title-text to appear in the "direction" field's SelectItem for an "ascending" sort
    `MultiSortPanel` | `setCopyLevelButtonTitle(java.lang.String copyLevelButtonTitle)` The title-text to appear on the copyLevelButton
    `static void` | `setDefaultProperties(MultiSortPanel multiSortPanelProperties)` Class level method to set the default properties of this class.
    `MultiSortPanel` | `setDeleteLevelButtonTitle(java.lang.String deleteLevelButtonTitle)` The title-text to appear on the deleteLevelButton
    `MultiSortPanel` | `setDescendingTitle(java.lang.String descendingTitle)` The title-text to appear in the "direction" field's SelectItem for a "descending" sort
    `MultiSortPanel` | `setDirectionFieldTitle(java.lang.String directionFieldTitle)` The title-text to appear in the header of the "direction" field.
    `MultiSortPanel` | `setFields(DataSourceField... fields)` The list of fields which the user can choose to sort by.
    `MultiSortPanel` | `setFirstSortLevelTitle(java.lang.String firstSortLevelTitle)` The title-text to appear in the first column for the first sort-level.
    `MultiSortPanel` | `setIconBaseStyle(java.lang.String iconBaseStyle)` A CSS style to apply to images in the `Level Up` and `Level Down` buttons.
    `MultiSortPanel` | `setIconSize(java.lang.Integer iconSize)` The size for the images in the `Level Up` and `Level Down` buttons.
    `MultiSortPanel` | `setInitialSort(SortSpecifier... initialSort)` The initial sort configuration to show in the `optionsGrid`.
    `MultiSortPanel` | `setInvalidListPrompt(java.lang.String invalidListPrompt)` This is a dynamic string - text within `${...}` will be evaluated as JS code when the message is displayed.
    `MultiSortPanel` | `setLevelDownButtonTitle(java.lang.String levelDownButtonTitle)` The hover-prompt for the Level Down button.
    `MultiSortPanel` | `setLevelUpButtonTitle(java.lang.String levelUpButtonTitle)` The hover-prompt for the Level Up button.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `setLogicalStructure(com.smartgwt.logicalstructure.widgets.MultiSortPanelLogicalStructure s)` Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `MultiSortPanel` | `setMaxLevels(java.lang.Integer maxLevels)` The maximum number of levels of sorting that can be applied.
    `MultiSortPanel` | `setOtherSortLevelTitle(java.lang.String otherSortLevelTitle)` The title-text to appear in the first column for all sort-levels other than the first.
    `MultiSortPanel` | `setPropertyFieldTitle(java.lang.String propertyFieldTitle)` The title-text to appear in the header of the "property" field.
    `void` | `sortChanged(SortSpecifier... sortLevels)` Fired whenever the sort configuration changes.
    `boolean` | `validate()` Validate that no two `SortSpecifier`s sort 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, getMembersLength, getMembersMargin, getMinMemberLength, getMinMemberSize, getOverflow, getPaddingAsLayoutMargin, getResizeBar, getResizeBarClass, getResizeBarSize, getReverseOrder, getShowDragPlaceHolder, getShowDropLines, getStackZIndex, getVertical, getVPolicy, hasMember, hideDropLine, hideMember, hideMember, layoutIsDirty, onInit_Layout, onInit, 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, 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, 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, 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, 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, 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, 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, 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

    - #### MultiSortPanel

          public MultiSortPanel()

    - #### MultiSortPanel

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

  - ### Method Detail

    - #### getOrCreateRef

          public static MultiSortPanel 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 `Layout`

    - #### getAddLevelButton

          public IButton getAddLevelButton()
                                    throws java.lang.IllegalStateException

      Automatically generated `IButton` providing a mechanism for adding new levels to the sort configuration.

      This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `multiSortPanel.addLevelButtonProperties` and `multiSortPanel.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:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setAddLevelButtonTitle

          public MultiSortPanel setAddLevelButtonTitle(java.lang.String addLevelButtonTitle)
                                                throws java.lang.IllegalStateException

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

    - #### getAddLevelButtonTitle

          public java.lang.String getAddLevelButtonTitle()

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

    - #### setAscendingTitle

          public MultiSortPanel setAscendingTitle(java.lang.String ascendingTitle)
                                           throws java.lang.IllegalStateException

      The title-text to appear in the "direction" field's SelectItem for an "ascending" sort
      Parameters:
        `ascendingTitle` - New ascendingTitle value. Default value is "Ascending"
      Returns:
        `MultiSortPanel` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getAscendingTitle

          public java.lang.String getAscendingTitle()

      The title-text to appear in the "direction" field's SelectItem for an "ascending" sort
      Returns:
        Current ascendingTitle value. Default value is "Ascending"

    - #### getCopyLevelButton

          public IButton getCopyLevelButton()
                                     throws java.lang.IllegalStateException

      Automatically generated `IButton` providing a mechanism for duplicating levels in the sort configuration.

      This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `multiSortPanel.copyLevelButtonProperties` and `multiSortPanel.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:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setCopyLevelButtonTitle

          public MultiSortPanel setCopyLevelButtonTitle(java.lang.String copyLevelButtonTitle)
                                                 throws java.lang.IllegalStateException

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

    - #### getCopyLevelButtonTitle

          public java.lang.String getCopyLevelButtonTitle()

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

    - #### getDeleteLevelButton

          public IButton getDeleteLevelButton()
                                       throws java.lang.IllegalStateException

      Automatically generated `IButton` providing a mechanism for deleting levels from the sort configuration.

      This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `multiSortPanel.deleteLevelButtonProperties` and `multiSortPanel.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:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setDeleteLevelButtonTitle

          public MultiSortPanel setDeleteLevelButtonTitle(java.lang.String deleteLevelButtonTitle)
                                                   throws java.lang.IllegalStateException

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

    - #### getDeleteLevelButtonTitle

          public java.lang.String getDeleteLevelButtonTitle()

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

    - #### setDescendingTitle

          public MultiSortPanel setDescendingTitle(java.lang.String descendingTitle)
                                            throws java.lang.IllegalStateException

      The title-text to appear in the "direction" field's SelectItem for a "descending" sort
      Parameters:
        `descendingTitle` - New descendingTitle value. Default value is "Descending"
      Returns:
        `MultiSortPanel` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getDescendingTitle

          public java.lang.String getDescendingTitle()

      The title-text to appear in the "direction" field's SelectItem for a "descending" sort
      Returns:
        Current descendingTitle value. Default value is "Descending"

    - #### setDirectionFieldTitle

          public MultiSortPanel setDirectionFieldTitle(java.lang.String directionFieldTitle)
                                                throws java.lang.IllegalStateException

      The title-text to appear in the header of the "direction" field.
      Parameters:
        `directionFieldTitle` - New directionFieldTitle value. Default value is "Order"
      Returns:
        `MultiSortPanel` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getDirectionFieldTitle

          public java.lang.String getDirectionFieldTitle()

      The title-text to appear in the header of the "direction" field.
      Returns:
        Current directionFieldTitle value. Default value is "Order"

    - #### setFields

          public MultiSortPanel setFields(DataSourceField... fields)
                                   throws java.lang.IllegalStateException

      The list of fields which the user can choose to sort by.
      Parameters:
        `fields` - New fields value. Default value is null
      Returns:
        `MultiSortPanel` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getFields

          public DataSourceField[] getFields()

      The list of fields which the user can choose to sort by.
      Returns:
        Current fields value. Default value is null

    - #### setFirstSortLevelTitle

          public MultiSortPanel setFirstSortLevelTitle(java.lang.String firstSortLevelTitle)
                                                throws java.lang.IllegalStateException

      The title-text to appear in the first column for the first sort-level.
      Parameters:
        `firstSortLevelTitle` - New firstSortLevelTitle value. Default value is "Sort by"
      Returns:
        `MultiSortPanel` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getFirstSortLevelTitle

          public java.lang.String getFirstSortLevelTitle()

      The title-text to appear in the first column for the first sort-level.
      Returns:
        Current firstSortLevelTitle value. Default value is "Sort by"

    - #### setIconBaseStyle

          public MultiSortPanel setIconBaseStyle(java.lang.String iconBaseStyle)
                                          throws java.lang.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:
        `MultiSortPanel` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `CSSStyleName`

    - #### getIconBaseStyle

          public java.lang.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 MultiSortPanel setIconSize(java.lang.Integer iconSize)
                                     throws java.lang.IllegalStateException

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

    - #### getIconSize

          public java.lang.Integer getIconSize()

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

    - #### setInitialSort

          public MultiSortPanel setInitialSort(SortSpecifier... initialSort)
                                        throws java.lang.IllegalStateException

      The initial sort configuration to show in the `optionsGrid`.
      Parameters:
        `initialSort` - New initialSort value. Default value is null
      Returns:
        `MultiSortPanel` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getInitialSort

          public SortSpecifier[] getInitialSort()

      The initial sort configuration to show in the `optionsGrid`.
      Returns:
        Current initialSort value. Default value is null

    - #### setInvalidListPrompt

          public MultiSortPanel setInvalidListPrompt(java.lang.String invalidListPrompt)
                                              throws java.lang.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:
        `MultiSortPanel` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `HTMLString`

    - #### getInvalidListPrompt

          public java.lang.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 java.lang.IllegalStateException

      Automatically generated `ImgButton` providing a mechanism for moving existing sort-levels down in the sort configuration.

      This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `multiSortPanel.levelDownButtonProperties` and `multiSortPanel.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:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setLevelDownButtonTitle

          public MultiSortPanel setLevelDownButtonTitle(java.lang.String levelDownButtonTitle)
                                                 throws java.lang.IllegalStateException

      The hover-prompt for the Level Down button.
      Parameters:
        `levelDownButtonTitle` - New levelDownButtonTitle value. Default value is "Move Level Down"
      Returns:
        `MultiSortPanel` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getLevelDownButtonTitle

          public java.lang.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 java.lang.IllegalStateException

      Automatically generated `ImgButton` providing a mechanism for moving existing sort-levels up in the sort configuration.

      This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `multiSortPanel.levelUpButtonProperties` and `multiSortPanel.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:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setLevelUpButtonTitle

          public MultiSortPanel setLevelUpButtonTitle(java.lang.String levelUpButtonTitle)
                                               throws java.lang.IllegalStateException

      The hover-prompt for the Level Up button.
      Parameters:
        `levelUpButtonTitle` - New levelUpButtonTitle value. Default value is "Move Level Up"
      Returns:
        `MultiSortPanel` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getLevelUpButtonTitle

          public java.lang.String getLevelUpButtonTitle()

      The hover-prompt for the Level Up button.
      Returns:
        Current levelUpButtonTitle value. Default value is "Move Level Up"

    - #### setMaxLevels

          public MultiSortPanel setMaxLevels(java.lang.Integer maxLevels)
                                      throws java.lang.IllegalStateException

      The maximum number of levels of sorting that can be applied. Since each sort-property or field-name can be used only once in a given multi-sort 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:
        `MultiSortPanel` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getMaxLevels

          public java.lang.Integer getMaxLevels()

      The maximum number of levels of sorting that can be applied. Since each sort-property or field-name can be used only once in a given multi-sort 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 java.lang.IllegalStateException

      Automatically generated `ListGrid` allowing the user to configure a set of `SortSpecifier`s.

      This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `multiSortPanel.optionsGridProperties` and `multiSortPanel.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:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setOtherSortLevelTitle

          public MultiSortPanel setOtherSortLevelTitle(java.lang.String otherSortLevelTitle)
                                                throws java.lang.IllegalStateException

      The title-text to appear in the first column for all sort-levels other than the first.
      Parameters:
        `otherSortLevelTitle` - New otherSortLevelTitle value. Default value is "Then by"
      Returns:
        `MultiSortPanel` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getOtherSortLevelTitle

          public java.lang.String getOtherSortLevelTitle()

      The title-text to appear in the first column for all sort-levels other than the first.
      Returns:
        Current otherSortLevelTitle value. Default value is "Then by"

    - #### setPropertyFieldTitle

          public MultiSortPanel setPropertyFieldTitle(java.lang.String propertyFieldTitle)
                                               throws java.lang.IllegalStateException

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

    - #### getPropertyFieldTitle

          public java.lang.String getPropertyFieldTitle()

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

    - #### getNumLevels

          public int getNumLevels()

      Return the number of levels of sorting that have been configured.
      Returns:
        The number of levels of sorting that have been configured

    - #### getSort

          public SortSpecifier[] getSort()

      Returns all configured sorting levels, as an array of `SortSpecifier`s.
      Returns:
        the SortSpecifiers for all configured sorting levels

    - #### getSortLevel

          public SortSpecifier getSortLevel(int levelNum)

      Return a `SortSpecifier` object for the requested levelNum.
      Parameters:
        `levelNum` - The index of the level to return a SortSpecifier for
      Returns:
        A SortSpecifier representing the requested levelNum

    - #### sortChanged

          public void sortChanged(SortSpecifier... sortLevels)

      Fired whenever the sort configuration changes. The single parameter is an array of `SortSpecifier`s that represent the list of sort-levels as they appear after whatever change has occurred.
      Parameters:
        `sortLevels` - The current sort configuration, after any changes

    - #### validate

          public boolean validate()

      Validate that no two `SortSpecifier`s sort on the same `property`.
      Returns:
        True if validation succeeds, false if any property is used twice

    - #### setDefaultProperties

          public static void setDefaultProperties(MultiSortPanel multiSortPanelProperties)

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

    - #### setLogicalStructure

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