GWT 2.7.0

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

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.HeaderPanel
All Implemented Interfaces:
HasAttachHandlers, HasHandlers, EventListener, HasVisibility, HasWidgets, HasWidgets.ForIsWidget, IsWidget, RequiresResize, java.lang.Iterable<Widget>

public class HeaderPanel
extends Panel
implements RequiresResize

A panel that includes a header (top), footer (bottom), and content (middle) area. The header and footer areas resize naturally. The content area is allocated all of the remaining space between the header and footer area.


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 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
HeaderPanel()
           
 
Method Summary
 void add(Widget w)
          Adds a widget to this panel.
 Widget getContentWidget()
          Get the content widget that appears between the header and footer.
 Widget getFooterWidget()
          Get the footer widget at the bottom of the panel.
 Widget getHeaderWidget()
          Get the header widget at the top of the panel.
 java.util.Iterator<Widget> iterator()
          Gets an iterator for the contained widgets.
 void onAttach()
           This method is called when a widget is attached to the browser's document.
 void onDetach()
           This method is called when a widget is detached from the browser's document.
 void onResize()
          This method must be called whenever the implementor's size has been modified.
 boolean remove(Widget w)
          Removes a child widget.
 void setContentWidget(Widget w)
          Set the widget in the content portion between the header and footer.
 void setFooterWidget(Widget w)
          Set the widget in the footer portion at the bottom of the panel.
 void setHeaderWidget(Widget w)
          Set the widget in the header portion at the top of the panel.
 
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, onBrowserEvent, 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
 

Constructor Detail

HeaderPanel

public HeaderPanel()
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)

getContentWidget

public Widget getContentWidget()
Get the content widget that appears between the header and footer.

Returns:
the content Widget

getFooterWidget

public Widget getFooterWidget()
Get the footer widget at the bottom of the panel.

Returns:
the footer Widget

getHeaderWidget

public Widget getHeaderWidget()
Get the header widget at the top of the panel.

Returns:
the header Widget

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>

onAttach

public void onAttach()
Description copied from class: Widget

This method is called when a widget is attached to the browser's document. To receive notification after a Widget has been added to the document, override the Widget.onLoad() method or use Widget.addAttachHandler(com.google.gwt.event.logical.shared.AttachEvent.Handler).

It is strongly recommended that you override Widget.onLoad() or Widget.doAttachChildren() instead of this method to avoid inconsistencies between logical and physical attachment states.

Subclasses that override this method must call super.onAttach() to ensure that the Widget has been attached to its underlying Element.

Overrides:
onAttach in class Widget
See Also:
Widget.onLoad(), Widget.doAttachChildren()

onDetach

public void onDetach()
Description copied from class: Widget

This method is called when a widget is detached from the browser's document. To receive notification before a Widget is removed from the document, override the Widget.onUnload() method or use Widget.addAttachHandler(com.google.gwt.event.logical.shared.AttachEvent.Handler).

It is strongly recommended that you override Widget.onUnload() or Widget.doDetachChildren() instead of this method to avoid inconsistencies between logical and physical attachment states.

Subclasses that override this method must call super.onDetach() to ensure that the Widget has been detached from the underlying Element. Failure to do so will result in application memory leaks due to circular references between DOM Elements and JavaScript objects.

Overrides:
onDetach in class Widget
See Also:
Widget.onUnload(), Widget.doDetachChildren()

onResize

public void onResize()
Description copied from interface: RequiresResize
This method must be called whenever the implementor's size has been modified.

Specified by:
onResize in interface RequiresResize

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

setContentWidget

public void setContentWidget(Widget w)
Set the widget in the content portion between the header and footer.

Parameters:
w - the widget to use as the content

setFooterWidget

public void setFooterWidget(Widget w)
Set the widget in the footer portion at the bottom of the panel.

Parameters:
w - the widget to use as the footer

setHeaderWidget

public void setHeaderWidget(Widget w)
Set the widget in the header portion at the top of the panel.

Parameters:
w - the widget to use as the header

GWT 2.7.0