org.zkoss.zul
Class Treeitem

java.lang.Object
  extended by org.zkoss.zk.ui.AbstractComponent
      extended by org.zkoss.zk.ui.HtmlBasedComponent
          extended by org.zkoss.zul.impl.XulElement
              extended by 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:

  1. onOpen is sent when a tree item is opened or closed by user.
  2. onDoubleClick is sent when user double-clicks the treeitem.
  3. 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
 
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
CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE
 
Constructor Summary
Treeitem()
           
Treeitem(java.lang.String label)
           
Treeitem(java.lang.String label, java.lang.Object value)
           
 
Method Summary
 void beforeChildAdded(Component child, Component refChild)
          Default: does nothing.
 void beforeParentChanged(Component parent)
          Default: does nothing.
 java.lang.Object clone()
          Clones the component.
 java.lang.String getImage()
          Returns the image of the Treecell it contains.
 int getIndex()
          return the index of this item
 java.lang.String getLabel()
          Returns the label of the Treecell 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.
 java.lang.String getSrc()
          Deprecated. As of release 3.5.0, it is redundant since it the same as getImage().
 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 descendant Treechildren.
 int indexOf()
          Deprecated. As of release 5.0.9, replaced with getIndex().
 boolean insertBefore(Component child, Component refChild)
          Inserts a child before the reference child.
 boolean isCheckable()
          Returns whether it is checkable.
 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 loaded
 boolean isOpen()
          Returns whether this container is open.
 boolean isRendered()
          Returns true whether this tree item is rendered.
 boolean isSelected()
          Returns whether this item is selected.
 void onChildAdded(Component child)
          Default: does nothing.
 void onChildRemoved(Component child)
          Default: does nothing.
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 setCheckable(boolean checkable)
          Sets whether it is checkable.
 void setDisabled(boolean disabled)
          Sets whether it is disabled.
 void setHflex(java.lang.String flex)
          Deprecated. as of release 6.0.0. To control the size of Tree related components, please refer to Tree and Treecol instead.
 void setImage(java.lang.String image)
          Sets the image of the Treecell it contains.
 void setLabel(java.lang.String label)
          Sets the label of the Treecell it contains.
 void setOpen(boolean open)
          Sets whether this container is open.
 void setParent(Component parent)
          Sets the parent component.
 void setSelected(boolean selected)
          Returns whether this item is selected.
 void setSrc(java.lang.String src)
          Deprecated. As of release 3.5.0, it is redundant since it the same as setImage(java.lang.String).
<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. To control the size of Tree related components, please refer to Tree and Treecol instead.
 void unload()
          Unload the tree item To load the tree item, with Tree.renderItem(Treeitem), Tree.renderItem(Treeitem, Object), or Tree.renderItems(java.util.Set)
 
Methods inherited from class org.zkoss.zul.impl.XulElement
getContext, getCtrlKeys, getPopup, getTooltip, setContext, setContext, setCtrlKeys, setPopup, setPopup, setTooltip, setTooltip
 
Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent
focus, getAction, getDraggable, getDroppable, getExtraCtrl, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTooltiptext, getTop, getVflex, getWidth, getZclass, getZindex, getZIndex, setAction, setClass, setDraggable, setDroppable, setFocus, setHeight, setHeightDirectly, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setStyle, setTooltiptext, setTop, setTopDirectly, setVflex, setWidthDirectly, setZclass, setZindex, setZIndex, setZIndexDirectly
 
Methods inherited from class org.zkoss.zk.ui.AbstractComponent
addAnnotation, addAnnotation, addClientEvent, addEventHandler, addEventListener, addEventListener, addForward, addForward, addForward, addForward, addMoved, addScopeListener, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildRemoved, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableClientUpdate, equals, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotation, getAnnotations, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getAutag, getChildren, getClientEvents, getDefaultMold, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getEventListenerMap, getEventListeners, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getId, getLastChild, getListenerIterator, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getRoot, getSpaceOwner, getStubonly, getTemplate, getTemplateNames, getUuid, getWidgetAttribute, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasFellow, hasFellow, invalidate, isChildable, isInvalidated, isListenerAvailable, isVisible, onPageAttached, onPageDetached, onWrongValue, query, queryAll, redraw, removeAttribute, removeAttribute, removeAttribute, removeChild, removeEventListener, removeForward, removeForward, removeScopeListener, render, render, render, replace, response, response, response, service, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setAttribute, setAuService, setAutag, setDefinition, setDefinition, setId, setMold, setPage, setPageBefore, setStubonly, setStubonly, setTemplate, setVisibleDirectly, setWidgetAttribute, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, willPassivate, willPassivate, willSerialize, willSerialize
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Treeitem

public Treeitem()

