com.google.gwt.user.client.ui

## Class SplitPanel

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

- All Implemented Interfaces:
    HasAttachHandlers, HasHandlers, EventListener, HasVisibility, HasWidgets, HasWidgets.ForIsWidget, IsWidget, java.lang.Iterable<Widget>
  Direct Known Subclasses:
    HorizontalSplitPanel, VerticalSplitPanel

  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`

      @Deprecated
      abstract class SplitPanel
      extends Panel

  Abstract base class for `HorizontalSplitPanel` and `VerticalSplitPanel`.

- - ### Nested Class Summary

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

    Constructors
    Constructor and Description
    `SplitPanel(Element mainElem, Element splitElem, Element headElem, Element tailElem)` Deprecated. Initializes the split panel.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `add(Widget w)` Deprecated. Adds a child widget.
    `(package private) static void` | `addAbsolutePositoning(Element elem)` Deprecated. Sets an elements positioning to absolute.
    `(package private) static void` | `addClipping(Element elem)` Deprecated. Adds clipping to an element.
    `(package private) static void` | `addScrolling(Element elem)` Deprecated. Adds as-needed scrolling to an element.
    `(package private) static void` | `expandToFitParentUsingCssOffsets(Element elem)` Deprecated. Sizes and element to consume the full area of its parent using the CSS properties left, right, top, and bottom.
    `(package private) static void` | `expandToFitParentUsingPercentages(Element elem)` Deprecated. Sizes an element to consume the full areas of its parent using 100% width and height.
    `protected Element` | `getElement(int index)` Deprecated. Gets the content element for the given index.
    `(package private) static int` | `getOffsetHeight(Element elem)` Deprecated. Returns the offsetHeight element property.
    `(package private) static int` | `getOffsetWidth(Element elem)` Deprecated. Returns the offsetWidth element property.
    `protected Element` | `getSplitElement()` Deprecated. Gets the element that is acting as the splitter.
    `protected Widget` | `getWidget(int index)` Deprecated. Gets one of the contained widgets.
    `boolean` | `isResizing()` Deprecated. Indicates whether the split panel is being resized.
    `java.util.Iterator<Widget>` | `iterator()` Deprecated. Gets an iterator for the contained widgets.
    `void` | `onBrowserEvent(Event event)` Deprecated. Fired whenever a browser event is received.
    `protected void` | `onEnsureDebugId(java.lang.String baseID)` Deprecated. Affected Elements: -splitter = the container containing the splitter element.
    `(package private) abstract void` | `onSplitterResize(int x, int y)` Deprecated. Called on each mouse drag event as the user is dragging the splitter.
    `(package private) abstract void` | `onSplitterResizeStarted(int x, int y)` Deprecated. Called when the user starts dragging the splitter.
    `(package private) static Element` | `preventBoxStyles(Element elem)` Deprecated. Adds zero or none CSS values for padding, margin and border to prevent stylesheet overrides.
    `boolean` | `remove(Widget widget)` Deprecated. Removes a child widget.
    `(package private) static void` | `setBottom(Element elem, java.lang.String size)` Deprecated. Convenience method to set bottom offset of an element.
    `(package private) static void` | `setClassname(Element elem, java.lang.String className)` Deprecated. Sets the elements css class name.
    `(package private) static void` | `setHeight(Element elem, java.lang.String height)` Deprecated. Convenience method to set the height of an element.
    `(package private) static void` | `setLeft(Element elem, java.lang.String left)` Deprecated. Convenience method to set the left offset of an element.
    `(package private) static void` | `setRight(Element elem, java.lang.String right)` Deprecated. Convenience method to set the right offset of an element.
    `abstract void` | `setSplitPosition(java.lang.String size)` Deprecated. Moves the position of the splitter.
    `(package private) static void` | `setTop(Element elem, java.lang.String top)` Deprecated. Convenience method to set the top offset of an element.
    `protected void` | `setWidget(int index, Widget w)` Deprecated. Sets one of the contained widgets.
    `(package private) static void` | `setWidth(Element elem, java.lang.String width)` Deprecated. Convenience method to set the width of an element.

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

      `add, adopt, adopt, clear, disown, 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, onAttach, onDetach, onLoad, onUnload, removeFromParent, replaceElement, setLayoutData, setParent, 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, resolvePotentialElement, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, sinkBitlessEvent, toString, unsinkEvents`

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

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

- - ### Constructor Detail

    - #### SplitPanel

          SplitPanel(Element mainElem,
                    Element splitElem,
                    Element headElem,
                    Element tailElem)

      Deprecated.
      Initializes the split panel.
      Parameters:
        `mainElem` - the root element for the split panel
        `splitElem` - the element that acts as the splitter
        `headElem` - the element to contain the top or left most widget
        `tailElem` - the element to contain the bottom or right most widget

  - ### Method Detail

    - #### addAbsolutePositoning

          static void addAbsolutePositoning(Element elem)

      Deprecated.
      Sets an elements positioning to absolute.
      Parameters:
        `elem` - the element

    - #### addClipping

          static final void addClipping(Element elem)

      Deprecated.
      Adds clipping to an element.
      Parameters:
        `elem` - the element

    - #### addScrolling

          static final void addScrolling(Element elem)

      Deprecated.
      Adds as-needed scrolling to an element.
      Parameters:
        `elem` - the element

    - #### expandToFitParentUsingCssOffsets

          static final void expandToFitParentUsingCssOffsets(Element elem)

      Deprecated.
      Sizes and element to consume the full area of its parent using the CSS properties left, right, top, and bottom. This method is used for all browsers except IE6/7.
      Parameters:
        `elem` - the element

    - #### expandToFitParentUsingPercentages

          static final void expandToFitParentUsingPercentages(Element elem)

      Deprecated.
      Sizes an element to consume the full areas of its parent using 100% width and height. This method is used on IE6/7 where CSS offsets don't work reliably.
      Parameters:
        `elem` - the element

    - #### getOffsetHeight

          static final int getOffsetHeight(Element elem)

      Deprecated.
      Returns the offsetHeight element property.
      Parameters:
        `elem` - the element
      Returns:
        the offsetHeight property

    - #### getOffsetWidth

          static final int getOffsetWidth(Element elem)

      Deprecated.
      Returns the offsetWidth element property.
      Parameters:
        `elem` - the element
      Returns:
        the offsetWidth property

    - #### preventBoxStyles

          static final Element preventBoxStyles(Element elem)

      Deprecated.
      Adds zero or none CSS values for padding, margin and border to prevent stylesheet overrides. Returns the element for convenience to support builder pattern.
      Parameters:
        `elem` - the element
      Returns:
        the element

    - #### setBottom

          static void setBottom(Element elem,
                       java.lang.String size)

      Deprecated.
      Convenience method to set bottom offset of an element.
      Parameters:
        `elem` - the element
        `size` - a CSS length value for bottom

    - #### setClassname

          static final void setClassname(Element elem,
                          java.lang.String className)

      Deprecated.
      Sets the elements css class name.
      Parameters:
        `elem` - the element
        `className` - the class name

    - #### setHeight

          static final void setHeight(Element elem,
                       java.lang.String height)

      Deprecated.
      Convenience method to set the height of an element.
      Parameters:
        `elem` - the element
        `height` - a CSS length value for the height

    - #### setLeft

          static final void setLeft(Element elem,
                     java.lang.String left)

      Deprecated.
      Convenience method to set the left offset of an element.
      Parameters:
        `elem` - the element
        `left` - a CSS length value for left

    - #### setRight

          static final void setRight(Element elem,
                      java.lang.String right)

      Deprecated.
      Convenience method to set the right offset of an element.
      Parameters:
        `elem` - the element
        `right` - a CSS length value for right

    - #### setTop

          static final void setTop(Element elem,
                    java.lang.String top)

      Deprecated.
      Convenience method to set the top offset of an element.
      Parameters:
        `elem` - the element
        `top` - a CSS length value for top

    - #### setWidth

          static final void setWidth(Element elem,
                      java.lang.String width)

      Deprecated.
      Convenience method to set the width of an element.
      Parameters:
        `elem` - the element
        `width` - a CSS length value for the width

    - #### add

          public void add(Widget w)

      Deprecated.
      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()

      Deprecated.
      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()

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

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

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

    - #### setSplitPosition

          public abstract void setSplitPosition(java.lang.String size)

      Deprecated.
      Moves the position of the splitter.
      Parameters:
        `size` - the new size of the left region in CSS units (e.g. "10px", "1em")

    - #### getElement

          protected Element getElement(int index)

      Deprecated.
      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()

      Deprecated.
      Gets the element that is acting as the splitter.
      Returns:
        the element

    - #### getWidget

          protected Widget getWidget(int index)

      Deprecated.
      Gets one of the contained widgets.
      Parameters:
        `index` - the index of the widget, only 0 and 1 are valid.
      Returns:
        the widget

    - #### onEnsureDebugId

          protected void onEnsureDebugId(java.lang.String baseID)

      Deprecated.
      Affected Elements:
      - -splitter = the container containing the splitter element.
      Overrides:
        `onEnsureDebugId` in class `UIObject`
      Parameters:
        `baseID` - the base ID used by the main element
      See Also:
        `UIObject.onEnsureDebugId(String)`

    - #### setWidget

          protected final void setWidget(int index,
                       Widget w)

      Deprecated.
      Sets one of the contained widgets.
      Parameters:
        `index` - the index, only 0 and 1 are valid
        `w` - the widget

    - #### onSplitterResize

          abstract void onSplitterResize(int x,
                              int y)

      Deprecated.
      Called on each mouse drag event as the user is dragging the splitter.
      Parameters:
        `x` - the x coordinate of the mouse relative to the panel's extent
        `y` - the y coordinate of the mosue relative to the panel's extent

    - #### onSplitterResizeStarted

          abstract void onSplitterResizeStarted(int x,
                                     int y)

      Deprecated.
      Called when the user starts dragging the splitter.
      Parameters:
        `x` - the x coordinate of the mouse relative to the panel's extent
        `y` - the y coordinate of the mouse relative to the panel's extent