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

java.lang.Object
  extended by com.google.gwt.user.client.ui.UIObject
      extended by com.google.gwt.user.client.ui.Widget
          extended by com.google.gwt.user.client.ui.Composite
              extended by com.google.gwt.user.client.ui.DisclosurePanel
All Implemented Interfaces:
EventListener, FiresDisclosureEvents, HasWidgets

public final class DisclosurePanel
extends Composite
implements FiresDisclosureEvents, HasWidgets

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

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


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.
 void addEventHandler(DisclosureHandler handler)
          Attaches an event handler to the panel to receive DisclosureEvent notification.
 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 isOpen()
          Determines whether the panel is open.
 java.util.Iterator iterator()
          Gets an iterator for the contained widgets.
 boolean remove(Widget w)
          Removes a child widget.
 void removeEventHandler(DisclosureHandler handler)
          Removes an event handler from the panel.
 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
getElement, getWidget, initWidget, isAttached, onAttach, onDetach, setWidget
 
Methods inherited from class com.google.gwt.user.client.ui.Widget
doAttachChildren, doDetachChildren, getParent, onBrowserEvent, onLoad, onUnload, removeFromParent, setElement
 
Methods inherited from class com.google.gwt.user.client.ui.UIObject
addStyleDependentName, addStyleName, getAbsoluteLeft, getAbsoluteTop, 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
 

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

addEventHandler

public final void addEventHandler(DisclosureHandler handler)
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)

clear

public void clear()
Description copied from interface: HasWidgets
Removes all child widgets.

Specified by:
clear in interface HasWidgets

getContent

public final Widget getContent()
Gets the widget that was previously set in setContent(Widget).

Returns:
the panel's current content widget

getHeader

public final Widget getHeader()
Gets the widget that is currently being used as a header.

Returns:
the widget currently being used as a header

getHeaderTextAccessor

public final 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

isOpen

public final boolean isOpen()
Determines whether the panel is open.

Returns:
true if panel is in open state

iterator

public java.util.Iterator 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

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

public final void removeEventHandler(DisclosureHandler handler)
Removes an event handler from the panel.

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

setContent

public final 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 final 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 final void setOpen(boolean isOpen)
Changes the visible state of this DisclosurePanel.

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