Class Tabbox
- All Implemented Interfaces:
Serializable,Cloneable,org.zkoss.zk.ui.Component,org.zkoss.zk.ui.ext.Scope,org.zkoss.zk.ui.sys.ComponentCtrl
Event:
- org.zkoss.zk.ui.event.SelectEvent is sent when user changes the tab.
Mold:
- default
- The default tabbox.
- accordion
- The accordion tabbox.
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();
- Author:
- tomyeh
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.zkoss.zk.ui.HtmlBasedComponent
org.zkoss.zk.ui.HtmlBasedComponent.ExtraCtrlNested classes/interfaces inherited from class org.zkoss.zk.ui.AbstractComponent
org.zkoss.zk.ui.AbstractComponent.Children, org.zkoss.zk.ui.AbstractComponent.ForwardInfo, org.zkoss.zk.ui.AbstractComponent.TargetInfo -
Field Summary
Fields inherited from class org.zkoss.zk.ui.HtmlBasedComponent
_zclassFields inherited from interface org.zkoss.zk.ui.Component
APPLICATION_SCOPE, COMPONENT_SCOPE, DESKTOP_SCOPE, PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, SPACE_SCOPEFields inherited from interface org.zkoss.zk.ui.sys.ComponentCtrl
AFTER_CHILD_ADDED, AFTER_CHILD_REMOVED, AFTER_CLONED, AFTER_PAGE_ATTACHED, AFTER_PAGE_DETACHED, AFTER_PARENT_CHANGED, CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbeforeChildAdded(org.zkoss.zk.ui.Component child, org.zkoss.zk.ui.Component refChild) protected voidclone()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.Returns the orient.Returns the spacing betweenTabpanel.intReturns the selected index.Returns the selected tab panel.Returns the selected tab.<T> TabboxRenderer<T>Returns the renderer to render each tab and tabpanel, or null if the default renderer is used.Returns the tabpanels that this tabbox owns.getTabs()Returns the tabs that this tabbox owns.Returns the auxiliary toolbar that this tabbox owns.booleaninsertBefore(org.zkoss.zk.ui.Component child, org.zkoss.zk.ui.Component refChild) booleanisBottom()Returns whether it is the bottom orientation.booleanReturns whether it is a horizontal tabbox.booleanisLeft()Returns whether it is the left orientation.booleanReturns whether to use maximum height of all tabpanel in initial phase.booleanisRight()Returns whether it is the right orientation.booleanReturns whether the tab scrolling is enabled.booleanisTop()Returns whether it is the top orientation.booleanReturns whether it is a vertical tabbox.protected TabboxEngineInstantiates the default tabbox engine.voidonChildRemoved(org.zkoss.zk.ui.Component child) voidvoidonPageAttached(org.zkoss.zk.ui.Page newpage, org.zkoss.zk.ui.Page oldpage) voidonPageDetached(org.zkoss.zk.ui.Page page) voidComponent 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.voidSets the list model associated with this t.voidSets the mold.voidSets the orient.voidsetPanelSpacing(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(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, setTooltipAttributesMethods inherited from class org.zkoss.zk.ui.HtmlBasedComponent
addSclass, evalCSSFlex, focus, getAction, getClientAction, getDraggable, getDroppable, getExtraCtrl, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getSkeleton, 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, setSkeleton, setStyle, setTabindex, setTabindex, setTooltiptext, setTop, setTopDirectly, setVflex, setVflex0, setVflexDirectly, setWidth, setWidth0, setWidthDirectly, setZclass, setZindex, setZIndex, setZIndexDirectlyMethods 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, getStubonlyDescendants, 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, setStubonlyDescendants, 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
-
Constructor Details
-
Tabbox
public Tabbox()
-
-
Method Details
-
getEngine
Returns the implementation tabbox engine.- Throws:
org.zkoss.zk.ui.UiException- if failed to load the engine.- Since:
- 7.0.0
-
setEngine
Sets the tabbox engine forListModel- Since:
- 7.0.0
-
newTabboxEngine
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
-
setModel
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
Returns the renderer to render each tab and tabpanel, or null if the default renderer is used.- Since:
- 7.0.0
-
setTabboxRenderer
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(String clsnm) throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InstantiationException, InvocationTargetException Sets the renderer by use of a class name. It creates an instance automatically. [ZK EE] -
onInitRender
public void onInitRender() -
postOnInitRender
public void postOnInitRender()Component internal use only.- Since:
- 7.0.0
-
getModel
Returns the model associated with this selectbox, or null if this selectbox is not associated with any list data model. -
getTabs
Returns the tabs that this tabbox owns. -
getToolbar
Returns the auxiliary toolbar that this tabbox owns.- Since:
- 3.6.3
-
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
Returns the spacing betweenTabpanel. This is used by certain molds, such as accordion.Default: null (no spacing).
-
setPanelSpacing
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
Returns the selected tab panel. -
setSelectedPanel
Sets the selected tab panel. -
getSelectedTab
Returns the selected tab. -
setSelectedTab
Sets the selected tab. -
getOrient
Returns the orient.Default: "top".
Note: only the default mold supports it (not supported if accordion).
-
setMold
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
Sets 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
- 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
- Specified by:
clonein interfaceorg.zkoss.zk.ui.Component- Overrides:
clonein classXulElement
-
renderProperties
- Overrides:
renderPropertiesin classXulElement- Throws:
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
-