Package 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:
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 aui: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
Nested Classes Modifier and Type Class Description (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
Constructors Constructor Description DisclosurePanel()
Creates an empty DisclosurePanel that is initially closed.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(DisclosurePanelImages images, java.lang.String headerText, boolean isOpen)
Deprecated.DisclosurePanel(Widget header)
Deprecated.useDisclosurePanel()
andsetHeader(Widget)
DisclosurePanel(Widget header, boolean isOpen)
Deprecated.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.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
add(IsWidget w)
Overloaded version for IsWidget.void
add(Widget w)
Adds a child widget.HandlerRegistration
addCloseHandler(CloseHandler<DisclosurePanel> handler)
Adds aCloseEvent
handler.void
addEventHandler(DisclosureHandler handler)
Deprecated.UseaddOpenHandler(OpenHandler)
andaddCloseHandler(CloseHandler)
insteadHandlerRegistration
addOpenHandler(OpenHandler<DisclosurePanel> handler)
Adds anOpenEvent
handler.void
clear()
Removes all child widgets.Widget
getContent()
Gets the widget that was previously set insetContent(Widget)
.Widget
getHeader()
Gets the widget that is currently being used as a header.HasText
getHeaderTextAccessor()
Gets aHasText
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 theHandlerRegistration.removeHandler()
method on the object returned by an add*Handler method insteadvoid
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 thisDisclosurePanel
.-
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.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 imagesheaderText
- the text to be displayed in the headerisOpen
- 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 resourceclosedImage
- the closed state image resourceheaderText
- 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.Creates a DisclosurePanel with the specified header text and an initial open/close state.- Parameters:
headerText
- the text to be displayed in the headerisOpen
- the initial open/close state of the content panel
-
DisclosurePanel
@Deprecated public DisclosurePanel(Widget header)
Deprecated.useDisclosurePanel()
andsetHeader(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.Creates a DisclosurePanel using a widget as the header and an initial open/close state.- Parameters:
header
- the widget to be used as a headerisOpen
- 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 interfaceHasWidgets
- Parameters:
w
- the widget to be added
-
add
public void add(IsWidget w)
Overloaded version for IsWidget.- Specified by:
add
in interfaceHasWidgets.ForIsWidget
- See Also:
add(Widget)
-
addCloseHandler
public HandlerRegistration addCloseHandler(CloseHandler<DisclosurePanel> handler)
Description copied from interface:HasCloseHandlers
Adds aCloseEvent
handler.- Specified by:
addCloseHandler
in interfaceHasCloseHandlers<DisclosurePanel>
- Parameters:
handler
- the handler- Returns:
- the registration for the event
-
addEventHandler
@Deprecated public void addEventHandler(DisclosureHandler handler)
Deprecated.UseaddOpenHandler(OpenHandler)
andaddCloseHandler(CloseHandler)
insteadAttaches an event handler to the panel to receiveDisclosureEvent
notification.- Specified by:
addEventHandler
in interfaceFiresDisclosureEvents
- Parameters:
handler
- the handler to be added (should not be null)
-
addOpenHandler
public HandlerRegistration addOpenHandler(OpenHandler<DisclosurePanel> handler)
Description copied from interface:HasOpenHandlers
Adds anOpenEvent
handler.- Specified by:
addOpenHandler
in interfaceHasOpenHandlers<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 interfaceHasWidgets
-
getContent
public Widget getContent()
Gets the widget that was previously set insetContent(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 aHasText
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 interfaceHasAnimation
-
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 implementIterator.remove()
.- Specified by:
iterator
in interfaceHasWidgets
- Specified by:
iterator
in interfacejava.lang.Iterable<Widget>
-
remove
public boolean remove(Widget w)
Description copied from interface:HasWidgets
Removes a child widget.- Specified by:
remove
in interfaceHasWidgets
- 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 interfaceHasWidgets.ForIsWidget
- See Also:
remove(Widget)
-
removeEventHandler
@Deprecated public void removeEventHandler(DisclosureHandler handler)
Deprecated.Use theHandlerRegistration.removeHandler()
method on the object returned by an add*Handler method insteadRemoves an event handler from the panel.- Specified by:
removeEventHandler
in interfaceFiresDisclosureEvents
- 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 interfaceHasAnimation
- 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 thisDisclosurePanel
.- 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 classUIObject
- Parameters:
baseID
- the base ID used by the main element- See Also:
UIObject.onEnsureDebugId(String)
-
-