public class Tabbox extends XulElement
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();
HtmlBasedComponent.ExtraCtrl
AbstractComponent.Children
_zclass
APPLICATION_SCOPE, COMPONENT_SCOPE, DESKTOP_SCOPE, PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, SPACE_SCOPE
AFTER_CHILD_ADDED, AFTER_CHILD_REMOVED, AFTER_PAGE_ATTACHED, AFTER_PAGE_DETACHED, CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE
Constructor and Description |
---|
Tabbox() |
Modifier and Type | Method and Description |
---|---|
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.
|
<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.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.
|
<T> TabboxRenderer<T> |
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: handles special event listeners.
|
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.
|
getContext, getCtrlKeys, getPopup, getPropertyAccess, getTooltip, setContext, setContext, setContextAttributes, setCtrlKeys, setPopup, setPopup, setPopupAttributes, setTooltip, setTooltip, setTooltipAttributes
focus, getAction, getDraggable, getDroppable, getExtraCtrl, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTabindex, getTabindexInteger, getTooltiptext, getTop, getVflex, getWidth, getZindex, getZIndex, service, setAction, setClass, 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
addAnnotation, addAnnotation, addCallback, addClientEvent, addEventHandler, addEventListener, addEventListener, addForward, addForward, addForward, addForward, addMoved, addRedrawCallback, addScopeListener, addShadowRoot, addShadowRootBefore, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildRemoved, beforeParentChanged, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableBindingAnnotation, disableClientUpdate, enableBindingAnnotation, equals, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotation, getAnnotations, 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, getId, getLastChild, getListenerIterator, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getRedrawCallback, getRoot, getShadowFellowIfAny, getShadowRoots, getShadowVariable, getShadowVariable, getShadowVariable0, getSpaceOwner, getSpecialRendererOutput, getStubonly, getSubBindingAnnotationCount, getTemplate, getTemplateNames, getUuid, getWidgetAttribute, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasBindingAnnotation, hasFellow, hasFellow, hasSubBindingAnnotation, invalidate, isChildable, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onPageAttached, onPageDetached, onWrongValue, query, queryAll, redraw, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeCallback, removeChild, removeEventListener, removeForward, removeForward, removeRedrawCallback, removeScopeListener, removeShadowRoot, render, render, render, 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, setWidgetAttribute, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize
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 modelpublic 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.InvocationTargetException
setTabboxRenderer(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 Component
setMold
in class AbstractComponent
mold
- default , accordion and accordion-liteComponentDefinition
public void setOrient(java.lang.String orient) throws WrongValueException
orient
- either "top", "left", "bottom or "right".WrongValueException
public boolean isHorizontal()
public boolean isTop()
public boolean isBottom()
public boolean isVertical()
public boolean isLeft()
public boolean isRight()
public java.lang.String getZclass()
HtmlBasedComponent
AbstractComponent.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 HtmlBasedComponent
HtmlBasedComponent.getSclass()
public void beforeChildAdded(Component child, Component refChild)
AbstractComponent
beforeChildAdded
in interface ComponentCtrl
beforeChildAdded
in class AbstractComponent
child
- 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)
Component
You 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 Component
insertBefore
in class AbstractComponent
child
- 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 ComponentCtrl
onChildRemoved
in class AbstractComponent
ComponentCtrl.onChildRemoved(org.zkoss.zk.ui.Component)
protected void clearSelectedTab()
public java.lang.Object clone()
Component
clone
in interface Component
clone
in class XulElement
protected void renderProperties(ContentRenderer renderer) throws java.io.IOException
HtmlBasedComponent
renderProperties
in class XulElement
java.io.IOException
Copyright © 2005-2018 Potix Corporation. All Rights Reserved.