Treeitem

public Treeitem(java.lang.String label)

Treeitem

public Treeitem(java.lang.String label,
                java.lang.Object value)
Method Detail

isCheckable

public boolean isCheckable()
Returns whether it is checkable.

Default: true.

Since:
3.0.4

setCheckable

public void setCheckable(boolean checkable)
Sets whether it is checkable.

Note that it is only applied when isCheckmark() of Tree is true.

Default: true.

Since:
3.0.4

unload

public void unload()
Unload the tree item

To load the tree item, with Tree.renderItem(Treeitem), Tree.renderItem(Treeitem, Object), or Tree.renderItems(java.util.Set)

Since:
3.0.4

setDisabled

public void setDisabled(boolean disabled)
Sets whether it is disabled.

Specified by:
setDisabled in interface Disable
Since:
3.0.1

isDisabled

public boolean isDisabled()
Returns whether it is disabled.

Default: false.

Specified by:
isDisabled in interface Disable
Since:
3.0.1

isRendered

public boolean isRendered()
Returns true whether this tree item is rendered. Unlike isLoaded() 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

getIndex

public int getIndex()
return the index of this item

Returns:
the index of this item
Since:
5.0.9

indexOf

public int indexOf()
Deprecated. As of release 5.0.9, replaced with getIndex().


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 the Treecell it contains, or null if no such cell.


setLabel

public void setLabel(java.lang.String label)
Sets the label of the Treecell 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.


getSrc

public java.lang.String getSrc()
Deprecated. As of release 3.5.0, it is redundant since it the same as getImage().


setSrc

public void setSrc(java.lang.String src)
Deprecated. As of release 3.5.0, it is redundant since it the same as setImage(java.lang.String).


getImage

public java.lang.String getImage()
Returns the image of the Treecell it contains.


setImage

public void setImage(java.lang.String image)
Sets the image of the Treecell 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.

Specified by:
setVisible in interface Component
Overrides:
setVisible in class AbstractComponent
Returns:
the previous visibility

getVisibleItemCount

public int getVisibleItemCount()
Returns the number of visible descendant Treechildren. Descendants include direct children, grand children and so on.

Since:
3.6.1

setWidth

public void setWidth(java.lang.String width)
Deprecated. as of release 6.0.0. To control the size of Tree related components, please refer to Tree and Treecol instead.

Description copied from class: HtmlBasedComponent
Sets the width. If null, the best fit is used.

Overrides:
setWidth in class HtmlBasedComponent
See Also:
HtmlBasedComponent.setWidthDirectly(java.lang.String), AbstractComponent.disableClientUpdate(boolean)

setHflex

public void setHflex(java.lang.String flex)
Deprecated. as of release 6.0.0. To control the size of Tree related components, please refer to Tree and Treecol instead.

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 class HtmlBasedComponent
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: does nothing.

Specified by:
beforeParentChanged in interface ComponentCtrl
Overrides:
beforeParentChanged in class AbstractComponent
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 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.

Specified by:
setParent in interface Component
Overrides:
setParent in class AbstractComponent

beforeChildAdded

public void beforeChildAdded(Component child,
                             Component refChild)
Description copied from class: AbstractComponent
Default: does nothing.

Specified by:
beforeChildAdded in interface ComponentCtrl
Overrides:
beforeChildAdded in class AbstractComponent
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) 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.

Specified by:
insertBefore in interface Component
Overrides:
insertBefore in class AbstractComponent
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: does nothing.

Specified by:
onChildAdded in interface ComponentCtrl
Overrides:
onChildAdded in class AbstractComponent
See Also:
ComponentCtrl.onChildAdded(org.zkoss.zk.ui.Component)

onChildRemoved

public void onChildRemoved(Component child)
Description copied from class: AbstractComponent
Default: does nothing.

Specified by:
onChildRemoved in interface ComponentCtrl
Overrides:
onChildRemoved in class AbstractComponent
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 class AbstractComponent
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 interface Component
Overrides:
clone in class XulElement
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.

See also ZK Client-side Reference: Property Rendering

Overrides:
renderProperties in class XulElement
Throws:
java.io.IOException

service

public void service(AuRequest request,
                    boolean everError)
Processes an AU request.

Default: in addition to what are handled by HtmlBasedComponent.service(org.zkoss.zk.au.AuRequest, boolean), it also handles onOpen.

Specified by:
service in interface ComponentCtrl
Overrides:
service in class HtmlBasedComponent
everError - whether any error ever occurred before processing this request.
Since:
5.0.0
See Also:
AbstractComponent.setAuService(org.zkoss.zk.au.AuService)


Copyright © 2005-2011 Potix Corporation. All Rights Reserved. SourceForge.net Logo