Class Tabbox
- java.lang.Object
-
- org.zkoss.zk.ui.AbstractComponent
-
- org.zkoss.zk.ui.HtmlBasedComponent
-
- org.zkoss.zul.impl.XulElement
-
- org.zkoss.zul.Tabbox
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,org.zkoss.zk.ui.Component,org.zkoss.zk.ui.ext.Scope,org.zkoss.zk.ui.sys.ComponentCtrl
public class Tabbox extends XulElement
A tabbox.Event:
- org.zkoss.zk.ui.event.SelectEvent is sent when user changes the tab.
Mold:
- default
- The default tabbox.
- accordion
- The accordion tabbox.
Toolbaronly works in the horizontal default mold and theisTabscroll()to be true. (since 3.6.3)Default
getZclass(): z-tabbox. (since 3.5.0)Besides creating
TabandTabpanelprogrammatically, you could assign a data model (aListModelto a Tabbox viasetModel(ListModel)and then the tabbox will retrieve data viaListModel.getElementAt(int)when necessary. (since 7.0.0) [ZK EE]Besides assign a list model, you could assign a renderer (a
TabboxRendererinstance) to a Tabbox, such that the Tabbox will use this renderer to render the data returned byListModel.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 byListModel.getElementAt(int)(since 7.0.0) [ZK EE]To retrieve what are selected in Tabbox with a
SelectableListModel, you shall useSelectable.getSelection()to get what is currently selected object inListModelrather than usinggetSelectedTab(). That is, you shall operate on the data of theListModelrather than on theTabof theTabboxif you use theSelectableListModel. (since 7.0.0) [ZK EE]Set selection = ((Selectable)getModel()).getSelection();- Author:
- tomyeh
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description Tabbox()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbeforeChildAdded(org.zkoss.zk.ui.Component child, org.zkoss.zk.ui.Component refChild)protected voidclearSelectedTab()java.lang.Objectclone()TabboxEnginegetEngine()Returns the implementation tabbox engine.<T> ListModel<T>getModel()Returns the model associated with this selectbox, or null if this selectbox is not associated with any list data model.java.lang.StringgetOrient()Returns the orient.java.lang.StringgetPanelSpacing()Returns the spacing betweenTabpanel.Selectable<java.lang.Object>getSelectableModel()intgetSelectedIndex()Returns the selected index.TabpanelgetSelectedPanel()Returns the selected tab panel.TabgetSelectedTab()Returns the selected tab.<T> TabboxRenderer<T>getTabboxRenderer()Returns the renderer to render each tab and tabpanel, or null if the default renderer is used.TabpanelsgetTabpanels()Returns the tabpanels that this tabbox owns.TabsgetTabs()Returns the tabs that this tabbox owns.ToolbargetToolbar()Returns the auxiliary toolbar that this tabbox owns.java.lang.StringgetZclass()booleaninsertBefore(org.zkoss.zk.ui.Component child, org.zkoss.zk.ui.Component refChild)booleanisBottom()Returns whether it is the bottom orientation.booleanisHorizontal()Returns whether it is a horizontal tabbox.booleanisLeft()Returns whether it is the left orientation.booleanisMaximalHeight()Returns whether to use maximum height of all tabpanel in initial phase.booleanisRight()Returns whether it is the right orientation.booleanisTabscroll()Returns whether the tab scrolling is enabled.booleanisTop()Returns whether it is the top orientation.booleanisVertical()Returns whether it is a vertical tabbox.protected TabboxEnginenewTabboxEngine()Instantiates the default tabbox engine.voidonChildRemoved(org.zkoss.zk.ui.Component child)voidonInitRender()voidonPageAttached(org.zkoss.zk.ui.Page newpage, org.zkoss.zk.ui.Page oldpage)voidonPageDetached(org.zkoss.zk.ui.Page page)voidpostOnInitRender()Component internal use only.protected voidrenderProperties(org.zkoss.zk.ui.sys.ContentRenderer renderer)voidsetEngine(TabboxEngine engine)Sets the tabbox engine forListModelvoidsetMaximalHeight(boolean maximalHeight)Sets whether to use maximum height of all tabpanel in initial phase.voidsetModel(ListModel<?> model)Sets the list model associated with this t.voidsetMold(java.lang.String mold)Sets the mold.voidsetOrient(java.lang.String orient)Sets the orient.voidsetPanelSpacing(java.lang.String panelSpacing)Sets the spacing betweenTabpanel.voidsetSelectedIndex(int j)Sets the selected index.voidsetSelectedPanel(Tabpanel panel)Sets the selected tab panel.voidsetSelectedTab(Tab tab)Sets the selected tab.voidsetTabboxRenderer(java.lang.String clsnm)Sets the renderer by use of a class name.voidsetTabboxRenderer(TabboxRenderer<?> renderer)Sets the renderer which is used to render each tab and tabpanel ifgetModel()is not null.voidsetTabscroll(boolean tabscroll)Sets whether to enable the tab scrolling.-
Methods inherited from class org.zkoss.zul.impl.XulElement
getContext, getCtrlKeys, getPopup, getPropertyAccess, getTooltip, setContext, setContext, setContextAttributes, setCtrlKeys, setPopup, setPopup, setPopupAttributes, setTooltip, setTooltip, setTooltipAttributes
-
Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent
addSclass, evalCSSFlex, focus, getAction, getClientAction, getDraggable, getDroppable, getExtraCtrl, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTabindex, getTabindexInteger, getTooltiptext, getTop, getVflex, getWidth, getZindex, getZIndex, removeSclass, removeSclass, service, setAction, setClass, setClientAction, setDraggable, setDroppable, setFocus, setHeight, setHeight0, setHeightDirectly, setHflex, setHflex0, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setStyle, setTabindex, setTabindex, setTooltiptext, setTop, setTopDirectly, setVflex, setVflex0, setVflexDirectly, setWidth, setWidth0, setWidthDirectly, setZclass, setZindex, setZIndex, setZIndexDirectly
-
Methods inherited from class org.zkoss.zk.ui.AbstractComponent
addAnnotation, addCallback, addClientEvent, addEventHandler, addEventListener, addEventListener, addForward, addForward, addForward, addForward, addMoved, addRedrawCallback, addScopeListener, addShadowRoot, addShadowRootBefore, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildRemoved, beforeParentChanged, destroyIndexCacheMap, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableBindingAnnotation, disableClientUpdate, disableHostChanged, enableBindingAnnotation, enableHostChanged, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getAutag, getCallback, getChildren, getClientAttribute, getClientDataAttribute, getClientEvents, getDefaultMold, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getEventListenerMap, getEventListeners, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getForwards, getId, getIndexCacheMap, getLastChild, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getRedrawCallback, getRoot, getShadowFellowIfAny, getShadowRoots, getShadowVariable, getShadowVariable, getShadowVariable0, getSpaceOwner, getSpecialRendererOutput, getStubonly, getSubBindingAnnotationCount, getTemplate, getTemplateNames, getUuid, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasBindingAnnotation, hasFellow, hasFellow, hasSubBindingAnnotation, initIndexCacheMap, invalidate, isChildable, isDisabledHostChanged, isInitialized, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onParentChanged, onWrongValue, query, queryAll, redraw, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeCallback, removeChild, removeEventListener, removeForward, removeForward, removeRedrawCallback, removeScopeListener, removeShadowRoot, render, render, render, renderPropertiesOnly, replace, response, response, response, service, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setAttribute, setAuService, setAutag, setClientAttribute, setClientDataAttribute, setDefinition, setDefinition, setId, setPage, setPageBefore, setParent, setStubonly, setStubonly, setSubBindingAnnotationCount, setTemplate, setVisible, setVisibleDirectly, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize
-
-
-
-
Method Detail
-
getEngine
public TabboxEngine getEngine() throws org.zkoss.zk.ui.UiException
Returns the implementation tabbox engine.- Throws:
org.zkoss.zk.ui.UiException- if failed to load the engine.- Since:
- 7.0.0
-
setEngine
public void setEngine(TabboxEngine engine)
Sets the tabbox engine forListModel- Since:
- 7.0.0
-
newTabboxEngine
protected TabboxEngine newTabboxEngine() throws org.zkoss.zk.ui.UiException
Instantiates the default tabbox engine. It is called, ifsetEngine(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,UiExceptionis thrown.Derived class might override this method to provide your own default class.
- Throws:
org.zkoss.zk.ui.UiException- if failed to instantiate the engine- Since:
- 7.0.0
-
getSelectableModel
public Selectable<java.lang.Object> getSelectableModel()
-
setModel
public void setModel(ListModel<?> model)
Sets the list model associated with this t. If a non-null model is assigned, no matter whether it is the same as the previous, it will always cause re-render. [ZK EE]- Parameters:
model- the list model to associate, or null to dissociate any previous model.- Throws:
org.zkoss.zk.ui.UiException- if failed to initialize with the model- Since:
- 7.0.0
-
getTabboxRenderer
public <T> TabboxRenderer<T> getTabboxRenderer()
Returns the renderer to render each tab and tabpanel, or null if the default renderer is used.- Since:
- 7.0.0
-
setTabboxRenderer
public void setTabboxRenderer(TabboxRenderer<?> renderer)
Sets the renderer which is used to render each tab and tabpanel ifgetModel()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
ListDataEventevent.- Parameters:
renderer- the renderer, or null to use the default.- Throws:
org.zkoss.zk.ui.UiException- if failed to initialize with the model- Since:
- 7.0.0
-
setTabboxRenderer
public void setTabboxRenderer(java.lang.String clsnm) throws java.lang.ClassNotFoundException, java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.InstantiationException, java.lang.reflect.InvocationTargetExceptionSets the renderer by use of a class name. It creates an instance automatically. [ZK EE]- Throws:
java.lang.ClassNotFoundExceptionjava.lang.NoSuchMethodExceptionjava.lang.IllegalAccessExceptionjava.lang.InstantiationExceptionjava.lang.reflect.InvocationTargetException- Since:
- 7.0.0
- See Also:
setTabboxRenderer(TabboxRenderer)
-
onInitRender
public void onInitRender()
-
postOnInitRender
public void postOnInitRender()
Component internal use only.- Since:
- 7.0.0
-
getModel
public <T> ListModel<T> getModel()
Returns the model associated with this selectbox, or null if this selectbox is not associated with any list data model.
-
getTabs
public Tabs getTabs()
Returns the tabs that this tabbox owns.
-
getToolbar
public Toolbar getToolbar()
Returns the auxiliary toolbar that this tabbox owns.- Since:
- 3.6.3
-
getTabpanels
public Tabpanels getTabpanels()
Returns the tabpanels that this tabbox owns.
-
isTabscroll
public boolean isTabscroll()
Returns whether the tab scrolling is enabled. Default: true.- Since:
- 3.5.0
-
setTabscroll
public void setTabscroll(boolean tabscroll)
Sets whether to enable the tab scrolling. When enabled, if tab list is wider than tab bar, left, right arrow will appear.- Since:
- 3.5.0
-
isMaximalHeight
public boolean isMaximalHeight()
Returns whether to use maximum height of all tabpanel in initial phase.Default: false.
- Since:
- 7.0.0
-
setMaximalHeight
public void setMaximalHeight(boolean maximalHeight)
Sets whether to use maximum height of all tabpanel in initial phase.The Client ROD feature will be disabled if it is set to true.
- Since:
- 7.0.0
-
getPanelSpacing
public java.lang.String getPanelSpacing()
Returns the spacing betweenTabpanel. This is used by certain molds, such as accordion.Default: null (no spacing).
-
setPanelSpacing
public void setPanelSpacing(java.lang.String panelSpacing)
Sets the spacing betweenTabpanel. This is used by certain molds, such as accordion.
-
getSelectedIndex
public int getSelectedIndex()
Returns the selected index.
-
setSelectedIndex
public void setSelectedIndex(int j)
Sets the selected index.
-
getSelectedPanel
public Tabpanel getSelectedPanel()
Returns the selected tab panel.
-
setSelectedPanel
public void setSelectedPanel(Tabpanel panel)
Sets the selected tab panel.
-
getSelectedTab
public Tab getSelectedTab()
Returns the selected tab.
-
setSelectedTab
public void setSelectedTab(Tab tab)
Sets the selected tab.
-
getOrient
public java.lang.String getOrient()
Returns the orient.Default: "top".
Note: only the default mold supports it (not supported if accordion).
-
setMold
public void setMold(java.lang.String mold)
Sets the mold.- Specified by:
setMoldin interfaceorg.zkoss.zk.ui.Component- Overrides:
setMoldin classorg.zkoss.zk.ui.AbstractComponent- Parameters:
mold- default , accordion and accordion-lite
-
setOrient
public void setOrient(java.lang.String orient) throws org.zkoss.zk.ui.WrongValueExceptionSets the orient.- Parameters:
orient- either "top", "left", "bottom or "right".- Throws:
org.zkoss.zk.ui.WrongValueException- Since:
- 7.0.0 "horizontal" is renamed to "top" and "vertical" is renamed to "left".
-
isHorizontal
public boolean isHorizontal()
Returns whether it is a horizontal tabbox.- Since:
- 3.0.3
-
isTop
public boolean isTop()
Returns whether it is the top orientation.- Since:
- 7.0.0
-
isBottom
public boolean isBottom()
Returns whether it is the bottom orientation.- Since:
- 7.0.0
-
isVertical
public boolean isVertical()
Returns whether it is a vertical tabbox.- Since:
- 3.0.3
-
isLeft
public boolean isLeft()
Returns whether it is the left orientation.- Since:
- 7.0.0
-
isRight
public boolean isRight()
Returns whether it is the right orientation.- Since:
- 7.0.0
-
getZclass
public java.lang.String getZclass()
- Overrides:
getZclassin classorg.zkoss.zk.ui.HtmlBasedComponent
-
beforeChildAdded
public void beforeChildAdded(org.zkoss.zk.ui.Component child, org.zkoss.zk.ui.Component refChild)- Specified by:
beforeChildAddedin interfaceorg.zkoss.zk.ui.sys.ComponentCtrl- Overrides:
beforeChildAddedin classorg.zkoss.zk.ui.AbstractComponent
-
insertBefore
public boolean insertBefore(org.zkoss.zk.ui.Component child, org.zkoss.zk.ui.Component refChild)- Specified by:
insertBeforein interfaceorg.zkoss.zk.ui.Component- Overrides:
insertBeforein classorg.zkoss.zk.ui.AbstractComponent
-
onChildRemoved
public void onChildRemoved(org.zkoss.zk.ui.Component child)
- Specified by:
onChildRemovedin interfaceorg.zkoss.zk.ui.sys.ComponentCtrl- Overrides:
onChildRemovedin classorg.zkoss.zk.ui.AbstractComponent
-
clearSelectedTab
protected void clearSelectedTab()
-
clone
public java.lang.Object clone()
- Specified by:
clonein interfaceorg.zkoss.zk.ui.Component- Overrides:
clonein classXulElement
-
renderProperties
protected void renderProperties(org.zkoss.zk.ui.sys.ContentRenderer renderer) throws java.io.IOException- Overrides:
renderPropertiesin classXulElement- Throws:
java.io.IOException
-
onPageAttached
public void onPageAttached(org.zkoss.zk.ui.Page newpage, org.zkoss.zk.ui.Page oldpage)- Specified by:
onPageAttachedin interfaceorg.zkoss.zk.ui.sys.ComponentCtrl- Overrides:
onPageAttachedin classorg.zkoss.zk.ui.AbstractComponent
-
onPageDetached
public void onPageDetached(org.zkoss.zk.ui.Page page)
- Specified by:
onPageDetachedin interfaceorg.zkoss.zk.ui.sys.ComponentCtrl- Overrides:
onPageDetachedin classorg.zkoss.zk.ui.AbstractComponent
-
-