com.google.gwt.user.client.ui

## Class CaptionPanel

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

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

    public class CaptionPanel
    extends Composite
    implements HasWidgets.ForIsWidget

A panel that wraps its contents in a border with a caption that appears in the upper left corner of the border. This is an implementation of the fieldset HTML element.

### Nested Class Summary

Nested Classes
`static class` `CaptionPanel.CaptionPanelImpl` Implementation class without browser-specific hacks.
`static class` `CaptionPanel.CaptionPanelImplMozilla` Implementation class that handles Mozilla rendering issues.
`static class` `CaptionPanel.CaptionPanelImplSafari` Implementation class that handles Safari rendering issues.

### 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 and Description
`CaptionPanel()` Constructs a CaptionPanel with an empty caption.
`CaptionPanel(SafeHtml caption)` Constructs a CaptionPanel with specified caption text.
`CaptionPanel(java.lang.String captionText)` Constructs a CaptionPanel with specified caption text.
`CaptionPanel(java.lang.String caption, boolean asHTML)` Constructs a CaptionPanel having the specified caption.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `add(IsWidget w)` Overloaded version for IsWidget.
`void` `add(Widget w)` Adds a child widget.
`void` `clear()` Removes the content widget.
`java.lang.String` `getCaptionHTML()` Returns the caption as HTML; note that if the caption was previously set using `setCaptionText(String)`, the return value is undefined.
`java.lang.String` `getCaptionText()` Returns the caption as text; note that if the caption was previously set using `setCaptionHTML(String)`, the return value is undefined.
`Widget` `getContentWidget()` Accesses the content widget, if present.
`java.util.Iterator<Widget>` `iterator()` Iterates over the singular content widget, if present.
`boolean` `remove(IsWidget w)` Overloaded version for IsWidget.
`boolean` `remove(Widget w)` Removes the specified widget, although in practice the specified widget must be the content widget.
`void` `setCaptionHTML(SafeHtml html)` Sets the caption for the panel using a SafeHtml string.
`void` `setCaptionHTML(java.lang.String html)` Sets the caption for the panel using an HTML fragment.
`void` `setCaptionText(java.lang.String text)` Sets the caption for the panel using text that will be automatically escaped.
`void` `setContentWidget(Widget w)` Sets or replaces the content widget within the CaptionPanel.

### 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, onEnsureDebugId, 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 java.lang.Iterable

`forEach, spliterator`

### Constructor Detail

#### CaptionPanel

    public CaptionPanel()

Constructs a CaptionPanel with an empty caption.

#### CaptionPanel

    public CaptionPanel(SafeHtml caption)

Constructs a CaptionPanel with specified caption text.

Parameters:
  `caption` - the text of the caption

#### CaptionPanel

    public CaptionPanel(java.lang.String captionText)

Constructs a CaptionPanel with specified caption text.

Parameters:
  `captionText` - the text of the caption, which is automatically escaped

#### CaptionPanel

    public CaptionPanel(java.lang.String caption,
                        boolean asHTML)

Constructs a CaptionPanel having the specified caption.

Parameters:
  `caption` - the caption to display
  `asHTML` - if `true`, the `caption` param is interpreted as HTML; otherwise, `caption` is treated as text and automatically escaped

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

#### clear

    public void clear()

Removes the content widget.

Specified by:
  `clear` in interface `HasWidgets`

#### getCaptionHTML

    public java.lang.String getCaptionHTML()

Returns the caption as HTML; note that if the caption was previously set using `setCaptionText(String)`, the return value is undefined.

#### getCaptionText

    public java.lang.String getCaptionText()

Returns the caption as text; note that if the caption was previously set using `setCaptionHTML(String)`, the return value is undefined.

#### getContentWidget

    public Widget getContentWidget()

Accesses the content widget, if present.

Returns:
  the content widget specified previously in `setContentWidget(Widget)`

#### iterator

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

Iterates over the singular content widget, if present.

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

#### remove

    public boolean remove(Widget w)

Removes the specified widget, although in practice the specified widget must be the content widget.

Specified by:
  `remove` in interface `HasWidgets`
Parameters:
  `w` - the widget to remove; note that anything other than the Widget returned by `getContentWidget()` will have no effect
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)`

#### setCaptionHTML

    public void setCaptionHTML(java.lang.String html)

Sets the caption for the panel using an HTML fragment. Pass in empty string to remove the caption completely, leaving just the unadorned panel.

Parameters:
  `html` - HTML for the new caption; must not be `null`

#### setCaptionHTML

    public void setCaptionHTML(SafeHtml html)

Sets the caption for the panel using a SafeHtml string.

Parameters:
  `html` - HTML for the new caption; must not be `null`

#### setCaptionText

    public void setCaptionText(java.lang.String text)

Sets the caption for the panel using text that will be automatically escaped. Pass in empty string to remove the caption completely, leaving just the unadorned panel.

Parameters:
  `text` - text for the new caption; must not be `null`

#### setContentWidget

    public void setContentWidget(Widget w)

Sets or replaces the content widget within the CaptionPanel.

Parameters:
  `w` - the content widget to be set