Overview | Package | Class | Tree | Deprecated | Index | Help
| GWT 2.0.3
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.google.gwt.user.client.ui
Class TabLayoutPanel

    java.lang.Object
      com.google.gwt.user.client.ui.UIObject
          com.google.gwt.user.client.ui.Widget
              com.google.gwt.user.client.ui.Composite
                  com.google.gwt.user.client.ui.ResizeComposite
                      com.google.gwt.user.client.ui.TabLayoutPanel

All Implemented Interfaces:
  HasBeforeSelectionHandlers<java.lang.Integer>, HasSelectionHandlers<java.lang.Integer>, HasHandlers, EventListener, HasWidgets, IndexedPanel, ProvidesResize, RequiresResize, java.lang.Iterable<Widget>

    public class TabLayoutPanel

extends ResizeComposite
implements HasWidgets, ProvidesResize, IndexedPanel, HasBeforeSelectionHandlers<java.lang.Integer>, HasSelectionHandlers<java.lang.Integer>

A panel that represents a tabbed set of pages, each of which contains another widget. Its child widgets are shown as the user selects the various tabs associated with them. The tabs can contain arbitrary text, HTML, or widgets.

This widget will only work in standards mode, which requires that the HTML page in which it is run have an explicit <!DOCTYPE> declaration.

### CSS Style Rules

.gwt-TabLayoutPanel
  the panel itself
.gwt-TabLayoutPanel .gwt-TabLayoutPanelTabs
  the tab bar element
.gwt-TabLayoutPanel .gwt-TabLayoutPanelTab
  an individual tab
.gwt-TabLayoutPanel .gwt-TabLayoutPanelTabInner
  an element nested in each tab (useful for styling)
.gwt-TabLayoutPanel .gwt-TabLayoutPanelContent
  applied to all child content widgets

### Example

>     public class TabLayoutPanelExample implements EntryPoint {

>       public void onModuleLoad() {
>         // Create a three-item tab panel, with the tab area 1.5em tall.
>         TabLayoutPanel p = new TabLayoutPanel(1.5, Unit.EM);
>         p.add(new HTML("this"), "[this]");
>         p.add(new HTML("that"), "[that]");
>         p.add(new HTML("the other"), "[the other]");

>         // Attach the LayoutPanel to the RootLayoutPanel. The latter will listen for
>         // resize events on the window to ensure that its children are informed of
>         // possible size changes.
>         RootLayoutPanel rp = RootLayoutPanel.get();
>         rp.add(p);
>       }
>     }

### Use in UiBinder Templates

A TabLayoutPanel element in a `UiBinder` template must have a `barHeight` attribute with a double value, and may have a `barUnit` attribute with a `Style.Unit` value. `barUnit` defaults to PX.

The children of a TabLayoutPanel element are laid out in <g:tab> elements. Each tab can have one widget child and one of two types of header elements. A <g:header> element can hold html, or a <g:customHeader> element can hold a widget. (Note that the tags of the header elements are not capitalized. This is meant to signal that the head is not a runtime object, and so cannot have a `ui:field` attribute.)

For example:

     <g:TabLayoutPanel barUnit='PX' barHeight='3'>
      <g:tab>
        <g:header size='7'><b>HTML</b> header</g:header>
        <g:Label>able</g:Label>
      </g:tab>
      <g:tab>
        <g:customHeader size='7'>
          <g:Label>Custom header</g:Label>
        </g:customHeader>
        <g:Label>baker</g:Label>
      </g:tab>
     </g:TabLayoutPanel>

Nested Class Summary

Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject
`UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled`

Field Summary

Fields inherited from class com.google.gwt.user.client.ui.UIObject
`DEBUG_ID_PREFIX`

Constructor Summary
`TabLayoutPanel(double barHeight, Style.Unit barUnit)` Creates an empty tab panel.

