GWT 2.7.0

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

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.ComplexPanel
                  extended by com.google.gwt.user.client.ui.RenderablePanel
All Implemented Interfaces:
HasAttachHandlers, HasHandlers, EventListener, HasVisibility, HasWidgets, HasWidgets.ForIsWidget, IndexedPanel, IndexedPanel.ForIsWidget, IsRenderable, IsWidget, java.lang.Iterable<Widget>

public class RenderablePanel
extends ComplexPanel
implements IsRenderable

EXPERIMENTAL and subject to change. Do not use this in production code.

An IsRenderable version of HTMLPanel. This class is a stepping in our transition to the Renderable strategy. Eventually this functionality should be merged into HTMLPanel. The only reason this class doesn't extend HTMLPanel is because it doesn't provide any way to build the panel lazily (which is needed here).


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.IndexedPanel
IndexedPanel.ForIsWidget
 
Nested classes/interfaces inherited from interface com.google.gwt.user.client.ui.HasWidgets
HasWidgets.ForIsWidget
 
Field Summary
 Scheduler.ScheduledCommand detachedInitializationCallback
           
protected  SafeHtml html
           
 Scheduler.ScheduledCommand wrapInitializationCallback
           
 
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
RenderablePanel(SafeHtml safeHtml)
          Initializes the panel's HTML from a given SafeHtml object.
RenderablePanel(java.lang.String html)
          Creates an HTML panel with the specified HTML contents inside a DIV element.
 
Method Summary
 void add(Widget widget)
          Adds a child widget to the panel.
 void addAndReplaceElement(IsWidget widget, Element toReplace)
          Deprecated. use addAndReplaceElement(IsWidget, Element)
 void addAndReplaceElement(IsWidget widget, Element toReplace)
          Overloaded version for IsWidget.
 void addAndReplaceElement(Widget widget, Element toReplace)
          Adds a child widget to the panel, replacing the HTML element.
 void addAndReplaceElement(Widget widget, Element toReplace)
          Deprecated. use addAndReplaceElement(Widget, Element)
 void claimElement(Element element)
          Replace the previous contents of the receiver with the given element, presumed to have been created and stamped via a previous call to IsRenderable.render(com.google.gwt.user.client.ui.RenderableStamper).
protected  SafeHtml getInnerHtml()
          Returns the HTML to be set as the innerHTML of the container.
 void initializeClaimedElement()
          Perform any initialization needed when the widget is not attached to the document.
protected  boolean isFullyInitialized()
          Whether the initilization of the panel is finished (i.e., the corresponding DOM element has been built).
 void logicalAdd(IsRenderable renderable)
          Adopts the given, but doesn't change anything about its DOM element.
 SafeHtml render(RenderableStamper stamper)
           
 void render(RenderableStamper stamper, SafeHtmlBuilder builder)
          Tells this object to render itself as HTML and append it to the given builder.
 Element resolvePotentialElement()
          EXPERIMENTAL and subject to change.
 
Methods inherited from class com.google.gwt.user.client.ui.ComplexPanel
add, add, adjustIndex, checkIndexBoundsForAccess, checkIndexBoundsForInsertion, doLogicalClear, getChildren, getWidget, getWidgetCount, getWidgetIndex, getWidgetIndex, insert, insert, iterator, remove, remove
 
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, 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

wrapInitializationCallback

public Scheduler.ScheduledCommand wrapInitializationCallback

detachedInitializationCallback

public Scheduler.ScheduledCommand detachedInitializationCallback

html

protected SafeHtml html
Constructor Detail

RenderablePanel

public RenderablePanel(java.lang.String html)
Creates an HTML panel with the specified HTML contents inside a DIV element. Any element within this HTML that has a specified id can contain a child widget. The actual element that will hold this HTML isn't initialized until it is needed.

Parameters:
html - the panel's HTML

RenderablePanel

public RenderablePanel(SafeHtml safeHtml)
Initializes the panel's HTML from a given SafeHtml object. Similar to #HTMLPanel(String)

Parameters:
safeHtml - the html to set.
Method Detail

add

public void add(Widget widget)
Adds a child widget to the panel.

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

addAndReplaceElement

public final void addAndReplaceElement(Widget widget,
                                       Element toReplace)
Adds a child widget to the panel, replacing the HTML element.

Parameters:
widget - the widget to be added
toReplace - the element to be replaced by the widget

addAndReplaceElement

@Deprecated
public void addAndReplaceElement(Widget widget,
                                            Element toReplace)
Deprecated. use addAndReplaceElement(Widget, Element)

Adds a child widget to the panel, replacing the HTML element.

Parameters:
widget - the widget to be added
toReplace - the element to be replaced by the widget

addAndReplaceElement

@Deprecated
public void addAndReplaceElement(IsWidget widget,
                                            Element toReplace)
Deprecated. use addAndReplaceElement(IsWidget, Element)

Overloaded version for IsWidget.

See Also:
addAndReplaceElement(Widget,Element)

addAndReplaceElement

public void addAndReplaceElement(IsWidget widget,
                                 Element toReplace)
Overloaded version for IsWidget.

See Also:
addAndReplaceElement(Widget,Element)

claimElement

public void claimElement(Element element)
Description copied from interface: IsRenderable
Replace the previous contents of the receiver with the given element, presumed to have been created and stamped via a previous call to IsRenderable.render(com.google.gwt.user.client.ui.RenderableStamper).

Specified by:
claimElement in interface IsRenderable

initializeClaimedElement

public void initializeClaimedElement()
Description copied from interface: IsRenderable
Perform any initialization needed when the widget is not attached to the document. Assumed to be called after IsRenderable.claimElement(com.google.gwt.dom.client.Element).

Specified by:
initializeClaimedElement in interface IsRenderable

logicalAdd

public void logicalAdd(IsRenderable renderable)
Adopts the given, but doesn't change anything about its DOM element. Should only be used for widgets with elements that are children of this panel's element. No-op if called with an IsRenderable that isn't also IsWidget, but safe to call with such as a convenience.


render

public SafeHtml render(RenderableStamper stamper)
Specified by:
render in interface IsRenderable
See Also:
TODO(rdcastro): Remove this once UiBinder doesn't rely on it anymore.

render

public void render(RenderableStamper stamper,
                   SafeHtmlBuilder builder)
Description copied from interface: IsRenderable
Tells this object to render itself as HTML and append it to the given builder. If the implementation expects to be able to claim an element later, it must be marked by the given stamper.

Specified by:
render in interface IsRenderable

resolvePotentialElement

public Element resolvePotentialElement()
Description copied from class: UIObject
EXPERIMENTAL and subject to change. Do not use this in production code.

To be overridden by IsRenderable subclasses that initialize themselves by by calling setElement(PotentialElement.build(this)).

The receiver must:

This method is called when the receiver's element is about to be added to a parent node, as a side effect of DOM.appendChild(com.google.gwt.dom.client.Element, com.google.gwt.dom.client.Element).

Note that this method is normally called only on the top element of an IsRenderable tree. Children instead will receive IsRenderable.render(com.google.gwt.user.client.ui.RenderableStamper) and IsRenderable.claimElement(Element).

Overrides:
resolvePotentialElement in class UIObject
See Also:
PotentialElement, IsRenderable

getInnerHtml

protected SafeHtml getInnerHtml()
Returns the HTML to be set as the innerHTML of the container.


isFullyInitialized

protected boolean isFullyInitialized()
Whether the initilization of the panel is finished (i.e., the corresponding DOM element has been built).


GWT 2.7.0