com.vaadin.terminal.gwt.client.ui.tree
Class VTree

java.lang.Object
  extended by com.google.gwt.user.client.ui.UIObject
      extended by com.google.gwt.user.client.ui.Widget
          extended by com.google.gwt.user.client.ui.Panel
              extended by com.google.gwt.user.client.ui.SimplePanel
                  extended by com.vaadin.terminal.gwt.client.ui.SimpleFocusablePanel
                      extended by com.vaadin.terminal.gwt.client.ui.FocusElementPanel
                          extended by com.vaadin.terminal.gwt.client.ui.tree.VTree
All Implemented Interfaces:
com.google.gwt.event.dom.client.BlurHandler, com.google.gwt.event.dom.client.FocusHandler, com.google.gwt.event.dom.client.HasBlurHandlers, com.google.gwt.event.dom.client.HasFocusHandlers, com.google.gwt.event.dom.client.HasKeyDownHandlers, com.google.gwt.event.dom.client.HasKeyPressHandlers, com.google.gwt.event.dom.client.KeyDownHandler, com.google.gwt.event.dom.client.KeyPressHandler, com.google.gwt.event.logical.shared.HasAttachHandlers, com.google.gwt.event.shared.EventHandler, com.google.gwt.event.shared.HasHandlers, com.google.gwt.user.client.EventListener, com.google.gwt.user.client.ui.AcceptsOneWidget, com.google.gwt.user.client.ui.HasOneWidget, com.google.gwt.user.client.ui.HasVisibility, com.google.gwt.user.client.ui.HasWidgets, com.google.gwt.user.client.ui.HasWidgets.ForIsWidget, com.google.gwt.user.client.ui.IsWidget, Focusable, ActionOwner, VHasDropHandler, SubPartAware, Iterable<com.google.gwt.user.client.ui.Widget>

public class VTree
extends FocusElementPanel
implements VHasDropHandler, com.google.gwt.event.dom.client.FocusHandler, com.google.gwt.event.dom.client.BlurHandler, com.google.gwt.event.dom.client.KeyPressHandler, com.google.gwt.event.dom.client.KeyDownHandler, SubPartAware, ActionOwner


Nested Class Summary
 class VTree.TreeNode
           
 
Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject
com.google.gwt.user.client.ui.UIObject.DebugIdImpl, com.google.gwt.user.client.ui.UIObject.DebugIdImplEnabled
 
Nested classes/interfaces inherited from interface com.google.gwt.user.client.ui.HasWidgets
com.google.gwt.user.client.ui.HasWidgets.ForIsWidget
 
Field Summary
static String CLASSNAME
           
 VLazyExecutor iconLoaded
           
static String ITEM_CLICK_EVENT_ID
           
static int MULTISELECT_MODE_DEFAULT
          Click selects the current node, ctrl/shift toggles multi selection
static int MULTISELECT_MODE_SIMPLE
          Click/touch on node toggles its selected status
 
Fields inherited from class com.google.gwt.user.client.ui.UIObject
DEBUG_ID_PREFIX
 
Constructor Summary
VTree()
           
 
Method Summary
 void clearNodeToKeyMap()
           
 void deselectAll()
          Deselects all items in the tree
 String getActionCaption(String actionKey)
           
 String getActionIcon(String actionKey)
           
 Action[] getActions()
           
 ApplicationConnection getClient()
           
 VTree.TreeNode getCommonGrandParent(VTree.TreeNode node1, VTree.TreeNode node2)
          Returns the first common parent of two nodes
 VDropHandler getDropHandler()
           
protected  VTree.TreeNode getFirstRootNode()
          Returns the first root node of the tree or null if there are no root nodes.
protected  VTree.TreeNode getLastRootNode()
          Returns the last root node of the tree or null if there are no root nodes.
protected  int getNavigationDownKey()
          Get the key that moves the selection head downwards.
protected  int getNavigationEndKey()
          Get the key the moves the selection to the end of the table.
protected  int getNavigationLeftKey()
          Get the key that scrolls to the left in the table.
protected  int getNavigationPageDownKey()
          Get the key the moves the selection one page down in the table.
protected  int getNavigationPageUpKey()
          Get the key the moves the selection one page up in the table.
protected  int getNavigationRightKey()
          Get the key that scroll to the right on the table.
protected  int getNavigationSelectKey()
          Get the key that selects an item in the table.
protected  int getNavigationStartKey()
          Get the key the moves the selection to the beginning of the table.
protected  int getNavigationUpKey()
          Get the key that moves the selection head upwards.
 VTree.TreeNode getNodeByKey(String key)
           
 String getPaintableId()
           
protected  List<VTree.TreeNode> getRootNodes()
          Returns a list of all root nodes in the Tree in the order they appear in the tree.
 com.google.gwt.user.client.Element getSubPartElement(String subPart)
          Locates an element inside a component using the identifier provided in subPart.
 String getSubPartName(com.google.gwt.user.client.Element subElement)
          Provides an identifier that identifies the element within the component.