Method Summary
`void` | `add(Widget w)` Adds a child widget.
`void` | `add(Widget child, java.lang.String text)` Adds a widget to the panel.
`void` | `add(Widget child, java.lang.String text, boolean asHtml)` Adds a widget to the panel.
`void` | `add(Widget child, Widget tab)` Adds a widget to the panel.
`HandlerRegistration` | `addBeforeSelectionHandler(BeforeSelectionHandler<java.lang.Integer> handler)` Adds a `BeforeSelectionEvent` handler.
`HandlerRegistration` | `addSelectionHandler(SelectionHandler<java.lang.Integer> handler)` Adds a `SelectionEvent` handler.
`void` | `clear()` Removes all child widgets.
`int` | `getSelectedIndex()` Gets the index of the currently-selected tab.
`Widget` | `getTabWidget(int index)` Gets the widget in the tab at the given index.
`Widget` | `getTabWidget(Widget child)` Gets the widget in the tab associated with the given child widget.
`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(Widget child)` Gets the index of the specified child widget.
`void` | `insert(Widget child, int beforeIndex)` Inserts a widget into the panel.
`void` | `insert(Widget child, java.lang.String text, boolean asHtml, int beforeIndex)` Inserts a widget into the panel.
`void` | `insert(Widget child, java.lang.String text, int beforeIndex)` Inserts a widget into the panel.
`void` | `insert(Widget child, Widget tab, int beforeIndex)` Inserts a widget into the panel.
`java.util.Iterator<Widget>` | `iterator()` Gets an iterator for the contained widgets.
`boolean` | `remove(int index)` Removes the widget at the specified index.
`boolean` | `remove(Widget w)` Removes a child widget.
`void` | `selectTab(int index)` Programmatically selects the specified tab.
`void` | `selectTab(Widget child)` Programmatically selects the specified tab.
`void` | `setTabHTML(int index, java.lang.String html)` Sets a tab's HTML contents.
`void` | `setTabText(int index, java.lang.String text)` Sets a tab's text contents.

Methods inherited from class com.google.gwt.user.client.ui.ResizeComposite
`initWidget, onResize`

Methods inherited from class com.google.gwt.user.client.ui.Composite
`getWidget, isAttached, onAttach, onBrowserEvent, onDetach, setWidget`

Methods inherited from class com.google.gwt.user.client.ui.Widget
`addDomHandler, addHandler, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getHandlerCount, getLayoutData, getParent, isOrWasAttached, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents`

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, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, toString, unsinkEvents`

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`

Constructor Detail

### TabLayoutPanel

    public TabLayoutPanel(double barHeight,
                          Style.Unit barUnit)

  Creates an empty tab panel.

  Parameters:
    `barHeight` - the size of the tab bar
    `barUnit` - the unit in which the tab bar size is specified

Method Detail

### add

    public void add(Widget w)

  Description copied from interface: `HasWidgets`
  Adds a child widget.

  Specified by:
    `add` in interface `HasWidgets`
  Parameters:
    `w` - the widget to be added

### add

    public void add(Widget child,
                    java.lang.String text)

  Adds a widget to the panel. If the Widget is already attached, it will be moved to the right-most index.

  Parameters:
    `child` - the widget to be added
    `text` - the text to be shown on its tab

### add

    public void add(Widget child,
                    java.lang.String text,
                    boolean asHtml)

  Adds a widget to the panel. If the Widget is already attached, it will be moved to the right-most index.

  Parameters:
    `child` - the widget to be added
    `text` - the text to be shown on its tab
    `asHtml` - `true` to treat the specified text as HTML

### add

    public void add(Widget child,
                    Widget tab)

  Adds a widget to the panel. If the Widget is already attached, it will be moved to the right-most index.

  Parameters:
    `child` - the widget to be added
    `tab` - the widget to be placed in the associated tab

### addBeforeSelectionHandler

    public HandlerRegistration addBeforeSelectionHandler(BeforeSelectionHandler<java.lang.Integer> handler)

  Description copied from interface: `HasBeforeSelectionHandlers`
  Adds a `BeforeSelectionEvent` handler.

  Specified by:
    `addBeforeSelectionHandler` in interface `HasBeforeSelectionHandlers<java.lang.Integer>`
  Parameters:
    `handler` - the handler
  Returns:
    the registration for the event

### addSelectionHandler

    public HandlerRegistration addSelectionHandler(SelectionHandler<java.lang.Integer> handler)

  Description copied from interface: `HasSelectionHandlers`
  Adds a `SelectionEvent` handler.

  Specified by:
    `addSelectionHandler` in interface `HasSelectionHandlers<java.lang.Integer>`
  Parameters:
    `handler` - the handler
  Returns:
    the registration for the event

### clear

    public void clear()

  Description copied from interface: `HasWidgets`
  Removes all child widgets.

  Specified by:
    `clear` in interface `HasWidgets`

