to.etc.domui.component.tree
Class Tree<T>

java.lang.Object
  extended by to.etc.domui.dom.css.CssBase
      extended by to.etc.domui.dom.html.NodeBase
          extended by to.etc.domui.dom.html.NodeContainer
              extended by to.etc.domui.dom.html.Div
                  extended by to.etc.domui.component.tree.Tree<T>
All Implemented Interfaces:
java.lang.Iterable<NodeBase>, IModelBinding, ITreeModelChangedListener<T>, INodeErrorDelegate, IDraggable, IDropTargetable
Direct Known Subclasses:
TreeSelect

public class Tree<T>
extends Div
implements ITreeModelChangedListener<T>


Constructor Summary
Tree()
           
Tree(ITreeModel<T> model)
           
 
Method Summary
protected  void cellClicked(TD cell, T value)
           
 void collapseNode(T item)
          Force the specified node to collapse.
 void createContent()
          Main initial renderer.
 void expandNode(T item)
          Force the specified node to expand.
 ICellClicked<?> getCellClicked()
           
 INodeContentRenderer<?> getContentRenderer()
           
 java.lang.Class<? extends INodeContentRenderer<?>> getContentRendererClass()
           
 boolean getExpandRoot()
           
 ITreeModel<T> getModel()
          Get the currently used model.
 INodePredicate<T> getNodeSelectablePredicate()
           
 PropertyMetaModel<?> getPropertyMetaModel()
           
 java.util.List<T> getTreePath(T item)
          Calculates a tree path for a given node, as a set of nodes that walk to the item.
 boolean isExpanded(T node)
          Returns T if this node is currently expanded (opened).
protected  boolean isSelectable(T node)
           
protected  boolean isSelected(T node)
           
 boolean isShowRoot()
           
protected  void markAsSelected(T node, boolean selected)
          Internal use: set or reset the 'selected' indication on the visible node.
 void setCellClicked(ICellClicked<?> cellClicked)
           
 void setContentRenderer(INodeContentRenderer<?> contentRenderer)
           
 void setContentRendererClass(java.lang.Class<? extends INodeContentRenderer<T>> contentRendererClass)
           
 void setExpandRoot(boolean x)
           
 void setModel(ITreeModel<T> model)
          Set a new model for this table.
 void setNodeSelectablePredicate(INodePredicate<T> nodeSelectablePredicate)
           
 void setPropertyMetaModel(PropertyMetaModel<?> propertyMetaModel)
           
 void setShowRoot(boolean showRoot)
           
 
Methods inherited from class to.etc.domui.dom.html.Div
afterCreateContent, componentHandleWebAction, fadeIn, fadeOut, getCustomUpdatesCallJS, getDragHandler, getDropBody, getDropHandler, getDropMode, getReturnPressed, setDragHandler, setDropBody, setDropHandler, setReturnPressed, slideDown, slideUp, tb, visit
 
Methods inherited from class to.etc.domui.dom.html.NodeContainer
add, add, add, addTable, canContain, delegateTo, findChildIndex, forceRebuild, getChild, getChildCount, getChildren, getDeepChild, getDeepChildren, getErrorFence, internalCheckNotDirty, internalClearDelta, internalClearDeltaFully, internalGetOldChildren, internalShelve, internalUnshelve, iterator, moveControlToModel, moveModelToControl, onRefresh, removeAllChildren, removeChild, removeChild, replaceChild, setControlsEnabled, setErrorFence, setErrorFence, setText, setValue
 
Methods inherited from class to.etc.domui.dom.html.NodeBase
$, acceptRequestParameter, addCssClass, addGlobalMessage, appendAfterMe, appendBeforeMe, appendCreateJS, appendJavascript, build, changed, clearFocusRequested, clearGlobalMessage, clearGlobalMessage, clearGlobalMessage, clearMessage, findComponentBundle, getActualID, getAllocationTracepoint, getClicked, getComponentBundle, getCreateJS, getCssClass, getErrorDelegate, getErrorLocation, getMessage, getOnClickJS, getOnMouseDownJS, getPage, getParent, getParent, getParent, getSharedContext, getSpecialAttribute, getSpecialAttributeList, getTag, getTestID, getTitle, getUserObject, handleDrop, hasCssClass, hasError, internalGetOldParent, internalHasChangedAttributes, internalNeedClickHandler, internalOnClicked, internalOnValueChanged, internalSetHasChangedAttributes, internalSetHasChangedAttributes, internalSetLogAllocations, internalSetTag, isBuilt, isFocusRequested, isStretchHeight, onAddedToPage, onBeforeFullRender, onForceRebuild, onHeaderContributors, onRemoveFromPage, onShelve, onUnshelve, refresh, remove, removeCssClass, renderJavascriptState, replaceWith, setClicked, setComponentBundle, setCssClass, setErrorDelegate, setErrorLocation, setFocus, setMessage, setOnClickJS, setOnMouseDownJS, setSpecialAttribute, setStretchHeight, setTestID, setTitle, setUserObject, toString
 
