public final class

HorizontalSplitPanel

extends Panel
java.lang.Object
   ↳ com.google.gwt.user.client.ui.UIObject
     ↳ com.google.gwt.user.client.ui.Widget
       ↳ com.google.gwt.user.client.ui.Panel
         ↳ com.google.gwt.user.client.ui.HorizontalSplitPanel

This class is deprecated.
Use SplitLayoutPanel instead, but understand that it is not a drop in replacement for this class. It requires standards mode, and is most easily used under a RootLayoutPanel (as opposed to a RootPanel

Class Overview

A panel that arranges two widgets in a single horizontal row and allows the user to interactively change the proportion of the width dedicated to each of the two widgets. Widgets contained within a HorizontalSplitPanel 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

  • .gwt-HorizontalSplitPanel { the panel itself }
  • .gwt-HorizontalSplitPanel hsplitter { the splitter }

See Also

Summary

Nested Classes
interface HorizontalSplitPanel.Resources The default resources used by this widget. 
[Expand]
Inherited Constants
From class com.google.gwt.user.client.ui.UIObject
Public Constructors
HorizontalSplitPanel()
HorizontalSplitPanel(HorizontalSplitPanelImages images)
This constructor is deprecated. replaced by HorizontalSplitPanel(Resources)
HorizontalSplitPanel(HorizontalSplitPanel.Resources resources)
Creates an empty horizontal split panel.
Public Methods
void add(Widget w)
Adds a widget to a pane in the HorizontalSplitPanel.
Widget getEndOfLineWidget()
Gets the widget in the pane that is at the end of the line direction for the layout.
Widget getLeftWidget()
Gets the widget in the left side of the panel.
Widget getRightWidget()
Gets the widget in the right side of the panel.
Widget getStartOfLineWidget()
Gets the widget in the pane that is at the start of the line direction for the layout.
boolean isResizing()
Indicates whether the split panel is being resized.
Iterator<Widget> iterator()
void onBrowserEvent(Event event)
Fired whenever a browser event is received.
boolean remove(Widget widget)
Removes a child widget.
void setEndOfLineWidget(Widget w)
Sets the widget in the pane that is at the end of the line direction for the layout.
void setLeftWidget(Widget w)
Sets the widget in the left side of the panel.
void setRightWidget(Widget w)
Sets the widget in the right side of the panel.
void setSplitPosition(String pos)
Moves the position of the splitter.
void setStartOfLineWidget(Widget w)
Sets the widget in the pane that is at the start of the line direction for the layout.
Protected Methods
Element getElement(int index)
Gets the content element for the given index.
Element getSplitElement()
Gets the element that is acting as the splitter.
Widget getWidget(int index)
Gets one of the contained widgets.
void onEnsureDebugId(String baseID)
Affected Elements:
  • -splitter = the container containing the splitter element.
void onLoad()
This method is called immediately after a widget becomes attached to the browser's document.
void onUnload()
This method is called immediately before a widget will be detached from the browser's document.
final void setWidget(int index, Widget w)
Sets one of the contained widgets.
[Expand]
Inherited Methods
From class com.google.gwt.user.client.ui.Panel
From class com.google.gwt.user.client.ui.Widget
From class com.google.gwt.user.client.ui.UIObject
From class java.lang.Object
From interface com.google.gwt.event.logical.shared.HasAttachHandlers
From interface com.google.gwt.event.shared.HasHandlers
From interface com.google.gwt.user.client.EventListener
From interface com.google.gwt.user.client.ui.HasWidgets
From interface com.google.gwt.user.client.ui.HasWidgets.ForIsWidget
From interface com.google.gwt.user.client.ui.IsWidget
From interface java.lang.Iterable

Public Constructors

public HorizontalSplitPanel ()

public HorizontalSplitPanel (HorizontalSplitPanelImages images)

This constructor is deprecated.
replaced by HorizontalSplitPanel(Resources)

Creates an empty horizontal split panel.

Parameters
images ImageBundle containing an image for the splitter's drag thumb

public HorizontalSplitPanel (HorizontalSplitPanel.Resources resources)

Creates an empty horizontal split panel.

Parameters
resources ClientBundle containing an image for the splitter's drag thumb

Public Methods

public void add (Widget w)

Adds a widget to a pane in the HorizontalSplitPanel. The method will first attempt to add the widget to the left pane. If a widget is already in that position, it will attempt to add the widget to the right pane. If a widget is already in that position, an exception will be thrown, as a HorizontalSplitPanel can contain at most two widgets. Note that this method is bidi-sensitive. In an RTL environment, this method will first attempt to add the widget to the right pane, and if a widget is already in that position, it will attempt to add the widget to the left pane.

Parameters
w the widget to be added

public Widget getEndOfLineWidget ()

Gets the widget in the pane that is at the end of the line direction for the layout. That is, in an RTL layout, gets the widget in the left pane, and in an LTR layout, gets the widget in the right pane.

Returns
  • the widget, null if there is not one.

public Widget getLeftWidget ()

Gets the widget in the left side of the panel.

Returns
  • the widget, null if there is not one.

public Widget getRightWidget ()

Gets the widget in the right side of the panel.

Returns
  • the widget, null if there is not one.

public Widget getStartOfLineWidget ()

Gets the widget in the pane that is at the start of the line direction for the layout. That is, in an RTL environment, gets the widget in the right pane, and in an LTR environment, gets the widget in the left pane.

Returns
  • the widget, null if there is not one.

public boolean isResizing ()

Indicates whether the split panel is being resized.

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

public Iterator<Widget> iterator ()

public void onBrowserEvent (Event event)

Fired whenever a browser event is received.

Parameters
event the event received

public boolean remove (Widget widget)

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

Parameters
widget the widget to be removed
Returns
  • true if the child was present

public void setEndOfLineWidget (Widget w)

Sets the widget in the pane that is at the end of the line direction for the layout. That is, in an RTL layout, sets the widget in the left pane, and in and RTL layout, sets the widget in the right pane.

Parameters
w the widget

public void setLeftWidget (Widget w)

Sets the widget in the left side of the panel.

Parameters
w the widget

public void setRightWidget (Widget w)

Sets the widget in the right side of the panel.

Parameters
w the widget

public void setSplitPosition (String pos)

Moves the position of the splitter. This method is not bidi-sensitive. The size specified is always the size of the left region, regardless of directionality.

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

public void setStartOfLineWidget (Widget w)

Sets the widget in the pane that is at the start of the line direction for the layout. That is, in an RTL layout, sets the widget in the right pane, and in and RTL layout, sets the widget in the left pane.

Parameters
w the widget

Protected Methods

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

protected Element getSplitElement ()

Gets the element that is acting as the splitter.

Returns
  • the element

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

protected void onEnsureDebugId (String baseID)

Affected Elements:

  • -splitter = the container containing the splitter element.
  • -right = the container on the right side of the splitter.
  • -left = the container on the left side of the splitter.

Parameters
baseID the base ID used by the main element

protected void onLoad ()

This method is called immediately after a widget becomes attached to the browser's document.

protected void onUnload ()

This method is called immediately before a widget will be detached from the browser's document.

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