com.smartgwt.client.widgets.layout

## Class SplitPane

- 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.layout.SplitPane

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

      public class SplitPane
      extends Layout
      implements HasDownClickHandlers, HasNavigationClickHandlers, HasPaneChangedHandlers, HasUpClickHandlers

  A device- and orientation-sensitive layout that implements the common pattern of rendering two panes side-by-side on desktop machines and on tablets in landscape orientation, while switching to showing a single pane for handset-sized devices or tablets in portrait orientation (this type of behavior is sometimes called "responsive design").

  A `SplitPane` can manage either two or three panes — a `navigationPane` and the `detailPane` are required, and a `listPane` can also be provided which appears in the same place as the navigation pane, with built-in navigation between the panes based on `NavigationBar`. An example of 3-pane usage would be an email application:

  - `navigationPane`: `TreeGrid` of folders
  - `listPane`: `ListGrid` showing messages in a folder
  - `detailPane`: message detail view (perhaps a `DetailViewer` over an `HTMLFlow` or similar arrangement)

  The placement of the panes is by default sensitive to whether the device is detected as a handset (phone), tablet or desktop device (see `DeviceMode`) and to the current `PageOrientation`. You can also configure a `SplitPane` with a fixed `pageOrientation` or `deviceMode`.

  Beyond providing the panes listed above, typical usage is simply to call `showListPane()` and `showDetailPane()` when the `SplitPane` should navigate to a new pane. For example, in an email application, clicking on a folder in the `navigationPane` should cause the `listPane` to show messages from the folder, then `showListPane("folder name")` would be called to show the `listPane` and give it a new title reflecting the name of the folder.

  Similarly, clicking on a message in the `listPane` should show the message details in the `detailPane` and call `showDetailPane("message title")` to reveal the `detailPane` and give it an appropriate title.

  ### Automatic control placement

  `detailToolButtons` allows you to define a set of controls that are specially placed based on the `deviceMode` and `pageOrientation`. See `detailToolButtons` for details.

  ### NavigationBar and ToolStrips

  By default, bars are created as follows:

  - in `deviceMode:"tablet"` and `deviceMode` "handset", the `navigationBar` is always created.
  - in `deviceMode:"desktop"`, the `navigationBar` is created by default only if the `navigationTitle` is specified and non-empty or `showRightButton` and/or `showLeftButton` is `true`, or `showNavigationBar` is `true`.
  - in `deviceMode:"desktop"` and `deviceMode` "tablet", the `detailToolStrip` is shown above the `detailPane`.
  - in `deviceMode:"handset"`, the `detailToolStrip` is created only if `detailToolButtons` are specified, and is placed underneath the `detailPane`.
  - `listToolStrip` - separate bar for the `listPane`, only present for `deviceMode:"desktop"` when a `listPane` is provided.
  All of these bars are `AutoChildren` and hence completely optional. You can omit them entirely, or, if you want navigation bars or tool strips but want to customize them more than the AutoChild system allows, you can prevent the built-in bars from being created and place your own `NavigationBar`s either inside your navigation, list or detail panes, or outside the `SplitPane` as a whole. This allows you to completely customize your navigation but still use `SplitPane` to handle device- and orientation-aware layout. See `showNavigationBar`, `showListToolStrip`, and `showDetailToolStrip`.

  Note that in addition to the `navigationBar`, the other automatically created bars are also instances of `NavigationBar` despite the "toolStrip" naming convention. These controls will not generally contain navigation elements; the `NavigationBar` class is used for consistent styling, since the `navigationBar` appears adjacent to the toolstrips in some modes and orientations, so they should have the same height and styling.

