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 void
beforeChildAdded(Component child, Component refChild)
Default: does nothing.void
beforeParentChanged(Component parent)
Default: If parent is null, execute the @Destroy method if any.java.lang.Object
clone()
Clones the component.java.lang.String
getImage()
Returns the image of theTreecell
it contains.int
getIndex()
return the index of this itemjava.lang.String
getLabel()
Returns the label of theTreecell
it contains, or null if no such cell.int
getLevel()
Returns the level this cell is.Treeitem
getParentItem()
Returns the parent tree item, or null if this item is already the top level of the tree.PropertyAccess
getPropertyAccess(java.lang.String prop)
Returns the corresponding property access object from the given property name, if any.Tree
getTree()
Returns the tree owning this item.Treechildren
getTreechildren()
Returns the treechildren that this tree item owns, or null if doesn't have any child.Treerow
getTreerow()
Returns the treerow that this tree item owns (might null).<T> T
getValue()
Returns the value.int
getVisibleItemCount()
Returns the number of visible descendantTreechildren
.boolean
insertBefore(Component child, Component refChild)
Inserts a child before the reference child.boolean
isContainer()
Returns whether the element is to act as a container which can have child elements.boolean
isDisabled()
Returns whether it is disabled.boolean
isEmpty()
Returns whether this element contains no child elements.boolean
isLoaded()
Return true whether all children of this tree item, if any, is loadedboolean
isOpen()
Returns whether this container is open.boolean
isRendered()
Returns true whether this tree item is rendered.boolean
isSelectable()
Returns whether it is selectable.boolean
isSelected()
Returns whether this item is selected.void
onChildAdded(Component child)
Default: handles special event listeners.void
onChildRemoved(Component child)
Default: handles special event listeners.protected void
redrawChildren(java.io.Writer out)
Redraws children (and then recursively descendants).protected void
renderProperties(ContentRenderer renderer)
Renders the content of this component, excluding the enclosing tags and children.void
service(AuRequest request, boolean everError)
Processes an AU request.void
setDisabled(boolean disabled)
Sets whether it is disabled.void
setHflex(java.lang.String flex)
Deprecated.as of release 6.0.0.void
setImage(java.lang.String image)
Sets the image of theTreecell
it contains.void
setLabel(java.lang.String label)
Sets the label of theTreecell
it contains.void
setOpen(boolean open)
Sets whether this container is open.void
setParent(Component parent)
Sets the parent component.void
setSelectable(boolean selectable)
Sets whether it is selectable.void
setSelected(boolean selected)
Returns whether this item is selected.void
setStubonly(boolean stubonly)
Deprecated.as of release 7.0.3.void
setStubonly(java.lang.String stubonly)
Deprecated.as of release 7.0.3.<T> void
setValue(T value)
Sets the value.boolean
setVisible(boolean visible)
Sets whether this component is visible.void
setWidth(java.lang.String width)
Deprecated.as of release 6.0.0.void
unload()
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:
setDisabled
in interfaceDisable
- Since:
- 3.0.1
-
isDisabled
public boolean isDisabled()
Returns whether it is disabled.Default: false.
- Specified by:
isDisabled
in 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:
setStubonly
in interfaceComponent
- Overrides:
setStubonly
in 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:
setStubonly
in interfaceComponent
- Overrides:
setStubonly
in 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 theTreecell
it contains, or null if no such cell.
-
setLabel
public void setLabel(java.lang.String label)
Sets the label of theTreecell
it 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 theTreecell
it contains.
-
setImage
public void setImage(java.lang.String image)
Sets the image of theTreecell
it 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:Component
Sets 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:
setVisible
in interfaceComponent
- Overrides:
setVisible
in 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:HtmlBasedComponent
Sets the width. If null, the best fit is used.- Overrides:
setWidth
in classHtmlBasedComponent
- See Also:
HtmlBasedComponent.setWidthDirectly(java.lang.String)
,AbstractComponent.disableClientUpdate(boolean)
-
setHflex
public void setHflex(java.lang.String flex)
Deprecated.Description copied from class:HtmlBasedComponent
Sets 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:
setHflex
in 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:AbstractComponent
Default: If parent is null, execute the @Destroy method if any.- Specified by:
beforeParentChanged
in interfaceComponentCtrl
- Overrides:
beforeParentChanged
in 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:Component
Sets 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:
setParent
in interfaceComponent
- Overrides:
setParent
in classAbstractComponent
-
beforeChildAdded
public void beforeChildAdded(Component child, Component refChild)
Description copied from class:AbstractComponent
Default: does nothing.- Specified by:
beforeChildAdded
in interfaceComponentCtrl
- Overrides:
beforeChildAdded
in 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:Component
Inserts 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:
insertBefore
in interfaceComponent
- Overrides:
insertBefore
in 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:AbstractComponent
Default: handles special event listeners.- Specified by:
onChildAdded
in interfaceComponentCtrl
- Overrides:
onChildAdded
in classAbstractComponent
- See Also:
ComponentCtrl.onChildAdded(org.zkoss.zk.ui.Component)
-
onChildRemoved
public void onChildRemoved(Component child)
Description copied from class:AbstractComponent
Default: handles special event listeners.- Specified by:
onChildRemoved
in interfaceComponentCtrl
- Overrides:
onChildRemoved
in classAbstractComponent
- See Also:
ComponentCtrl.onChildRemoved(org.zkoss.zk.ui.Component)
-
redrawChildren
protected void redrawChildren(java.io.Writer out) throws java.io.IOException
Description copied from class:AbstractComponent
Redraws 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:
redrawChildren
in classAbstractComponent
- Throws:
java.io.IOException
- See Also:
AbstractComponent.redraw(java.io.Writer)
-
clone
public java.lang.Object clone()
Description copied from interface:Component
Clones the component. All of its children and descendants are cloned. Also, ID are preserved.- Specified by:
clone
in interfaceComponent
- Overrides:
clone
in 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:HtmlBasedComponent
Renders the content of this component, excluding the enclosing tags and children.- Overrides:
renderProperties
in classXulElement
- Throws:
java.io.IOException
-
getPropertyAccess
public PropertyAccess getPropertyAccess(java.lang.String prop)
Description copied from interface:ComponentCtrl
Returns the corresponding property access object from the given property name, if any.- Specified by:
getPropertyAccess
in interfaceComponentCtrl
- Overrides:
getPropertyAccess
in 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:
service
in interfaceComponentCtrl
- Overrides:
service
in classHtmlBasedComponent
everError
- whether any error ever occurred before processing this request.- Since:
- 5.0.0
- See Also:
AbstractComponent.setAuService(org.zkoss.zk.au.AuService)
-
-