GWT 2.7.0

com.google.gwt.user.client.ui
Class SimplePanel

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.Panel
              extended by com.google.gwt.user.client.ui.SimplePanel
All Implemented Interfaces:
HasAttachHandlers, HasHandlers, EventListener, AcceptsOneWidget, HasOneWidget, HasVisibility, HasWidgets, HasWidgets.ForIsWidget, IsWidget, java.lang.Iterable<Widget>
Direct Known Subclasses:
DecoratorPanel, FocusPanel, FormPanel, LazyPanel, PopupPanel, ResizeLayoutPanel, ScrollPanel, SimpleLayoutPanel

public class SimplePanel
extends Panel
implements HasOneWidget

Base class for panels that contain only one widget.


Nested Class Summary
 
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
(package private)  Widget widget
           
 
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
  SimplePanel()
          Creates an empty panel that uses a DIV for its contents.
protected SimplePanel(Element elem)
          Creates an empty panel that uses the specified browser element for its contents.
  SimplePanel(Widget child)
          Create a panel with the specified child widget.
 
Method Summary
 void add(Widget w)
          Adds a widget to this panel.
protected  Element getContainerElement()
          Override this method to specify that an element other than the root element be the container for the panel's child widget.
 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(IsWidget w)
          Set the only widget of the receiver, replacing the previous widget if there was one.
 void setWidget(Widget w)
          Sets this panel's widget.
 
Methods inherited from class com.google.gwt.user.client.ui.Panel
add, adopt, clear, doAttachChildren, doDetachChildren, orphan, remove
 
Methods inherited from class com.google.gwt.user.client.ui.Widget
addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, ensureHandlers, fireEvent, getHandlerCount, getHandlerManager, getLayoutData, getParent, isAttached, isOrWasAttached, onAttach, onBrowserEvent, onDetach, 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, resolvePotentialElement, 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
 

Field Detail

widget

Widget widget
Constructor Detail

SimplePanel

public SimplePanel()
Creates an empty panel that uses a DIV for its contents.


SimplePanel

public SimplePanel(Widget child)
Create a panel with the specified child widget.

Parameters:
child - the child to add to the panel

SimplePanel

protected SimplePanel(Element elem)
Creates an empty panel that uses the specified browser element for its contents.

Parameters:
elem - the browser element to use
Method Detail

add

public void add(Widget w)
Adds a widget to this panel.

Specified by:
add in interface HasWidgets
Overrides:
add in class Panel
Parameters:
w - the child widget to be added
See Also:
HasWidgets.add(Widget)

getWidget

public Widget getWidget()
Gets the panel's child widget.

Specified by:
getWidget in interface HasOneWidget
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>

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
Specified by:
remove in class Panel
Parameters:
w - the widget to be removed
Returns:
true if the child was present

setWidget

public void setWidget(IsWidget w)
Description copied from interface: AcceptsOneWidget
Set the only widget of the receiver, replacing the previous widget if there was one.

Specified by:
setWidget in interface AcceptsOneWidget
Parameters:
w - the widget, or null to remove the widget
See Also:
SimplePanel

setWidget

public void setWidget(Widget w)
Sets this panel's widget. Any existing child widget will be removed.

Specified by:
setWidget in interface HasOneWidget
Parameters:
w - the panel's new widget, or null to clear the panel

getContainerElement

protected Element getContainerElement()
Override this method to specify that an element other than the root element be the container for the panel's child widget. This can be useful when you want to create a simple panel that decorates its contents. Note that this method continues to return the Element class defined in the User module to maintain backwards compatibility.

Returns:
the element to be used as the panel's container

GWT 2.7.0