- - ### Nested Class Summary

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

      `UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled`

  - ### Field Summary

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

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

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

      `DEBUG_ID_PREFIX`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SplitPane()`
    `SplitPane(Canvas navigationPane, Canvas detailPane)`
    `SplitPane(Canvas navigationPane, Canvas listPane, Canvas detailPane)`
    `SplitPane(JavaScriptObject jsObj)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `HandlerRegistration` | `addDownClickHandler(DownClickHandler handler)` Add a downClick handler.
    `HandlerRegistration` | `addNavigationClickHandler(NavigationClickHandler handler)` Add a navigationClick handler.
    `HandlerRegistration` | `addPaneChangedHandler(PaneChangedHandler handler)` Add a paneChanged handler.
    `HandlerRegistration` | `addUpClickHandler(UpClickHandler handler)` Add a upClick handler.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, Canvas defaults)` Changes the defaults for Canvas AutoChildren named `autoChildName`.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, FormItem defaults)` Changes the defaults for FormItem AutoChildren named `autoChildName`.
    `protected JavaScriptObject` | `create()`
    `boolean` | `getAddHistoryEntries()` Should default history-tracking support be enabled? If `true`, then a history management scheme utilizing History.addHistoryEntry() and History.registerCallback() is enabled.
    `java.lang.Boolean` | `getAutoNavigate()` If set, the `splitPane` will automatically monitor selection changes in the `navigationPane` or `listPane`, and call `SplitPane.navigateListPane()` or `SplitPane.navigateDetailPane()` when selections are changed.
    `NavigationButton` | `getBackButton()` The back button shown in the `navigationBar` depending on the current UI configuration.
    `CurrentPane` | `getCurrentPane()` The most recently shown pane.
    `Canvas` | `getDetailNavigationControl()` Navigation control that appears only when the navigation pane is not showing (showing detail pane on handset, or portrait mode on tablet).
    `Canvas` | `getDetailPane()` The right-hand of the two panes managed by this widget, used for viewing details.
    `java.lang.String` | `getDetailPaneTitleTemplate()` Default value chosen for `detailPaneTitle` when `SplitPane.navigateDetailPane()` is called.
    `java.lang.String` | `getDetailTitle()` The title for the `detailPane`.
    `Canvas[]` | `getDetailToolButtons()` `detailToolButtons` allows you to specify a set of controls that are specially placed based on the `deviceMode` and `pageOrientation`.
    `NavigationBar` | `getDetailToolStrip()` Toolstrip servicing the `detailPane`.
    `DeviceMode` | `getDeviceMode()` UI layout mode used for this `SplitPane`.
    `java.lang.String` | `getEditProxyConstructor()` Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
    `Canvas` | `getListPane()` An optional list pane displayed in the left-hand of the panes or in a side panel according to the pane layout.
    `java.lang.String` | `getListPaneTitleTemplate()` Default value chosen for `listPaneTitle` when `SplitPane.navigateListPane()` is called.
    `java.lang.String` | `getListTitle()` The title for the `listPane`.
    `NavigationBar` | `getListToolStrip()` Bar displayed above the `listPane`, if a `listPane` is present, only for `deviceMode` "desktop".
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `getLogicalStructure()` Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `NavigationBar` | `getNavigationBar()` A `NavigationBar` instance managed by this `SplitPane` that is placed above the `navigationPane`.
    `Canvas` | `getNavigationPane()` An arbitrary widget that is visible in all configurations when the `currentPane` is `CurrentPane.NAVIGATION` (it may also be visible when the `currentPane` is `CurrentPane.LIST` or `CurrentPane.DETAIL`).
    `java.lang.String` | `getNavigationTitle()` The title for the `navigationPane`, displayed in the `navigationBar` and also used for the title of a back button in some configurations.
    `static SplitPane` | `getOrCreateRef(JavaScriptObject jsObj)`
    `PageOrientation` | `getPageOrientation()` Current `PageOrientation`.
    `java.lang.Boolean` | `getShowDetailToolStrip()` If set to `false`, the `detailToolStrip` will not be shown.
    `boolean` | `getShowLeftButton()` Should the `leftButton` be shown in the `navigationBar`?
    `java.lang.Boolean` | `getShowListToolStrip()` If set to `false`, the `listToolStrip` will not be shown.
    `java.lang.Boolean` | `getShowMiniNav()` If true, the `NavigationBar` will show a `MiniNavControl` in modes where the `navigationPane` and `listPane` are not showing, specifically, `DeviceMode` "handset" in the `detailPane` and `DeviceMode`.
    `java.lang.Boolean` | `getShowNavigationBar()` If set to `false`, the `navigationBar` will not be shown.
    `boolean` | `getShowResizeBars()` If enabled, the `SplitPane` will add resize bars between the `navigationPane` and `detailPane` when these panes are shown side-by-side, and between the `listPane` and `detailPane` in `deviceMode:"desktop"`.
    `boolean` | `getShowRightButton()` Should the `rightButton` be shown in the `navigationBar`?
    `void` | `navigateDetailPane()` Calls `SplitPane.navigatePane()` with the `detailPane` as the target pane.
    `void` | `navigateDetailPane(java.lang.String title)` Calls `SplitPane.navigatePane()` with the `detailPane` as the target pane.
    `void` | `navigateListPane()` Calls `SplitPane.navigatePane()` with the `listPane` as the target pane.
    `void` | `navigateListPane(java.lang.String title)` Calls `SplitPane.navigatePane()` with the `listPane` as the target pane.
    `void` | `navigatePane()` Causes the target pane component to load data and update its title based on the current selection in the source pane.
    `void` | `navigatePane(CurrentPane target)`
    `void` | `navigatePane(CurrentPane target, java.lang.String title)`
    `void` | `navigatePane(CurrentPane target, java.lang.String title, CurrentPane source)` Causes the target pane component to load data and update its title based on the current selection in the source pane.
    `void` | `setAddHistoryEntries(boolean addHistoryEntries)` Should default history-tracking support be enabled? If `true`, then a history management scheme utilizing History.addHistoryEntry() and History.registerCallback() is enabled.
    `void` | `setAutoNavigate(java.lang.Boolean autoNavigate)` If set, the `splitPane` will automatically monitor selection changes in the `navigationPane` or `listPane`, and call `SplitPane.navigateListPane()` or `SplitPane.navigateDetailPane()` when selections are changed.
    `void` | `setCurrentPane(CurrentPane currentPane)` The most recently shown pane.
    `static void` | `setDefaultProperties(SplitPane splitPaneProperties)` Class level method to set the default properties of this class.
    `void` | `setDetailNavigationControl(Canvas detailNavigationControl)` Navigation control that appears only when the navigation pane is not showing (showing detail pane on handset, or portrait mode on tablet).
    `void` | `setDetailPane(Canvas detailPane)` The right-hand of the two panes managed by this widget, used for viewing details.
    `void` | `setDetailPaneTitleTemplate(java.lang.String detailPaneTitleTemplate)` Default value chosen for `detailPaneTitle` when `SplitPane.navigateDetailPane()` is called.
    `void` | `setDetailTitle(java.lang.String detailTitle)` The title for the `detailPane`.
    `void` | `setDetailToolButtons(Canvas... detailToolButtons)` `detailToolButtons` allows you to specify a set of controls that are specially placed based on the `deviceMode` and `pageOrientation`.
    `void` | `setDeviceMode(DeviceMode deviceMode)` UI layout mode used for this `SplitPane`.
    `void` | `setEditProxyConstructor(java.lang.String editProxyConstructor)` Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
    `void` | `setLeftButtonTitle(java.lang.String newTitle)` Setter for the `leftButtonTitle` of the `navigationBar`.
    `void` | `setListPane(Canvas listPane)` An optional list pane displayed in the left-hand of the panes or in a side panel according to the pane layout.
    `void` | `setListPaneTitleTemplate(java.lang.String listPaneTitleTemplate)` Default value chosen for `listPaneTitle` when `SplitPane.navigateListPane()` is called.
    `void` | `setListTitle(java.lang.String listTitle)` The title for the `listPane`.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `setLogicalStructure(com.smartgwt.logicalstructure.widgets.layout.SplitPaneLogicalStructure s)` Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `void` | `setNavigationPane(Canvas navigationPane)` An arbitrary widget that is visible in all configurations when the `currentPane` is `CurrentPane.NAVIGATION` (it may also be visible when the `currentPane` is `CurrentPane.LIST` or `CurrentPane.DETAIL`).
    `void` | `setNavigationTitle(java.lang.String navigationTitle)` The title for the `navigationPane`, displayed in the `navigationBar` and also used for the title of a back button in some configurations.
    `void` | `setPageOrientation(PageOrientation pageOrientation)` Current `PageOrientation`.
    `void` | `setRightButtonTitle(java.lang.String newTitle)` Setter for the `rightButtonTitle` of the `navigationBar`.
    `void` | `setShowDetailToolStrip(java.lang.Boolean showDetailToolStrip)` If set to `false`, the `detailToolStrip` will not be shown.
    `void` | `setShowLeftButton(boolean showLeftButton)` Should the `leftButton` be shown in the `navigationBar`?
    `void` | `setShowListToolStrip(java.lang.Boolean showListToolStrip)` If set to `false`, the `listToolStrip` will not be shown.
    `void` | `setShowMiniNav(java.lang.Boolean showMiniNav)` If true, the `NavigationBar` will show a `MiniNavControl` in modes where the `navigationPane` and `listPane` are not showing, specifically, `DeviceMode` "handset" in the `detailPane` and `DeviceMode`.
    `void` | `setShowNavigationBar(java.lang.Boolean showNavigationBar)` If set to `false`, the `navigationBar` will not be shown.
    `void` | `setShowResizeBars(boolean showResizeBars)` If enabled, the `SplitPane` will add resize bars between the `navigationPane` and `detailPane` when these panes are shown side-by-side, and between the `listPane` and `detailPane` in `deviceMode:"desktop"`.
    `void` | `setShowRightButton(boolean showRightButton)` Should the `rightButton` be shown in the `navigationBar`? If this method is called after the component has been drawn/initialized: Show or hide the `rightButton` of the `navigationBar`.
    `void` | `showDetailPane()` Causes a transition to the `detailPane`, optionally updating the `detail title`.
    `void` | `showDetailPane(java.lang.String detailPaneTitle)`
    `void` | `showDetailPane(java.lang.String detailPaneTitle, java.lang.String backButtonTitle)` Causes a transition to the `detailPane`, optionally updating the `detail title`.
    `void` | `showListPane()` Causes a transition to the `listPane`, optionally updating the `list title`.
    `void` | `showListPane(java.lang.String listPaneTitle)`
    `void` | `showListPane(java.lang.String listPaneTitle, java.lang.String backButtonTitle)` Causes a transition to the `listPane`, optionally updating the `list title`.
    `void` | `showNavigationPane()` Causes a transition to the `navigationPane`.

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

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

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

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

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

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

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

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

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

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

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

      `fireEvent`

- - ### Constructor Detail

    - #### SplitPane

          public SplitPane()

    - #### SplitPane

          public SplitPane(JavaScriptObject jsObj)

    - #### SplitPane

          public SplitPane(Canvas navigationPane,
                   Canvas detailPane)

    - #### SplitPane

          public SplitPane(Canvas navigationPane,
                   Canvas listPane,
                   Canvas detailPane)

  - ### Method Detail

    - #### getOrCreateRef

          public static SplitPane getOrCreateRef(JavaScriptObject jsObj)

    - #### changeAutoChildDefaults

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

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

    - #### changeAutoChildDefaults

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

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

    - #### create

          protected JavaScriptObject create()

      Overrides:
        `create` in class `Layout`

    - #### setAddHistoryEntries

          public void setAddHistoryEntries(boolean addHistoryEntries)

      Should default history-tracking support be enabled? If `true`, then a history management scheme utilizing History.addHistoryEntry() and History.registerCallback() is enabled. The history callback is registered as an additive callback, allowing other history callbacks including the primary callback to be registered.

      The default history management scheme is as follows:

      - History entries are only added after `page load` and when the `SplitPane` is drawn.
      - A history entry is added for a pane that is hidden by `SplitPane.showNavigationPane()`, `SplitPane.showListPane()`, or `SplitPane.showDetailPane()` for the current `deviceMode` and `pageOrientation` settings.

        Example 1: When `deviceMode` is "desktop", all 3 panes are shown simultaneously, so no history entries are added.

        Example 2: When `deviceMode` is "handset", calling `SplitPane.showDetailPane()` will hide the current pane (the `listPane` if present, otherwise the `navigationPane`). A history entry is added for the pane that was hidden

      The default history management scheme can be supplemented with application-specific history management. For example, when `deviceMode` is "tablet", the `detailPane` is always visible, but changes to the content of the `detailPane` are transparent to the `SplitPane`. The application can add history entries of its own when the user causes new information to be displayed in the `detailPane`.
      If this method is called after the component has been drawn/initialized: Setter for `addHistoryEntries`.

      Parameters:
        `addHistoryEntries` - the new setting.. Default value is false

    - #### getAddHistoryEntries

          public boolean getAddHistoryEntries()

      Should default history-tracking support be enabled? If `true`, then a history management scheme utilizing History.addHistoryEntry() and History.registerCallback() is enabled. The history callback is registered as an additive callback, allowing other history callbacks including the primary callback to be registered.

      The default history management scheme is as follows:

      - History entries are only added after `page load` and when the `SplitPane` is drawn.
      - A history entry is added for a pane that is hidden by `SplitPane.showNavigationPane()`, `SplitPane.showListPane()`, or `SplitPane.showDetailPane()` for the current `deviceMode` and `pageOrientation` settings.

        Example 1: When `deviceMode` is "desktop", all 3 panes are shown simultaneously, so no history entries are added.

        Example 2: When `deviceMode` is "handset", calling `SplitPane.showDetailPane()` will hide the current pane (the `listPane` if present, otherwise the `navigationPane`). A history entry is added for the pane that was hidden

      The default history management scheme can be supplemented with application-specific history management. For example, when `deviceMode` is "tablet", the `detailPane` is always visible, but changes to the content of the `detailPane` are transparent to the `SplitPane`. The application can add history entries of its own when the user causes new information to be displayed in the `detailPane`.

      Returns:
        boolean

    - #### setAutoNavigate

          public void setAutoNavigate(java.lang.Boolean autoNavigate)
                               throws java.lang.IllegalStateException

      If set, the `splitPane` will automatically monitor selection changes in the `navigationPane` or `listPane`, and call `SplitPane.navigateListPane()` or `SplitPane.navigateDetailPane()` when selections are changed.

      If any configured panes lack DataSources or there is no DataSource relationship declared between panes, `autoNavigate` does nothing.

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

    - #### getAutoNavigate

          public java.lang.Boolean getAutoNavigate()

      If set, the `splitPane` will automatically monitor selection changes in the `navigationPane` or `listPane`, and call `SplitPane.navigateListPane()` or `SplitPane.navigateDetailPane()` when selections are changed.

      If any configured panes lack DataSources or there is no DataSource relationship declared between panes, `autoNavigate` does nothing.

      Returns:
        Boolean
      See Also:
        SplitPane Example

    - #### getBackButton

          public NavigationButton getBackButton()
                                         throws java.lang.IllegalStateException

      The back button shown in the `navigationBar` depending on the current UI configuration. The back button's `title` is determined by the `SplitPane`.

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

      Returns:
        NavigationButton
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setCurrentPane

          public void setCurrentPane(CurrentPane currentPane)

      The most recently shown pane. In handset `DeviceMode`, the `currentPane` is the only pane that is actually visible to the user. In other modes more than one pane can be simultaneously visible, so the `currentPane` is the most recent pane that was brought into view via a call to `SplitPane.setCurrentPane()` or `SplitPane.showNavigationPane()`.

      The default value of `currentPane` is "navigation".
      If this method is called after the component has been drawn/initialized: Reveals the pane indicated by the `newPane` parameter.

      This has different effects based on the `DeviceMode` and `PageOrientation`. For example, in "handset" mode, the new pane will be the only one showing. In other modes such as "desktop", this method may do nothing, but should still be called in order to ensure correct behavior with other `DeviceMode` settings.

      Parameters:
        `currentPane` - new pane to show.. Default value is "navigation"

    - #### getCurrentPane

          public CurrentPane getCurrentPane()

      The most recently shown pane. In handset `DeviceMode`, the `currentPane` is the only pane that is actually visible to the user. In other modes more than one pane can be simultaneously visible, so the `currentPane` is the most recent pane that was brought into view via a call to `SplitPane.setCurrentPane()` or `SplitPane.showNavigationPane()`.

      The default value of `currentPane` is "navigation".

      Returns:
        CurrentPane

    - #### setDetailNavigationControl

          public void setDetailNavigationControl(Canvas detailNavigationControl)

      Navigation control that appears only when the navigation pane is not showing (showing detail pane on handset, or portrait mode on tablet).

      See also `showMiniNav` for a way to enable a built-in control.
      If this method is called after the component has been drawn/initialized: Navigation control that appears only when the navigation pane is not showing (showing detail pane on handset, or portrait mode on tablet).

      Note : This is an advanced setting

      Parameters:
        `detailNavigationControl` - Default value is null

    - #### getDetailNavigationControl

          public Canvas getDetailNavigationControl()

      Navigation control that appears only when the navigation pane is not showing (showing detail pane on handset, or portrait mode on tablet).

      See also `showMiniNav` for a way to enable a built-in control.

      Returns:
        Canvas

    - #### setDetailPane

          public void setDetailPane(Canvas detailPane)

      The right-hand of the two panes managed by this widget, used for viewing details.
      If this method is called after the component has been drawn/initialized: Sets a new `detailPane` at runtime.
      Parameters:
        `detailPane` - new detail pane for this widget.. Default value is null

    - #### getDetailPane

          public Canvas getDetailPane()

      The right-hand of the two panes managed by this widget, used for viewing details.
      Returns:
        Canvas

    - #### setDetailPaneTitleTemplate

          public void setDetailPaneTitleTemplate(java.lang.String detailPaneTitleTemplate)

      Default value chosen for `detailPaneTitle` when `SplitPane.navigateDetailPane()` is called.

      Available variables are the same as for `listPaneTitleTemplate`.
      If this method is called after the component has been drawn/initialized: Sets a new `detailPaneTitleTemplate` at runtime.

      By calling this method it is assumed you want the detail pane title to change to the new template.

      Parameters:
        `detailPaneTitleTemplate` - new template, can use HTML to be styled. See `HTMLString` . Default value is "${titleField}"
      See Also:
        `setListPaneTitleTemplate(java.lang.String)`, SplitPane Example

    - #### getDetailPaneTitleTemplate

          public java.lang.String getDetailPaneTitleTemplate()

      Default value chosen for `detailPaneTitle` when `SplitPane.navigateDetailPane()` is called.

      Available variables are the same as for `listPaneTitleTemplate`.

      Returns:
        See `HTMLString`
      See Also:
        `getListPaneTitleTemplate()`, SplitPane Example

    - #### setDetailTitle

          public void setDetailTitle(java.lang.String detailTitle)

      The title for the `detailPane`.
      If this method is called after the component has been drawn/initialized: Sets the title for the `detailPane`.
      Parameters:
        `detailTitle` - new title for the detail pane. See `HTMLString` . Default value is null

    - #### getDetailTitle

          public java.lang.String getDetailTitle()

      The title for the `detailPane`.
      Returns:
        See `HTMLString`

    - #### setDetailToolButtons

          public void setDetailToolButtons(Canvas... detailToolButtons)

      `detailToolButtons` allows you to specify a set of controls that are specially placed based on the `deviceMode` and `pageOrientation`. This is generally useful for a compact strip of `ImgButton` controls, approximately 5 of which will fit comfortably using typical size icons and in the most space-constricted modes.

      These controls are placed as follows:

      - in `deviceMode:"desktop"` and `deviceMode` "tablet" with `pageOrientation` "landscape", `detailToolButtons` appear in the `detailToolStrip` shown above of the `detailPane`.
      - in `deviceMode:"handset"`, `detailToolButtons` appear in a `detailToolStrip` underneath the detailPane. This toolstrip is only created in "handset" mode if `detailToolButtons` are provided.
      - in `deviceMode:"tablet"` and `pageOrientation:"portrait"`, `detailToolButtons` appear in `splitPane.navigationBar`.
      If this method is called after the component has been drawn/initialized: Updates the `detailToolButtons` at runtime.
      Parameters:
        `detailToolButtons` - new controls for the toolstrip.. Default value is null

    - #### getDetailToolButtons

          public Canvas[] getDetailToolButtons()

      `detailToolButtons` allows you to specify a set of controls that are specially placed based on the `deviceMode` and `pageOrientation`. This is generally useful for a compact strip of `ImgButton` controls, approximately 5 of which will fit comfortably using typical size icons and in the most space-constricted modes.

      These controls are placed as follows:

      - in `deviceMode:"desktop"` and `deviceMode` "tablet" with `pageOrientation` "landscape", `detailToolButtons` appear in the `detailToolStrip` shown above of the `detailPane`.
      - in `deviceMode:"handset"`, `detailToolButtons` appear in a `detailToolStrip` underneath the detailPane. This toolstrip is only created in "handset" mode if `detailToolButtons` are provided.
      - in `deviceMode:"tablet"` and `pageOrientation:"portrait"`, `detailToolButtons` appear in `splitPane.navigationBar`.
      Returns:
        Canvas...

    - #### getDetailToolStrip

          public NavigationBar getDetailToolStrip()
                                           throws java.lang.IllegalStateException

      Toolstrip servicing the `detailPane`.

      In `deviceMode` `DeviceMode.DESKTOP` and `deviceMode` `DeviceMode.TABLET`, the `detailToolStrip` is shown above the `detailPane`. In `deviceMode` `DeviceMode.HANDSET`, the `detailToolStrip` is created only if `detailToolButtons` are specified, and is placed underneath the `detailPane`.

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

      Returns:
        NavigationBar
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setDeviceMode

          public void setDeviceMode(DeviceMode deviceMode)
                             throws java.lang.IllegalStateException

      UI layout mode used for this `SplitPane`.

      A `SplitPane` can be configured with up to 3 panes: the `navigationPane`, `listPane` and `detailPane`. Both `DeviceMode` and `PageOrientation` influence the placement of these panes as follows:

      - "handset" `deviceMode`: only a single pane is shown at a time. Not orientation sensitive
      - "tablet" `deviceMode` with `pageOrientation`:"landscape": the `detailPane` is shown side by side with either the `navigationPane` or `listPane`
      - "tablet" `deviceMode` with `pageOrientation`:"portrait": the `detailPane` is shown only. End user navigation that would show the `listPane` or `navigationPane` shows those panes on top of the `detailPane` (temporarily covering part of its content)
      - "desktop" `deviceMode`: all 3 panes are shown simultaneously. Not orientation sensitive
      The `listPane` is optional; if not present, wherever the `listPane` is mentioned above, the `navigationPane` is shown instead.
      Parameters:
        `deviceMode` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        SplitPane Example

    - #### getDeviceMode

          public DeviceMode getDeviceMode()

      UI layout mode used for this `SplitPane`.

      A `SplitPane` can be configured with up to 3 panes: the `navigationPane`, `listPane` and `detailPane`. Both `DeviceMode` and `PageOrientation` influence the placement of these panes as follows:

      - "handset" `deviceMode`: only a single pane is shown at a time. Not orientation sensitive
      - "tablet" `deviceMode` with `pageOrientation`:"landscape": the `detailPane` is shown side by side with either the `navigationPane` or `listPane`
      - "tablet" `deviceMode` with `pageOrientation`:"portrait": the `detailPane` is shown only. End user navigation that would show the `listPane` or `navigationPane` shows those panes on top of the `detailPane` (temporarily covering part of its content)
      - "desktop" `deviceMode`: all 3 panes are shown simultaneously. Not orientation sensitive
      The `listPane` is optional; if not present, wherever the `listPane` is mentioned above, the `navigationPane` is shown instead.
      Returns:
        DeviceMode
      See Also:
        SplitPane Example

    - #### setEditProxyConstructor

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

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

    - #### getEditProxyConstructor

          public java.lang.String getEditProxyConstructor()

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

    - #### setListPane

          public void setListPane(Canvas listPane)

      An optional list pane displayed in the left-hand of the panes or in a side panel according to the pane layout.
      If this method is called after the component has been drawn/initialized: Sets a new `listPane` at runtime.
      Parameters:
        `listPane` - new list pane for this widget.. Default value is null

    - #### getListPane

          public Canvas getListPane()

      An optional list pane displayed in the left-hand of the panes or in a side panel according to the pane layout.
      Returns:
        Canvas

    - #### setListPaneTitleTemplate

          public void setListPaneTitleTemplate(java.lang.String listPaneTitleTemplate)

      Default value chosen for `listPaneTitle` when `SplitPane.navigateListPane()` is called.

      Available variables are:

      - "titleField" - the value of the `titleField` in the selected record from the `navigationPane`
      - "index" - position of the selected record
      - "totalRows" - total number of rows in the component where the record is selected
      - "record" - the entire selected Record
      If this method is called after the component has been drawn/initialized: Sets a new `listPaneTitleTemplate` at runtime.

      By calling this method it is assumed you want the list pane title to change to the new template.

      Parameters:
        `listPaneTitleTemplate` - new template, can use HTML to be styled. See `HTMLString` . Default value is "${titleField}"
      See Also:
        `setDetailPaneTitleTemplate(java.lang.String)`, SplitPane Example

    - #### getListPaneTitleTemplate

          public java.lang.String getListPaneTitleTemplate()

      Default value chosen for `listPaneTitle` when `SplitPane.navigateListPane()` is called.

      Available variables are:

      - "titleField" - the value of the `titleField` in the selected record from the `navigationPane`
      - "index" - position of the selected record
      - "totalRows" - total number of rows in the component where the record is selected
      - "record" - the entire selected Record
      Returns:
        See `HTMLString`
      See Also:
        `getDetailPaneTitleTemplate()`, SplitPane Example

    - #### setListTitle

          public void setListTitle(java.lang.String listTitle)

      The title for the `listPane`.
      If this method is called after the component has been drawn/initialized: Sets the title for the `listPane`.
      Parameters:
        `listTitle` - new title for the list pane. See `HTMLString` . Default value is null

    - #### getListTitle

          public java.lang.String getListTitle()

      The title for the `listPane`.
      Returns:
        See `HTMLString`

    - #### getListToolStrip

          public NavigationBar getListToolStrip()
                                         throws java.lang.IllegalStateException

      Bar displayed above the `listPane`, if a `listPane` is present, only for `deviceMode` "desktop".

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

      Returns:
        NavigationBar
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### getNavigationBar

          public NavigationBar getNavigationBar()
                                         throws java.lang.IllegalStateException

      A `NavigationBar` instance managed by this `SplitPane` that is placed above the `navigationPane`.

      The following `passthroughs` apply:

      - `showRightButton` for NavigationBar.showRightButton.
      - `showLeftButton` for NavigationBar.showLeftButton.

      Note that in `deviceMode` `DeviceMode.DESKTOP` with `showNavigationBar` unset, the `navigationBar` is automatically hidden when it would be empty (`navigationTitle` is an empty string and `showRightButton` and `showLeftButton` are both `false`). The `navigationBar` will be shown if the `navigationTitle` `is set` to a non-empty string, or `showRightButton` or `showLeftButton` is set to `true`.

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

      Returns:
        NavigationBar
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.
      See Also:
        `getShowNavigationBar()`

    - #### setNavigationPane

          public void setNavigationPane(Canvas navigationPane)

      An arbitrary widget that is visible in all configurations when the `currentPane` is `CurrentPane.NAVIGATION` (it may also be visible when the `currentPane` is `CurrentPane.LIST` or `CurrentPane.DETAIL`).

      The `navigationPane` is typically used for navigation, to initialize the content of the `listPane` (when using a `listPane`) or the `detailPane`. For example, in an email application the `navigationPane` pane widget could be a `TreeGrid` of the inboxes and folders.
      If this method is called after the component has been drawn/initialized: Update the `navigationPane` at runtime.

      Parameters:
        `navigationPane` - new navigation pane for this widget.. Default value is null

    - #### getNavigationPane

          public Canvas getNavigationPane()

      An arbitrary widget that is visible in all configurations when the `currentPane` is `CurrentPane.NAVIGATION` (it may also be visible when the `currentPane` is `CurrentPane.LIST` or `CurrentPane.DETAIL`).

      The `navigationPane` is typically used for navigation, to initialize the content of the `listPane` (when using a `listPane`) or the `detailPane`. For example, in an email application the `navigationPane` pane widget could be a `TreeGrid` of the inboxes and folders.

      Returns:
        Canvas

    - #### setNavigationTitle

          public void setNavigationTitle(java.lang.String navigationTitle)

      The title for the `navigationPane`, displayed in the `navigationBar` and also used for the title of a back button in some configurations.
      If this method is called after the component has been drawn/initialized: Sets the title for the `navigationPane`.
      Parameters:
        `navigationTitle` - new title for the navigation pane. See `HTMLString` . Default value is null

    - #### getNavigationTitle

          public java.lang.String getNavigationTitle()

      The title for the `navigationPane`, displayed in the `navigationBar` and also used for the title of a back button in some configurations.
      Returns:
        See `HTMLString`

    - #### setPageOrientation

          public void setPageOrientation(PageOrientation pageOrientation)

      Current `PageOrientation`. The default behavior of the `SplitPane` is to register for orientation change notifications from the device (see `Page.getOrientation()`) and automatically change orientation based on the `type of device`.

      You can instead set a specific value for `pageOrientation` if you only want to use a specific layout, and not respond to orientation information from the device.
      If this method is called after the component has been drawn/initialized: Explicitly sets the page orientation to a fixed value instead of being responsive to device orientation changes. Pass `null` to return to responding automatically to device orientation.

      See `PageOrientation` for details of how page orientation affects layout.

      Parameters:
        `pageOrientation` - new orientation to use.. Default value is null

    - #### getPageOrientation

          public PageOrientation getPageOrientation()

      Current `PageOrientation`. The default behavior of the `SplitPane` is to register for orientation change notifications from the device (see `Page.getOrientation()`) and automatically change orientation based on the `type of device`.

      You can instead set a specific value for `pageOrientation` if you only want to use a specific layout, and not respond to orientation information from the device.

      Returns:
        PageOrientation

    - #### setShowDetailToolStrip

          public void setShowDetailToolStrip(java.lang.Boolean showDetailToolStrip)
                                      throws java.lang.IllegalStateException

      If set to `false`, the `detailToolStrip` will not be shown.
      Parameters:
        `showDetailToolStrip` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowDetailToolStrip

          public java.lang.Boolean getShowDetailToolStrip()

      If set to `false`, the `detailToolStrip` will not be shown.
      Returns:
        Boolean

    - #### setShowLeftButton

          public void setShowLeftButton(boolean showLeftButton)

      Should the `leftButton` be shown in the `navigationBar`?

      The default behavior is to automatically create and show a `back button` as appropriate that allows transitioning back to the `navigationPane` (tablet and handset mode) or the `listPane` (handset mode). If `showLeftButton` is true, then the left button is shown in addition to the automatically-created back button.
      If this method is called after the component has been drawn/initialized: Show or hide the `leftButton` of the `navigationBar`.

      Parameters:
        `showLeftButton` - if `true`, the button will be shown, otherwise hidden.. Default value is false

    - #### getShowLeftButton

          public boolean getShowLeftButton()

      Should the `leftButton` be shown in the `navigationBar`?

      The default behavior is to automatically create and show a `back button` as appropriate that allows transitioning back to the `navigationPane` (tablet and handset mode) or the `listPane` (handset mode). If `showLeftButton` is true, then the left button is shown in addition to the automatically-created back button.

      Returns:
        boolean

    - #### setShowListToolStrip

          public void setShowListToolStrip(java.lang.Boolean showListToolStrip)
                                    throws java.lang.IllegalStateException

      If set to `false`, the `listToolStrip` will not be shown.
      Parameters:
        `showListToolStrip` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowListToolStrip

          public java.lang.Boolean getShowListToolStrip()

      If set to `false`, the `listToolStrip` will not be shown.
      Returns:
        Boolean

    - #### setShowMiniNav

          public void setShowMiniNav(java.lang.Boolean showMiniNav)
                              throws java.lang.IllegalStateException

      If true, the `NavigationBar` will show a `MiniNavControl` in modes where the `navigationPane` and `listPane` are not showing, specifically, `DeviceMode` "handset" in the `detailPane` and `DeviceMode`. `miniNavAlign` will be "left" for table mode and "right" for handset.

      Alternatively, a custom navigation control can be provided via `detailNavigationControl`.

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

    - #### getShowMiniNav

          public java.lang.Boolean getShowMiniNav()

      If true, the `NavigationBar` will show a `MiniNavControl` in modes where the `navigationPane` and `listPane` are not showing, specifically, `DeviceMode` "handset" in the `detailPane` and `DeviceMode`. `miniNavAlign` will be "left" for table mode and "right" for handset.

      Alternatively, a custom navigation control can be provided via `detailNavigationControl`.

      Returns:
        Boolean

    - #### setShowNavigationBar

          public void setShowNavigationBar(java.lang.Boolean showNavigationBar)
                                    throws java.lang.IllegalStateException

      If set to `false`, the `navigationBar` will not be shown. If set to `true`, the `navigationBar` will always be shown, even when the `deviceMode` is `DeviceMode.DESKTOP` and the `navigationBar` would be empty.
      Parameters:
        `showNavigationBar` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowNavigationBar

          public java.lang.Boolean getShowNavigationBar()

      If set to `false`, the `navigationBar` will not be shown. If set to `true`, the `navigationBar` will always be shown, even when the `deviceMode` is `DeviceMode.DESKTOP` and the `navigationBar` would be empty.
      Returns:
        Boolean

    - #### setShowResizeBars

          public void setShowResizeBars(boolean showResizeBars)
                                 throws java.lang.IllegalStateException

      If enabled, the `SplitPane` will add resize bars between the `navigationPane` and `detailPane` when these panes are shown side-by-side, and between the `listPane` and `detailPane` in `deviceMode:"desktop"`.
      Parameters:
        `showResizeBars` - Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowResizeBars

          public boolean getShowResizeBars()

      If enabled, the `SplitPane` will add resize bars between the `navigationPane` and `detailPane` when these panes are shown side-by-side, and between the `listPane` and `detailPane` in `deviceMode:"desktop"`.
      Returns:
        boolean

    - #### setShowRightButton

          public void setShowRightButton(boolean showRightButton)

      Should the `rightButton` be shown in the `navigationBar`?
      If this method is called after the component has been drawn/initialized: Show or hide the `rightButton` of the `navigationBar`.
      Parameters:
        `showRightButton` - if `true`, the button will be shown, otherwise hidden.. Default value is false

    - #### getShowRightButton

          public boolean getShowRightButton()

      Should the `rightButton` be shown in the `navigationBar`?
      Returns:
        boolean

    - #### addDownClickHandler

          public HandlerRegistration addDownClickHandler(DownClickHandler handler)

      Add a downClick handler.

      Notification method fired when the `miniNav is showing` and the down button on the `navigationBar`'s `MiniNavControl` is clicked.

      Specified by:
        `addDownClickHandler` in interface `HasDownClickHandlers`
      Parameters:
        `handler` - the downClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### navigateDetailPane

          public void navigateDetailPane()

      Calls `SplitPane.navigatePane()` with the `detailPane` as the target pane.

    - #### navigateDetailPane

          public void navigateDetailPane(java.lang.String title)

      Calls `SplitPane.navigatePane()` with the `detailPane` as the target pane.
      Parameters:
        `title` - optional title to use instead of the automatically chosen one. See `HTMLString`

    - #### navigateListPane

          public void navigateListPane()

      Calls `SplitPane.navigatePane()` with the `listPane` as the target pane.

    - #### navigateListPane

          public void navigateListPane(java.lang.String title)

      Calls `SplitPane.navigatePane()` with the `listPane` as the target pane.
      Parameters:
        `title` - optional title to use instead of the automatically chosen one. See `HTMLString`

    - #### navigatePane

          public void navigatePane()

      Causes the target pane component to load data and update its title based on the current selection in the source pane.

      Both the source pane and target pane must have a `DataSource`, and either:

      - the two DataSources must have a Many-To-One relationship declared via `foreignKey`, so that `ListGrid.fetchRelatedData()` can be used on the target pane.
      - the two DataSources must be the same, so that the record selected in the source pane can be displayed in the target pane via simply calling `setData()`.
      The default `target` is `CurrentPane.LIST` if the `listPane` is present, otherwise `CurrentPane.DETAIL`.

      The title applied to the target pane is based on `listPaneTitleTemplate` if the target pane is the `listPane`, otherwise `detailPaneTitleTemplate`.

      The source pane usually does not need to be specified: if the target pane is the `detailPane`, the default source pane is the `listPane` if present, otherwise the `navigationPane`. If the target pane is the `listPane`, the source pane is always the `navigationPane`.

    - #### navigatePane

          public void navigatePane(CurrentPane target)

      See Also:
        `navigatePane()`

    - #### navigatePane

          public void navigatePane(CurrentPane target,
                          java.lang.String title)

      See Also:
        `navigatePane()`

    - #### navigatePane

          public void navigatePane(CurrentPane target,
                          java.lang.String title,
                          CurrentPane source)

      Causes the target pane component to load data and update its title based on the current selection in the source pane.

      Both the source pane and target pane must have a `DataSource`, and either:

      - the two DataSources must have a Many-To-One relationship declared via `foreignKey`, so that `ListGrid.fetchRelatedData()` can be used on the target pane.
      - the two DataSources must be the same, so that the record selected in the source pane can be displayed in the target pane via simply calling `setData()`.
      The default `target` is `CurrentPane.LIST` if the `listPane` is present, otherwise `CurrentPane.DETAIL`.

      The title applied to the target pane is based on `listPaneTitleTemplate` if the target pane is the `listPane`, otherwise `detailPaneTitleTemplate`.

      The source pane usually does not need to be specified: if the target pane is the `detailPane`, the default source pane is the `listPane` if present, otherwise the `navigationPane`. If the target pane is the `listPane`, the source pane is always the `navigationPane`.

      Parameters:
        `target` - pane that should navigate
        `title` - optional title to use for target pane. If not specified, the title is based on `listPaneTitleTemplate` if the target pane is the `listPane`, otherwise `detailPaneTitleTemplate`.. See `HTMLString`
        `source` - source pane used for selection

    - #### addNavigationClickHandler

          public HandlerRegistration addNavigationClickHandler(NavigationClickHandler handler)

      Add a navigationClick handler.

      Notification method fired when the user clicks the default back / forward buttons on the navigation bar for this `SplitPane`.

      Specified by:
        `addNavigationClickHandler` in interface `HasNavigationClickHandlers`
      Parameters:
        `handler` - the navigationClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addPaneChangedHandler

          public HandlerRegistration addPaneChangedHandler(PaneChangedHandler handler)

      Add a paneChanged handler.

      Notification fired when the `currentPane` changes, either due to end-user action or due to a programmatic call to `setCurrentPane()` or other APIs that can change the pane.

      Note that depending on the `DeviceMode`, this event may not signal that any pane has actually been shown or hidden, since in some modes multiple panes are shown simultaneously.

      Never fires while the `SplitPane` is not drawn.

      Specified by:
        `addPaneChangedHandler` in interface `HasPaneChangedHandlers`
      Parameters:
        `handler` - the paneChanged handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### setLeftButtonTitle

          public void setLeftButtonTitle(java.lang.String newTitle)

      Setter for the `leftButtonTitle` of the `navigationBar`.
      Parameters:
        `newTitle` - new title for the left button.. See `HTMLString`

    - #### setRightButtonTitle

          public void setRightButtonTitle(java.lang.String newTitle)

      Setter for the `rightButtonTitle` of the `navigationBar`.
      Parameters:
        `newTitle` - new title for the right button.. See `HTMLString`

    - #### showDetailPane

          public void showDetailPane()

      Causes a transition to the `detailPane`, optionally updating the `detail title`.

      If, based on the `deviceMode` and `pageOrientation`, this causes the `navigationPane` or `listPane` to be hidden, the `back button` will be updated with the current title of the `navigationPane` or `listPane`, or the `backButtonTitle` passed to this method. When `addHistoryEntries` is enabled and `backButtonTitle` is passed, then `backButtonTitle` will be used for the back button title if the user goes back to the `detailPane`.

    - #### showDetailPane

          public void showDetailPane(java.lang.String detailPaneTitle)

      See Also:
        `showDetailPane()`

    - #### showDetailPane

          public void showDetailPane(java.lang.String detailPaneTitle,
                            java.lang.String backButtonTitle)

      Causes a transition to the `detailPane`, optionally updating the `detail title`.

      If, based on the `deviceMode` and `pageOrientation`, this causes the `navigationPane` or `listPane` to be hidden, the `back button` will be updated with the current title of the `navigationPane` or `listPane`, or the `backButtonTitle` passed to this method. When `addHistoryEntries` is enabled and `backButtonTitle` is passed, then `backButtonTitle` will be used for the back button title if the user goes back to the `detailPane`.

      Parameters:
        `detailPaneTitle` - optional new detail title.. See `HTMLString`
        `backButtonTitle` - optional new title for the `back button`.. See `HTMLString`

    - #### showListPane

          public void showListPane()

      Causes a transition to the `listPane`, optionally updating the `list title`.

      If, based on the `deviceMode` and `pageOrientation`, this causes the `navigationPane` to be hidden, the `back button` will be updated with the current title of the `navigationPane`, or the `backButtonTitle` passed to this method. When `addHistoryEntries` is enabled and `backButtonTitle` is passed, then `backButtonTitle` will be used for the back button title if the user goes back to the `listPane`.

    - #### showListPane

          public void showListPane(java.lang.String listPaneTitle)

      See Also:
        `showListPane()`

    - #### showListPane

          public void showListPane(java.lang.String listPaneTitle,
                          java.lang.String backButtonTitle)

      Causes a transition to the `listPane`, optionally updating the `list title`.

      If, based on the `deviceMode` and `pageOrientation`, this causes the `navigationPane` to be hidden, the `back button` will be updated with the current title of the `navigationPane`, or the `backButtonTitle` passed to this method. When `addHistoryEntries` is enabled and `backButtonTitle` is passed, then `backButtonTitle` will be used for the back button title if the user goes back to the `listPane`.

      Parameters:
        `listPaneTitle` - optional new list title.. See `HTMLString`
        `backButtonTitle` - optional new title for the `back button`.. See `HTMLString`

    - #### showNavigationPane

          public void showNavigationPane()

      Causes a transition to the `navigationPane`.

    - #### addUpClickHandler

          public HandlerRegistration addUpClickHandler(UpClickHandler handler)

      Add a upClick handler.

      Notification method fired when the `miniNav is showing` and the up button on the `navigationBar`'s `MiniNavControl` is clicked.

      Specified by:
        `addUpClickHandler` in interface `HasUpClickHandlers`
      Parameters:
        `handler` - the upClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### setDefaultProperties

          public static void setDefaultProperties(SplitPane splitPaneProperties)

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

    - #### setLogicalStructure

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