protected  boolean handleKeyNavigation(int keycode, boolean ctrl, boolean shift)
          Handles the keyboard navigation
 boolean isSelected(VTree.TreeNode treeNode)
          Is a node selected in the tree
 void onBlur(com.google.gwt.event.dom.client.BlurEvent event)
           
 void onBrowserEvent(com.google.gwt.user.client.Event event)
           
 void onFocus(com.google.gwt.event.dom.client.FocusEvent event)
           
 void onKeyDown(com.google.gwt.event.dom.client.KeyDownEvent event)
           
 void onKeyPress(com.google.gwt.event.dom.client.KeyPressEvent event)
           
 void registerAction(String key, String caption, String iconUrl)
           
 void registerNode(VTree.TreeNode treeNode)
           
 void setFocusedNode(VTree.TreeNode node)
          Focuses a node and scrolls it into view
 void setFocusedNode(VTree.TreeNode node, boolean scrollIntoView)
          Sets the node currently in focus
 void setSelected(VTree.TreeNode treeNode, boolean selected)
           
 
Methods inherited from class com.vaadin.terminal.gwt.client.ui.FocusElementPanel
getFocusElement, setFocus, setTabIndex, setWidget
 
Methods inherited from class com.vaadin.terminal.gwt.client.ui.SimpleFocusablePanel
addBlurHandler, addFocusHandler, addKeyDownHandler, addKeyPressHandler, addKeyUpHandler, focus
 
Methods inherited from class com.google.gwt.user.client.ui.SimplePanel
add, getContainerElement, getWidget, iterator, remove, setWidget
 
Methods inherited from class com.google.gwt.user.client.ui.Panel
add, adopt, adopt, clear, disown, doAttachChildren, doDetachChildren, orphan, remove
 
Methods inherited from class com.google.gwt.user.client.ui.Widget
addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, fireEvent, getHandlerCount, getLayoutData, getParent, isAttached, isOrWasAttached, onAttach, onDetach, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents
 
Methods inherited from class com.google.gwt.user.client.ui.UIObject
addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, sinkBitlessEvent, toString, unsinkEvents
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.google.gwt.event.shared.HasHandlers
fireEvent
 

Field Detail

CLASSNAME

public static final String CLASSNAME
See Also:
Constant Field Values

ITEM_CLICK_EVENT_ID

public static final String ITEM_CLICK_EVENT_ID
See Also:
Constant Field Values

MULTISELECT_MODE_DEFAULT

public static final int MULTISELECT_MODE_DEFAULT
Click selects the current node, ctrl/shift toggles multi selection

See Also:
Constant Field Values

MULTISELECT_MODE_SIMPLE

public static final int MULTISELECT_MODE_SIMPLE
Click/touch on node toggles its selected status

See Also:
Constant Field Values

iconLoaded

public VLazyExecutor iconLoaded
Constructor Detail

VTree

public VTree()
Method Detail

onBrowserEvent

public void onBrowserEvent(com.google.gwt.user.client.Event event)
Specified by:
onBrowserEvent in interface com.google.gwt.user.client.EventListener
Overrides:
onBrowserEvent in class com.google.gwt.user.client.ui.Widget

getActionCaption

public String getActionCaption(String actionKey)

getActionIcon

public String getActionIcon(String actionKey)

getFirstRootNode

protected VTree.TreeNode getFirstRootNode()
Returns the first root node of the tree or null if there are no root nodes.

Returns:
The first root VTree.TreeNode

getLastRootNode

protected VTree.TreeNode getLastRootNode()
Returns the last root node of the tree or null if there are no root nodes.

Returns:
The last root VTree.TreeNode

getRootNodes

protected List<VTree.TreeNode> getRootNodes()
Returns a list of all root nodes in the Tree in the order they appear in the tree.

Returns:
A list of all root VTree.TreeNodes.

setSelected

public void setSelected(VTree.TreeNode treeNode,
                        boolean selected)

isSelected

public boolean isSelected(VTree.TreeNode treeNode)
Is a node selected in the tree

Parameters:
treeNode - The node to check
Returns:

getDropHandler

public VDropHandler getDropHandler()
Specified by:
getDropHandler in interface VHasDropHandler

getNodeByKey

public VTree.TreeNode getNodeByKey(String key)

deselectAll

public void deselectAll()
Deselects all items in the tree


getCommonGrandParent

public VTree.TreeNode getCommonGrandParent(VTree.TreeNode node1,
                                           VTree.TreeNode node2)
Returns the first common parent of two nodes

Parameters:
node1 - The first node
node2 - The second node
Returns:
The common parent or null

setFocusedNode

public void setFocusedNode(VTree.TreeNode node,
                           boolean scrollIntoView)
Sets the node currently in focus

