org.zkoss.zul
Class Treecell

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.impl.LabelElement
                  extended by org.zkoss.zul.impl.LabelImageElement
                      extended by org.zkoss.zul.Treecell
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, HtmlBasedComponent, Component, Scope, ComponentCtrl, Treecell, LabelElement, LabelImageElement, XulElement

public class Treecell
extends LabelImageElement
implements Treecell

A treecell.

In XUL, treecell cannot have any child, but ZUL allows it. Thus, you could place any kind of children in it. They will be placed right after the image and label.

Default getZclass(): z-tree-cell.(since 3.5.0)

Author:
tomyeh
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.zkoss.zul.impl.LabelImageElement
LabelImageElement.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, RS_NO_DISPLAY, RS_NO_HEIGHT, RS_NO_WIDTH
 
Fields inherited from class org.zkoss.zk.ui.AbstractComponent
_visible
 
Fields inherited from interface org.zkoss.zk.ui.Component
APPLICATION_SCOPE, COMPONENT_SCOPE, DESKTOP_SCOPE, PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, SPACE_SCOPE
 
Constructor Summary
Treecell()
           
Treecell(java.lang.String label)
           
Treecell(java.lang.String label, java.lang.String src)
           
 
Method Summary
 void beforeParentChanged(Component parent)
          Default: does nothing.
 java.lang.String getColumnHtmlPostfix()
          Returns the postfix of the first column (in HTML tags), null if this is not first column.
 java.lang.String getColumnHtmlPrefix()
          Returns the prefix of the first column (in HTML tags), null if this is not first column.
 int getColumnIndex()
          Returns the column index of this cell, starting from 0.
 java.lang.String getLabelAttrs()
          Returns the attributes used by the embedded HTML LABEL tag.
 int getLevel()
          Returns the level this cell is.
 int getMaxlength()
          Returns the maximal length for this cell, which is decided by the corresponding getTreecol()'s Treecol.getMaxlength().
 java.lang.String getOuterAttrs()
          Returns the exterior attributes for generating the enclosing HTML tag; never return null.
protected  java.lang.String getRealStyle()
          Returns the real style that will be generated to client (when HtmlBasedComponent.getOuterAttrs() is called).
 int getSpan()
          Returns number of columns to span this cell.
 Tree getTree()
          Return the tree that owns this cell.
 Tree getTreeApi()
          Return the tree that owns this cell.
 Treecol getTreecol()
          Returns the tree col associated with this cell, or null if not available.
 Treecol getTreecolApi()
          Returns the tree col associated with this cell, or null if not available.
 java.lang.String getWidth()
          Returns the width which the same as getTreecol()'s width.
 java.lang.String getZclass()
          Returns the ZK Cascading Style class(es) for this component.
static boolean isLastChild(Treeitem item)
          Returns whether an item is the last visible child.
 void setSpan(int span)
          Sets the number of columns to span this cell.
 void setWidth(java.lang.String width)
          Sets the width.
 
Methods inherited from class org.zkoss.zul.impl.LabelImageElement
getEncodedImageURL, getHoverImage, getImage, getImageContent, getImgTag, getImgTag, getSrc, isImageAssigned, newExtraCtrl, setHoverImage, setHoverImageContent, setHoverImageContent, setImage, setImageContent, setImageContent, setSrc
 
Methods inherited from class org.zkoss.zul.impl.LabelElement
getLabel, setLabel
 
Methods inherited from class org.zkoss.zul.impl.XulElement
getAction, getActionAttrs, getAllOnClickAttrs, getContext, getCtrlKeys, getInnerAttrs, getPopup, getTooltip, setAction, setContext, setContext, setCtrlKeys, setPopup, setPopup, setTooltip, setTooltip
 
Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent
focus, getAllOnClickAttrs, getDraggable, getDroppable, getHeight, getLeft, getMoldSclass, getRealSclass, getRealStyleFlags, getSclass, getStyle, getTooltiptext, getTop, getZindex, getZIndex, redraw, setClass, setDraggable, setDroppable, setFocus, setHeight, setLeft, setMoldSclass, setSclass, setStyle, setTooltiptext, setTop, setZclass, setZindex, setZIndex
 