Methods inherited from class to.etc.domui.dom.css.CssBase
getBackgroundAttachment, getBackgroundColor, getBackgroundImage, getBackgroundPosition, getBackgroundRepeat, getBorderBottomColor, getBorderBottomStyle, getBorderBottomWidth, getBorderLeftColor, getBorderLeftStyle, getBorderLeftWidth, getBorderRightColor, getBorderRightStyle, getBorderRightWidth, getBorderTopColor, getBorderTopStyle, getBorderTopWidth, getBottom, getCachedStyle, getClear, getColor, getDisplay, getFloat, getFontFamily, getFontSize, getFontSizeAdjust, getFontStyle, getFontVariant, getFontWeight, getHeight, getLeft, getLineHeight, getMarginBottom, getMarginLeft, getMarginRight, getMarginTop, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOverflow, getPosition, getRight, getTextAlign, getTop, getTransform, getVerticalAlign, getVisibility, getWidth, getZIndex, internalSetDisplay, setBackgroundAttachment, setBackgroundColor, setBackgroundImage, setBackgroundPosition, setBackgroundRepeat, setBorder, setBorder, setBorderBottomColor, setBorderBottomStyle, setBorderBottomWidth, setBorderColor, setBorderLeftColor, setBorderLeftStyle, setBorderLeftWidth, setBorderRightColor, setBorderRightStyle, setBorderRightWidth, setBorderStyle, setBorderTopColor, setBorderTopStyle, setBorderTopWidth, setBorderWidth, setBottom, setBottom, setCachedStyle, setClear, setColor, setDisplay, setFloat, setFontFamily, setFontSize, setFontSizeAdjust, setFontStyle, setFontVariant, setFontWeight, setHeight, setLeft, setLeft, setLineHeight, setMargin, setMarginBottom, setMarginLeft, setMarginRight, setMarginTop, setMaxHeight, setMaxWidth, setMinHeight, setMinWidth, setOverflow, setPosition, setRight, setRight, setTextAlign, setTop, setTop, setTransform, setVerticalAlign, setVisibility, setWidth, setZIndex
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Tree

public Tree()

Tree

public Tree(ITreeModel<T> model)
Method Detail

createContent

public void createContent()
                   throws java.lang.Exception
Main initial renderer.

Overrides:
createContent in class NodeBase
Throws:
java.lang.Exception
See Also:
NodeBase.createContent()

expandNode

public void expandNode(T item)
                throws java.lang.Exception
Force the specified node to expand. If the node is a leaf then the entire path up to that leaf is expanded. The inner logic is as follows:

Parameters:
item -
Throws:
java.lang.Exception

collapseNode

public void collapseNode(T item)
                  throws java.lang.Exception
Force the specified node to collapse. This also collapses all nodes after it, of course.

Parameters:
item -
Throws:
java.lang.Exception

getTreePath

public java.util.List<T> getTreePath(T item)
                              throws java.lang.Exception
Calculates a tree path for a given node, as a set of nodes that walk to the item. The root element is always the 1st element in the treepath

Parameters:
item -
Returns:
Throws:
java.lang.Exception

cellClicked

protected void cellClicked(TD cell,
                           T value)
                    throws java.lang.Exception
Throws:
java.lang.Exception

isExpanded

public boolean isExpanded(T node)
Returns T if this node is currently expanded (opened).

Parameters:
node -
Returns:

isSelectable

protected boolean isSelectable(T node)
                        throws java.lang.Exception
Throws:
java.lang.Exception

markAsSelected

protected void markAsSelected(T node,
                              boolean selected)
Internal use: set or reset the 'selected' indication on the visible node.

Parameters:
node -
selected -

isSelected

protected boolean isSelected(T node)

setModel

public void setModel(ITreeModel<T> model)
Set a new model for this table. This discards the entire presentation and causes a full build at render time.


setExpandRoot

public void setExpandRoot(boolean x)
                   throws java.lang.Exception
Throws:
java.lang.Exception

getExpandRoot

public boolean getExpandRoot()

getModel

public ITreeModel<T> getModel()
Get the currently used model.

Returns:

isShowRoot

public boolean isShowRoot()

setShowRoot

public void setShowRoot(boolean showRoot)

getContentRenderer

public INodeContentRenderer<?> getContentRenderer()

setContentRenderer

public void setContentRenderer(INodeContentRenderer<?> contentRenderer)

getContentRendererClass

public java.lang.Class<? extends INodeContentRenderer<?>> getContentRendererClass()

setContentRendererClass

public void setContentRendererClass(java.lang.Class<? extends INodeContentRenderer<T>> contentRendererClass)

getCellClicked

public ICellClicked<?> getCellClicked()

setCellClicked

public void setCellClicked(ICellClicked<?> cellClicked)

getPropertyMetaModel

public PropertyMetaModel<?> getPropertyMetaModel()

setPropertyMetaModel

public void setPropertyMetaModel(PropertyMetaModel<?> propertyMetaModel)

getNodeSelectablePredicate

public INodePredicate<T> getNodeSelectablePredicate()

setNodeSelectablePredicate

public void setNodeSelectablePredicate(INodePredicate<T> nodeSelectablePredicate)