Class Treeitem
- java.lang.Object
-
- org.zkoss.zk.ui.AbstractComponent
-
- org.zkoss.zk.ui.HtmlBasedComponent
-
- org.zkoss.zul.impl.XulElement
-
- org.zkoss.zul.Treeitem
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,Component,Disable,Scope,ComponentCtrl
public class Treeitem extends XulElement implements Disable
A treeitem.Event:
- onOpen is sent when a tree item is opened or closed by user.
- onDoubleClick is sent when user double-clicks the treeitem.
- onRightClick is sent when user right-clicks the treeitem.
- Author:
- tomyeh
- See Also:
- Serialized Form
-
-
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, AbstractComponent.ForwardInfo, AbstractComponent.TargetInfo
-
-
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
AFTER_CHILD_ADDED, AFTER_CHILD_REMOVED, AFTER_PAGE_ATTACHED, AFTER_PAGE_DETACHED, AFTER_PARENT_CHANGED, CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE
-
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidbeforeChildAdded(Component child, Component refChild)Default: does nothing.voidbeforeParentChanged(Component parent)Default: If parent is null, execute the @Destroy method if any.java.lang.Objectclone()Clones the component.java.lang.StringgetImage()Returns the image of theTreecellit contains.intgetIndex()return the index of this itemjava.lang.StringgetLabel()Returns the label of theTreecellit contains, or null if no such cell.intgetLevel()Returns the level this cell is.TreeitemgetParentItem()Returns the parent tree item, or null if this item is already the top level of the tree.PropertyAccessgetPropertyAccess(java.lang.String prop)Returns the corresponding property access object from the given property name, if any.TreegetTree()Returns the tree owning this item.TreechildrengetTreechildren()Returns the treechildren that this tree item owns, or null if doesn't have any child.TreerowgetTreerow()Returns the treerow that this tree item owns (might null).<T> TgetValue()Returns the value.intgetVisibleItemCount()Returns the number of visible descendantTreechildren.booleaninsertBefore(Component child, Component refChild)Inserts a child before the reference child.booleanisContainer()Returns whether the element is to act as a container which can have child elements.booleanisDisabled()Returns whether it is disabled.booleanisEmpty()Returns whether this element contains no child elements.booleanisLoaded()Return true whether all children of this tree item, if any, is loadedbooleanisOpen()Returns whether this container is open.booleanisRendered()Returns true whether this tree item is rendered.booleanisSelectable()Returns whether it is selectable.booleanisSelected()Returns whether this item is selected.voidonChildAdded(Component child)Default: handles special event listeners.voidonChildRemoved(Component child)Default: handles special event listeners.protected voidredrawChildren(java.io.Writer out)Redraws children (and then recursively descendants).protected voidrenderProperties(ContentRenderer renderer)Renders the content of this component, excluding the enclosing tags and children.voidservice(AuRequest request, boolean everError)Processes an AU request.voidsetDisabled(boolean disabled)Sets whether it is disabled.voidsetHflex(java.lang.String flex)Deprecated.as of release 6.0.0.voidsetImage(java.lang.String image)Sets the image of theTreecellit contains.voidsetLabel(java.lang.String label)Sets the label of theTreecellit contains.voidsetOpen(boolean open)Sets whether this container is open.voidsetParent(Component parent)Sets the parent component.voidsetSelectable(boolean selectable)Sets whether it is selectable.voidsetSelected(boolean selected)Returns whether this item is selected.voidsetStubonly(boolean stubonly)Deprecated.as of release 7.0.3.voidsetStubonly(java.lang.String stubonly)Deprecated.as of release 7.0.3.<T> voidsetValue(T value)Sets the value.booleansetVisible(boolean visible)Sets whether this component is visible.voidsetWidth(java.lang.String width)Deprecated.as of release 6.0.0.voidunload()Unload the tree item-
Methods inherited from class org.zkoss.zul.impl.XulElement
getContext, getCtrlKeys, getPopup, 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, getZclass, getZindex, getZIndex, removeSclass, removeSclass, setAction, setClass, setClientAction, setDraggable, setDroppable, setFocus, setHeight, setHeight0, setHeightDirectly, setHflex0, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setStyle, setTabindex, setTabindex, setTooltiptext, setTop, setTopDirectly, setVflex, setVflex0, setVflexDirectly, 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, 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, onPageAttached, onPageDetached, onParentChanged, onWrongValue, query, queryAll, redraw, 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, setMold, setPage, setPageBefore, setSubBindingAnnotationCount, setTemplate, setVisibleDirectly, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize
-
-
-
-
Method Detail
-
isSelectable
public boolean isSelectable()
Returns whether it is selectable.Default: true.
- Since:
- 8.0.0
-
setSelectable
public void setSelectable(boolean selectable)
Sets whether it is selectable.If the tree is in a checkmark mode, the selectable state will affect the checkable icon to display or not.
Default: true.
- Parameters:
selectable-
-
unload
public void unload()
Unload the tree itemTo load the tree item, with
Tree.renderItem(Treeitem),Tree.renderItem(Treeitem, Object), orTree.renderItems(java.util.Set)- Since:
- 3.0.4
-
setDisabled
public void setDisabled(boolean disabled)
Sets whether it is disabled.- Specified by:
setDisabledin interfaceDisable- Since:
- 3.0.1
-
isDisabled
public boolean isDisabled()
Returns whether it is disabled.Default: false.
- Specified by:
isDisabledin interfaceDisable- Since:
- 3.0.1
-
isRendered
public boolean isRendered()
Returns true whether this tree item is rendered. UnlikeisLoaded()which is used to check whether all children of this tree item are loaded.Default: false
- Since:
- 7.0.0
-
isLoaded
public boolean isLoaded()
Return true whether all children of this tree item, if any, is loaded- Returns:
- true whether all children of this tree item is loaded
- Since:
- 3.0.0
-
setStubonly
public void setStubonly(java.lang.String stubonly)
Deprecated.as of release 7.0.3.- Specified by:
setStubonlyin interfaceComponent- Overrides:
setStubonlyin classAbstractComponent- Parameters:
stubonly- whether it is stub-only. The allowed values include "true", "false" and "inherit".
-
setStubonly
public void setStubonly(boolean stubonly)
Deprecated.as of release 7.0.3.- Specified by:
setStubonlyin interfaceComponent- Overrides:
setStubonlyin classAbstractComponent
-
getIndex
public int getIndex()
return the index of this item- Returns:
- the index of this item
- Since:
- 5.0.9
-
getTreerow
public Treerow getTreerow()
Returns the treerow that this tree item owns (might null). Each tree items has exactly one tree row.
-
getTreechildren
public Treechildren getTreechildren()
Returns the treechildren that this tree item owns, or null if doesn't have any child.
-
isContainer
public boolean isContainer()
Returns whether the element is to act as a container which can have child elements.
-
isEmpty
public boolean isEmpty()
Returns whether this element contains no child elements.
-
getValue
public <T> T getValue()
Returns the value. It could be anything you want.Default: null.
Note: the value is not sent to the browser, so it is OK to be anything.
-
setValue
public <T> void setValue(T value)
Sets the value.- Parameters:
value- the value. Note: the value is not sent to the browser, so it is OK to be anything.
-
isOpen
public boolean isOpen()
Returns whether this container is open.Default: true.
-
setOpen
public void setOpen(boolean open)
Sets whether this container is open.
-
isSelected
public boolean isSelected()
Returns whether this item is selected.
-
setSelected
public void setSelected(boolean selected)
Returns whether this item is selected.
-
getLevel
public int getLevel()
Returns the level this cell is. The root is level 0.
-
getLabel
public java.lang.String getLabel()
Returns the label of theTreecellit contains, or null if no such cell.
-
setLabel
public void setLabel(java.lang.String label)
Sets the label of theTreecellit contains.If treerow and treecell are not created, we automatically create it.
Notice that this method will create a treerow and treecell automatically if they don't exist. Thus, you cannot attach a treerow to it again if set an image or a label.
-
getImage
public java.lang.String getImage()
Returns the image of theTreecellit contains.
-
setImage
public void setImage(java.lang.String image)
Sets the image of theTreecellit contains.If treerow and treecell are not created, we automatically create it.
Notice that this method will create a treerow and treecell automatically if they don't exist. Thus, you cannot attach a treerow to it again if set an image or a label.
-
getParentItem
public Treeitem getParentItem()
Returns the parent tree item, or null if this item is already the top level of the tree. The parent tree item is actually the grandparent if any.- Since:
- 3.0.0
-
getTree
public Tree getTree()
Returns the tree owning this item.
-
setVisible
public boolean setVisible(boolean visible)
Description copied from interface:ComponentSets whether this component is visible. A component is visible by default. Both visible and invisible components are rendered in a browser's DOM. But an invisible component's DOM elements with CSSdisplay:none. Since a DOM element will inherit its parent's CSS rules, a component is visible only if all of its parents are also visible.
To remove a component's DOM elements, useComponent.detach().- Specified by:
setVisiblein interfaceComponent- Overrides:
setVisiblein classAbstractComponent- Returns:
- the previous visibility
-
getVisibleItemCount
public int getVisibleItemCount()
Returns the number of visible descendantTreechildren. Descendants include direct children, grand children and so on.- Since:
- 3.6.1
-
setWidth
public void setWidth(java.lang.String width)
Deprecated.Description copied from class:HtmlBasedComponentSets the width. If null, the best fit is used.- Overrides:
setWidthin classHtmlBasedComponent- See Also:
HtmlBasedComponent.setWidthDirectly(java.lang.String),AbstractComponent.disableClientUpdate(boolean)
-
setHflex
public void setHflex(java.lang.String flex)
Deprecated.Description copied from class:HtmlBasedComponentSets horizontal flex hint of this component.Number flex indicates how this component's container distributes remaining empty space among its children horizontally. Flexible component grow and shrink to fit their given space. Flexible components with larger flex values will be made larger than components with lower flex values, at the ratio determined by all flexible components. The actual flex value is not relevant unless there are other flexible components within the same container. Once the default sizes of components in a container are calculated, the remaining space in the container is divided among the flexible components, according to their flex ratios.
Specify a flex value of negative value, 0, or "false" has the same effect as leaving the flex attribute out entirely. Specify a flex value of "true" has the same effect as a flex value of 1.
Special flex hint, "min", indicates that the minimum space shall be given to this flexible component to enclose all of its children components. That is, the flexible component grow and shrink to fit its children components.
- Overrides:
setHflexin classHtmlBasedComponent- Parameters:
flex- horizontal flex hint of this component.- See Also:
HtmlBasedComponent.setVflex(java.lang.String),HtmlBasedComponent.getHflex()
-
beforeParentChanged
public void beforeParentChanged(Component parent)
Description copied from class:AbstractComponentDefault: If parent is null, execute the @Destroy method if any.- Specified by:
beforeParentChangedin interfaceComponentCtrl- Overrides:
beforeParentChangedin classAbstractComponent- Parameters:
parent- the new parent. If null, it means detachment.- See Also:
ComponentCtrl.beforeParentChanged(org.zkoss.zk.ui.Component)
-
setParent
public void setParent(Component parent)
Description copied from interface:ComponentSets the parent component.Note:
Component.setParent(org.zkoss.zk.ui.Component)always calls backComponent.insertBefore(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component)and/orComponent.removeChild(org.zkoss.zk.ui.Component), whileComponent.insertBefore(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component)andComponent.removeChild(org.zkoss.zk.ui.Component)always calls backComponent.setParent(org.zkoss.zk.ui.Component), if the parent is changed. Thus, you don't need to override bothComponent.insertBefore(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component)andComponent.setParent(org.zkoss.zk.ui.Component), if you want to customize the behavior.- Specified by:
setParentin interfaceComponent- Overrides:
setParentin classAbstractComponent
-
beforeChildAdded
public void beforeChildAdded(Component child, Component refChild)
Description copied from class:AbstractComponentDefault: does nothing.- Specified by:
beforeChildAddedin interfaceComponentCtrl- Overrides:
beforeChildAddedin classAbstractComponent- Parameters:
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.- See Also:
ComponentCtrl.beforeChildAdded(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component)
-
insertBefore
public boolean insertBefore(Component child, Component refChild)
Description copied from interface:ComponentInserts a child before the reference child.You could use
Component.setParent(org.zkoss.zk.ui.Component)orComponent.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 backComponent.insertBefore(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component)and/orComponent.removeChild(org.zkoss.zk.ui.Component), whileComponent.insertBefore(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component)andComponent.removeChild(org.zkoss.zk.ui.Component)always calls backComponent.setParent(org.zkoss.zk.ui.Component), if the parent is changed. Thus, you don't need to override bothComponent.insertBefore(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component)andComponent.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.- Specified by:
insertBeforein interfaceComponent- Overrides:
insertBeforein classAbstractComponent- Parameters:
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.- Returns:
- true if newChild is added successfully or moved; false if it already has the specified child and the order doesn't change.
-
onChildAdded
public void onChildAdded(Component child)
Description copied from class:AbstractComponentDefault: handles special event listeners.- Specified by:
onChildAddedin interfaceComponentCtrl- Overrides:
onChildAddedin classAbstractComponent- See Also:
ComponentCtrl.onChildAdded(org.zkoss.zk.ui.Component)
-
onChildRemoved
public void onChildRemoved(Component child)
Description copied from class:AbstractComponentDefault: handles special event listeners.- Specified by:
onChildRemovedin interfaceComponentCtrl- Overrides:
onChildRemovedin classAbstractComponent- See Also:
ComponentCtrl.onChildRemoved(org.zkoss.zk.ui.Component)
-
redrawChildren
protected void redrawChildren(java.io.Writer out) throws java.io.IOExceptionDescription copied from class:AbstractComponentRedraws children (and then recursively descendants).Default: it invokes
AbstractComponent.redraw(java.io.Writer)for all its children.If a derived class renders only a subset of its children (such as paging/cropping), it could override
AbstractComponent.redrawChildren(java.io.Writer).- Overrides:
redrawChildrenin classAbstractComponent- Throws:
java.io.IOException- See Also:
AbstractComponent.redraw(java.io.Writer)
-
clone
public java.lang.Object clone()
Description copied from interface:ComponentClones the component. All of its children and descendants are cloned. Also, ID are preserved.- Specified by:
clonein interfaceComponent- Overrides:
clonein classXulElement- Returns:
- the new component. Notice that it doesn't belong to any page, nor desktop. It doesn't have a parent, either.
-
renderProperties
protected void renderProperties(ContentRenderer renderer) throws java.io.IOException
Description copied from class:HtmlBasedComponentRenders the content of this component, excluding the enclosing tags and children.- Overrides:
renderPropertiesin classXulElement- Throws:
java.io.IOException
-
getPropertyAccess
public PropertyAccess getPropertyAccess(java.lang.String prop)
Description copied from interface:ComponentCtrlReturns the corresponding property access object from the given property name, if any.- Specified by:
getPropertyAccessin interfaceComponentCtrl- Overrides:
getPropertyAccessin classXulElement- Parameters:
prop- the name of the property- Returns:
- null it means not to support for the property name.
-
service
public void service(AuRequest request, boolean everError)
Processes an AU request.Default: in addition to what are handled by
AbstractComponent.service(Event, Scope), it also handles onOpen.- Specified by:
servicein interfaceComponentCtrl- Overrides:
servicein classHtmlBasedComponenteverError- whether any error ever occurred before processing this request.- Since:
- 5.0.0
- See Also:
AbstractComponent.setAuService(org.zkoss.zk.au.AuService)
-
-