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

    java.lang.Object
      com.google.gwt.user.client.ui.UIObject
          com.google.gwt.user.client.ui.Widget
              com.google.gwt.user.client.ui.Composite
                  com.google.gwt.user.client.ui.DisclosurePanel

All Implemented Interfaces:
  HasCloseHandlers<DisclosurePanel>, HasOpenHandlers<DisclosurePanel>, HasHandlers, EventListener, FiresDisclosureEvents, HasAnimation, HasWidgets, java.lang.Iterable<Widget>

    public final class DisclosurePanel

extends Composite
implements FiresDisclosureEvents, HasWidgets, HasAnimation, HasOpenHandlers<DisclosurePanel>, HasCloseHandlers<DisclosurePanel>

A widget that consists of a header and a content panel that discloses the content when a user clicks on the header.

### CSS Style Rules

- .gwt-DisclosurePanel { the panel's primary style }
- .gwt-DisclosurePanel-open { dependent style set when panel is open }
- .gwt-DisclosurePanel-closed { dependent style set when panel is closed }

The header and content sections can be easily selected using css with a child selector:
.gwt-DisclosurePanel-open .header { ... }

Nested Class Summary

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

Field Summary

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

Constructor Summary
`DisclosurePanel()` Creates an empty DisclosurePanel that is initially closed.
`DisclosurePanel(DisclosurePanelImages images, java.lang.String headerText, boolean isOpen)` Creates a DisclosurePanel with the specified header text, an initial open/close state and a bundle of images to be used in the default header widget.
`DisclosurePanel(java.lang.String headerText)` Creates a DisclosurePanel that will be initially closed using the specified text in the header.
`DisclosurePanel(java.lang.String headerText, boolean isOpen)` Creates a DisclosurePanel with the specified header text and an initial open/close state.
`DisclosurePanel(Widget header)` Creates a DisclosurePanel that will be initially closed using a widget as the header.
`DisclosurePanel(Widget header, boolean isOpen)` Creates a DisclosurePanel using a widget as the header and an initial open/close state.

Method Summary
`void` | `add(Widget w)` Adds a child widget.
`HandlerRegistration` | `addCloseHandler(CloseHandler<DisclosurePanel> handler)` Adds a `CloseEvent` handler.
`void` | `addEventHandler(DisclosureHandler handler)` Deprecated. Use `addOpenHandler(OpenHandler)` and `addCloseHandler(CloseHandler)` instead
`HandlerRegistration` | `addOpenHandler(OpenHandler<DisclosurePanel> handler)` Adds a `OpenEvent` handler.
`void` | `clear()` Removes all child widgets.
`Widget` | `getContent()` Gets the widget that was previously set in `setContent(Widget)`.
`Widget` | `getHeader()` Gets the widget that is currently being used as a header.
`HasText` | `getHeaderTextAccessor()` Gets a `HasText` instance to provide access to the headers's text, if the header widget does provide such access.
`boolean` | `isAnimationEnabled()`
`boolean` | `isOpen()` Determines whether the panel is open.
`java.util.Iterator<Widget>` | `iterator()` Gets an iterator for the contained widgets.
`protected void` | `onEnsureDebugId(java.lang.String baseID)` Affected Elements: -header = the clickable header.
`boolean` | `remove(Widget w)` Removes a child widget.
`void` | `removeEventHandler(DisclosureHandler handler)` Deprecated. Use the `HandlerRegistration.removeHandler()` method on the object returned by an add*Handler method instead
`void` | `setAnimationEnabled(boolean enable)` Enable or disable animations.
`void` | `setContent(Widget content)` Sets the content widget which can be opened and closed by this panel.
`void` | `setHeader(Widget headerWidget)` Sets the widget used as the header for the panel.
`void` | `setOpen(boolean isOpen)` Changes the visible state of this `DisclosurePanel`.

Methods inherited from class com.google.gwt.user.client.ui.Composite
`getWidget, initWidget, isAttached, onAttach, onBrowserEvent, onDetach, setWidget`

Methods inherited from class com.google.gwt.user.client.ui.Widget
`addDomHandler, addHandler, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getHandlerCount, getParent, isOrWasAttached, onLoad, onUnload, removeFromParent, 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, setElement, setElement, setHeight, setPixelSize, setSize, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, toString, unsinkEvents`

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

Methods inherited from interface com.google.gwt.event.shared.HasHandlers
`fireEvent`

Methods inherited from interface com.google.gwt.event.shared.HasHandlers
`fireEvent`

Constructor Detail

### DisclosurePanel

    public DisclosurePanel()

  Creates an empty DisclosurePanel that is initially closed.

### DisclosurePanel

    public DisclosurePanel(DisclosurePanelImages images,
                           java.lang.String headerText,
                           boolean isOpen)

  Creates a DisclosurePanel with the specified header text, an initial open/close state and a bundle of images to be used in the default header widget.

  Parameters:
    `images` - a bundle that provides disclosure panel specific images
    `headerText` - the text to be displayed in the header
    `isOpen` - the initial open/close state of the content panel

### DisclosurePanel

    public DisclosurePanel(java.lang.String headerText)

  Creates a DisclosurePanel that will be initially closed using the specified text in the header.

  Parameters:
    `headerText` - the text to be displayed in the header

### DisclosurePanel

    public DisclosurePanel(java.lang.String headerText,
                           boolean isOpen)

  Creates a DisclosurePanel with the specified header text and an initial open/close state.

  Parameters:
    `headerText` - the text to be displayed in the header
    `isOpen` - the initial open/close state of the content panel

### DisclosurePanel

    public DisclosurePanel(Widget header)

  Creates a DisclosurePanel that will be initially closed using a widget as the header.

  Parameters:
    `header` - the widget to be used as a header

### DisclosurePanel

    public DisclosurePanel(Widget header,
                           boolean isOpen)

  Creates a DisclosurePanel using a widget as the header and an initial open/close state.

  Parameters:
    `header` - the widget to be used as a header
    `isOpen` - the initial open/close state of the content panel

Method Detail

### add

    public void add(Widget w)

  Description copied from interface: `HasWidgets`
  Adds a child widget.

  Specified by:
    `add` in interface `HasWidgets`
  Parameters:
    `w` - the widget to be added

### addCloseHandler

    public HandlerRegistration addCloseHandler(CloseHandler<DisclosurePanel> handler)

  Description copied from interface: `HasCloseHandlers`
  Adds a `CloseEvent` handler.

  Specified by:
    `addCloseHandler` in interface `HasCloseHandlers<DisclosurePanel>`
  Parameters:
    `handler` - the handler
  Returns:
    the registration for the event

### addEventHandler

    @Deprecated
    public void addEventHandler(DisclosureHandler handler)

  Deprecated. Use `addOpenHandler(OpenHandler)` and `addCloseHandler(CloseHandler)` instead

  Attaches an event handler to the panel to receive `DisclosureEvent` notification.

  Specified by:
    `addEventHandler` in interface `FiresDisclosureEvents`
  Parameters:
    `handler` - the handler to be added (should not be null)

### addOpenHandler

    public HandlerRegistration addOpenHandler(OpenHandler<DisclosurePanel> handler)

  Description copied from interface: `HasOpenHandlers`
  Adds a `OpenEvent` handler.

  Specified by:
    `addOpenHandler` in interface `HasOpenHandlers<DisclosurePanel>`
  Parameters:
    `handler` - the handler
  Returns:
    the registration for the event

### clear

    public void clear()

  Description copied from interface: `HasWidgets`
  Removes all child widgets.

  Specified by:
    `clear` in interface `HasWidgets`

### getContent

    public Widget getContent()

  Gets the widget that was previously set in `setContent(Widget)`.

  Returns:
    the panel's current content widget

### getHeader

    public Widget getHeader()

  Gets the widget that is currently being used as a header.

  Returns:
    the widget currently being used as a header

### getHeaderTextAccessor

    public HasText getHeaderTextAccessor()

  Gets a `HasText` instance to provide access to the headers's text, if the header widget does provide such access.

  Returns:
    a reference to the header widget if it implements `HasText`, `null` otherwise

### isAnimationEnabled

    public boolean isAnimationEnabled()

  Specified by:
    `isAnimationEnabled` in interface `HasAnimation`
  Returns:
    true if animations are enabled, false if not

### isOpen

    public boolean isOpen()

  Determines whether the panel is open.

  Returns:
    `true` if panel is in open state

### iterator

    public java.util.Iterator<Widget> iterator()

  Description copied from interface: `HasWidgets`
  Gets an iterator for the contained widgets. This iterator is required to implement `Iterator.remove()`.

  Specified by:
    `iterator` in interface `HasWidgets`
  Specified by:
    `iterator` in interface `java.lang.Iterable<Widget>`

### remove

    public boolean remove(Widget w)

  Description copied from interface: `HasWidgets`
  Removes a child widget.

  Specified by:
    `remove` in interface `HasWidgets`
  Parameters:
    `w` - the widget to be removed
  Returns:
    `true` if the widget was present

### removeEventHandler

    @Deprecated
    public void removeEventHandler(DisclosureHandler handler)

  Deprecated. Use the `HandlerRegistration.removeHandler()` method on the object returned by an add*Handler method instead

  Removes an event handler from the panel.

  Specified by:
    `removeEventHandler` in interface `FiresDisclosureEvents`
  Parameters:
    `handler` - the handler to be removed

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

### setContent

    public void setContent(Widget content)

  Sets the content widget which can be opened and closed by this panel. If there is a preexisting content widget, it will be detached.

  Parameters:
    `content` - the widget to be used as the content panel

### setHeader

    public void setHeader(Widget headerWidget)

  Sets the widget used as the header for the panel.

  Parameters:
    `headerWidget` - the widget to be used as the header

### setOpen

    public void setOpen(boolean isOpen)

  Changes the visible state of this `DisclosurePanel`.

  Parameters:
    `isOpen` - `true` to open the panel, `false` to close

### onEnsureDebugId

    protected void onEnsureDebugId(java.lang.String baseID)

  Affected Elements:
  - -header = the clickable header.

  Overrides:
    `onEnsureDebugId` in class `UIObject`
  Parameters:
    `baseID` - the base ID used by the main element
  See Also:
    `UIObject.onEnsureDebugId(String)`