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

    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.CellPanel
                          com.google.gwt.user.client.ui.DockPanel

All Implemented Interfaces:
  EventListener, HasAlignment, HasHorizontalAlignment, HasVerticalAlignment, HasWidgets, IndexedPanel

    public class DockPanel

extends CellPanel
implements HasAlignment

A panel that lays its child widgets out "docked" at its outer edges, and allows its last widget to take up the remaining space in its center.

Nested Class Summary
`static class` `DockPanel.DockLayoutConstant` DockPanel layout constant, used in `add(Widget, DockPanel.DockLayoutConstant)`.

Nested classes/interfaces inherited from interface com.google.gwt.user.client.ui.HasHorizontalAlignment
`HasHorizontalAlignment.HorizontalAlignmentConstant`

Nested classes/interfaces inherited from interface com.google.gwt.user.client.ui.HasVerticalAlignment
`HasVerticalAlignment.VerticalAlignmentConstant`

Field Summary
`static DockPanel.DockLayoutConstant` `CENTER` Specifies that a widget be added at the center of the dock.
`static DockPanel.DockLayoutConstant` `EAST` Specifies that a widget be added at the east edge of the dock.
`static DockPanel.DockLayoutConstant` `NORTH` Specifies that a widget be added at the north edge of the dock.
`static DockPanel.DockLayoutConstant` `SOUTH` Specifies that a widget be added at the south edge of the dock.
`static DockPanel.DockLayoutConstant` `WEST` Specifies that a widget be added at the west edge of the dock.

Fields inherited from interface com.google.gwt.user.client.ui.HasHorizontalAlignment
`ALIGN_CENTER, ALIGN_LEFT, ALIGN_RIGHT`

Fields inherited from interface com.google.gwt.user.client.ui.HasVerticalAlignment
`ALIGN_BOTTOM, ALIGN_MIDDLE, ALIGN_TOP`

Constructor Summary
`DockPanel()` Creates an empty dock panel.

Method Summary
`void` `add(Widget widget, DockPanel.DockLayoutConstant direction)` Adds a widget to the specified edge of the dock.
`HasHorizontalAlignment.HorizontalAlignmentConstant` `getHorizontalAlignment()` Gets the horizontal alignment.
`HasVerticalAlignment.VerticalAlignmentConstant` `getVerticalAlignment()` Gets the vertical alignment.
`DockPanel.DockLayoutConstant` `getWidgetDirection(Widget w)` Gets the layout direction of the given child widget.
`boolean` `remove(Widget w)` Removes a child widget.
`void` `setCellHeight(Widget w, java.lang.String height)` Sets the height of the cell associated with the given widget, related to the panel as a whole.
`void` `setCellHorizontalAlignment(Widget w, HasHorizontalAlignment.HorizontalAlignmentConstant align)` Sets the horizontal alignment of the given widget within its cell.
`void` `setCellVerticalAlignment(Widget w, HasVerticalAlignment.VerticalAlignmentConstant align)` Sets the vertical alignment of the given widget within its cell.
`void` `setCellWidth(Widget w, java.lang.String width)` Sets the width of the cell associated with the given widget, related to the panel as a whole.
`void` `setHorizontalAlignment(HasHorizontalAlignment.HorizontalAlignmentConstant align)` Sets the default horizontal alignment to be used for widgets added to this panel.
`void` `setVerticalAlignment(HasVerticalAlignment.VerticalAlignmentConstant align)` Sets the default vertical alignment to be used for widgets added to this panel.

Methods inherited from class com.google.gwt.user.client.ui.CellPanel
`getBody, getSpacing, getTable, setBorderWidth, setCellHorizontalAlignment, setCellVerticalAlignment, setSpacing`

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

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

Methods inherited from class com.google.gwt.user.client.ui.Widget
`getParent, isAttached, onAttach, onBrowserEvent, onDetach, removeFromParent, setElement`

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

`addStyleDependentName, addStyleName, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, removeStyleDependentName, removeStyleName, setHeight, setPixelSize, setSize, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, sinkEvents, toString, unsinkEvents`

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

Field Detail

### CENTER

    public static final DockPanel.DockLayoutConstant CENTER

  Specifies that a widget be added at the center of the dock.

### EAST

    public static final DockPanel.DockLayoutConstant EAST

  Specifies that a widget be added at the east edge of the dock.

### NORTH

    public static final DockPanel.DockLayoutConstant NORTH

  Specifies that a widget be added at the north edge of the dock.

### SOUTH

    public static final DockPanel.DockLayoutConstant SOUTH

  Specifies that a widget be added at the south edge of the dock.

### WEST

    public static final DockPanel.DockLayoutConstant WEST

  Specifies that a widget be added at the west edge of the dock.

Constructor Detail

