|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.zkoss.zk.ui.AbstractComponent
org.zkoss.zk.ui.HtmlBasedComponent
org.zkoss.zul.impl.XulElement
org.zkoss.zul.Tabbox
public class Tabbox
A tabbox.
Event:
Mold:
Toolbar only works in the horizontal default mold and
the isTabscroll() to be true. (since 3.6.3)
Default getZclass(): z-tabbox. (since 3.5.0)
Besides creating Tab and Tabpanel programmatically, you could
assign a data model (a ListModel to a Tabbox via setModel(ListModel)
and then the tabbox will retrieve data via ListModel.getElementAt(int) when
necessary. (since 7.0.0) [ZK EE]
Besides assign a list model, you could assign a renderer (a
TabboxRenderer instance) to a Tabbox, such that the Tabbox will
use this renderer to render the data returned by
ListModel.getElementAt(int). If not assigned, the default renderer, which
assumes a label per Tab and Tabpanel, is used. In other words, the default renderer
adds a label to a Tab and Tabpanel by calling toString against the object returned by
ListModel.getElementAt(int) (since 7.0.0) [ZK EE]
To retrieve what are selected in Tabbox with a Selectable
ListModel, you shall use Selectable.getSelection() to get what
is currently selected object in ListModel rather than using
getSelectedTab(). That is, you shall operate on the data of
the ListModel rather than on the Tab of the Tabbox
if you use the Selectable ListModel. (since 7.0.0) [ZK EE]
Set selection = ((Selectable)getModel()).getSelection();
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.zkoss.zk.ui.HtmlBasedComponent |
|---|
HtmlBasedComponent.ExtraCtrl |
| Nested classes/interfaces inherited from class org.zkoss.zk.ui.AbstractComponent |
|---|
AbstractComponent.Children |
| Field Summary |
|---|
| Fields inherited from class org.zkoss.zk.ui.HtmlBasedComponent |
|---|
_zclass |
| Fields inherited from interface org.zkoss.zk.ui.Component |
|---|
APPLICATION_SCOPE, COMPONENT_SCOPE, DESKTOP_SCOPE, PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, SPACE_SCOPE |
| Fields inherited from interface org.zkoss.zk.ui.sys.ComponentCtrl |
|---|
CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE |
| Constructor Summary | |
|---|---|
Tabbox()
|
|
| Method Summary | ||
|---|---|---|
void |
beforeChildAdded(Component child,
Component refChild)
Default: does nothing. |
|
protected void |
clearSelectedTab()
|
|
java.lang.Object |
clone()
Clones the component. |
|
TabboxEngine |
getEngine()
Returns the implementation tabbox engine. |
|
|
getModel()
Returns the model associated with this selectbox, or null if this selectbox is not associated with any list data model. |
|
java.lang.String |
getOrient()
Returns the orient. |
|
java.lang.String |
getPanelSpacing()
Returns the spacing between Tabpanel. |
|
Selectable<java.lang.Object> |
getSelectableModel()
|
|
int |
getSelectedIndex()
Returns the selected index. |
|
Tabpanel |
getSelectedPanel()
Returns the selected tab panel. |
|
Tab |
getSelectedTab()
Returns the selected tab. |
|
|
getTabboxRenderer()
Returns the renderer to render each tab and tabpanel, or null if the default renderer is used. |
|
Tabpanels |
getTabpanels()
Returns the tabpanels that this tabbox owns. |
|
Tabs |
getTabs()
Returns the tabs that this tabbox owns. |
|
Toolbar |
getToolbar()
Returns the auxiliary toolbar that this tabbox owns. |
|
java.lang.String |
getZclass()
Returns the ZK Cascading Style class(es) for this component. |
|
boolean |
insertBefore(Component child,
Component refChild)
Inserts a child before the reference child. |
|
boolean |
isBottom()
Returns whether it is the bottom orientation. |
|
boolean |
isHorizontal()
Returns whether it is a horizontal tabbox. |
|
boolean |
isLeft()
Returns whether it is the left orientation. |
|
boolean |
isMaximalHeight()
Returns whether to use maximum height of all tabpanel in initial phase. |
|
boolean |
isRight()
Returns whether it is the right orientation. |
|
boolean |
isTabscroll()
Returns whether the tab scrolling is enabled. |
|
boolean |
isTop()
Returns whether it is the top orientation. |
|
boolean |
isVertical()
Returns whether it is a vertical tabbox. |
|
protected TabboxEngine |
newTabboxEngine()
Instantiates the default tabbox engine. |
|
void |
onChildRemoved(Component child)
Default: does nothing. |
|
void |
onInitRender()
|
|
void |
postOnInitRender()
Component internal use only. |
|
protected void |
renderProperties(ContentRenderer renderer)
Renders the content of this component, excluding the enclosing tags and children. |
|
void |
setEngine(TabboxEngine engine)
Sets the tabbox engine for ListModel |
|
void |
setMaximalHeight(boolean maximalHeight)
Sets whether to use maximum height of all tabpanel in initial phase. |
|
void |
setModel(ListModel<?> model)
Sets the list model associated with this t. |
|
void |
setMold(java.lang.String mold)
Sets the mold. |
|
void |
setOrient(java.lang.String orient)
Sets the orient. |
|
void |
setPanelSpacing(java.lang.String panelSpacing)
Sets the spacing between Tabpanel. |
|
void |
setSelectedIndex(int j)
Sets the selected index. |
|
void |
setSelectedPanel(Tabpanel panel)
Sets the selected tab panel. |
|
void |
setSelectedTab(Tab tab)
Sets the selected tab. |
|
void |
setTabboxRenderer(java.lang.String clsnm)
Sets the renderer by use of a class name. |
|
void |
setTabboxRenderer(TabboxRenderer<?> renderer)
Sets the renderer which is used to render each tab and tabpanel if getModel()
is not null. |
|
void |
setTabscroll(boolean tabscroll)
Sets whether to enable the tab scrolling. |
|
| Methods inherited from class org.zkoss.zul.impl.XulElement |
|---|
getContext, getCtrlKeys, getPopup, getTooltip, setContext, setContext, setCtrlKeys, setPopup, setPopup, setTooltip, setTooltip |
| Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent |
|---|
focus, getAction, getDraggable, getDroppable, getExtraCtrl, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTooltiptext, getTop, getVflex, getWidth, getZindex, getZIndex, service, setAction, setClass, setDraggable, setDroppable, setFocus, setHeight, setHeightDirectly, setHflex, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setStyle, setTooltiptext, setTop, setTopDirectly, setVflex, setWidth, setWidthDirectly, setZclass, setZindex, setZIndex, setZIndexDirectly |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public Tabbox()
| Method Detail |
|---|
public TabboxEngine getEngine()
throws UiException
UiException - if failed to load the engine.public void setEngine(TabboxEngine engine)
ListModel
protected TabboxEngine newTabboxEngine()
throws UiException
setEngine(org.zkoss.zul.impl.TabboxEngine) is not called with non-null
engine.
By default, it looks up the library property called
org.zkoss.zul.tabbox.engine.class.
If found, the value is assumed to be
the class name of the tabbox engine (it must implement
TabboxEngine).
If not found, UiException is thrown.
Derived class might override this method to provide your own default class.
UiException - if failed to instantiate the enginepublic Selectable<java.lang.Object> getSelectableModel()
public void setModel(ListModel<?> model)
model - the list model to associate, or null to dissociate any
previous model.
UiException - if failed to initialize with the modelpublic <T> TabboxRenderer<T> getTabboxRenderer()
public void setTabboxRenderer(TabboxRenderer<?> renderer)
getModel()
is not null. [ZK EE]
Note: changing a render will not cause the tabbox to re-render. If you
want it to re-render, you could assign the same model again (i.e.,
setModel(null) and than setModel(oldModel)), or fire an ListDataEvent event.
renderer - the renderer, or null to use the default.
UiException - if failed to initialize with the model
public void setTabboxRenderer(java.lang.String clsnm)
throws java.lang.ClassNotFoundException,
java.lang.NoSuchMethodException,
java.lang.IllegalAccessException,
java.lang.InstantiationException,
java.lang.reflect.InvocationTargetException
java.lang.ClassNotFoundException
java.lang.NoSuchMethodException
java.lang.IllegalAccessException
java.lang.InstantiationException
java.lang.reflect.InvocationTargetExceptionsetTabboxRenderer(TabboxRenderer)public void onInitRender()
public void postOnInitRender()
public <T> ListModel<T> getModel()
public Tabs getTabs()
public Toolbar getToolbar()
public Tabpanels getTabpanels()
public boolean isTabscroll()
public void setTabscroll(boolean tabscroll)
public boolean isMaximalHeight()
Default: false.
public void setMaximalHeight(boolean maximalHeight)
The Client ROD feature will be disabled if it is set to true.
public java.lang.String getPanelSpacing()
Tabpanel. This is used by certain
molds, such as accordion.
Default: null (no spacing).
public void setPanelSpacing(java.lang.String panelSpacing)
Tabpanel. This is used by certain molds,
such as accordion.
public int getSelectedIndex()
public void setSelectedIndex(int j)
public Tabpanel getSelectedPanel()
public void setSelectedPanel(Tabpanel panel)
public Tab getSelectedTab()
public void setSelectedTab(Tab tab)
public java.lang.String getOrient()
Default: "top".
Note: only the default mold supports it (not supported if accordion).
public void setMold(java.lang.String mold)
setMold in interface ComponentsetMold in class AbstractComponentmold - default , accordion and accordion-liteComponentDefinition
public void setOrient(java.lang.String orient)
throws WrongValueException
orient - either "top", "left", "bottom or "right".
WrongValueExceptionpublic boolean isHorizontal()
public boolean isTop()
public boolean isBottom()
public boolean isVertical()
public boolean isLeft()
public boolean isRight()
public java.lang.String getZclass()
HtmlBasedComponentAbstractComponent.getMold()).
Default: null (the default value depends on element).
HtmlBasedComponent.setZclass(java.lang.String)) will completely replace the default style
of a component. In other words, the default style of a component
is associated with the default value of HtmlBasedComponent.getZclass().
Once it is changed, the default style won't be applied at all.
If you want to perform small adjustments, use HtmlBasedComponent.setSclass(java.lang.String)
instead.
getZclass in class HtmlBasedComponentHtmlBasedComponent.getSclass()
public void beforeChildAdded(Component child,
Component refChild)
AbstractComponent
beforeChildAdded in interface ComponentCtrlbeforeChildAdded in class AbstractComponentchild - the child to be added (never null).refChild - another child component that the new child
will be inserted before it. If null, the new child will be the
last child.ComponentCtrl.beforeChildAdded(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component)
public boolean insertBefore(Component child,
Component refChild)
ComponentYou could use Component.setParent(org.zkoss.zk.ui.Component) or Component.appendChild(org.zkoss.zk.ui.Component)
instead of this method, unless
you want to control where to put the child.
Note: Component.setParent(org.zkoss.zk.ui.Component) always calls back Component.insertBefore(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component)
and/or Component.removeChild(org.zkoss.zk.ui.Component),
while Component.insertBefore(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component) and Component.removeChild(org.zkoss.zk.ui.Component)
always calls back Component.setParent(org.zkoss.zk.ui.Component),
if the parent is changed. Thus, you don't need to override
both Component.insertBefore(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component) and Component.setParent(org.zkoss.zk.ui.Component), if you want
to customize the behavior.
If you would like to monitor if a component is attached or detached
from a page, you could register a desktop listener implementing
UiLifeCycle.
insertBefore in interface ComponentinsertBefore in class AbstractComponentchild - the new child to be inserted.refChild - the child before which you want the new child
being inserted. If null, the new child is append to the end.
public void onChildRemoved(Component child)
AbstractComponent
onChildRemoved in interface ComponentCtrlonChildRemoved in class AbstractComponentComponentCtrl.onChildRemoved(org.zkoss.zk.ui.Component)protected void clearSelectedTab()
public java.lang.Object clone()
Component
clone in interface Componentclone in class XulElement
protected void renderProperties(ContentRenderer renderer)
throws java.io.IOException
HtmlBasedComponentSee also ZK Client-side Reference: Property Rendering
renderProperties in class XulElementjava.io.IOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||