Methods inherited from class org.zkoss.zk.ui.AbstractComponent
addAnnotation, addAnnotation, addEventHandler, addEventListener, addForward, addForward, addForward, addForward, addMoved, addSharedAnnotationMap, addSharedEventHandlerMap, appendAsapAttr, appendAsapAttr, appendChild, applyProperties, beforeChildAdded, beforeChildRemoved, clone, containsVariable, detach, disableClientUpdate, equals, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotation, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttributes, getAttributes, getChildren, getCommand, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getExtraCtrl, getFellow, getFellowIfAny, getFellows, getFirstChild, getId, getLastChild, getListenerIterator, getMold, getMoldURI, getNamespace, getNextSibling, getPage, getParent, getPreviousSibling, getRoot, getSpaceOwner, getUuid, getVariable, hasFellow, insertBefore, invalidate, isAsapRequired, isChildable, isInvalidated, isListenerAvailable, isVisible, newChildren, onChildAdded, onChildRemoved, onDrawNewChild, onPageAttached, onPageDetached, onWrongValue, removeAttribute, removeAttribute, removeChild, removeEventListener, removeForward, removeForward, response, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setComponentDefinition, setId, setMold, setPage, setPageBefore, setParent, setVariable, setVisible, smartUpdate, smartUpdate, smartUpdate, smartUpdateDeferred, smartUpdateValues, toString, unsetVariable
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.zkoss.zul.impl.api.LabelImageElement
getHoverImage, getImage, getImageContent, setHoverImage, setHoverImageContent, setHoverImageContent, setImage, setImageContent, setImageContent
 
Methods inherited from interface org.zkoss.zul.impl.api.LabelElement
getLabel, setLabel
 
Methods inherited from interface org.zkoss.zul.impl.api.XulElement
getAction, getContext, getCtrlKeys, getPopup, getTooltip, setAction, setContext, setContext, setCtrlKeys, setPopup, setPopup, setTooltip, setTooltip
 
Methods inherited from interface org.zkoss.zk.ui.api.HtmlBasedComponent
focus, getHeight, getLeft, getSclass, getStyle, getTooltiptext, getTop, getZindex, getZIndex, setDraggable, setDroppable, setFocus, setHeight, setLeft, setSclass, setStyle, setTooltiptext, setTop, setZclass, setZindex, setZIndex
 
Methods inherited from interface org.zkoss.zk.ui.Component
addEventListener, addForward, addForward, addForward, addForward, appendChild, applyProperties, clone, containsVariable, detach, getAttribute, getAttribute, getAttributes, getAttributes, getChildren, getDefinition, getDesktop, getFellow, getFellowIfAny, getFellows, getFirstChild, getId, getLastChild, getListenerIterator, getMold, getNamespace, getNextSibling, getPage, getParent, getPreviousSibling, getRoot, getSpaceOwner, getUuid, getVariable, insertBefore, invalidate, isChildable, isInvalidated, isListenerAvailable, isVisible, redraw, removeAttribute, removeAttribute, removeChild, removeEventListener, removeForward, removeForward, setAttribute, setAttribute, setId, setMold, setPage, setPageBefore, setParent, setVariable, setVisible, unsetVariable
 

Constructor Detail

Treecell

public Treecell()

Treecell

public Treecell(java.lang.String label)

Treecell

public Treecell(java.lang.String label,
                java.lang.String src)
Method Detail

getTree

public Tree getTree()
Return the tree that owns this cell.


getTreeApi

public Tree getTreeApi()
Return the tree that owns this cell.

Specified by:
getTreeApi in interface Treecell
Since:
3.5.2

getRealStyle

protected java.lang.String getRealStyle()
Description copied from class: HtmlBasedComponent
Returns the real style that will be generated to client (when HtmlBasedComponent.getOuterAttrs() is called).

Default: this method will append width, height and others to HtmlBasedComponent.setStyle(java.lang.String) (never null).

Use HtmlBasedComponent.getRealStyleFlags() to control what attributes to exclude.

Overrides:
getRealStyle in class HtmlBasedComponent

getTreecol

public Treecol getTreecol()
Returns the tree col associated with this cell, or null if not available.


getTreecolApi

public Treecol getTreecolApi()
Returns the tree col associated with this cell, or null if not available.

Specified by:
getTreecolApi in interface Treecell
Since:
3.5.2

getColumnIndex

public int getColumnIndex()
Returns the column index of this cell, starting from 0.