Parameters:
node - The node to focus or null to remove the focus completely
scrollIntoView - Scroll the node into view

setFocusedNode

public void setFocusedNode(VTree.TreeNode node)
Focuses a node and scrolls it into view

Parameters:
node - The node to focus

onFocus

public void onFocus(com.google.gwt.event.dom.client.FocusEvent event)
Specified by:
onFocus in interface com.google.gwt.event.dom.client.FocusHandler

onBlur

public void onBlur(com.google.gwt.event.dom.client.BlurEvent event)
Specified by:
onBlur in interface com.google.gwt.event.dom.client.BlurHandler

onKeyPress

public void onKeyPress(com.google.gwt.event.dom.client.KeyPressEvent event)
Specified by:
onKeyPress in interface com.google.gwt.event.dom.client.KeyPressHandler

onKeyDown

public void onKeyDown(com.google.gwt.event.dom.client.KeyDownEvent event)
Specified by:
onKeyDown in interface com.google.gwt.event.dom.client.KeyDownHandler

handleKeyNavigation

protected boolean handleKeyNavigation(int keycode,
                                      boolean ctrl,
                                      boolean shift)
Handles the keyboard navigation

Parameters:
keycode - The keycode of the pressed key
ctrl - Was ctrl pressed
shift - Was shift pressed
Returns:
Returns true if the key was handled, else false

getNavigationUpKey

protected int getNavigationUpKey()
Get the key that moves the selection head upwards. By default it is the up arrow key but by overriding this you can change the key to whatever you want.

Returns:
The keycode of the key

getNavigationDownKey

protected int getNavigationDownKey()
Get the key that moves the selection head downwards. By default it is the down arrow key but by overriding this you can change the key to whatever you want.

Returns:
The keycode of the key

getNavigationLeftKey

protected int getNavigationLeftKey()
Get the key that scrolls to the left in the table. By default it is the left arrow key but by overriding this you can change the key to whatever you want.

Returns:
The keycode of the key

getNavigationRightKey

protected int getNavigationRightKey()
Get the key that scroll to the right on the table. By default it is the right arrow key but by overriding this you can change the key to whatever you want.

Returns:
The keycode of the key

getNavigationSelectKey

protected int getNavigationSelectKey()
Get the key that selects an item in the table. By default it is the space bar key but by overriding this you can change the key to whatever you want.

Returns:

getNavigationPageUpKey

protected int getNavigationPageUpKey()
Get the key the moves the selection one page up in the table. By default this is the Page Up key but by overriding this you can change the key to whatever you want.

Returns:

getNavigationPageDownKey

protected int getNavigationPageDownKey()
Get the key the moves the selection one page down in the table. By default this is the Page Down key but by overriding this you can change the key to whatever you want.

Returns:

getNavigationStartKey

protected int getNavigationStartKey()
Get the key the moves the selection to the beginning of the table. By default this is the Home key but by overriding this you can change the key to whatever you want.

Returns:

getNavigationEndKey

protected int getNavigationEndKey()
Get the key the moves the selection to the end of the table. By default this is the End key but by overriding this you can change the key to whatever you want.

Returns:

getSubPartElement

public com.google.gwt.user.client.Element getSubPartElement(String subPart)
Description copied from interface: SubPartAware
Locates an element inside a component using the identifier provided in subPart. The subPart identifier is component specific and may be any string of characters, numbers, space characters and brackets.

Specified by:
getSubPartElement in interface SubPartAware
Parameters:
subPart - The identifier for the element inside the component
Returns:
The element identified by subPart or null if the element could not be found.

getSubPartName

public String getSubPartName(com.google.gwt.user.client.Element subElement)
Description copied from interface: SubPartAware
Provides an identifier that identifies the element within the component. The subElement is a part of the component and must never be null.

Note! getSubPartElement(getSubPartName(element)) == element is not always true. A component can choose to provide a more generic identifier for any given element if the results of all interactions with subElement are the same as interactions with the element identified by the return value. For example a button can return an identifier for the root element even though a DIV inside the button was passed as subElement because interactions with the DIV and the root button element produce the same result.

Specified by:
getSubPartName in interface SubPartAware
Parameters:
subElement - The element the identifier string should uniquely identify
Returns:
An identifier that uniquely identifies subElement or null if no identifier could be provided.

getActions

public Action[] getActions()
Specified by:
getActions in interface ActionOwner
Returns:
Array of IActions

getClient

public ApplicationConnection getClient()
Specified by:
getClient in interface ActionOwner

getPaintableId

public String getPaintableId()
Specified by:
getPaintableId in interface ActionOwner

registerAction

public void registerAction(String key,
                           String caption,
                           String iconUrl)

registerNode

public void registerNode(VTree.TreeNode treeNode)

clearNodeToKeyMap

public void clearNodeToKeyMap()


Copyright © 2000-2011 Vaadin Ltd. All Rights Reserved.