to.etc.domui.component.tree
Class TreeSelectionWindow<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.layout.FloatingWindow
                      extended by to.etc.domui.component.tree.TreeSelectionWindow<T>
All Implemented Interfaces:
java.lang.Iterable<NodeBase>, IModelBinding, ICellClicked<T>, INodeErrorDelegate, IDraggable, IDropTargetable

public class TreeSelectionWindow<T>
extends FloatingWindow
implements ICellClicked<T>

A popup window that shows a tree and lets the user select one entry from it. It shows a tree with the specified model, user controllable node content renderer. It adds a button bar with select and cancel buttons, and has setClicked() and setCancelClicked() handlers to handle selection events.

Author:
Frits Jalvingh Created on Dec 10, 2010

Constructor Summary
TreeSelectionWindow(boolean modal, java.lang.String txt, ITreeModel<T> model)
           
 
Method Summary
protected  void cancel()
           
 void cellClicked(NodeBase tr, T rowval)
          Internally called when tree node is clicked.
 void createContent()
          Create the floater.
 IClickBase<?> getCancelClicked()
           
 IClickBase<?> getClicked()
          Return the click handler for this node, or null if none is associated with it.
 INodeContentRenderer<T> getContentRenderer()
           
 T getSelected()
           
 boolean internalNeedClickHandler()
          Inhibit a Javascript clicked handler so we can override the clicked handler for selection.
protected  void select()
           
 void setCancelClicked(IClickBase<?> cancelClicked)
           
 void setClicked(IClickBase<?> clicked)
          Set a click handler for this node.
 void setContentRenderer(INodeContentRenderer<T> contentRenderer)
           
 void setSelected(T selected)
           
 
Methods inherited from class to.etc.domui.component.layout.FloatingWindow
close, closePressed, create, create, create, createTitleBar, getOnClose, getWindowTitle, isClosable, linkToPageModally, onAddedToPage, onRemoveFromPage, setClosable, setIcon, setOnClose, setWindowTitle
 
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, getComponentBundle, getCreateJS, getCssClass, getErrorDelegate, getErrorLocation, getMessage, getOnClickJS, getOnMouseDownJS, getPage, getParent, getParent, getParent, getSharedContext, getSpecialAttribute, getSpecialAttributeList, getTag, getTestID, getTitle, getUserObject, handleDrop, hasCssClass, hasError, internalGetOldParent, internalHasChangedAttributes, internalOnClicked, internalOnValueChanged, internalSetHasChangedAttributes, internalSetHasChangedAttributes, internalSetLogAllocations, internalSetTag, isBuilt, isFocusRequested, isStretchHeight, onBeforeFullRender, onForceRebuild, onHeaderContributors, onShelve, onUnshelve, refresh, remove, removeCssClass, renderJavascriptState, replaceWith, 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

TreeSelectionWindow

public TreeSelectionWindow(boolean modal,
                           java.lang.String txt,
                           @Nonnull
                           ITreeModel<T> model)
Method Detail

createContent

public void createContent()
                   throws java.lang.Exception
Description copied from class: FloatingWindow
Create the floater.

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

cancel

protected void cancel()
               throws java.lang.Exception
Throws:
java.lang.Exception

select

protected void select()
               throws java.lang.Exception
Throws:
java.lang.Exception

cellClicked

public final void cellClicked(NodeBase tr,
                              T rowval)
                       throws java.lang.Exception
Internally called when tree node is clicked. Handles selection events.

Specified by:
cellClicked in interface ICellClicked<T>
Throws:
java.lang.Exception
See Also:
ICellClicked.cellClicked(to.etc.domui.dom.html.NodeBase, java.lang.Object)

internalNeedClickHandler

public boolean internalNeedClickHandler()
Inhibit a Javascript clicked handler so we can override the clicked handler for selection.

Overrides:
internalNeedClickHandler in class NodeBase
Returns:

getSelected

public T getSelected()

setSelected

public void setSelected(T selected)

getClicked

public IClickBase<?> getClicked()
Description copied from class: NodeBase
Return the click handler for this node, or null if none is associated with it.

Overrides:
getClicked in class NodeBase
Returns:

setClicked

public void setClicked(IClickBase<?> clicked)
Description copied from class: NodeBase
Set a click handler for this node. This will be attached to the Javascript "onclick" handler for this node and will fire when the node is clicked.

Overrides:
setClicked in class NodeBase

getCancelClicked

public IClickBase<?> getCancelClicked()

setCancelClicked

public void setCancelClicked(IClickBase<?> cancelClicked)

getContentRenderer

public INodeContentRenderer<T> getContentRenderer()

setContentRenderer

public void setContentRenderer(INodeContentRenderer<T> contentRenderer)