GWT 2.7.0

## com.google.gwt.user.client.ui
Class SplitLayoutPanel

    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.ComplexPanel
                      com.google.gwt.user.client.ui.DockLayoutPanel
                          com.google.gwt.user.client.ui.SplitLayoutPanel

All Implemented Interfaces:
  HasAttachHandlers, HasHandlers, EventListener, AnimatedLayout, HasVisibility, HasWidgets, HasWidgets.ForIsWidget, IndexedPanel, IndexedPanel.ForIsWidget, IsWidget, ProvidesResize, RequiresResize, java.lang.Iterable<Widget>

    public class SplitLayoutPanel

extends DockLayoutPanel

A panel that adds user-positioned splitters between each of its child widgets.

This panel is used in the same way as `DockLayoutPanel`, except that its children's sizes are always specified in `Style.Unit.PX` units, and each pair of child widgets has a splitter between them that the user can drag.

This widget will only work in standards mode, which requires that the HTML page in which it is run have an explicit <!DOCTYPE> declaration.

### CSS Style Rules

- .gwt-SplitLayoutPanel { the panel itself }
- .gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-HDragger { horizontal dragger }
- .gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-VDragger { vertical dragger }

### Example

>     public class SplitLayoutPanelExample implements EntryPoint {

>       public void onModuleLoad() {
>         // Create a three-pane layout with splitters.
>         SplitLayoutPanel p = new SplitLayoutPanel();
>         p.addWest(new HTML("navigation"), 128);
>         p.addNorth(new HTML("list"), 384);
>         p.add(new HTML("details"));

>         // Attach the LayoutPanel to the RootLayoutPanel. The latter will listen for
>         // resize events on the window to ensure that its children are informed of
>         // possible size changes.
>         RootLayoutPanel rp = RootLayoutPanel.get();
>         rp.add(p);
>       }
>     }

Nested Class Summary
`(package private) class` | `SplitLayoutPanel.HSplitter`
`(package private) class` | `SplitLayoutPanel.Splitter`
`(package private) class` | `SplitLayoutPanel.VSplitter`

Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.DockLayoutPanel
`DockLayoutPanel.Direction, DockLayoutPanel.LayoutData`

Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject
`UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled`

Nested classes/interfaces inherited from interface com.google.gwt.user.client.ui.IndexedPanel
`IndexedPanel.ForIsWidget`

Nested classes/interfaces inherited from interface com.google.gwt.user.client.ui.HasWidgets
`HasWidgets.ForIsWidget`

Field Summary

Fields inherited from class com.google.gwt.user.client.ui.Widget
`eventsToSink`

Fields inherited from class com.google.gwt.user.client.ui.UIObject
`DEBUG_ID_PREFIX, MISSING_ELEMENT_ERROR, SETELEMENT_TWICE_ERROR`

Constructor Summary
`SplitLayoutPanel()` Construct a new `SplitLayoutPanel` with the default splitter size of 8px.
`SplitLayoutPanel(int splitterSize)` Construct a new `SplitLayoutPanel` with the specified splitter size in pixels.

Method Summary
`int` | `getSplitterSize()` Return the size of the splitter in pixels.
`void` | `insert(Widget child, DockLayoutPanel.Direction direction, double size, Widget before)` Adds a widget to the specified edge of the dock.
`boolean` | `remove(Widget child)` Removes a child widget.
`void` | `setWidgetHidden(Widget widget, boolean hidden)` Sets whether or not the given widget should be hidden.
`void` | `setWidgetMinSize(Widget child, int minSize)` Sets the minimum allowable size for the given widget.
`void` | `setWidgetSnapClosedSize(Widget child, int snapClosedSize)` Sets a size below which the slider will close completely.
`void` | `setWidgetToggleDisplayAllowed(Widget child, boolean allowed)` Sets whether or not double-clicking on the splitter should toggle the display of the widget.

Methods inherited from class com.google.gwt.user.client.ui.DockLayoutPanel

