Package com.google.gwt.user.client.ui
Class SimplePanel
- 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
-
- 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
Fields Modifier and Type Field Description (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
Constructors Modifier Constructor Description 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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
-
-
-
-
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 interfaceHasWidgets
- Overrides:
add
in classPanel
- 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 interfaceHasOneWidget
- 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 implementIterator.remove()
.- Specified by:
iterator
in interfaceHasWidgets
- Specified by:
iterator
in interfacejava.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.
- Validate: Make sure this Panel is actually the parent of the
child Widget; return
false
if it is not. - Orphan: Call
Panel.orphan(Widget)
first while the child Widget is still attached. - 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.
- 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 interfaceHasWidgets
- Specified by:
remove
in classPanel
- Parameters:
w
- the widget to be removed- Returns:
true
if the child was present
- Validate: Make sure this Panel is actually the parent of the
child Widget; return
-
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 interfaceAcceptsOneWidget
- Parameters:
w
- the widget, ornull
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 interfaceHasOneWidget
- Parameters:
w
- the panel's new widget, ornull
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 theElement
class defined in theUser
module to maintain backwards compatibility.- Returns:
- the element to be used as the panel's container
-
-