Specified by:
getColumnIndex in interface Treecell

getMaxlength

public int getMaxlength()
Returns the maximal length for this cell, which is decided by the corresponding getTreecol()'s Treecol.getMaxlength().

Specified by:
getMaxlength in interface Treecell

getLevel

public int getLevel()
Returns the level this cell is. The root is level 0.

Specified by:
getLevel in interface Treecell

getSpan

public int getSpan()
Returns number of columns to span this cell. Default: 1.

Specified by:
getSpan in interface Treecell

setSpan

public void setSpan(int span)
Sets the number of columns to span this cell.

It is the same as the colspan attribute of HTML TD tag.

Specified by:
setSpan in interface Treecell

getColumnHtmlPrefix

public java.lang.String getColumnHtmlPrefix()
Returns the prefix of the first column (in HTML tags), null if this is not first column. Called only by treecell.jsp.

Used only for component template, not for application developers.


getColumnHtmlPostfix

public java.lang.String getColumnHtmlPostfix()
Returns the postfix of the first column (in HTML tags), null if this is not first column. Called only by treecell.jsp.


isLastChild

public static boolean isLastChild(Treeitem item)
Returns whether an item is the last visible child.


getZclass

public java.lang.String getZclass()
Description copied from class: HtmlBasedComponent
Returns the ZK Cascading Style class(es) for this component. It usually depends on the implementation of the mold (@{link #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.

Specified by:
getZclass in interface HtmlBasedComponent
Overrides:
getZclass in class HtmlBasedComponent
See Also:
HtmlBasedComponent.getSclass(), HtmlBasedComponent.getRealSclass()

getWidth

public java.lang.String getWidth()
Returns the width which the same as getTreecol()'s width.

Specified by:
getWidth in interface HtmlBasedComponent
Overrides:
getWidth in class HtmlBasedComponent

setWidth

public void setWidth(java.lang.String width)
Description copied from class: HtmlBasedComponent
Sets the width. If null, the best fit is used.

Specified by:
setWidth in interface HtmlBasedComponent
Overrides:
setWidth in class HtmlBasedComponent

getLabelAttrs

public java.lang.String getLabelAttrs()
Returns the attributes used by the embedded HTML LABEL tag. It returns text-relevant styles only.

Used only by component developer.


getOuterAttrs

public java.lang.String getOuterAttrs()
Description copied from class: HtmlBasedComponent
Returns the exterior attributes for generating the enclosing HTML tag; never return null.

Used only by component developers.

Default: Generates the tooltip text, style, sclass, draggable and droppable attribute if necessary. In other words, the corresponding attribute is generated if HtmlBasedComponent.getTooltiptext(), HtmlBasedComponent.getRealStyle(), HtmlBasedComponent.getSclass(), HtmlBasedComponent.getDraggable(), HtmlBasedComponent.getDroppable() are defined.

You have to call both HtmlBasedComponent.getOuterAttrs() and HtmlBasedComponent.getInnerAttrs() to generate complete attributes.

For simple components that all attributes are put on the outest HTML element, all you need is as follows.

<xx id="${self.uuid}"${self.outerAttrs}${self.innerAttrs}>

If you want to put attributes in a nested HTML element, you shall use the following pattern. Notice: if HtmlBasedComponent.getInnerAttrs() in a different tag, the tag must be named with "${self.uuid}!real".

<xx id="${self.uuid}"${self.outerAttrs}>
 <yy id="${self.uuid}!real"${self.innerAttrs}>...

Note: This class handles non-deferrable event listeners automatically. However, you have to invoke AbstractComponent.appendAsapAttr(java.lang.StringBuffer, java.lang.String) for each event the component handles in HtmlBasedComponent.getOuterAttrs() as follows.


        appendAsapAttr(sb, Events.ON_OPEN);
  appendAsapAttr(sb, Events.ON_CHANGE);

Theorectically, you could put any attributes in either HtmlBasedComponent.getInnerAttrs() or HtmlBasedComponent.getOuterAttrs(). However, zkau.js assumes all attributes are put at the outer one. If you want something different, you have to provide your own setAttr (refer to how checkbox is implemented).

Overrides:
getOuterAttrs in class LabelImageElement

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)


Copyright &copy; 2005-2009 Potix Corporation. All Rights Reserved. SourceForge.net Logo