`add, addEast, addEast, addLineEnd, addLineStart, addNorth, addNorth, addSouth, addSouth, addWest, addWest, animate, animate, assertIsChild, forceLayout, getCenter, getCenterHeight, getCenterWidth, getResolvedDirection, getUnit, getWidgetContainerElement, getWidgetDirection, getWidgetSize, insertEast, insertLineEnd, insertLineStart, insertNorth, insertSouth, insertWest, onAttach, onDetach, onResize, setWidgetSize`

Methods inherited from class com.google.gwt.user.client.ui.ComplexPanel
`add, add, adjustIndex, checkIndexBoundsForAccess, checkIndexBoundsForInsertion, doLogicalClear, getChildren, getWidget, getWidgetCount, getWidgetIndex, getWidgetIndex, insert, insert, iterator, remove`

Methods inherited from class com.google.gwt.user.client.ui.Panel
`add, adopt, clear, doAttachChildren, doDetachChildren, orphan, remove`

Methods inherited from class com.google.gwt.user.client.ui.Widget
`addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, ensureHandlers, fireEvent, getHandlerCount, getHandlerManager, getLayoutData, getParent, isAttached, isOrWasAttached, onBrowserEvent, onLoad, onUnload, removeFromParent, replaceElement, setLayoutData, setParent, sinkEvents, unsinkEvents`

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, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, sinkBitlessEvent, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### SplitLayoutPanel

    public SplitLayoutPanel()

  Construct a new `SplitLayoutPanel` with the default splitter size of 8px.

### SplitLayoutPanel

    public SplitLayoutPanel(int splitterSize)

  Construct a new `SplitLayoutPanel` with the specified splitter size in pixels.

  Parameters:
    `splitterSize` - the size of the splitter in pixels

Method Detail

### getSplitterSize

    public int getSplitterSize()

  Return the size of the splitter in pixels.

  Returns:
    the splitter size

### insert

    public void insert(Widget child,
                       DockLayoutPanel.Direction direction,
                       double size,
                       Widget before)

  Description copied from class: `DockLayoutPanel`
  Adds a widget to the specified edge of the dock. If the widget is already a child of this panel, this method behaves as though `DockLayoutPanel.remove(Widget)` had already been called.

  Overrides:
    `insert` in class `DockLayoutPanel`
  Parameters:
    `child` - the widget to be added
    `direction` - the widget's direction in the dock
    `before` - the widget before which to insert the new child, or `null` to append

### remove

    public boolean remove(Widget child)

  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`
  Overrides:
    `remove` in class `DockLayoutPanel`
  Parameters:
    `child` - the widget to be removed
  Returns:
    `true` if the child was present

### setWidgetHidden

    public void setWidgetHidden(Widget widget,
                                boolean hidden)

  Description copied from class: `DockLayoutPanel`
  Sets whether or not the given widget should be hidden.

  Overrides:
    `setWidgetHidden` in class `DockLayoutPanel`
  Parameters:
    `widget` - the widget to hide or display
    `hidden` - true to hide the widget, false to display it

### setWidgetMinSize

    public void setWidgetMinSize(Widget child,
                                 int minSize)

  Sets the minimum allowable size for the given widget.

  Its associated splitter cannot be dragged to a position that would make it smaller than this size. This method has no effect for the `DockLayoutPanel.Direction.CENTER` widget.

  Parameters:
    `child` - the child whose minimum size will be set
    `minSize` - the minimum size for this widget

### setWidgetSnapClosedSize

    public void setWidgetSnapClosedSize(Widget child,
                                        int snapClosedSize)

  Sets a size below which the slider will close completely. This can be used in conjunction with `setWidgetMinSize(com.google.gwt.user.client.ui.Widget, int)` to provide a speed-bump effect where the slider will stick to a preferred minimum size before closing completely.

  This method has no effect for the `DockLayoutPanel.Direction.CENTER` widget.

  Parameters:
    `child` - the child whose slider should snap closed
    `snapClosedSize` - the width below which the widget will close or -1 to disable.

### setWidgetToggleDisplayAllowed

    public void setWidgetToggleDisplayAllowed(Widget child,
                                              boolean allowed)

  Sets whether or not double-clicking on the splitter should toggle the display of the widget.

  Parameters:
    `child` - the child whose display toggling will be allowed or not.
    `allowed` - whether or not display toggling is allowed for this widget

GWT 2.7.0