### DockPanel

    public DockPanel()

  Creates an empty dock panel.

Method Detail

### add

    public void add(Widget widget,
                    DockPanel.DockLayoutConstant direction)

  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 `remove(Widget)` had already been called.

  Parameters:
    `widget` - the widget to be added
    `direction` - the widget's direction in the dock
  Throws:
    `java.lang.IllegalArgumentException` - when adding to the `CENTER` and there is already a different widget there

### getHorizontalAlignment

    public HasHorizontalAlignment.HorizontalAlignmentConstant getHorizontalAlignment()

  Description copied from interface: `HasHorizontalAlignment`
  Gets the horizontal alignment.

  Specified by:
    `getHorizontalAlignment` in interface `HasHorizontalAlignment`
  Returns:
    the current horizontal alignment.

### getVerticalAlignment

    public HasVerticalAlignment.VerticalAlignmentConstant getVerticalAlignment()

  Description copied from interface: `HasVerticalAlignment`
  Gets the vertical alignment.

  Specified by:
    `getVerticalAlignment` in interface `HasVerticalAlignment`
  Returns:
    the current vertical alignment.

### getWidgetDirection

    public DockPanel.DockLayoutConstant getWidgetDirection(Widget w)

  Gets the layout direction of the given child widget.

  Parameters:
    `w` - the widget to be queried
  Returns:
    the widget's layout direction, or `null` if it is not a child of this panel

### remove

    public boolean remove(Widget w)

  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 `ComplexPanel`
  Parameters:
    `w` - the widget to be removed
  Returns:
    `true` if the child was present

### setCellHeight

    public void setCellHeight(Widget w,
                              java.lang.String height)

  Description copied from class: `CellPanel`
  Sets the height of the cell associated with the given widget, related to the panel as a whole.

  Overrides:
    `setCellHeight` in class `CellPanel`
  Parameters:
    `w` - the widget whose cell height is to be set
    `height` - the cell's height, in CSS units

### setCellHorizontalAlignment

    public void setCellHorizontalAlignment(Widget w,
                                           HasHorizontalAlignment.HorizontalAlignmentConstant align)

  Description copied from class: `CellPanel`
  Sets the horizontal alignment of the given widget within its cell.

  Overrides:
    `setCellHorizontalAlignment` in class `CellPanel`
  Parameters:
    `w` - the widget whose horizontal alignment is to be set
    `align` - the widget's horizontal alignment, as defined in `HasHorizontalAlignment`.

### setCellVerticalAlignment

    public void setCellVerticalAlignment(Widget w,
                                         HasVerticalAlignment.VerticalAlignmentConstant align)

  Description copied from class: `CellPanel`
  Sets the vertical alignment of the given widget within its cell.

  Overrides:
    `setCellVerticalAlignment` in class `CellPanel`
  Parameters:
    `w` - the widget whose vertical alignment is to be set
    `align` - the widget's vertical alignment, as defined in `HasVerticalAlignment`.

### setCellWidth

    public void setCellWidth(Widget w,
                             java.lang.String width)

  Description copied from class: `CellPanel`
  Sets the width of the cell associated with the given widget, related to the panel as a whole.

  Overrides:
    `setCellWidth` in class `CellPanel`
  Parameters:
    `w` - the widget whose cell width is to be set
    `width` - the cell's width, in CSS units

### setHorizontalAlignment

    public void setHorizontalAlignment(HasHorizontalAlignment.HorizontalAlignmentConstant align)

  Sets the default horizontal alignment to be used for widgets added to this panel. It only applies to widgets added after this property is set.

  Specified by:
    `setHorizontalAlignment` in interface `HasHorizontalAlignment`
  Parameters:
    `align` - the horizontal alignment ( `HasHorizontalAlignment.ALIGN_LEFT`, `HasHorizontalAlignment.ALIGN_CENTER`, or `HasHorizontalAlignment.ALIGN_RIGHT`).
  See Also:
    `HasHorizontalAlignment.setHorizontalAlignment(HasHorizontalAlignment.HorizontalAlignmentConstant)`

### setVerticalAlignment

    public void setVerticalAlignment(HasVerticalAlignment.VerticalAlignmentConstant align)

  Sets the default vertical alignment to be used for widgets added to this panel. It only applies to widgets added after this property is set.

  Specified by:
    `setVerticalAlignment` in interface `HasVerticalAlignment`
  Parameters:
    `align` - the vertical alignment ( `HasVerticalAlignment.ALIGN_TOP`, `HasVerticalAlignment.ALIGN_MIDDLE`, or `HasVerticalAlignment.ALIGN_BOTTOM`).
  See Also:
    `HasVerticalAlignment.setVerticalAlignment(HasVerticalAlignment.VerticalAlignmentConstant)`