GWT 2.7.0

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:
HasAttachHandlers, HasCloseHandlers<DisclosurePanel>, HasOpenHandlers<DisclosurePanel>, HasHandlers, EventListener, FiresDisclosureEvents, HasAnimation, HasVisibility, HasWidgets, HasWidgets.ForIsWidget, IsRenderable, IsWidget, java.lang.Iterable<Widget>

public final class DisclosurePanel
extends Composite
implements FiresDisclosureEvents, HasWidgets.ForIsWidget, 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 { ... }

Use in UiBinder Templates

DisclosurePanel elements in UiBinder templates can have one widget child and one of two types of header elements. A <g:header> element can hold text (not html), or a <g:customHeader> element can hold a widget. (Note that the tags of the header elements are not capitalized. This is meant to signal that the header is not a runtime object, and so cannot have a ui:field attribute.)

For example:

 <g:DisclosurePanel>
   <g:header>Text header</g:header>
   <g:Label>Widget body</g:Label>
 </g:DisclosurePanel>

 <g:DisclosurePanel>
   <g:customHeader>
     <g:Label>Widget header</g:Label>
   </g:customHeader>
   <g:Label>Widget body</g:Label>
 </g:DisclosurePanel>
 


Nested Class Summary
(package private) static interface DisclosurePanel.DefaultImages
           
 
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
DisclosurePanel()
          Creates an empty DisclosurePanel that is initially closed.
DisclosurePanel(DisclosurePanelImages images, java.lang.String headerText, boolean isOpen)
          Deprecated. use DisclosurePanel(ImageResource, ImageResource, String) and setOpen(boolean)
DisclosurePanel(ImageResource openImage, ImageResource closedImage, java.lang.String headerText)
          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)
          Deprecated. use DisclosurePanel(String) and setOpen(boolean)
DisclosurePanel(Widget header)
          Deprecated. use DisclosurePanel() and setHeader(Widget)
DisclosurePanel(Widget header, boolean isOpen)
          Deprecated. use DisclosurePanel(), setOpen(boolean) and setHeader(Widget) instead
 
Method Summary
 void add(IsWidget w)
          Overloaded version for IsWidget.
 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 an 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()
          Returns true if animations are enabled, false if not.
 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(IsWidget w)
          Overloaded version for IsWidget.
 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
claimElement, getWidget, initializeClaimedElement, initWidget, isAttached, onAttach, onBrowserEvent, onDetach, render, render, resolvePotentialElement, setWidget
 
Methods inherited from class com.google.gwt.user.client.ui.Widget
addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, ensureHandlers, fireEvent, getHandlerCount, getHandlerManager, getLayoutData, getParent, isOrWasAttached, 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, removeStyleDependentName, removeStyleName, 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.event.shared.HasHandlers
fireEvent
 

Constructor Detail

DisclosurePanel

public DisclosurePanel()
Creates an empty DisclosurePanel that is initially closed.


DisclosurePanel

@Deprecated
public DisclosurePanel(DisclosurePanelImages images,
                                  java.lang.String headerText,
                                  boolean isOpen)
Deprecated. use DisclosurePanel(ImageResource, ImageResource, String) and setOpen(boolean)

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(ImageResource openImage,
                       ImageResource closedImage,
                       java.lang.String headerText)
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:
openImage - the open state image resource
closedImage - the closed state image resource
headerText - the text to be displayed in the header

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

@Deprecated
public DisclosurePanel(java.lang.String headerText,
                                  boolean isOpen)
Deprecated. use DisclosurePanel(String) and setOpen(boolean)

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

@Deprecated
public DisclosurePanel(Widget header)
Deprecated. use DisclosurePanel() and setHeader(Widget)

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

@Deprecated
public DisclosurePanel(Widget header,
                                  boolean isOpen)
Deprecated. use DisclosurePanel(), setOpen(boolean) and setHeader(Widget) instead

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

add

public void add(IsWidget w)
Overloaded version for IsWidget.

Specified by:
add in interface HasWidgets.ForIsWidget
See Also:
add(Widget)

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 an 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()
Description copied from interface: HasAnimation
Returns true if animations are enabled, false if not.

Specified by:
isAnimationEnabled in interface HasAnimation

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

remove

public boolean remove(IsWidget w)
Overloaded version for IsWidget.

Specified by:
remove in interface HasWidgets.ForIsWidget
See Also:
remove(Widget)

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:

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

GWT 2.7.0