GWT 2.0.3

com.google.gwt.user.client.ui
Class VerticalSplitPanel

java.lang.Object
  extended by com.google.gwt.user.client.ui.UIObject
      extended by com.google.gwt.user.client.ui.Widget
          extended by com.google.gwt.user.client.ui.Panel
              extended by com.google.gwt.user.client.ui.VerticalSplitPanel
All Implemented Interfaces:
HasHandlers, EventListener, HasWidgets, java.lang.Iterable<Widget>

public final class VerticalSplitPanel
extends Panel

A panel that arranges two widgets in a single vertical column and allows the user to interactively change the proportion of the height dedicated to each of the two widgets. Widgets contained within a VerticalSplitterPanel will be automatically decorated with scrollbars when necessary.

This widget will only work in quirks mode. If your application is in Standards Mode, use SplitLayoutPanel instead.

CSS Style Rules

See Also:
SplitLayoutPanel

Nested Class Summary
static interface VerticalSplitPanel.Resources
          The default resources used by this widget.
 
Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject
UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled
 
Field Summary
 
Fields inherited from class com.google.gwt.user.client.ui.UIObject
DEBUG_ID_PREFIX
 
Constructor Summary
VerticalSplitPanel()
           
VerticalSplitPanel(VerticalSplitPanel.Resources resources)
           
VerticalSplitPanel(VerticalSplitPanelImages images)
          Deprecated. replaced by VerticalSplitPanel(Resources)
 
Method Summary
 void add(Widget w)
          Adds a child widget.
 Widget getBottomWidget()
          Gets the widget in the bottom of the panel.
protected  Element getElement(int index)
          Gets the content element for the given index.
protected  Element getSplitElement()
          Gets the element that is acting as the splitter.
 Widget getTopWidget()
          Gets the widget in the top of the panel.
protected  Widget getWidget(int index)
          Gets one of the contained widgets.
 boolean isResizing()
          Indicates whether the split panel is being resized.
 java.util.Iterator<Widget> iterator()
          Gets an iterator for the contained widgets.
 void onBrowserEvent(Event event)
          Fired whenever a browser event is received.
protected  void onEnsureDebugId(java.lang.String baseID)
          Affected Elements: -splitter = the container containing the splitter element. -top = the container above the splitter. -bottom = the container below the splitter.
protected  void onLoad()
          A Panel's onLoad method will be called after all of its children are attached.
protected  void onUnload()
          A Panel's onUnload method will be called before its children become detached themselves.
 boolean remove(Widget widget)
          Removes a child widget.
 void setBottomWidget(Widget w)
          Sets the widget in the bottom of the panel.
 void setHeight(java.lang.String height)
          Sets the object's height.
 void setSplitPosition(java.lang.String pos)
          Moves the position of the splitter.
 void setTopWidget(Widget w)
          Sets the widget in the top of the panel.
protected  void setWidget(int index, Widget w)
          Sets one of the contained widgets.
 
Methods inherited from class com.google.gwt.user.client.ui.Panel
adopt, adopt, clear, disown, doAttachChildren, doDetachChildren, orphan
 
Methods inherited from class com.google.gwt.user.client.ui.Widget
addDomHandler, addHandler, delegateEvent, fireEvent, getHandlerCount, getLayoutData, getParent, isAttached, isOrWasAttached, onAttach, onDetach, removeFromParent, setLayoutData, sinkEvents
 
Methods inherited from class com.google.gwt.user.client.ui.UIObject
addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, removeStyleDependentName, removeStyleName, setElement, setElement, setPixelSize, setSize, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, toString, unsinkEvents
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VerticalSplitPanel

public VerticalSplitPanel()

VerticalSplitPanel

@Deprecated
public VerticalSplitPanel(VerticalSplitPanelImages images)
Deprecated. replaced by VerticalSplitPanel(Resources)

Creates an empty vertical split panel.


VerticalSplitPanel

public VerticalSplitPanel(VerticalSplitPanel.Resources resources)
Method Detail

getBottomWidget

public Widget getBottomWidget()
Gets the widget in the bottom of the panel.

Returns:
the widget, null if there is not one

getTopWidget

public Widget getTopWidget()
Gets the widget in the top of the panel.

Returns:
the widget, null if there is not one

setBottomWidget

public void setBottomWidget(Widget w)
Sets the widget in the bottom of the panel.

Parameters:
w - the widget

setHeight

public void setHeight(java.lang.String height)
Description copied from class: UIObject
Sets the object's height. This height does not include decorations such as border, margin, and padding.

Overrides:
setHeight in class UIObject
Parameters:
height - the object's new height, in CSS units (e.g. "10px", "1em")

setSplitPosition

public void setSplitPosition(java.lang.String pos)
Moves the position of the splitter.

Parameters:
pos - the new size of the left region in CSS units (e.g. "10px", "1em")

setTopWidget

public void setTopWidget(Widget w)
Sets the widget in the top of the panel.

Parameters:
w - the widget

onEnsureDebugId

protected void onEnsureDebugId(java.lang.String baseID)
Affected Elements:

Parameters:
baseID - the base ID used by the main element
See Also:
UIObject.onEnsureDebugId(String)

onLoad

protected void onLoad()
Description copied from class: Panel
A Panel's onLoad method will be called after all of its children are attached.

Overrides:
onLoad in class Panel
See Also:
Widget.onLoad()

onUnload

protected void onUnload()
Description copied from class: Panel
A Panel's onUnload method will be called before its children become detached themselves.

Overrides:
onUnload in class Panel
See Also:
Widget.onLoad()

add

public void add(Widget w)
Description copied from class: Panel
Adds a child widget.

How to Override this Method

There are several important things that must take place in the correct order to properly add or insert a Widget to a Panel. Not all of these steps will be relevant to every Panel, but all of the steps must be considered.

  1. Validate: Perform any sanity checks to ensure the Panel can accept a new Widget. Examples: checking for a valid index on insertion; checking that the Panel is not full if there is a max capacity.
  2. Adjust for Reinsertion: Some Panels need to handle the case where the Widget is already a child of this Panel. Example: when performing a reinsert, the index might need to be adjusted to account for the Widget's removal. See ComplexPanel.adjustIndex(Widget, int).
  3. Detach Child: Remove the Widget from its existing parent, if any. Most Panels will simply call Widget.removeFromParent() on the Widget.
  4. Logical Attach: Any state variables of the Panel should be updated to reflect the addition of the new Widget. Example: the Widget is added to the Panel's WidgetCollection at the appropriate index.
  5. Physical Attach: The Widget's Element must be physically attached to the Panel's Element, either directly or indirectly.
  6. Adopt: Call Panel.adopt(Widget) to finalize the add as the very last step.

Specified by:
add in interface HasWidgets
Overrides:
add in class Panel
Parameters:
w - the widget to be added
See Also:
HasWidgets.add(Widget)

isResizing

public boolean isResizing()
Indicates whether the split panel is being resized.

Returns:
true if the user is dragging the splitter, false otherwise

iterator

public java.util.Iterator<Widget> iterator()
Description copied from interface: HasWidgets
Gets an iterator for the contained widgets. This iterator is required to implement Iterator.remove().


onBrowserEvent

public void onBrowserEvent(Event event)
Description copied from interface: EventListener
Fired whenever a browser event is received.

Specified by:
onBrowserEvent in interface EventListener
Overrides:
onBrowserEvent in class Widget
Parameters:
event - the event received

remove

public boolean remove(Widget widget)
Description copied from class: Panel
Removes a child widget.

How to Override this Method

There are several important things that must take place in the correct order to properly remove a Widget from a Panel. Not all of these steps will be relevant to every Panel, but all of the steps must be considered.

  1. Validate: Make sure this Panel is actually the parent of the child Widget; return false if it is not.
  2. Orphan: Call Panel.orphan(Widget) first while the child Widget is still attached.
  3. Physical Detach: Adjust the DOM to account for the removal of the child Widget. The Widget's Element must be physically removed from the DOM.
  4. Logical Detach: Update the Panel's state variables to reflect the removal of the child Widget. Example: the Widget is removed from the Panel's WidgetCollection.

Specified by:
remove in interface HasWidgets
Specified by:
remove in class Panel
Parameters:
widget - the widget to be removed
Returns:
true if the child was present

getElement

protected Element getElement(int index)
Gets the content element for the given index.

Parameters:
index - the index of the element, only 0 and 1 are valid.
Returns:
the element

getSplitElement

protected Element getSplitElement()
Gets the element that is acting as the splitter.

Returns:
the element

getWidget

protected Widget getWidget(int index)
Gets one of the contained widgets.

Parameters:
index - the index of the widget, only 0 and 1 are valid.
Returns:
the widget

setWidget

protected final void setWidget(int index,
                               Widget w)
Sets one of the contained widgets.

Parameters:
index - the index, only 0 and 1 are valid
w - the widget

GWT 2.0.3