DeckPanel (GWT Javadoc)

Overview | Package | Class | Use | Deprecated | Help
| GWT 2.7.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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

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

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

    public class DeckPanel

extends ComplexPanel
implements HasAnimation, InsertPanel.ForIsWidget

A panel that displays all of its child widgets in a 'deck', where only one can be visible at a time. It is used by `TabPanel`.

Once a widget has been added to a DeckPanel, its visibility, width, and height attributes will be manipulated. When the widget is removed from the DeckPanel, it will be visible, and its width and height attributes will be cleared.

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.InsertPanel
`InsertPanel.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
`DeckPanel()` Creates an empty deck panel.

Method Summary
`void` | `add(Widget w)` Adds a child widget.
`int` | `getVisibleWidget()` Gets the index of the currently-visible widget, if any.
`void` | `insert(IsWidget w, int beforeIndex)`
`void` | `insert(Widget w, int beforeIndex)` Inserts a child widget before the specified index.
`boolean` | `isAnimationEnabled()` Returns true if animations are enabled, false if not.
`boolean` | `remove(Widget w)` Removes a child widget.
`void` | `setAnimationEnabled(boolean enable)` Enable or disable animations.
`void` | `showWidget(int index)` Shows the widget at the specified index.

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, onAttach, onBrowserEvent, onDetach, 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`

Methods inherited from interface com.google.gwt.user.client.ui.InsertPanel.ForIsWidget
`add`

Methods inherited from interface com.google.gwt.user.client.ui.IndexedPanel.ForIsWidget
`getWidgetIndex`

Methods inherited from interface com.google.gwt.user.client.ui.IndexedPanel
`getWidget, getWidgetCount, getWidgetIndex, remove`

Constructor Detail

### DeckPanel

    public DeckPanel()

  Creates an empty deck panel.

Method Detail

### 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`
  Specified by:
    `add` in interface `InsertPanel`
  Overrides:
    `add` in class `Panel`
  Parameters:
    `w` - the widget to be added
  See Also:
    `HasWidgets.add(Widget)`

### getVisibleWidget

    public int getVisibleWidget()

  Gets the index of the currently-visible widget, if any.

  Returns:
    the visible widget's index, or -1 if there is no such widget

### insert

    public void insert(IsWidget w,
                       int beforeIndex)

  Specified by:
    `insert` in interface `InsertPanel.ForIsWidget`

### insert

    public void insert(Widget w,
                       int beforeIndex)

  Description copied from interface: `InsertPanel`
  Inserts a child widget before the specified index. If the widget is already a child of this panel, it will be moved to the specified index.

  Specified by:
    `insert` in interface `InsertPanel`
  Parameters:
    `w` - the child widget to be inserted
    `beforeIndex` - the index before which it will be inserted

### isAnimationEnabled

    public boolean isAnimationEnabled()

  Description copied from interface: `HasAnimation`
  Returns true if animations are enabled, false if not.

  Specified by:
    `isAnimationEnabled` in interface `HasAnimation`

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

### setAnimationEnabled

    public void setAnimationEnabled(boolean enable)

  Description copied from interface: `HasAnimation`
  Enable or disable animations.

  Specified by:
    `setAnimationEnabled` in interface `HasAnimation`
  Parameters:
    `enable` - true to enable, false to disable

### showWidget

    public void showWidget(int index)

  Shows the widget at the specified index. This causes the currently- visible widget to be hidden.

  Parameters:
    `index` - the index of the widget to be shown

Overview | Package | Class | Use | Deprecated | Help
| GWT 2.7.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD