## com.google.gwt.user.client.ui
Class DecoratedPopupPanel

    java.lang.Object
      com.google.gwt.user.client.ui.UIObject
          com.google.gwt.user.client.ui.Widget
              com.google.gwt.user.client.ui.Panel
                  com.google.gwt.user.client.ui.SimplePanel
                      com.google.gwt.user.client.ui.PopupPanel
                          com.google.gwt.user.client.ui.DecoratedPopupPanel

All Implemented Interfaces:
  EventListener, EventPreview, HasAnimation, HasWidgets, SourcesPopupEvents, java.lang.Iterable<Widget>

Direct Known Subclasses:
  DialogBox

    public class DecoratedPopupPanel

extends PopupPanel

A `PopupPanel` that wraps its content in a 3x3 grid, which allows users to add rounded corners.

### CSS Style Rules

- .gwt-DecoratedPopupPanel { the outside of the popup }
- .gwt-DecoratedPopupPanel .popupContent { the wrapper around the content }
- .gwt-DecoratedPopupPanel .popupTopLeft { the top left cell }
- .gwt-DecoratedPopupPanel .popupTopLeftInner { the inner element of the cell }
- .gwt-DecoratedPopupPanel .popupTopCenter { the top center cell }
- .gwt-DecoratedPopupPanel .popupTopCenterInner { the inner element of the cell }
- .gwt-DecoratedPopupPanel .popupTopRight { the top right cell }
- .gwt-DecoratedPopupPanel .popupTopRightInner { the inner element of the cell }
- .gwt-DecoratedPopupPanel .popupMiddleLeft { the middle left cell }
- .gwt-DecoratedPopupPanel .popupMiddleLeftInner { the inner element of the cell }
- .gwt-DecoratedPopupPanel .popupMiddleCenter { the middle center cell }
- .gwt-DecoratedPopupPanel .popupMiddleCenterInner { the inner element of the cell }
- .gwt-DecoratedPopupPanel .popupMiddleRight { the middle right cell }
- .gwt-DecoratedPopupPanel .popupMiddleRightInner { the inner element of the cell }
- .gwt-DecoratedPopupPanel .popupBottomLeft { the bottom left cell }
- .gwt-DecoratedPopupPanel .popupBottomLeftInner { the inner element of the cell }
- .gwt-DecoratedPopupPanel .popupBottomCenter { the bottom center cell }
- .gwt-DecoratedPopupPanel .popupBottomCenterInner { the inner element of the cell }
- .gwt-DecoratedPopupPanel .popupBottomRight { the bottom right cell }
- .gwt-DecoratedPopupPanel .popupBottomRightInner { the inner element of the cell }

Nested Class Summary

Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.PopupPanel
`PopupPanel.PositionCallback`

Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject
`UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled`

Field Summary

Fields inherited from class com.google.gwt.user.client.ui.UIObject
`DEBUG_ID_PREFIX`

Constructor Summary
`DecoratedPopupPanel()` Creates an empty decorated popup panel.
`DecoratedPopupPanel(boolean autoHide)` Creates an empty decorated popup panel, specifying its "auto-hide" property.
`DecoratedPopupPanel(boolean autoHide, boolean modal)` Creates an empty decorated popup panel, specifying its "auto-hide" and "modal" properties.

Method Summary
`void` `clear()` Removes all child widgets.
`protected Element` `getCellElement(int row, int cell)` Get a specific Element from the panel.
`Widget` `getWidget()` Gets the panel's child widget.
`java.util.Iterator<Widget>` `iterator()` Gets an iterator for the contained widgets.
`boolean` `remove(Widget w)` Removes a child widget.
`void` `setWidget(Widget w)` Sets this panel's widget.

Methods inherited from class com.google.gwt.user.client.ui.PopupPanel
`addPopupListener, center, getContainerElement, getOffsetHeight, getOffsetWidth, getPopupLeft, getPopupTop, getTitle, hide, isAnimationEnabled, onDetach, onEventPreview, onKeyDownPreview, onKeyPressPreview, onKeyUpPreview, removePopupListener, setAnimationEnabled, setHeight, setPopupPosition, setPopupPositionAndShow, setTitle, setVisible, setWidth, show`

Methods inherited from class com.google.gwt.user.client.ui.SimplePanel
`add`

Methods inherited from class com.google.gwt.user.client.ui.Panel
`adopt, adopt, disown, doAttachChildren, doDetachChildren, onLoad, onUnload, orphan`

Methods inherited from class com.google.gwt.user.client.ui.Widget
`getParent, isAttached, onAttach, onBrowserEvent, removeFromParent`

Methods inherited from class com.google.gwt.user.client.ui.UIObject

`addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, isVisible, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, setElement, setElement, setPixelSize, setSize, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setVisible, sinkEvents, toString, unsinkEvents`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### DecoratedPopupPanel

    public DecoratedPopupPanel()

  Creates an empty decorated popup panel. A child widget must be added to it before it is shown.

### DecoratedPopupPanel

    public DecoratedPopupPanel(boolean autoHide)

  Creates an empty decorated popup panel, specifying its "auto-hide" property.

  Parameters:
    `autoHide` - `true` if the popup should be automatically hidden when the user clicks outside of it

### DecoratedPopupPanel

    public DecoratedPopupPanel(boolean autoHide,
                               boolean modal)

  Creates an empty decorated popup panel, specifying its "auto-hide" and "modal" properties.

  Parameters:
    `autoHide` - `true` if the popup should be automatically hidden when the user clicks outside of it
    `modal` - `true` if keyboard or mouse events that do not target the PopupPanel or its children should be ignored

Method Detail

### clear

    public void clear()

  Description copied from interface: `HasWidgets`
  Removes all child widgets.

  Specified by:
    `clear` in interface `HasWidgets`
  Overrides:
    `clear` in class `Panel`

### getWidget

    public Widget getWidget()

  Description copied from class: `SimplePanel`
  Gets the panel's child widget.

  Overrides:
    `getWidget` in class `SimplePanel`
  Returns:
    the child widget, or `null` if none is present

### 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>`
  Overrides:
    `iterator` in class `SimplePanel`

### remove

    public boolean remove(Widget w)

  Description copied from class: `Panel`
  Removes a child widget.

  How to Override this Method

  There are several important things that must take place in the correct order to properly remove a Widget from a Panel. Not all of these steps will be relevant to every Panel, but all of the steps must be considered.

  1. Validate: Make sure this Panel is actually the parent of the child Widget; return `false` if it is not.
  2. Orphan: Call `Panel.orphan(Widget)` first while the child Widget is still attached.
  3. Physical Detach: Adjust the DOM to account for the removal of the child Widget. The Widget's Element must be physically removed from the DOM.
  4. Logical Detach: Update the Panel's state variables to reflect the removal of the child Widget. Example: the Widget is removed from the Panel's `WidgetCollection`.

  Specified by:
    `remove` in interface `HasWidgets`
  Overrides:
    `remove` in class `SimplePanel`
  Parameters:
    `w` - the widget to be removed
  Returns:
    `true` if the child was present

### setWidget

    public void setWidget(Widget w)

  Description copied from class: `SimplePanel`
  Sets this panel's widget. Any existing child widget will be removed.

  Overrides:
    `setWidget` in class `PopupPanel`
  Parameters:
    `w` - the panel's new widget, or `null` to clear the panel

### getCellElement

    protected Element getCellElement(int row,
                                     int cell)

  Get a specific Element from the panel.

  Parameters:
    `row` - the row index
    `cell` - the cell index
  Returns:
    the Element at the given row and cell