public class TabPanel extends Composite implements TabListener, SourcesTabEvents, HasWidgets, HasAnimation, IndexedPanel.ForIsWidget, HasBeforeSelectionHandlers<java.lang.Integer>, HasSelectionHandlers<java.lang.Integer>
This widget will only work in quirks mode. If your application is in
Standards Mode, use TabLayoutPanel
instead.
Note that this widget is not a panel per se, but rather a
Composite
that aggregates a
TabBar
and a
DeckPanel
. It does, however, implement
HasWidgets
.
public class TabPanelExample implements EntryPoint { public void onModuleLoad() { // Create a tab panel with three tabs, each of which displays a different // piece of text. TabPanel tp = new TabPanel(); tp.add(new HTML("Foo"), "foo"); tp.add(new HTML("Bar"), "bar"); tp.add(new HTML("Baz"), "baz"); // Show the 'bar' tab initially. tp.selectTab(1); // Add it to the root panel. RootPanel.get().add(tp); } }
TabLayoutPanel
UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled
HasWidgets.ForIsWidget
eventsToSink
DEBUG_ID_PREFIX, MISSING_ELEMENT_ERROR, SETELEMENT_TWICE_ERROR
Constructor and Description |
---|
TabPanel()
Creates an empty tab panel.
|
Modifier and Type | Method and Description |
---|---|
void |
add(IsWidget w,
IsWidget tabWidget)
Convenience overload to allow
IsWidget to be used directly. |
void |
add(IsWidget w,
java.lang.String tabText)
Convenience overload to allow
IsWidget to be used directly. |
void |
add(IsWidget w,
java.lang.String tabText,
boolean asHTML)
Convenience overload to allow
IsWidget to be used directly. |
void |
add(Widget w)
Adds a child widget.
|
void |
add(Widget w,
java.lang.String tabText)
Adds a widget to the tab panel.
|
void |
add(Widget w,
java.lang.String tabText,
boolean asHTML)
Adds a widget to the tab panel.
|
void |
add(Widget w,
Widget tabWidget)
Adds a widget to the tab panel.
|
HandlerRegistration |
addBeforeSelectionHandler(BeforeSelectionHandler<java.lang.Integer> handler)
Adds a
BeforeSelectionEvent handler. |
HandlerRegistration |
addSelectionHandler(SelectionHandler<java.lang.Integer> handler)
Adds a
SelectionEvent handler. |
void |
addTabListener(TabListener listener)
|
void |
clear()
Removes all child widgets.
|
protected SimplePanel |
createTabTextWrapper()
Create a
SimplePanel that will wrap the contents in a tab. |
DeckPanel |
getDeckPanel()
Gets the deck panel within this tab panel.
|
TabBar |
getTabBar()
Gets the tab bar within this tab panel.
|
Widget |
getWidget(int index)
Gets the child widget at the specified index.
|
int |
getWidgetCount()
Gets the number of child widgets in this panel.
|
int |
getWidgetIndex(IsWidget child)
Convenience overload to allow
IsWidget to be used directly. |
int |
getWidgetIndex(Widget widget)
Gets the index of the specified child widget.
|
void |
insert(IsWidget widget,
IsWidget tabWidget,
int beforeIndex)
Convenience overload to allow
IsWidget to be used directly. |
void |
insert(IsWidget widget,
java.lang.String tabText,
boolean asHTML,
int beforeIndex)
Convenience overload to allow
IsWidget to be used directly. |
void |
insert(IsWidget widget,
java.lang.String tabText,
int beforeIndex)
Convenience overload to allow
IsWidget to be used directly. |
void |
insert(Widget widget,
java.lang.String tabText,
boolean asHTML,
int beforeIndex)
Inserts a widget into the tab panel.
|
void |
insert(Widget widget,
java.lang.String tabText,
int beforeIndex)
Inserts a widget into the tab panel.
|
void |
insert(Widget widget,
Widget tabWidget,
int beforeIndex)
Inserts a widget into the tab panel.
|
boolean |
isAnimationEnabled()
Returns true if animations are enabled, false if not.
|
java.util.Iterator<Widget> |
iterator()
Gets an iterator for the contained widgets.
|
boolean |
onBeforeTabSelected(SourcesTabEvents sender,
int tabIndex)
|
protected void |
onEnsureDebugId(java.lang.String baseID)
Affected Elements:
-bar = The tab bar.
-bar-tab# = The element containing the content of the tab itself.
-bar-tab-wrapper# = The cell containing the tab at the index.
-bottom = The panel beneath the tab bar.
|
void |
onTabSelected(SourcesTabEvents sender,
int tabIndex)
Deprecated.
|
boolean |
remove(int index)
Removes the widget at the specified index.
|
boolean |
remove(Widget widget)
Removes the given widget, and its associated tab.
|
void |
removeTabListener(TabListener listener)
Deprecated.
Use the
HandlerRegistration.removeHandler()
method on the object returned by and add*Handler method instead |
void |
selectTab(int index)
Programmatically selects the specified tab and fires events.
|
void |
selectTab(int index,
boolean fireEvents)
Programmatically selects the specified tab.
|
void |
setAnimationEnabled(boolean enable)
Enable or disable animations.
|
claimElement, getWidget, initializeClaimedElement, initWidget, isAttached, onAttach, onBrowserEvent, onDetach, render, render, resolvePotentialElement, setWidget
addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, ensureHandlers, fireEvent, getHandlerCount, getHandlerManager, getLayoutData, getParent, isOrWasAttached, onLoad, onUnload, removeFromParent, replaceElement, setLayoutData, setParent, sinkEvents, unsinkEvents
addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, removeStyleDependentName, removeStyleName, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, sinkBitlessEvent, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
fireEvent
public void add(IsWidget w, IsWidget tabWidget)
IsWidget
to be used directly.public void add(IsWidget w, java.lang.String tabText)
IsWidget
to be used directly.public void add(IsWidget w, java.lang.String tabText, boolean asHTML)
IsWidget
to be used directly.public void add(Widget w)
HasWidgets
add
in interface HasWidgets
w
- the widget to be addedpublic void add(Widget w, java.lang.String tabText)
w
- the widget to be addedtabText
- the text to be shown on its tabpublic void add(Widget w, java.lang.String tabText, boolean asHTML)
w
- the widget to be addedtabText
- the text to be shown on its tabasHTML
- true
to treat the specified text as HTMLpublic void add(Widget w, Widget tabWidget)
w
- the widget to be addedtabWidget
- the widget to be shown in the tabpublic HandlerRegistration addBeforeSelectionHandler(BeforeSelectionHandler<java.lang.Integer> handler)
HasBeforeSelectionHandlers
BeforeSelectionEvent
handler.addBeforeSelectionHandler
in interface HasBeforeSelectionHandlers<java.lang.Integer>
handler
- the handlerpublic HandlerRegistration addSelectionHandler(SelectionHandler<java.lang.Integer> handler)
HasSelectionHandlers
SelectionEvent
handler.addSelectionHandler
in interface HasSelectionHandlers<java.lang.Integer>
handler
- the handler@Deprecated public void addTabListener(TabListener listener)
addBeforeSelectionHandler(com.google.gwt.event.logical.shared.BeforeSelectionHandler<java.lang.Integer>)
and addSelectionHandler(com.google.gwt.event.logical.shared.SelectionHandler<java.lang.Integer>)
insteadSourcesTabEvents
addTabListener
in interface SourcesTabEvents
listener
- the listener interface to addpublic void clear()
HasWidgets
clear
in interface HasWidgets
public DeckPanel getDeckPanel()
public TabBar getTabBar()
public Widget getWidget(int index)
IndexedPanel
getWidget
in interface IndexedPanel
index
- the child widget's indexpublic int getWidgetCount()
IndexedPanel
getWidgetCount
in interface IndexedPanel
public int getWidgetIndex(IsWidget child)
IsWidget
to be used directly.getWidgetIndex
in interface IndexedPanel.ForIsWidget
public int getWidgetIndex(Widget widget)
IndexedPanel
getWidgetIndex
in interface IndexedPanel
widget
- the widget to be found-1
if it is not a child of this
panelpublic void insert(IsWidget widget, IsWidget tabWidget, int beforeIndex)
IsWidget
to be used directly.public void insert(IsWidget widget, java.lang.String tabText, boolean asHTML, int beforeIndex)
IsWidget
to be used directly.public void insert(IsWidget widget, java.lang.String tabText, int beforeIndex)
IsWidget
to be used directly.public void insert(Widget widget, java.lang.String tabText, boolean asHTML, int beforeIndex)
widget
- the widget to be insertedtabText
- the text to be shown on its tabasHTML
- true
to treat the specified text as HTMLbeforeIndex
- the index before which it will be insertedpublic void insert(Widget widget, java.lang.String tabText, int beforeIndex)
widget
- the widget to be insertedtabText
- the text to be shown on its tabbeforeIndex
- the index before which it will be insertedpublic void insert(Widget widget, Widget tabWidget, int beforeIndex)
widget
- the widget to be inserted.tabWidget
- the widget to be shown on its tab.beforeIndex
- the index before which it will be inserted.public boolean isAnimationEnabled()
HasAnimation
isAnimationEnabled
in interface HasAnimation
public java.util.Iterator<Widget> iterator()
HasWidgets
Iterator.remove()
.iterator
in interface HasWidgets
iterator
in interface java.lang.Iterable<Widget>
@Deprecated public boolean onBeforeTabSelected(SourcesTabEvents sender, int tabIndex)
BeforeSelectionHandler.onBeforeSelection(com.google.gwt.event.logical.shared.BeforeSelectionEvent<T>)
insteadTabListener
onBeforeTabSelected
in interface TabListener
sender
- the TabBar
or TabPanel
whose tab was
selected.tabIndex
- the index of the tab about to be selectedfalse
to disallow the selection. If any listener
returns false, then the selection will be disallowed.@Deprecated public void onTabSelected(SourcesTabEvents sender, int tabIndex)
SelectionHandler.onSelection(com.google.gwt.event.logical.shared.SelectionEvent<T>)
insteadTabListener
onTabSelected
in interface TabListener
sender
- the TabBar
or TabPanel
whose tab was selectedtabIndex
- the index of the tab that was selectedpublic boolean remove(int index)
IndexedPanel
remove
in interface IndexedPanel
index
- the index of the widget to be removedfalse
if the widget is not presentpublic boolean remove(Widget widget)
remove
in interface HasWidgets
widget
- the widget to be removedtrue
if the widget was present@Deprecated public void removeTabListener(TabListener listener)
HandlerRegistration.removeHandler()
method on the object returned by and add*Handler method insteadSourcesTabEvents
removeTabListener
in interface SourcesTabEvents
listener
- the listener interface to removepublic void selectTab(int index)
index
- the index of the tab to be selectedpublic void selectTab(int index, boolean fireEvents)
index
- the index of the tab to be selectedfireEvents
- true to fire events, false not topublic void setAnimationEnabled(boolean enable)
HasAnimation
setAnimationEnabled
in interface HasAnimation
enable
- true to enable, false to disableprotected SimplePanel createTabTextWrapper()
SimplePanel
that will wrap the contents in a tab.
Subclasses can use this method to wrap tabs in decorator panels.SimplePanel
to wrap the tab contents, or null to leave
tabs unwrappedprotected void onEnsureDebugId(java.lang.String baseID)
onEnsureDebugId
in class UIObject
baseID
- the base ID used by the main elementUIObject.onEnsureDebugId(String)