|
GWT 2.7.0 | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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.ScrollPanel com.google.gwt.user.client.ui.CustomScrollPanel
public class CustomScrollPanel
A custom version of the ScrollPanel
that allows user provided
scrollbars.
The postion of scrollbars in a CustomScrollPanel
differs from that of
a native scrollable element. In a native element, scrollbars appear adjacent
to the content, shrinking the content client height and width when they
appear. CustomScrollPanel
instead overlays scrollbars on top of the
content, so the content does not change size when scrollbars appear. If the
scrollbars obscures the content, you can set the padding-top
and
padding-bottom
of the content to shift the content out from
under the scrollbars.
NOTE: Unlike ScrollPanel
, which implements RequiresResize
but
doesn't really require it, CustomScrollPanel
actually does require
resize and should only be added to a panel that implements
ProvidesResize
, such as most layout panels and
ResizeLayoutPanel
.
Nested Class Summary | |
---|---|
static interface |
CustomScrollPanel.Resources
A ClientBundle of resources used by this widget. |
static interface |
CustomScrollPanel.Style
Styles used by this widget. |
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.SimplePanel |
---|
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 | |
---|---|
CustomScrollPanel()
Creates an empty CustomScrollPanel . |
|
CustomScrollPanel(CustomScrollPanel.Resources resources)
|
|
CustomScrollPanel(Widget child)
Creates a CustomScrollPanel with the specified child widget. |
Method Summary | |
---|---|
protected void |
doAttachChildren()
If a widget contains one or more child widgets that are not in the logical widget hierarchy (the child is physically connected only on the DOM level), it must override this method and call Widget.onAttach() for each of its
child widgets. |
protected void |
doDetachChildren()
If a widget contains one or more child widgets that are not in the logical widget hierarchy (the child is physically connected only on the DOM level), it must override this method and call Widget.onDetach() for each of its
child widgets. |
HorizontalScrollbar |
getHorizontalScrollbar()
Get the scrollbar used for horizontal scrolling. |
VerticalScrollbar |
getVerticalScrollbar()
Get the scrollbar used for vertical scrolling. |
protected void |
onAttach()
This method is called when a widget is attached to the browser's document. |
void |
onBrowserEvent(Event event)
Fired whenever a browser event is received. |
protected void |
onDetach()
This method is called when a widget is detached from the browser's document. |
protected void |
onLoad()
This method is called immediately after a widget becomes attached to 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 |
removeHorizontalScrollbar()
Remove the HorizontalScrollbar , if one exists. |
void |
removeVerticalScrollbar()
Remove the VerticalScrollbar , if one exists. |
void |
setAlwaysShowScrollBars(boolean alwaysShow)
Sets whether this panel always shows its scroll bars, or only when necessary. |
void |
setHorizontalScrollbar(HorizontalScrollbar scrollbar,
int height)
Set the scrollbar used for horizontal scrolling. |
void |
setVerticalScrollbar(VerticalScrollbar scrollbar,
int width)
Set the scrollbar used for vertical scrolling. |
void |
setWidget(Widget w)
Sets this panel's widget. |
Methods inherited from class com.google.gwt.user.client.ui.SimplePanel |
---|
add, getWidget, iterator, setWidget |
Methods inherited from class com.google.gwt.user.client.ui.Panel |
---|
add, adopt, clear, 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, 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, setPixelSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, sinkBitlessEvent, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface com.google.gwt.event.shared.HasHandlers |
---|
fireEvent |
Methods inherited from interface com.google.gwt.user.client.ui.IsWidget |
---|
asWidget |
Constructor Detail |
---|
public CustomScrollPanel()
CustomScrollPanel
.
public CustomScrollPanel(CustomScrollPanel.Resources resources)
public CustomScrollPanel(Widget child)
CustomScrollPanel
with the specified child widget.
child
- the widget to be wrapped by the scroll panelMethod Detail |
---|
public HorizontalScrollbar getHorizontalScrollbar()
public VerticalScrollbar getVerticalScrollbar()
public void onBrowserEvent(Event event)
EventListener
onBrowserEvent
in interface EventListener
onBrowserEvent
in class Widget
event
- the event receivedpublic void onResize()
RequiresResize
onResize
in interface RequiresResize
onResize
in class ScrollPanel
public boolean remove(Widget w)
Panel
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.
false
if it is not.Panel.orphan(Widget)
first while the child
Widget is still attached.WidgetCollection
.
remove
in interface HasWidgets
remove
in class SimplePanel
w
- the widget to be removed
true
if the child was presentpublic void removeHorizontalScrollbar()
HorizontalScrollbar
, if one exists.
public void removeVerticalScrollbar()
VerticalScrollbar
, if one exists.
public void setAlwaysShowScrollBars(boolean alwaysShow)
ScrollPanel
setAlwaysShowScrollBars
in class ScrollPanel
alwaysShow
- true
to show scroll bars at all timespublic void setHorizontalScrollbar(HorizontalScrollbar scrollbar, int height)
scrollbar
- the scrollbar, or null to clear itheight
- the height of the scrollbar in pixelspublic void setVerticalScrollbar(VerticalScrollbar scrollbar, int width)
scrollbar
- the scrollbar, or null to clear itwidth
- the width of the scrollbar in pixelspublic void setWidget(Widget w)
SimplePanel
setWidget
in interface HasOneWidget
setWidget
in class SimplePanel
w
- the panel's new widget, or null
to clear the panelprotected void doAttachChildren()
Widget
Widget.onAttach()
for each of its
child widgets.
doAttachChildren
in class Panel
Widget.onAttach()
protected void doDetachChildren()
Widget
Widget.onDetach()
for each of its
child widgets.
doDetachChildren
in class Panel
Widget.onDetach()
protected void onAttach()
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.
onAttach
in class ScrollPanel
Widget.onLoad()
,
Widget.doAttachChildren()
protected void onDetach()
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.
onDetach
in class ScrollPanel
Widget.onUnload()
,
Widget.doDetachChildren()
protected void onLoad()
Widget
onLoad
in class Widget
|
GWT 2.7.0 | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |