com.extjs.gxt.ui.client.widget
Class TabPanel

java.lang.Object
  extended by com.google.gwt.user.client.ui.UIObject
      extended by com.google.gwt.user.client.ui.Widget
          extended by com.extjs.gxt.ui.client.widget.Component
              extended by com.extjs.gxt.ui.client.widget.BoxComponent
                  extended by com.extjs.gxt.ui.client.widget.Container<TabItem>
                      extended by com.extjs.gxt.ui.client.widget.TabPanel
All Implemented Interfaces:
Observable, com.google.gwt.event.shared.HasHandlers, com.google.gwt.user.client.EventListener

public class TabPanel
extends Container<TabItem>

A basic tab container.

 TabPanel panel = new TabPanel();
 panel.setResizeTabs(true);
 panel.setEnableTabScroll(true);
 panel.setAnimScroll(true);
 
 TabItem item = new TabItem();
 item.setClosable(true);
 item.setText("Tab Item");
 
 item.setLayout(new FitLayout());
 item.add(new Label("Test Content"));
 
 panel.add(item);
 
Events:
BeforeSelect : TabPanelEvent(container, item)
Fires after an item is selected. Listeners can cancel the action by calling BaseEvent.setCancelled(boolean).
Select : TabPanelEvent(container, item)
Fires after a item is selected.
BeforeAdd : TabPanelEvent(container, item, index)
Fires before a item is added or inserted. Listeners can cancel the action by calling BaseEvent.setCancelled(boolean).
BeforeRemove : TabPanelEvent(container, item)
Fires before a item is removed. Listeners can cancel the action by calling BaseEvent.setCancelled(boolean).
Add : TabPanelEvent(container, item, index)
Fires after a item has been added or inserted.
Remove : TabPanelEvent(container, item)
Fires after a item has been removed.
Inherited Events:
BoxComponent Move
BoxComponent Resize
Component Enable
Component Disable
Component BeforeHide
Component Hide
Component BeforeShow
Component Show
Component Attach
Component Detach
Component BeforeRender
Component Render
Component BrowserEvent
Component BeforeStateRestore
Component StateRestore
Component BeforeStateSave
Component SaveState


Nested Class Summary
 class TabPanel.TabPanelMessages
          TabPanel messages.
static class TabPanel.TabPosition
          Tab position enumeration.
 
Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject
com.google.gwt.user.client.ui.UIObject.DebugIdImpl, com.google.gwt.user.client.ui.UIObject.DebugIdImplEnabled
 
Field Summary
static Template itemTemplate
          Default tab item template.
 
Fields inherited from class com.google.gwt.user.client.ui.UIObject
DEBUG_ID_PREFIX
 
Constructor Summary
TabPanel()
          Creates a new tab panel.
 
Method Summary
 boolean add(TabItem item)
          Adds a tab item.
 TabItem findItem(java.lang.String id, boolean checkText)
          Searches for an item based on its id and optionally the item's text.
 boolean getAnimScroll()
          Returns true if scrolling is animated.
 boolean getBodyBorder()
          Returns true if the body border is enabled.
 boolean getBorderStyle()
          Returns true if the border style is enabled.
 CardLayout getLayout()
           
 El getLayoutTarget()
          Returns the container's layout target.
 TabPanel.TabPanelMessages getMessages()
          Returns the tab panel messages.
 int getMinTabWidth()
          Returns the minimum tab width.
 boolean getResizeTabs()
          Returns true if tab resizing is enabled.
 int getScrollDuration()
          Returns the scroll duration in milliseconds.
 TabItem getSelectedItem()
          Returns the current selection tab item.
 int getTabMargin()
          Returns the panel's tab margin.
 TabPanel.TabPosition getTabPosition()
          Returns the tab position.
 boolean getTabScroll()
          Returns true if tab scrolling is enabled.
 int getTabWidth()
          Returns the default tab width.
 boolean insert(TabItem item, int index)
          Adds a tab item.
 boolean isAutoSelect()
          Returns true if auto select is enabled.
 boolean isCloseContextMenu()
          Returns true if close context menu is enabled.
 boolean isDeferredRender()
          Returns true if children items are rendered when first accessed.
 boolean isPlain()
          Returns true if the tab strip will be rendered without a background.
 void onComponentEvent(ComponentEvent ce)
          Any events a component receives will be forwarded to this method.
 boolean remove(TabItem item)
          Removes the tab item.
 boolean removeAll()
          Removes all the container's items.
 void scrollToTab(TabItem item, boolean animate)
          Scrolls to a particular tab if tab scrolling is enabled.
 void setAnimScroll(boolean animScroll)
          True to animate tab scrolling so that hidden tabs slide smoothly into view (defaults to true).
 void setAutoHeight(boolean autoHeight)
          Sets the component's auto height value (defaults to false).
 void setAutoSelect(boolean autoSelect)
          True to have the first item selected when the panel is displayed for the first time if there is not selection (defaults to true).
 void setBodyBorder(boolean bodyBorder)
          True to display an interior border on the body element of the panel, false to hide it (defaults to true, pre-render).
 void setBorderStyle(boolean border)
          True to display a border around the tabs (defaults to true).
 void setCloseContextMenu(boolean closeMenu)
          True to show the close context menu (defaults to false).
 void setDeferredRender(boolean deferredRender)
          True to render each child tab item when it accessed, false to render all (defaults to true).
 void setMessages(TabPanel.TabPanelMessages messages)
          Sets the tab panel messages.
 void setMinTabWidth(int minTabWidth)
          The minimum width in pixels for each tab when resizeTabs = true (defaults to 30).
 void setPlain(boolean plain)
          True to render the tab strip without a background container image (defaults to false, pre-render).
 void setResizeTabs(boolean resizeTabs)
          True to automatically resize each tab so that the tabs will completely fill the tab strip (defaults to false).
 void setScrollDuration(int scrollDuration)
          Sets the number of milliseconds that each scroll animation should last (defaults to 150).
 void setScrollIncrement(int scrollIncrement)
          Sets the number of pixels to scroll each time a tab scroll button is pressed (defaults to 100, or if setResizeTabs(boolean) = true, the calculated tab width).
 void setSelection(TabItem item)
          Sets the selected tab item.
 void setTabMargin(int tabMargin)
          The number of pixels of space to calculate into the sizing and scrolling of tabs (defaults to 2).
 void setTabPosition(TabPanel.TabPosition tabPosition)
          Sets the position where the tab strip should be rendered (defaults to TOP, pre-render).
 void setTabScroll(boolean tabScroll)
          True to enable scrolling to tabs that may be invisible due to overflowing the overall TabPanel width.
 void setTabWidth(int tabWidth)
          Sets the initial width in pixels of each new tab (defaults to 120).
 
Methods inherited from class com.extjs.gxt.ui.client.widget.Container
disable, enable, findItem, getItem, getItemByItemId, getItemCount, getItems, getWidget, indexOf, iterator, scrollIntoView
 
Methods inherited from class com.extjs.gxt.ui.client.widget.BoxComponent
getBounds, getHeight, getHeight, getPosition, getShadow, getShadowOffset, getShadowPosition, getSize, getWidth, getWidth, isAutoHeight, isAutoWidth, isDeferHeight, isShim, setAutoWidth, setBounds, setBounds, setDeferHeight, setHeight, setHeight, setPagePosition, setPagePosition, setPixelSize, setPosition, setShadow, setShadowOffset, setShadowPosition, setShim, setSize, setSize, setWidth, setWidth, sync, syncSize
 
Methods inherited from class com.extjs.gxt.ui.client.widget.Component
addListener, addPlugin, addStyleName, addWidgetListener, clearState, disableEvents, disableTextSelection, el, enableEvents, fireEvent, fireEvent, fireEvent, fly, focus, getBaseStyle, getBorders, getContextMenu, getData, getElement, getHideMode, getId, getItemId, getListeners, getModel, getState, getStateId, getToolTip, hasListeners, hasListeners, hide, hideToolTip, isDisabledEvents, isEnabled, isRendered, isStateful, isVisible, mask, mask, mask, onBrowserEvent, recalculate, removeAllListeners, removeFromParent, removeListener, removeStyleName, removeSwallow, removeToolTip, removeWidgetListener, render, render, repaint, saveState, setBorders, setContextMenu, setData, setElement, setEnabled, setHideMode, setId, setIntStyleAttribute, setItemId, setStateful, setStateId, setStyleAttribute, setStyleName, setTitle, setToolTip, setToolTip, setVisible, setZIndex, show, sinkEvents, swallowEvent, swallowEvent, toString, unmask
 
Methods inherited from class com.google.gwt.user.client.ui.Widget
fireEvent, getParent, isAttached
 
Methods inherited from class com.google.gwt.user.client.ui.UIObject
addStyleDependentName, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getOffsetHeight, getOffsetWidth, getStyleName, getStylePrimaryName, getTitle, isVisible, removeStyleDependentName, setStylePrimaryName, setVisible, unsinkEvents
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

itemTemplate

public static Template itemTemplate
Default tab item template.

Constructor Detail

TabPanel

public TabPanel()
Creates a new tab panel.

Method Detail

add

public boolean add(TabItem item)
Adds a tab item. Fires the BeforeAdd event before inserting, then fires the Add event after the widget has been inserted.

Parameters:
item - the item to be added

findItem

public TabItem findItem(java.lang.String id,
                        boolean checkText)
Searches for an item based on its id and optionally the item's text.

Parameters:
id - the item id
checkText - true to match the items id and text
Returns:
the item

getAnimScroll

public boolean getAnimScroll()
Returns true if scrolling is animated.

Returns:
the anim scroll state

getBodyBorder

public boolean getBodyBorder()
Returns true if the body border is enabled.

Returns:
the body border state

getBorderStyle

public boolean getBorderStyle()
Returns true if the border style is enabled.

Returns:
the border style

getLayout

public CardLayout getLayout()

getLayoutTarget

public El getLayoutTarget()
Description copied from class: Container
Returns the container's layout target. Only applies to container's with layouts.

Overrides:
getLayoutTarget in class Container<TabItem>
Returns:
the layout target

getMessages

public TabPanel.TabPanelMessages getMessages()
Returns the tab panel messages.

Returns:
the messages

getMinTabWidth

public int getMinTabWidth()
Returns the minimum tab width.

Returns:
the minimum tab width

getResizeTabs

public boolean getResizeTabs()
Returns true if tab resizing is enabled.

Returns:
the tab resizing state

getScrollDuration

public int getScrollDuration()
Returns the scroll duration in milliseconds.

Returns:
the duration

getSelectedItem

public TabItem getSelectedItem()
Returns the current selection tab item.

Returns:
the selected item

getTabMargin

public int getTabMargin()
Returns the panel's tab margin.

Returns:
the margin

getTabPosition

public TabPanel.TabPosition getTabPosition()
Returns the tab position.

Returns:
the tab position

getTabScroll

public boolean getTabScroll()
Returns true if tab scrolling is enabled.

Returns:
the tab scroll state

getTabWidth

public int getTabWidth()
Returns the default tab width.

Returns:
the width

insert

public boolean insert(TabItem item,
                      int index)
Adds a tab item. Fires the BeforeAdd event before inserting, then fires the Add event after the widget has been inserted.

Parameters:
item - the item to be inserted
index - the insert position

isAutoSelect

public boolean isAutoSelect()
Returns true if auto select is enabled.

Returns:
the auto select state

isCloseContextMenu

public boolean isCloseContextMenu()
Returns true if close context menu is enabled.

Returns:
the close menu state

isDeferredRender

public boolean isDeferredRender()
Returns true if children items are rendered when first accessed.

Returns:
true to defer rendering

isPlain

public boolean isPlain()
Returns true if the tab strip will be rendered without a background.

Returns:
the plain state

onComponentEvent

public void onComponentEvent(ComponentEvent ce)
Description copied from class: Component
Any events a component receives will be forwarded to this method. Subclasses should override as needed. The Component.onBrowserEvent(com.google.gwt.user.client.Event) method should not be overridden or modified.

Overrides:
onComponentEvent in class Component
Parameters:
ce - the base event

remove

public boolean remove(TabItem item)
Removes the tab item. Fires the BeforeRemove event before removing, then fires the Remove event after the widget has been removed.

Parameters:
item - the item to be removed
Returns:
true if the item was removed

removeAll

public boolean removeAll()
Description copied from class: Container
Removes all the container's items.

Overrides:
removeAll in class Container<TabItem>
Returns:
true if all items where removed

scrollToTab

public void scrollToTab(TabItem item,
                        boolean animate)
Scrolls to a particular tab if tab scrolling is enabled.

Parameters:
item - the item to scroll to
animate - true to animate the scroll

setAnimScroll

public void setAnimScroll(boolean animScroll)
True to animate tab scrolling so that hidden tabs slide smoothly into view (defaults to true). Only applies when tabScroll = true.

Parameters:
animScroll - the anim scroll state

setAutoHeight

public void setAutoHeight(boolean autoHeight)
Description copied from class: BoxComponent
Sets the component's auto height value (defaults to false).

Overrides:
setAutoHeight in class BoxComponent
Parameters:
autoHeight - true to enable auto height

setAutoSelect

public void setAutoSelect(boolean autoSelect)
True to have the first item selected when the panel is displayed for the first time if there is not selection (defaults to true).

Parameters:
autoSelect - the auto select state

setBodyBorder

public void setBodyBorder(boolean bodyBorder)
True to display an interior border on the body element of the panel, false to hide it (defaults to true, pre-render).

Parameters:
bodyBorder - the body border style

setBorderStyle

public void setBorderStyle(boolean border)
True to display a border around the tabs (defaults to true).

Parameters:
border - true for borders

setCloseContextMenu

public void setCloseContextMenu(boolean closeMenu)
True to show the close context menu (defaults to false).

Parameters:
closeMenu - true to show it

setDeferredRender

public void setDeferredRender(boolean deferredRender)
True to render each child tab item when it accessed, false to render all (defaults to true). Setting to false would be useful when using forms as validation would need to be applied to all children even if they had not been selected.

Parameters:
deferredRender - true to defer rendering

setMessages

public void setMessages(TabPanel.TabPanelMessages messages)
Sets the tab panel messages.

Parameters:
messages - the messages

setMinTabWidth

public void setMinTabWidth(int minTabWidth)
The minimum width in pixels for each tab when resizeTabs = true (defaults to 30).

Parameters:
minTabWidth - the minimum tab width

setPlain

public void setPlain(boolean plain)
True to render the tab strip without a background container image (defaults to false, pre-render).

Parameters:
plain -

setResizeTabs

public void setResizeTabs(boolean resizeTabs)
True to automatically resize each tab so that the tabs will completely fill the tab strip (defaults to false). Setting this to true may cause specific widths that might be set per tab to be overridden in order to fit them all into view (although minTabWidth will always be honored).

Parameters:
resizeTabs - true to enable tab resizing

setScrollDuration

public void setScrollDuration(int scrollDuration)
Sets the number of milliseconds that each scroll animation should last (defaults to 150).

Parameters:
scrollDuration - the scroll duration

setScrollIncrement

public void setScrollIncrement(int scrollIncrement)
Sets the number of pixels to scroll each time a tab scroll button is pressed (defaults to 100, or if setResizeTabs(boolean) = true, the calculated tab width). Only applies when setTabScroll(boolean) = true.

Parameters:
scrollIncrement - the scroll increment

setSelection

public void setSelection(TabItem item)
Sets the selected tab item. Fires the BeforeSelect event before selecting, then fires the Select event after the widget has been selected.

Parameters:
item - the item to be selected

setTabMargin

public void setTabMargin(int tabMargin)
The number of pixels of space to calculate into the sizing and scrolling of tabs (defaults to 2).

Parameters:
tabMargin - the tab margin

setTabPosition

public void setTabPosition(TabPanel.TabPosition tabPosition)
Sets the position where the tab strip should be rendered (defaults to TOP, pre-render). The only other supported value is BOTTOM. Note that tab scrolling is only supported for position TOP.

Parameters:
tabPosition - the tab position

setTabScroll

public void setTabScroll(boolean tabScroll)
True to enable scrolling to tabs that may be invisible due to overflowing the overall TabPanel width. Only available with tabs on top. (defaults to false).

Parameters:
tabScroll - true to enable tab scrolling

setTabWidth

public void setTabWidth(int tabWidth)
Sets the initial width in pixels of each new tab (defaults to 120).

Parameters:
tabWidth -