public class SplitPane extends VLayout implements HasNavigationClickHandlers, HasPaneChangedHandlers
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.
detailToolButtons
allows you to define a set of
controls that are specially placed based on the deviceMode
and pageOrientation
. See detailToolButtons
for details.
By default, a navigationBar
is created in all modes, and in some modes additional bars are created as follows:
deviceMode:"desktop"
and deviceMode
"tablet", the detailToolStrip
is shown above the
detailPane
. 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.
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 while the navigationBar
is named after the NavigationBar
class, 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.
config, configOnly, id, nativeObject, scClassName
Constructor and Description |
---|
SplitPane() |
SplitPane(Canvas navigationPane,
Canvas detailPane) |
SplitPane(Canvas navigationPane,
Canvas listPane,
Canvas detailPane) |
SplitPane(com.google.gwt.core.client.JavaScriptObject jsObj) |
Modifier and Type | Method and Description |
---|---|
com.google.gwt.event.shared.HandlerRegistration |
addNavigationClickHandler(NavigationClickHandler handler)
Add a navigationClick handler.
|
com.google.gwt.event.shared.HandlerRegistration |
addPaneChangedHandler(PaneChangedHandler handler)
Add a paneChanged 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 com.google.gwt.core.client.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. |
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 |
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 . |
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 |
getListTitle()
The title for the
listPane . |
NavigationBar |
getListToolStrip()
|
com.smartgwt.logicalstructure.core.LogicalStructureObject |
getLogicalStructure() |
NavigationBar |
getNavigationBar()
The AutoChild
NavigationBar managed by this widget. |
Canvas |
getNavigationPane()
The left-hand of the two panes managed by this widget, used for navigation.
|
java.lang.String |
getNavigationTitle()
The title for the
navigationPane . |
static SplitPane |
getOrCreateRef(com.google.gwt.core.client.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 |
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 |
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 |
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 |
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 |
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 |
setListTitle(java.lang.String listTitle)
The title for the
listPane . |
com.smartgwt.logicalstructure.core.LogicalStructureObject |
setLogicalStructure(com.smartgwt.logicalstructure.widgets.layout.SplitPaneLogicalStructure s) |
void |
setNavigationPane(Canvas navigationPane)
The left-hand of the two panes managed by this widget, used for navigation.
|
void |
setNavigationTitle(java.lang.String navigationTitle)
The title for the
navigationPane . |
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 |
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 . |
setDefaultProperties, setLogicalStructure
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
addChild, addChild, addChild, addChild, addChild, addClickHandler, addDoubleClickHandler, addDragMoveHandler, addDragRepositionMoveHandler, addDragRepositionStartHandler, addDragRepositionStopHandler, addDragResizeMoveHandler, addDragResizeStartHandler, addDragResizeStopHandler, addDragStartHandler, addDragStopHandler, addDropHandler, addDropMoveHandler, addDropOutHandler, addDropOverHandler, addFocusChangedHandler, addHoverHandler, addHoverHiddenHandler, addKeyDownHandler, addKeyPressHandler, addMouseDownHandler, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseStillDownHandler, addMouseUpHandler, addMouseWheelHandler, addMovedHandler, addParentMovedHandler, addPeer, addPeer, addPeer, addPeer, addResizedHandler, addRightMouseDownHandler, addScrolledHandler, addShowContextMenuHandler, addStyleName, addVisibilityChangedHandler, adjustForContent, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateHide, animateHide, animateHide, animateMove, animateMove, animateMove, animateMove, animateRect, animateRect, animateRect, animateRect, animateResize, animateResize, animateResize, animateResize, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateShow, animateShow, animateShow, animateShow, animateShow, animateShow, asSGWTComponent, blur, bringToFront, clear, clickMaskUp, clickMaskUp, contains, contains, containsEvent, containsFocus, containsPoint, containsPoint, deparent, depeer, disable, enable, focus, focusInNextTabElement, focusInPreviousTabElement, getAbsoluteLeft, getAbsoluteTop, getAccessKey, getAnimateAcceleration, getAnimateFadeTime, getAnimateHideAcceleration, getAnimateHideTime, getAnimateMoveAcceleration, getAnimateMoveTime, getAnimateRectAcceleration, getAnimateRectTime, getAnimateResizeAcceleration, getAnimateResizeTime, getAnimateScrollAcceleration, getAnimateScrollTime, getAnimateShowAcceleration, getAnimateShowEffect, getAnimateShowTime, getAnimateTime, getAppImgDir, getAriaRole, getAutoDraw, getAutoShowParent, getBackgroundColor, getBackgroundImage, getBackgroundPosition, getBackgroundRepeat, getBorder, getBottom, getById, getByJSObject, getByLocalId, getCanAcceptDrop, getCanDrag, getCanDragReposition, getCanDragResize, getCanDragScroll, getCanDrop, getCanDropBefore, getCanFocus, getCanHover, getCanSelectText, getCanvasAutoChild, getCanvasItem, getChildren, getChildrenSnapResizeToGrid, getChildrenSnapToGrid, getClassName, getComponentMask, getComponentMaskDefaults, getContentElement, getContents, getContextMenu, getCursor, getDataPath, getDefaultHeight, getDefaultWidth, getDestroyed, getDestroying, getDisabled, getDisabledCursor, getDoubleClickDelay, getDragAppearance, getDragIntersectStyle, getDragMaskType, getDragOpacity, getDragRepositionAppearance, getDragRepositionCursor, getDragResizeAppearance, getDragScrollDelay, getDragStartDistance, getDragTarget, getDragType, getDropTypes, getDropTypesAsString, getDynamicContents, getEdgeBackgroundColor, getEdgeCenterBackgroundColor, getEdgeImage, getEdgeMarginSize, getEdgeOffset, getEdgeOpacity, getEdgeShowCenter, getEdgeSize, getElement, getElement, getEventEdge, getEventEdge, getExtraSpace, getFacetId, getFormItemAutoChild, getFullDataPath, getGroupBorderCSS, getGroupLabelBackgroundColor, getGroupLabelStyleName, getGroupTitle, getHeight, getHeightAsString, getHideUsingDisplayNone, getHoverAlign, getHoverAutoDestroy, getHoverComponent, getHoverDelay, getHoverHeight, getHoverHTML, getHoverMoveWithMouse, getHoverOpacity, getHoverStyle, getHoverVAlign, getHoverWidth, getHoverWrap, getHSnapOrigin, getHSnapOrigin, getHSnapPosition, getHSnapPosition, getHtmlElement, getHtmlPosition, getImage, getImgURL, getImgURL, getInnerContentHeight, getInnerContentWidth, getInnerHeight, getInnerWidth, getIsGroup, getKeepInParentRect, getLayoutAlign, getLeft, getLeftAsString, getLocateChildrenBy, getLocateChildrenType, getLocatePeersBy, getLocatePeersType, getMargin, getMasterCanvas, getMasterElement, getMatchElement, getMaxHeight, getMaxWidth, getMenuConstructor, getMinHeight, getMinWidth, getMomentumScrollMinSpeed, getMouseStillDownDelay, getMouseStillDownInitialDelay, getNextZIndex, getNoDoubleClicks, getOffsetHeight, getOffsetWidth, getOffsetX, getOffsetY, getOpacity, getOuterElement, getPadding, getPageBottom, getPageLeft, getPageRect, getPageRight, getPageTop, getParentCanvas, getParentElement, getPeers, getPercentBox, getPercentSource, getPosition, getPrefix, getPrintChildrenAbsolutelyPositioned, getPrintHTML, getPrintHTML, getPrompt, getRect, getRedrawOnResize, getResizeBarTarget, getResizeFrom, getRight, getScrollbarSize, getScrollBottom, getScrollHeight, getScrollLeft, getScrollRight, getScrollTop, getScrollWidth, getShadowDepth, getShadowImage, getShadowOffset, getShadowSoftness, getShouldPrint, getShowCustomScrollbars, getShowDragShadow, getShowEdges, getShowHover, getShowHoverComponents, getShowResizeBar, getShowShadow, getShrinkElementOnHide, getSkinImgDir, getSnapAxis, getSnapEdge, getSnapHDirection, getSnapHGap, getSnapOffsetLeft, getSnapOffsetTop, getSnapOnDrop, getSnapResizeToGrid, getSnapTo, getSnapToGrid, getSnapVDirection, getSnapVGap, getStyleName, getTabIndex, getTestInstance, getTitle, getTooltip, getTop, getTopAsString, getTopElement, getUseBackMask, getUseDragMask, getUseNativeDrag, getUseOpacityFilter, getValuesManager, getViewportHeight, getViewportWidth, getVisibility, getVisibleHeight, getVisibleWidth, getVSnapOrigin, getVSnapOrigin, getVSnapPosition, getVSnapPosition, getWidth, getWidthAsString, getZIndex, getZIndex, handleHover, hide, hideClickMask, hideClickMask, hideComponentMask, hideContextMenu, imgHTML, imgHTML, imgHTML, intersects, isDirty, isDisabled, isDrawn, isVisible, keyUp, layoutChildren, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, markForDestroy, markForRedraw, markForRedraw, moveAbove, moveBelow, moveBy, moveTo, onAttach, onDetach, parentResized, printComponents, redraw, redraw, removeChild, removeChild, removePeer, removePeer, resizeBy, resizeTo, resizeTo, scrollBy, scrollByPercent, scrollTo, scrollTo, scrollTo, scrollToBottom, scrollToLeft, scrollToPercent, scrollToRight, scrollToTop, sendToBack, setAccessKey, setAllowExternalFilters, setAnimateAcceleration, setAnimateFadeTime, setAnimateHideAcceleration, setAnimateHideTime, setAnimateMoveAcceleration, setAnimateMoveTime, setAnimateRectAcceleration, setAnimateRectTime, setAnimateResizeAcceleration, setAnimateResizeTime, setAnimateScrollAcceleration, setAnimateScrollTime, setAnimateShowAcceleration, setAnimateShowEffect, setAnimateShowTime, setAnimateTime, setAppImgDir, setAriaRole, setAriaState, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoDraw, setAutoHeight, setAutoShowParent, setAutoWidth, setBackgroundColor, setBackgroundImage, setBackgroundPosition, setBackgroundRepeat, setBorder, setBottom, setCanAcceptDrop, setCanDrag, setCanDragReposition, setCanDragResize, setCanDragScroll, setCanDrop, setCanDropBefore, setCanFocus, setCanHover, setCanSelectText, setChildren, setChildrenSnapResizeToGrid, setChildrenSnapToGrid, setComponentMaskDefaults, setContents, setContextMenu, setCursor, setDataPath, setDefaultHeight, setDefaultProperties, setDefaultWidth, setDisabled, setDisabledCursor, setDoubleClickDelay, setDragAppearance, setDragIntersectStyle, setDragMaskType, setDragOpacity, setDragRepositionAppearance, setDragRepositionCursor, setDragResizeAppearance, setDragScrollDelay, setDragStartDistance, setDragTarget, setDragType, setDropTypes, setDropTypes, setDynamicContents, setEdgeBackgroundColor, setEdgeCenterBackgroundColor, setEdgeImage, setEdgeMarginSize, setEdgeOffset, setEdgeOpacity, setEdgeShowCenter, setEdgeSize, setElement, setExtraSpace, setFacetId, setGroupBorderCSS, setGroupLabelBackgroundColor, setGroupLabelStyleName, setGroupTitle, setHeight, setHeight, setHeight, setHeight100, setHideUsingDisplayNone, setHoverAlign, setHoverAutoDestroy, setHoverDelay, setHoverHeight, setHoverMoveWithMouse, setHoverOpacity, setHoverStyle, setHoverVAlign, setHoverWidth, setHoverWrap, setHtmlElement, setHtmlPosition, setImage, setImage, setInitHandler, setIsGroup, setKeepInParentRect, setKeepInParentRect, setKeepInParentRect, setLayoutAlign, setLayoutAlign, setLeft, setLeft, setLocateChildrenBy, setLocateChildrenType, setLocatePeersBy, setLocatePeersType, setLogicalStructure, setMargin, setMatchElement, setMaxHeight, setMaxWidth, setMenuConstructor, setMinHeight, setMinWidth, setMomentumScrollMinSpeed, setMouseStillDownDelay, setMouseStillDownInitialDelay, setNeverUseFilters, setNoDoubleClicks, setOpacity, setPadding, setPageLeft, setPageTop, setParentCanvas, setParentElement, setPeers, setPercentBox, setPercentSource, setPosition, setPrefix, setPrintChildrenAbsolutelyPositioned, setPrompt, setRect, setRect, setRedrawOnResize, setResizeBarTarget, setResizeFrom, setResizeFrom, setRight, setScrollbarConstructor, setScrollbarSize, setShadowDepth, setShadowImage, setShadowOffset, setShadowSoftness, setShouldPrint, setShowCustomScrollbars, setShowDragShadow, setShowEdges, setShowHover, setShowHoverComponents, setShowResizeBar, setShowShadow, setShrinkElementOnHide, setSkinImgDir, setSmoothFade, setSnapAxis, setSnapEdge, setSnapHDirection, setSnapHGap, setSnapOffsetLeft, setSnapOffsetTop, setSnapOnDrop, setSnapResizeToGrid, setSnapTo, setSnapToGrid, setSnapVDirection, setSnapVGap, setStyleName, setTabIndex, setTitle, setTooltip, setTop, setTop, setUseBackMask, setUseDragMask, setUseNativeDrag, setUseOpacityFilter, setValuesManager, setVisibility, setVisible, setWidth, setWidth, setWidth, setWidth100, setZIndex, shouldDragScroll, show, showClickMask, showComponentMask, showComponentMask, showNextTo, showNextTo, showNextTo, showNextTo, showPrintPreview, showPrintPreview, showPrintPreview, showPrintPreview, showRecursively, updateEditNode, updateHover, updateHover, updateShadow, visibleAtPoint, willAcceptDrop
addDrawHandler, destroy, doAddHandler, doInit, doOnRender, draw, equals, error, errorIfNotCreated, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDateArray, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsFloatArray, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getConfig, getDOM, getHandlerCount, getID, getInnerHTML, getJsObj, getOrCreateJsObj, getRef, getScClassName, hasAutoAssignedID, hashCode, initNativeObject, internalSetID, internalSetID, isConfigOnly, isCreated, onBind, onDestroy, onDraw, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setConfigOnly, setDragTracker, setID, setJavaScriptObject, setLogicalStructure, setNullProperty, setPosition, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setScClassName, toString
addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getLayoutData, getParent, isAttached, isOrWasAttached, onBrowserEvent, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents
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
public SplitPane()
public SplitPane(com.google.gwt.core.client.JavaScriptObject jsObj)
public static SplitPane getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)
public static void changeAutoChildDefaults(java.lang.String autoChildName, Canvas defaults)
autoChildName
.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.AutoChildUsage
public static void changeAutoChildDefaults(java.lang.String autoChildName, FormItem defaults)
autoChildName
.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.AutoChildUsage
protected com.google.gwt.core.client.JavaScriptObject create()
public void setAddHistoryEntries(boolean addHistoryEntries)
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:
page load
and when the SplitPane
is drawn.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
.
addHistoryEntries
- the new setting.. Default value is truepublic boolean getAddHistoryEntries()
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:
page load
and when the SplitPane
is drawn.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
.
public NavigationButton getBackButton() throws java.lang.IllegalStateException
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
.
java.lang.IllegalStateException
- if this widget has not yet been rendered.public void setCurrentPane(CurrentPane currentPane)
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.
currentPane
- new pane to show.. Default value is "navigation"public CurrentPane getCurrentPane()
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".
public void setDetailNavigationControl(Canvas detailNavigationControl)
Note : This is an advanced setting
detailNavigationControl
- Default value is nullpublic Canvas getDetailNavigationControl()
public void setDetailPane(Canvas detailPane)
detailPane
at runtime.detailPane
- new detail pane for this widget.. Default value is nullpublic Canvas getDetailPane()
public void setDetailTitle(java.lang.String detailTitle)
detailPane
.
detailPane
.detailTitle
- new title for the detail pane. See HTMLString
. Default value is nullpublic java.lang.String getDetailTitle()
detailPane
.HTMLString
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:
deviceMode:"desktop"
and deviceMode
"tablet" with pageOrientation
"landscape", detailToolButtons
appear in the detailToolStrip
shown above of the
detailPane
. deviceMode:"handset"
, detailToolButtons
appear in a
detailToolStrip
underneath the
detailPane. This toolstrip is only created in "handset" mode if detailToolButtons
are provided. deviceMode:"tablet"
and pageOrientation:"portrait"
, detailToolButtons
appear in splitPane.navigationBar
. detailToolButtons
at runtime.detailToolButtons
- new controls for the toolstrip.. Default value is nullpublic 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:
deviceMode:"desktop"
and deviceMode
"tablet" with pageOrientation
"landscape", detailToolButtons
appear in the detailToolStrip
shown above of the
detailPane
. deviceMode:"handset"
, detailToolButtons
appear in a
detailToolStrip
underneath the
detailPane. This toolstrip is only created in "handset" mode if detailToolButtons
are provided. deviceMode:"tablet"
and pageOrientation:"portrait"
, detailToolButtons
appear in splitPane.navigationBar
. public NavigationBar getDetailToolStrip() throws java.lang.IllegalStateException
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
.
java.lang.IllegalStateException
- if this widget has not yet been rendered.public void setDeviceMode(DeviceMode deviceMode) throws java.lang.IllegalStateException
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:
deviceMode
: only a single pane is shown at a time. Not
orientation sensitive deviceMode
with pageOrientation
:"landscape": the
detailPane
is shown side by side with either the navigationPane
or listPane
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) deviceMode
: all 3 panes are shown simultaneously. Not orientation sensitive listPane
is optional; if not present, wherever the listPane
is mentioned above, the
navigationPane
is shown instead.deviceMode
- Default value is nulljava.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic DeviceMode getDeviceMode()
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:
deviceMode
: only a single pane is shown at a time. Not
orientation sensitive deviceMode
with pageOrientation
:"landscape": the
detailPane
is shown side by side with either the navigationPane
or listPane
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) deviceMode
: all 3 panes are shown simultaneously. Not orientation sensitive listPane
is optional; if not present, wherever the listPane
is mentioned above, the
navigationPane
is shown instead.public void setListPane(Canvas listPane)
listPane
at runtime.listPane
- new list pane for this widget.. Default value is nullpublic Canvas getListPane()
public void setListTitle(java.lang.String listTitle)
listPane
.
listPane
.listTitle
- new title for the list pane. See HTMLString
. Default value is nullpublic java.lang.String getListTitle()
listPane
.HTMLString
public NavigationBar getListToolStrip() throws java.lang.IllegalStateException
listPane
, if a
listPane
is present, only for deviceMode
"desktop".
For an overview of how to use and configure AutoChildren, see Using AutoChildren
.
java.lang.IllegalStateException
- if this widget has not yet been rendered.public NavigationBar getNavigationBar() throws java.lang.IllegalStateException
NavigationBar
managed by this widget. The following passthroughs
apply:
showRightButton
for NavigationBar.showRightButton.showLeftButton
for
NavigationBar.showLeftButton.
For an overview of how to use and configure AutoChildren, see Using AutoChildren
.
java.lang.IllegalStateException
- if this widget has not yet been rendered.public void setNavigationPane(Canvas navigationPane)
navigationPane
at runtime.navigationPane
- new navigation pane for this widget.. Default value is nullpublic Canvas getNavigationPane()
public void setNavigationTitle(java.lang.String navigationTitle)
navigationPane
.
navigationPane
.navigationTitle
- new title for the navigation pane. See HTMLString
. Default value is nullpublic java.lang.String getNavigationTitle()
navigationPane
.HTMLString
public void setPageOrientation(PageOrientation pageOrientation)
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.
pageOrientation
- new orientation to use.. Default value is nullpublic PageOrientation getPageOrientation()
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.
public void setShowDetailToolStrip(java.lang.Boolean showDetailToolStrip) throws java.lang.IllegalStateException
false
, the detailToolStrip
will not be shown.showDetailToolStrip
- Default value is nulljava.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.Boolean getShowDetailToolStrip()
false
, the detailToolStrip
will not be shown.public void setShowLeftButton(boolean showLeftButton)
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
.
showLeftButton
- if true
, the button will be shown, otherwise hidden.. Default value is falsepublic boolean getShowLeftButton()
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.
public void setShowListToolStrip(java.lang.Boolean showListToolStrip) throws java.lang.IllegalStateException
false
, the listToolStrip
will not be shown.showListToolStrip
- Default value is nulljava.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.Boolean getShowListToolStrip()
false
, the listToolStrip
will not be shown.public void setShowNavigationBar(java.lang.Boolean showNavigationBar) throws java.lang.IllegalStateException
false
, the navigationBar
will not be shown.showNavigationBar
- Default value is nulljava.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic java.lang.Boolean getShowNavigationBar()
false
, the navigationBar
will not be shown.public void setShowResizeBars(boolean showResizeBars) throws java.lang.IllegalStateException
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"
.showResizeBars
- Default value is truejava.lang.IllegalStateException
- this property cannot be changed after the component has been createdpublic boolean getShowResizeBars()
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"
.public void setShowRightButton(boolean showRightButton)
rightButton
be shown in the navigationBar
?
rightButton
of the navigationBar
.showRightButton
- if true
, the button will be shown, otherwise hidden.. Default value is falsepublic boolean getShowRightButton()
rightButton
be shown in the navigationBar
?public com.google.gwt.event.shared.HandlerRegistration addNavigationClickHandler(NavigationClickHandler handler)
Notification method fired when the user clicks the default back / forward buttons on the navigation bar for this
SplitPane
.
addNavigationClickHandler
in interface HasNavigationClickHandlers
handler
- the navigationClick handlerHandlerRegistration
used to remove this handlerpublic com.google.gwt.event.shared.HandlerRegistration addPaneChangedHandler(PaneChangedHandler 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.
addPaneChangedHandler
in interface HasPaneChangedHandlers
handler
- the paneChanged handlerHandlerRegistration
used to remove this handlerpublic void setLeftButtonTitle(java.lang.String newTitle)
leftButtonTitle
of the navigationBar
.newTitle
- new title for the left button.. See HTMLString
public void setRightButtonTitle(java.lang.String newTitle)
rightButtonTitle
of the
navigationBar
.newTitle
- new title for the right button.. See HTMLString
public void showDetailPane()
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
.
public void showDetailPane(java.lang.String detailPaneTitle)
SplitPane#showDetailPane()}
public void showDetailPane(java.lang.String detailPaneTitle, java.lang.String backButtonTitle)
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
.
detailPaneTitle
- optional new detail title.. See HTMLString
backButtonTitle
- optional new title for the back button
.. See HTMLString
public void showListPane()
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
.
public void showListPane(java.lang.String listPaneTitle)
SplitPane#showListPane()}
public void showListPane(java.lang.String listPaneTitle, java.lang.String backButtonTitle)
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
.
listPaneTitle
- optional new list title.. See HTMLString
backButtonTitle
- optional new title for the back button
.. See HTMLString
public void showNavigationPane()
navigationPane
.public static void setDefaultProperties(SplitPane splitPaneProperties)
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.
splitPaneProperties
- properties that should be used as new defaults when instances of this class are createdpublic com.smartgwt.logicalstructure.core.LogicalStructureObject setLogicalStructure(com.smartgwt.logicalstructure.widgets.layout.SplitPaneLogicalStructure s)
public com.smartgwt.logicalstructure.core.LogicalStructureObject getLogicalStructure()
getLogicalStructure
in interface LogicalStructure
getLogicalStructure
in class VLayout