Package com.google.gwt.user.client.ui
Class TreeItem
- java.lang.Object
-
- com.google.gwt.user.client.ui.UIObject
-
- com.google.gwt.user.client.ui.TreeItem
-
- All Implemented Interfaces:
HasSafeHtml,HasHTML,HasText,HasTreeItems,HasVisibility,IsTreeItem
public class TreeItem extends UIObject implements IsTreeItem, HasTreeItems, HasHTML, HasSafeHtml
An item that can be contained within aTree. Each tree item is assigned a unique DOM id in order to support ARIA. SeeAccessibilityfor more information.Example
public class TreeExample implements EntryPoint { @Override public void onModuleLoad() { // Create a tree with a few items in it. TreeItem root = new TreeItem(); root.setText("root"); root.addTextItem("item0"); root.addTextItem("item1"); root.addTextItem("item2"); // Add a CheckBox to the tree TreeItem item = new TreeItem(new CheckBox("item3")); root.addItem(item); Tree t = new Tree(); t.addItem(root); // Add it to the root panel. RootPanel.get().add(t); } }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTreeItem.TreeItemImplDeprecated.-
Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject
UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled
-
Nested classes/interfaces inherited from interface com.google.gwt.user.client.ui.HasTreeItems
HasTreeItems.ForIsWidget
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static intIMAGE_PAD-
Fields inherited from class com.google.gwt.user.client.ui.UIObject
DEBUG_ID_PREFIX, MISSING_ELEMENT_ERROR, SETELEMENT_TWICE_ERROR
-
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description TreeItemaddItem(SafeHtml itemHtml)Adds a child tree item containing the specified html.voidaddItem(IsTreeItem isItem)Adds another item as a child to this one.voidaddItem(TreeItem item)Adds another item as a child to this one.TreeItemaddItem(Widget widget)Adds a child tree item containing the specified widget.TreeItemaddTextItem(java.lang.String itemText)Adds a child tree item containing the specified text.(package private) voidaddTreeItems(java.util.List<TreeItem> accum)TreeItemasTreeItem()Returns theTreeItemaspect of the receiver.TreeItemgetChild(int index)Gets the child at the specified index.intgetChildCount()Gets the number of children contained in this item.intgetChildIndex(TreeItem child)Gets the index of the specified child item.(package private) java.util.ArrayList<TreeItem>getChildren()(package private) ElementgetContentElem()protected FocusablegetFocusable()Returns a suggestedFocusableinstance to use when this tree item is selected.protected HasFocusgetFocusableWidget()Deprecated.usegetFocusable()insteadjava.lang.StringgetHTML()Gets this object's contents as HTML.(package private) ElementgetImageElement()(package private) ElementgetImageHolderElement()TreeItemgetParentItem()Gets this item's parent.booleangetState()Gets whether this item's children are displayed.java.lang.StringgetText()Gets this object's text.java.lang.StringgetTitle()Gets the title associated with this object.TreegetTree()Gets the tree that contains this item.java.lang.ObjectgetUserObject()Gets the user-defined object associated with this item.WidgetgetWidget()Gets theWidgetassociated with this tree item.(package private) voidinitChildren()TreeIteminsertItem(int beforeIndex, SafeHtml itemHtml)Inserts a child tree item at the specified index containing the specified html.voidinsertItem(int beforeIndex, TreeItem item)Inserts an item as a child to this one.TreeIteminsertItem(int beforeIndex, Widget widget)Inserts a child tree item at the specified index containing the specified widget.TreeIteminsertTextItem(int beforeIndex, java.lang.String itemText)Inserts a child tree item at the specified index containing the specified text.(package private) booleanisFullNode()booleanisSelected()Determines whether this item is currently selected.(package private) voidmaybeRemoveItemFromParent(TreeItem item)Remove a tree item from its parent if it has one.protected voidonEnsureDebugId(java.lang.String baseID)Affected Elements: -content = The text orWidgetnext to the image. -child# = The child at the specified index.voidremove()Removes this item from its tree.voidremoveItem(IsTreeItem isItem)Removes one of this item's children.voidremoveItem(TreeItem item)Removes one of this item's children.voidremoveItems()Removes all of this item's children.voidsetHTML(SafeHtml html)Sets this object's contents via known-safe HTML.voidsetHTML(java.lang.String html)Sets this object's contents via HTML.(package private) voidsetParentItem(TreeItem parent)voidsetSelected(boolean selected)Selects or deselects this item.voidsetState(boolean open)Sets whether this item's children are displayed.voidsetState(boolean open, boolean fireEvents)Sets whether this item's children are displayed.voidsetText(java.lang.String text)Sets this object's text.voidsetTitle(java.lang.String title)Sets the title associated with this object.(package private) voidsetTree(Tree newTree)voidsetUserObject(java.lang.Object userObj)Sets the user-defined object associated with this item.voidsetWidget(Widget newWidget)Sets the current widget.(package private) voidupdateState(boolean animate, boolean updateTreeSelection)(package private) voidupdateStateRecursive()-
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, isVisible, isVisible, removeStyleDependentName, removeStyleName, replaceElement, resolvePotentialElement, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setVisible, setVisible, setWidth, sinkBitlessEvent, sinkEvents, toString, unsinkEvents
-
-
-
-
Field Detail
-
IMAGE_PAD
static final int IMAGE_PAD
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
TreeItem
public TreeItem()
Creates an empty tree item.
-
TreeItem
public TreeItem(SafeHtml html)
Constructs a tree item with the given HTML.- Parameters:
html- the item's HTML
-
TreeItem
public TreeItem(Widget widget)
Constructs a tree item with the givenWidget.- Parameters:
widget- the item's widget
-
TreeItem
TreeItem(boolean isRoot)
Creates an empty tree item.- Parameters:
isRoot- true if this item is the root of a tree
-
-
Method Detail
-
addItem
public TreeItem addItem(SafeHtml itemHtml)
Adds a child tree item containing the specified html.- Specified by:
addItemin interfaceHasTreeItems- Parameters:
itemHtml- the item's HTML- Returns:
- the item that was added
-
addItem
public void addItem(TreeItem item)
Adds another item as a child to this one.- Specified by:
addItemin interfaceHasTreeItems- Parameters:
item- the item to be added
-
addItem
public void addItem(IsTreeItem isItem)
Adds another item as a child to this one.- Specified by:
addItemin interfaceHasTreeItems- Parameters:
isItem- the wrapper of item to be added
-
addItem
public TreeItem addItem(Widget widget)
Adds a child tree item containing the specified widget.- Specified by:
addItemin interfaceHasTreeItems- Parameters:
widget- the widget to be added- Returns:
- the item that was added
-
addTextItem
public TreeItem addTextItem(java.lang.String itemText)
Adds a child tree item containing the specified text.- Specified by:
addTextItemin interfaceHasTreeItems- Parameters:
itemText- the text of the item to be added- Returns:
- the item that was added
-
asTreeItem
public TreeItem asTreeItem()
Description copied from interface:IsTreeItemReturns theTreeItemaspect of the receiver.- Specified by:
asTreeItemin interfaceIsTreeItem
-
getChild
public TreeItem getChild(int index)
Gets the child at the specified index.- Parameters:
index- the index to be retrieved- Returns:
- the item at that index
-
getChildCount
public int getChildCount()
Gets the number of children contained in this item.- Returns:
- this item's child count.
-
getChildIndex
public int getChildIndex(TreeItem child)
Gets the index of the specified child item.- Parameters:
child- the child item to be found- Returns:
- the child's index, or
-1if none is found
-
getHTML
public java.lang.String getHTML()
Description copied from interface:HasHTMLGets this object's contents as HTML.
-
getParentItem
public TreeItem getParentItem()
Gets this item's parent.- Returns:
- the parent item
-
getState
public boolean getState()
Gets whether this item's children are displayed.- Returns:
trueif the item is open
-
getText
public java.lang.String getText()
Description copied from interface:HasTextGets this object's text.
-
getTree
public final Tree getTree()
Gets the tree that contains this item.- Returns:
- the containing tree
-
getUserObject
public java.lang.Object getUserObject()
Gets the user-defined object associated with this item.- Returns:
- the item's user-defined object
-
getWidget
public Widget getWidget()
Gets theWidgetassociated with this tree item.- Returns:
- the widget
-
getTitle
public java.lang.String getTitle()
Description copied from class:UIObjectGets the title associated with this object. The title is the 'tool-tip' displayed to users when they hover over the object.
-
setTitle
public void setTitle(java.lang.String title)
Description copied from class:UIObjectSets the title associated with this object. The title is the 'tool-tip' displayed to users when they hover over the object.
-
insertItem
public TreeItem insertItem(int beforeIndex, SafeHtml itemHtml) throws java.lang.IndexOutOfBoundsException
Inserts a child tree item at the specified index containing the specified html.- Parameters:
beforeIndex- the index where the item will be inserteditemHtml- the item's HTML- Returns:
- the item that was added
- Throws:
java.lang.IndexOutOfBoundsException- if the index is out of range
-
insertItem
public void insertItem(int beforeIndex, TreeItem item) throws java.lang.IndexOutOfBoundsExceptionInserts an item as a child to this one.- Parameters:
beforeIndex- the index where the item will be inserteditem- the item to be added- Throws:
java.lang.IndexOutOfBoundsException- if the index is out of range
-
insertItem
public TreeItem insertItem(int beforeIndex, Widget widget) throws java.lang.IndexOutOfBoundsException
Inserts a child tree item at the specified index containing the specified widget.- Parameters:
beforeIndex- the index where the item will be insertedwidget- the widget to be added- Returns:
- the item that was added
- Throws:
java.lang.IndexOutOfBoundsException- if the index is out of range
-
insertTextItem
public TreeItem insertTextItem(int beforeIndex, java.lang.String itemText)
Inserts a child tree item at the specified index containing the specified text.- Parameters:
beforeIndex- the index where the item will be inserteditemText- the item's text- Returns:
- the item that was added
- Throws:
java.lang.IndexOutOfBoundsException- if the index is out of range
-
isSelected
public boolean isSelected()
Determines whether this item is currently selected.- Returns:
trueif it is selected
-
remove
public void remove()
Removes this item from its tree.
-
removeItem
public void removeItem(TreeItem item)
Removes one of this item's children.- Specified by:
removeItemin interfaceHasTreeItems- Parameters:
item- the item to be removed
-
removeItem
public void removeItem(IsTreeItem isItem)
Removes one of this item's children.- Specified by:
removeItemin interfaceHasTreeItems- Parameters:
isItem- the wrapper of item to be removed
-
removeItems
public void removeItems()
Removes all of this item's children.- Specified by:
removeItemsin interfaceHasTreeItems
-
setHTML
public void setHTML(java.lang.String html)
Description copied from interface:HasHTMLSets this object's contents via HTML. Use care when setting an object's HTML; it is an easy way to expose script-based security problems. Consider usingHasText.setText(String)whenever possible.
-
setHTML
public void setHTML(SafeHtml html)
Description copied from interface:HasSafeHtmlSets this object's contents via known-safe HTML.The object will behave exactly the same as when a widget's
HasHTML.setHTML(String)method is invoked; however theSafeHtmlpassed to this method observes the contract that it can be used in an HTML context without causing unsafe script execution. Thus, unlikeHasHTML.setHTML(String), using this method cannot result in Cross-Site Scripting security vulnerabilities.- Specified by:
setHTMLin interfaceHasSafeHtml- Parameters:
html- the object's new HTML, represented as aSafeHtmlobject
-
setSelected
public void setSelected(boolean selected)
Selects or deselects this item.- Parameters:
selected-trueto select the item,falseto deselect it
-
setState
public void setState(boolean open)
Sets whether this item's children are displayed.- Parameters:
open- whether the item is open
-
setState
public void setState(boolean open, boolean fireEvents)Sets whether this item's children are displayed.- Parameters:
open- whether the item is openfireEvents-trueto allow open/close events to be
-
setText
public void setText(java.lang.String text)
Description copied from interface:HasTextSets this object's text.
-
setUserObject
public void setUserObject(java.lang.Object userObj)
Sets the user-defined object associated with this item.- Parameters:
userObj- the item's user-defined object
-
setWidget
public void setWidget(Widget newWidget)
Sets the current widget. Any existing child widget will be removed.- Parameters:
newWidget- Widget to set
-
getFocusable
protected Focusable getFocusable()
Returns a suggestedFocusableinstance to use when this tree item is selected. The tree maintains focus if this method returns null. By default, if the tree item contains a focusable widget, that widget is returned. Note, theTreewill ignore this value if the user clicked on an input element such as a button or text area when selecting this item.- Returns:
- the focusable item
-
getFocusableWidget
@Deprecated protected HasFocus getFocusableWidget()
Deprecated.usegetFocusable()insteadReturns the widget, if any, that should be focused on if this TreeItem is selected.- Returns:
- widget to be focused.
-
onEnsureDebugId
protected void onEnsureDebugId(java.lang.String baseID)
Affected Elements:- -content = The text or
Widgetnext to the image. - -child# = The child at the specified index.
- Overrides:
onEnsureDebugIdin classUIObject- Parameters:
baseID- the base ID used by the main element- See Also:
UIObject.onEnsureDebugId(String)
- -content = The text or
-
addTreeItems
void addTreeItems(java.util.List<TreeItem> accum)
-
getChildren
java.util.ArrayList<TreeItem> getChildren()
-
getContentElem
Element getContentElem()
-
getImageElement
Element getImageElement()
-
getImageHolderElement
Element getImageHolderElement()
-
initChildren
void initChildren()
-
isFullNode
boolean isFullNode()
-
maybeRemoveItemFromParent
void maybeRemoveItemFromParent(TreeItem item)
Remove a tree item from its parent if it has one.- Parameters:
item- the tree item to remove from its parent
-
setParentItem
void setParentItem(TreeItem parent)
-
setTree
void setTree(Tree newTree)
-
updateState
void updateState(boolean animate, boolean updateTreeSelection)
-
updateStateRecursive
void updateStateRecursive()
-
-