### getSelectedIndex

    public int getSelectedIndex()

  Gets the index of the currently-selected tab.

  Returns:
    the selected index, or `-1` if none is selected.

### getTabWidget

    public Widget getTabWidget(int index)

  Gets the widget in the tab at the given index.

  Parameters:
    `index` - the index of the tab to be retrieved
  Returns:
    the tab's widget

### getTabWidget

    public Widget getTabWidget(Widget child)

  Gets the widget in the tab associated with the given child widget.

  Parameters:
    `child` - the child whose tab is to be retrieved
  Returns:
    the tab's widget

### getWidget

    public Widget getWidget(int index)

  Description copied from interface: `IndexedPanel`
  Gets the child widget at the specified index.

  Specified by:
    `getWidget` in interface `IndexedPanel`
  Parameters:
    `index` - the child widget's index
  Returns:
    the child widget

### getWidgetCount

    public int getWidgetCount()

  Description copied from interface: `IndexedPanel`
  Gets the number of child widgets in this panel.

  Specified by:
    `getWidgetCount` in interface `IndexedPanel`
  Returns:
    the number of children

### getWidgetIndex

    public int getWidgetIndex(Widget child)

  Description copied from interface: `IndexedPanel`
  Gets the index of the specified child widget.

  Specified by:
    `getWidgetIndex` in interface `IndexedPanel`
  Parameters:
    `child` - the widget to be found
  Returns:
    the widget's index, or `-1` if it is not a child of this panel

### insert

    public void insert(Widget child,
                       int beforeIndex)

  Inserts a widget into the panel. If the Widget is already attached, it will be moved to the requested index.

  Parameters:
    `child` - the widget to be added
    `beforeIndex` - the index before which it will be inserted

### insert

    public void insert(Widget child,
                       java.lang.String text,
                       boolean asHtml,
                       int beforeIndex)

  Inserts a widget into the panel. If the Widget is already attached, it will be moved to the requested index.

  Parameters:
    `child` - the widget to be added
    `text` - the text to be shown on its tab
    `asHtml` - `true` to treat the specified text as HTML
    `beforeIndex` - the index before which it will be inserted

### insert

    public void insert(Widget child,
                       java.lang.String text,
                       int beforeIndex)

  Inserts a widget into the panel. If the Widget is already attached, it will be moved to the requested index.

  Parameters:
    `child` - the widget to be added
    `text` - the text to be shown on its tab
    `beforeIndex` - the index before which it will be inserted

### insert

    public void insert(Widget child,
                       Widget tab,
                       int beforeIndex)

  Inserts a widget into the panel. If the Widget is already attached, it will be moved to the requested index.

  Parameters:
    `child` - the widget to be added
    `tab` - the widget to be placed in the associated tab
    `beforeIndex` - the index before which it will be inserted

### 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>`

### remove

    public boolean remove(int index)

  Description copied from interface: `IndexedPanel`
  Removes the widget at the specified index.

  Specified by:
    `remove` in interface `IndexedPanel`
  Parameters:
    `index` - the index of the widget to be removed
  Returns:
    `false` if the widget is not present

### remove

    public boolean remove(Widget w)

  Description copied from interface: `HasWidgets`
  Removes a child widget.

  Specified by:
    `remove` in interface `HasWidgets`
  Parameters:
    `w` - the widget to be removed
  Returns:
    `true` if the widget was present

### selectTab

    public void selectTab(int index)

  Programmatically selects the specified tab.

  Parameters:
    `index` - the index of the tab to be selected

### selectTab

    public void selectTab(Widget child)

  Programmatically selects the specified tab.

  Parameters:
    `child` - the child whose tab is to be selected

### setTabHTML

    public void setTabHTML(int index,
                           java.lang.String html)

  Sets a tab's HTML contents. Use care when setting an object's HTML; it is an easy way to expose script-based security problems. Consider using `setTabText(int, String)` whenever possible.

  Parameters:
    `index` - the index of the tab whose HTML is to be set
    `html` - the tab's new HTML contents

### setTabText

    public void setTabText(int index,
                           java.lang.String text)

  Sets a tab's text contents.

  Parameters:
    `index` - the index of the tab whose text is to be set
    `text` - the object's new text

Overview | Package | Class | Tree | Deprecated | Index | Help
| GWT 2.0.3
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD