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
    Modifier and Type | Class and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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