Class Tree
-
- All Implemented Interfaces:
Buffered
,BufferedValidatable
,Container
,Container.Hierarchical
,Container.ItemSetChangeListener
,Container.ItemSetChangeNotifier
,Container.PropertySetChangeListener
,Container.PropertySetChangeNotifier
,Container.Viewer
,Property<Object>
,Property.Editor
,Property.ReadOnlyStatusChangeListener
,Property.ReadOnlyStatusChangeNotifier
,Property.ValueChangeListener
,Property.ValueChangeNotifier
,Property.Viewer
,Validatable
,Action.Container
,Action.ShortcutNotifier
,ConnectorEventListener
,ContextClickEvent.ContextClickNotifier
,DragSource
,DropTarget
,ItemClickEvent.ItemClickNotifier
,MethodEventSource
,ClientConnector
,Sizeable
,VariableOwner
,Connector
,Component
,Component.Focusable
,Field<Object>
,LegacyComponent
,Serializable
,EventListener
public class Tree extends AbstractSelect implements Container.Hierarchical, Action.Container, ItemClickEvent.ItemClickNotifier, DragSource, DropTarget
Tree component. A Tree can be used to select an item (or multiple items) from a hierarchical set of items.- Since:
- 3.0
- Author:
- Vaadin Ltd.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Tree.CollapseEvent
Collapse eventstatic interface
Tree.CollapseListener
Collapse event listener.static class
Tree.ExpandEvent
Event to fired when a node is expanded.static interface
Tree.ExpandListener
Expand event listener.static interface
Tree.ItemStyleGenerator
ItemStyleGenerator can be used to add custom styles to tree items.class
Tree.TargetInSubtree
An accept criterion that checks the parent node (or parent hierarchy) for the item identifier given in constructor.static class
Tree.TargetItemAllowsChildren
A criterion that acceptsTransferable
only directly on a tree node that can have children.static class
Tree.TreeContextClickEvent
ContextClickEvent for the Tree Component.static class
Tree.TreeDragMode
Supported drag modes for Tree.static class
Tree.TreeDropCriterion
Lazy loading accept criterion for Tree.class
Tree.TreeTargetDetails
ATargetDetails
implementation with Tree specific api.protected class
Tree.TreeTransferable
Concrete implementation ofDataBoundTransferable
for data transferred from a tree.-
Nested classes/interfaces inherited from class com.vaadin.ui.AbstractSelect
AbstractSelect.AbstractSelectTargetDetails, AbstractSelect.AcceptItem, AbstractSelect.CaptionChangeListener, AbstractSelect.DefaultNewItemHandler, AbstractSelect.Filtering, AbstractSelect.ItemCaptionMode, AbstractSelect.ItemDescriptionGenerator, AbstractSelect.NewItemHandler, AbstractSelect.TargetItemIs, AbstractSelect.VerticalLocationIs
-
Nested classes/interfaces inherited from class com.vaadin.ui.AbstractField
AbstractField.FocusShortcut, AbstractField.ReadOnlyStatusChangeEvent
-
Nested classes/interfaces inherited from interface com.vaadin.data.Buffered
Buffered.SourceException
-
Nested classes/interfaces inherited from interface com.vaadin.server.ClientConnector
ClientConnector.AttachEvent, ClientConnector.AttachListener, ClientConnector.ConnectorErrorEvent, ClientConnector.DetachEvent, ClientConnector.DetachListener
-
Nested classes/interfaces inherited from interface com.vaadin.ui.Component
Component.ErrorEvent, Component.Event, Component.Focusable, Component.Listener
-
Nested classes/interfaces inherited from interface com.vaadin.data.Container
Container.Editor, Container.Filter, Container.Filterable, Container.Hierarchical, Container.Indexed, Container.ItemSetChangeEvent, Container.ItemSetChangeListener, Container.ItemSetChangeNotifier, Container.Ordered, Container.PropertySetChangeEvent, Container.PropertySetChangeListener, Container.PropertySetChangeNotifier, Container.SimpleFilterable, Container.Sortable, Container.Viewer
-
Nested classes/interfaces inherited from interface com.vaadin.ui.Field
Field.ValueChangeEvent
-
Nested classes/interfaces inherited from interface com.vaadin.data.Property
Property.Editor, Property.ReadOnlyException, Property.ReadOnlyStatusChangeListener, Property.ReadOnlyStatusChangeNotifier, Property.Transactional<T>, Property.ValueChangeListener, Property.ValueChangeNotifier, Property.Viewer
-
Nested classes/interfaces inherited from interface com.vaadin.server.Sizeable
Sizeable.Unit
-
-
Field Summary
-
Fields inherited from class com.vaadin.ui.AbstractSelect
ITEM_CAPTION_MODE_EXPLICIT, ITEM_CAPTION_MODE_EXPLICIT_DEFAULTS_ID, ITEM_CAPTION_MODE_ICON_ONLY, ITEM_CAPTION_MODE_ID, ITEM_CAPTION_MODE_INDEX, ITEM_CAPTION_MODE_ITEM, ITEM_CAPTION_MODE_PROPERTY, itemIdMapper, items
-
Fields inherited from class com.vaadin.ui.AbstractComponent
DESIGN_ATTR_PLAIN_TEXT
-
Fields inherited from interface com.vaadin.server.Sizeable
SIZE_UNDEFINED, UNITS_CM, UNITS_EM, UNITS_EX, UNITS_INCH, UNITS_MM, UNITS_PERCENTAGE, UNITS_PICAS, UNITS_PIXELS, UNITS_POINTS
-
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addActionHandler(Action.Handler actionHandler)
Adds an action handler.void
addCollapseListener(Tree.CollapseListener listener)
Adds the collapse listener.void
addExpandListener(Tree.ExpandListener listener)
Adds the expand listener.void
addItemClickListener(ItemClickEvent.ItemClickListener listener)
Register a listener to handleItemClickEvent
s.void
addListener(ItemClickEvent.ItemClickListener listener)
Deprecated.As of 7.0, replaced byaddItemClickListener(ItemClickListener)
void
addListener(Tree.CollapseListener listener)
Deprecated.As of 7.0, replaced byaddCollapseListener(CollapseListener)
void
addListener(Tree.ExpandListener listener)
Deprecated.As of 7.0, replaced byaddExpandListener(ExpandListener)
boolean
areChildrenAllowed(Object itemId)
Tests if the Item with given ID can have any children.void
changeVariables(Object source, Map<String,Object> variables)
Invoked when the value of a variable has changed.boolean
collapseItem(Object itemId)
Collapses an item.boolean
collapseItemsRecursively(Object startItemId)
Collapses the items recursively.void
containerItemSetChange(Container.ItemSetChangeEvent event)
Lets the listener know a Containers Item set has changed.boolean
expandItem(Object itemId)
Expands an item.boolean
expandItemsRecursively(Object startItemId)
Expands the items recursively Expands all the children recursively starting from an item.protected void
fireCollapseEvent(Object itemId)
Emits collapse event.protected void
fireExpandEvent(Object itemId)
Emits the expand event.Collection<?>
getChildren(Object itemId)
Gets the IDs of all Items that are children of the specified Item.Tree.TreeDragMode
getDragMode()
DropHandler
getDropHandler()
AbstractSelect.ItemDescriptionGenerator
getItemDescriptionGenerator()
Get the item description generator which generates tooltips for tree itemsString
getItemIconAlternateText(Object itemId)
Return the alternate text of an icon in a tree item.Tree.ItemStyleGenerator
getItemStyleGenerator()
MultiSelectMode
getMultiselectMode()
Returns the mode the multiselect is in.Object
getParent(Object itemId)
Gets the ID of the parent Item of the specified Item.protected TreeState
getState()
Returns the shared state bean with information to be sent from the server to the client.Transferable
getTransferable(Map<String,Object> payload)
DragSource may convert data added by client side component to meaningful values for server side developer or add other data based on it.Collection<?>
getVisibleItemIds()
Gets the visible item ids.boolean
hasChildren(Object itemId)
Tests if the Item specified withitemId
has child Items.boolean
isExpanded(Object itemId)
Check is an item is expandedboolean
isHtmlContentAllowed()
Checks whether captions are interpreted as html or plain text.boolean
isRoot(Object itemId)
Tests if the Item specified withitemId
is a root Item.boolean
isSelectable()
Returns the current selectable state.void
markAsDirty()
Marks that this connector's state might have changed.void
paintContent(PaintTarget target)
Paints any needed component-specific things to the given UIDL stream.protected String
readItem(org.jsoup.nodes.Element node, Set<String> selected, DesignContext context)
Reads an Item from a design and inserts it into the data source.void
removeActionHandler(Action.Handler actionHandler)
Removes an action handler.void
removeAllActionHandlers()
Removes all action handlersvoid
removeCollapseListener(Tree.CollapseListener listener)
Removes the collapse listener.void
removeExpandListener(Tree.ExpandListener listener)
Removes the expand listener.boolean
removeItem(Object itemId)
Removes the Item identified byItemId
from the Container.void
removeItemClickListener(ItemClickEvent.ItemClickListener listener)
Removes an ItemClickListener.void
removeListener(ItemClickEvent.ItemClickListener listener)
Deprecated.As of 7.0, replaced byremoveItemClickListener(ItemClickListener)
void
removeListener(Tree.CollapseListener listener)
Deprecated.As of 7.0, replaced byremoveCollapseListener(CollapseListener)
void
removeListener(Tree.ExpandListener listener)
Deprecated.As of 7.0, replaced byremoveExpandListener(ExpandListener)
Collection<?>
rootItemIds()
Gets the IDs of all Items in the container that don't have a parent.boolean
setChildrenAllowed(Object itemId, boolean areChildrenAllowed)
Sets the given Item's capability to have children.void
setContainerDataSource(Container newDataSource)
Sets the Container that serves as the data source of the viewer.void
setDragMode(Tree.TreeDragMode dragMode)
Sets the drag mode that controls how Tree behaves as aDragSource
.void
setDropHandler(DropHandler dropHandler)
void
setHtmlContentAllowed(boolean htmlContentAllowed)
Sets whether html is allowed in the item captions.void
setItemDescriptionGenerator(AbstractSelect.ItemDescriptionGenerator generator)
Set the item description generator which generates tooltips for the tree itemsvoid
setItemIcon(Object itemId, Resource icon)
Sets the icon for an item.void
setItemIcon(Object itemId, Resource icon, String altText)
Sets the icon for an item.void
setItemIconAlternateText(Object itemId, String altText)
Set the alternate text for an item.void
setItemStyleGenerator(Tree.ItemStyleGenerator itemStyleGenerator)
Sets theTree.ItemStyleGenerator
to be used with this tree.void
setMultiselectMode(MultiSelectMode mode)
Sets the behavior of the multiselect modevoid
setNewItemsAllowed(boolean allowNewOptions)
Adding new items is not supported.void
setNullSelectionItemId(Object nullSelectionItemId)
Tree does not supportsetNullSelectionItemId
.boolean
setParent(Object itemId, Object newParentId)
Sets the parent of an Item.void
setSelectable(boolean selectable)
Sets the selectable state.Tree.TreeTargetDetails
translateDropTargetDetails(Map<String,Object> clientVariables)
Called before theDragAndDropEvent
is passed toDropHandler
.protected org.jsoup.nodes.Element
writeItem(org.jsoup.nodes.Element design, Object itemId, DesignContext context)
Recursively writes a data source Item and its children to a design.protected void
writeItems(org.jsoup.nodes.Element design, DesignContext context)
Recursively writes the root items and their children to a design.-
Methods inherited from class com.vaadin.ui.AbstractSelect
addContainerProperty, addItem, addItem, addItems, addItems, addItemSetChangeListener, addListener, addListener, addPropertySetChangeListener, attach, containerPropertySetChange, containsId, detach, fireItemSetChange, firePropertySetChange, getCaptionChangeListener, getContainerDataSource, getContainerProperty, getContainerPropertyIds, getItem, getItemCaption, getItemCaptionMode, getItemCaptionPropertyId, getItemIcon, getItemIconPropertyId, getItemIds, getListeners, getNewItemHandler, getNullSelectionItemId, getType, getType, getValue, isEmpty, isMultiSelect, isNewItemsAllowed, isNullSelectionAllowed, isSelected, paintItem, readDesign, readItems, removeAllItems, removeContainerProperty, removeItemSetChangeListener, removeListener, removeListener, removePropertySetChangeListener, sanitizeSelection, select, setItemCaption, setItemCaptionMode, setItemCaptionPropertyId, setItemIconPropertyId, setMultiSelect, setNewItemHandler, setNullSelectionAllowed, setValue, setValue, size, unselect, writeDesign
-
Methods inherited from class com.vaadin.ui.AbstractField
addListener, addListener, addReadOnlyStatusChangeListener, addValidator, addValueChangeListener, beforeClientResponse, clear, commit, discard, fireReadOnlyStatusChange, fireValueChange, focus, getConversionError, getConversionError, getConvertedValue, getConverter, getCurrentBufferedSourceException, getCustomAttributes, getErrorMessage, getInternalValue, getModelType, getPropertyDataSource, getRequiredError, getState, getTabIndex, getValidators, isBuffered, isImmediate, isInvalidAllowed, isInvalidCommitted, isModified, isReadOnly, isRequired, isValid, isValidationVisible, readOnlyStatusChange, removeAllValidators, removeListener, removeListener, removeReadOnlyStatusChangeListener, removeValidator, removeValueChangeListener, setBuffered, setConversionError, setConvertedValue, setConverter, setConverter, setCurrentBufferedSourceException, setInternalValue, setInvalidAllowed, setInvalidCommitted, setLocale, setPropertyDataSource, setReadOnly, setRequired, setRequiredError, setTabIndex, setValidationVisible, setValue, shouldHideErrors, toString, validate, validate, valueChange
-
Methods inherited from class com.vaadin.ui.AbstractComponent
addContextClickListener, addListener, addShortcutListener, addStyleName, findAncestor, fireComponentErrorEvent, fireComponentEvent, getActionManager, getCaption, getComponentError, getData, getDebugId, getDescription, getExplicitImmediateValue, getHeight, getHeightUnits, getIcon, getId, getLocale, getParent, getPrimaryStyleName, getStyleName, getWidth, getWidthUnits, isCaptionAsHtml, isConnectorEnabled, isEnabled, isOrHasAncestor, isResponsive, isVisible, removeContextClickListener, removeListener, removeShortcutListener, removeStyleName, setCaption, setCaptionAsHtml, setComponentError, setData, setDebugId, setDescription, setEnabled, setHeight, setHeight, setHeightUndefined, setIcon, setId, setImmediate, setParent, setPrimaryStyleName, setResponsive, setSizeFull, setSizeUndefined, setStyleName, setStyleName, setVisible, setWidth, setWidth, setWidthUndefined
-
Methods inherited from class com.vaadin.server.AbstractClientConnector
addAttachListener, addDetachListener, addExtension, addListener, addListener, addListener, addMethodInvocationToQueue, createState, encodeState, equals, fireEvent, getAllChildrenIterable, getConnectorId, getErrorHandler, getExtensions, getResource, getRpcManager, getRpcProxy, getSession, getStateType, getUI, handleConnectorRequest, hashCode, hasListeners, isAttached, isThis, markAsDirtyRecursive, registerRpc, registerRpc, removeAttachListener, removeDetachListener, removeExtension, removeListener, removeListener, removeListener, removeListener, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler, setResource
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.vaadin.event.Action.ShortcutNotifier
addShortcutListener, removeShortcutListener
-
Methods inherited from interface com.vaadin.server.ClientConnector
addAttachListener, addDetachListener, beforeClientResponse, detach, encodeState, getErrorHandler, getExtensions, getRpcManager, getStateType, handleConnectorRequest, isAttached, isConnectorEnabled, markAsDirtyRecursive, removeAttachListener, removeDetachListener, removeExtension, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler
-
Methods inherited from interface com.vaadin.ui.Component
addListener, addStyleName, attach, getCaption, getDescription, getIcon, getId, getLocale, getParent, getPrimaryStyleName, getStyleName, getUI, isEnabled, isReadOnly, isVisible, readDesign, removeListener, removeStyleName, setCaption, setEnabled, setIcon, setId, setParent, setPrimaryStyleName, setReadOnly, setStyleName, setVisible, writeDesign
-
Methods inherited from interface com.vaadin.shared.Connector
getConnectorId
-
Methods inherited from interface com.vaadin.data.Container
addContainerProperty, addItem, addItem, containsId, getContainerProperty, getContainerPropertyIds, getItem, getItemIds, getType, removeAllItems, removeContainerProperty, size
-
Methods inherited from interface com.vaadin.server.Sizeable
getHeight, getHeightUnits, getWidth, getWidthUnits, setHeight, setHeight, setHeightUndefined, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthUndefined
-
Methods inherited from interface com.vaadin.server.VariableOwner
isEnabled, isImmediate
-
-
-
-
Constructor Detail
-
Tree
public Tree()
Creates a new empty tree.
-
Tree
public Tree(String caption)
Creates a new empty tree with caption.- Parameters:
caption
-
-
-
Method Detail
-
setItemIcon
public void setItemIcon(Object itemId, Resource icon)
Description copied from class:AbstractSelect
Sets the icon for an item.- Overrides:
setItemIcon
in classAbstractSelect
- Parameters:
itemId
- the id of the item to be assigned an icon.icon
- the icon to use or null.
-
setItemIcon
public void setItemIcon(Object itemId, Resource icon, String altText)
Sets the icon for an item.- Parameters:
itemId
- the id of the item to be assigned an icon.icon
- the icon to use or null.altText
- the alternative text for the icon
-
setItemIconAlternateText
public void setItemIconAlternateText(Object itemId, String altText)
Set the alternate text for an item. Used when the item has an icon.- Parameters:
itemId
- the id of the item to be assigned an icon.altText
- the alternative text for the icon
-
getItemIconAlternateText
public String getItemIconAlternateText(Object itemId)
Return the alternate text of an icon in a tree item.- Parameters:
itemId
- Object with the ID of the item- Returns:
- String with the alternate text of the icon, or null when no icon was set
-
isExpanded
public boolean isExpanded(Object itemId)
Check is an item is expanded- Parameters:
itemId
- the item id.- Returns:
- true iff the item is expanded.
-
expandItem
public boolean expandItem(Object itemId)
Expands an item.- Parameters:
itemId
- the item id.- Returns:
- True iff the expand operation succeeded
-
markAsDirty
public void markAsDirty()
Description copied from interface:ClientConnector
Marks that this connector's state might have changed. When the framework is about to send new data to the client-side, it will runClientConnector.beforeClientResponse(boolean)
followed byClientConnector.encodeState()
for all connectors that are marked as dirty and send any updated state info to the client.- Specified by:
markAsDirty
in interfaceClientConnector
- Specified by:
markAsDirty
in interfaceLegacyComponent
- Overrides:
markAsDirty
in classAbstractClientConnector
- See Also:
ClientConnector.markAsDirty()
-
expandItemsRecursively
public boolean expandItemsRecursively(Object startItemId)
Expands the items recursively Expands all the children recursively starting from an item. Operation succeeds only if all expandable items are expanded.- Parameters:
startItemId
-- Returns:
- True iff the expand operation succeeded
-
collapseItem
public boolean collapseItem(Object itemId)
Collapses an item.- Parameters:
itemId
- the item id.- Returns:
- True iff the collapse operation succeeded
-
collapseItemsRecursively
public boolean collapseItemsRecursively(Object startItemId)
Collapses the items recursively. Collapse all the children recursively starting from an item. Operation succeeds only if all expandable items are collapsed.- Parameters:
startItemId
-- Returns:
- True iff the collapse operation succeeded
-
isSelectable
public boolean isSelectable()
Returns the current selectable state. Selectable determines if the a node can be selected on the client side. Selectable does not affectAbstractSelect.setValue(Object)
orAbstractSelect.select(Object)
.The tree is selectable by default.
- Returns:
- the current selectable state.
-
setSelectable
public void setSelectable(boolean selectable)
Sets the selectable state. Selectable determines if the a node can be selected on the client side. Selectable does not affectAbstractSelect.setValue(Object)
orAbstractSelect.select(Object)
.The tree is selectable by default.
- Parameters:
selectable
- The new selectable state.
-
setMultiselectMode
public void setMultiselectMode(MultiSelectMode mode)
Sets the behavior of the multiselect mode- Parameters:
mode
- The mode to set
-
getMultiselectMode
public MultiSelectMode getMultiselectMode()
Returns the mode the multiselect is in. The mode controls how multiselection can be done.- Returns:
- The mode
-
changeVariables
public void changeVariables(Object source, Map<String,Object> variables)
Description copied from class:AbstractSelect
Invoked when the value of a variable has changed.- Specified by:
changeVariables
in interfaceVariableOwner
- Overrides:
changeVariables
in classAbstractSelect
- Parameters:
source
- the Source of the variable change. This is the origin of the event. For example in Web Adapter this is the request.variables
- the Mapping from variable names to new variable values.- See Also:
AbstractComponent#changeVariables(java.lang.Object, java.util.Map)
-
paintContent
public void paintContent(PaintTarget target) throws PaintException
Paints any needed component-specific things to the given UIDL stream.- Specified by:
paintContent
in interfaceLegacyComponent
- Overrides:
paintContent
in classAbstractSelect
- Parameters:
target
- the Paint Event.- Throws:
PaintException
- if the paint operation failed.- See Also:
AbstractComponent#paintContent(PaintTarget)
-
areChildrenAllowed
public boolean areChildrenAllowed(Object itemId)
Tests if the Item with given ID can have any children.- Specified by:
areChildrenAllowed
in interfaceContainer.Hierarchical
- Parameters:
itemId
- ID of the Item in the container whose child capability is to be tested- Returns:
true
if the specified Item exists in the Container and it can have children,false
if it's not found from the container or it can't have children.- See Also:
Container.Hierarchical.areChildrenAllowed(Object)
-
getChildren
public Collection<?> getChildren(Object itemId)
Gets the IDs of all Items that are children of the specified Item.- Specified by:
getChildren
in interfaceContainer.Hierarchical
- Parameters:
itemId
- ID of the Item whose children the caller is interested in- Returns:
- An unmodifiable
collection
containing the IDs of all other Items that are children in the container hierarchy;null
if item does not have any children. - See Also:
Container.Hierarchical.getChildren(Object)
-
getParent
public Object getParent(Object itemId)
Gets the ID of the parent Item of the specified Item.- Specified by:
getParent
in interfaceContainer.Hierarchical
- Parameters:
itemId
- ID of the Item whose parent the caller wishes to find out.- Returns:
- the ID of the parent Item. Will be
null
if the specified Item is a root element. - See Also:
Container.Hierarchical.getParent(Object)
-
hasChildren
public boolean hasChildren(Object itemId)
Tests if the Item specified withitemId
has child Items.- Specified by:
hasChildren
in interfaceContainer.Hierarchical
- Parameters:
itemId
- ID of the Item to be tested- Returns:
true
if the specified Item has children,false
if not (is a leaf)- See Also:
Container.Hierarchical.hasChildren(Object)
-
isRoot
public boolean isRoot(Object itemId)
Tests if the Item specified withitemId
is a root Item.- Specified by:
isRoot
in interfaceContainer.Hierarchical
- Parameters:
itemId
- ID of the Item whose root status is to be tested- Returns:
true
if the specified Item is a root,false
if not- See Also:
Container.Hierarchical.isRoot(Object)
-
rootItemIds
public Collection<?> rootItemIds()
Gets the IDs of all Items in the container that don't have a parent.- Specified by:
rootItemIds
in interfaceContainer.Hierarchical
- Returns:
- An unmodifiable
collection
containing IDs of all root elements of the container - See Also:
Container.Hierarchical.rootItemIds()
-
setChildrenAllowed
public boolean setChildrenAllowed(Object itemId, boolean areChildrenAllowed)
Sets the given Item's capability to have children.- Specified by:
setChildrenAllowed
in interfaceContainer.Hierarchical
- Parameters:
itemId
- ID of the Item in the container whose child capability is to be setareChildrenAllowed
- boolean value specifying if the Item can have children or not- Returns:
true
if the operation succeeded,false
if not- See Also:
Container.Hierarchical.setChildrenAllowed(Object, boolean)
-
setParent
public boolean setParent(Object itemId, Object newParentId)
Description copied from interface:Container.Hierarchical
Sets the parent of an Item. The new parent item must exist and be able to have children. (
). It is also possible to detach a node from the hierarchy (and thus make it root) by setting the parentContainer.Hierarchical.areChildrenAllowed(Object)
== truenull
.This operation is optional.
- Specified by:
setParent
in interfaceContainer.Hierarchical
- Parameters:
itemId
- ID of the item to be set as the child of the Item identified withnewParentId
newParentId
- ID of the Item that's to be the new parent of the Item identified withitemId
- Returns:
true
if the operation succeeded,false
if not
-
setContainerDataSource
public void setContainerDataSource(Container newDataSource)
Sets the Container that serves as the data source of the viewer.- Specified by:
setContainerDataSource
in interfaceContainer.Viewer
- Overrides:
setContainerDataSource
in classAbstractSelect
- Parameters:
newDataSource
- the new data source.- See Also:
Container.Viewer.setContainerDataSource(Container)
-
containerItemSetChange
public void containerItemSetChange(Container.ItemSetChangeEvent event)
Description copied from class:AbstractSelect
Lets the listener know a Containers Item set has changed.- Specified by:
containerItemSetChange
in interfaceContainer.ItemSetChangeListener
- Overrides:
containerItemSetChange
in classAbstractSelect
- Parameters:
event
- change event text- See Also:
Container.ItemSetChangeListener.containerItemSetChange(Container.ItemSetChangeEvent)
-
addExpandListener
public void addExpandListener(Tree.ExpandListener listener)
Adds the expand listener.- Parameters:
listener
- the Listener to be added.
-
addListener
@Deprecated public void addListener(Tree.ExpandListener listener)
Deprecated.As of 7.0, replaced byaddExpandListener(ExpandListener)
-
removeExpandListener
public void removeExpandListener(Tree.ExpandListener listener)
Removes the expand listener.- Parameters:
listener
- the Listener to be removed.
-
removeListener
@Deprecated public void removeListener(Tree.ExpandListener listener)
Deprecated.As of 7.0, replaced byremoveExpandListener(ExpandListener)
-
fireExpandEvent
protected void fireExpandEvent(Object itemId)
Emits the expand event.- Parameters:
itemId
- the item id.
-
addCollapseListener
public void addCollapseListener(Tree.CollapseListener listener)
Adds the collapse listener.- Parameters:
listener
- the Listener to be added.
-
addListener
@Deprecated public void addListener(Tree.CollapseListener listener)
Deprecated.As of 7.0, replaced byaddCollapseListener(CollapseListener)
-
removeCollapseListener
public void removeCollapseListener(Tree.CollapseListener listener)
Removes the collapse listener.- Parameters:
listener
- the Listener to be removed.
-
removeListener
@Deprecated public void removeListener(Tree.CollapseListener listener)
Deprecated.As of 7.0, replaced byremoveCollapseListener(CollapseListener)
-
fireCollapseEvent
protected void fireCollapseEvent(Object itemId)
Emits collapse event.- Parameters:
itemId
- the item id.
-
addActionHandler
public void addActionHandler(Action.Handler actionHandler)
Adds an action handler.- Specified by:
addActionHandler
in interfaceAction.Container
- Parameters:
actionHandler
- the new handler to be added.- See Also:
Action.Container.addActionHandler(Action.Handler)
-
removeActionHandler
public void removeActionHandler(Action.Handler actionHandler)
Removes an action handler.- Specified by:
removeActionHandler
in interfaceAction.Container
- Parameters:
actionHandler
- the handler to be removed.- See Also:
Action.Container.removeActionHandler(Action.Handler)
-
removeAllActionHandlers
public void removeAllActionHandlers()
Removes all action handlers
-
getVisibleItemIds
public Collection<?> getVisibleItemIds()
Gets the visible item ids.- Overrides:
getVisibleItemIds
in classAbstractSelect
- See Also:
AbstractSelect.getVisibleItemIds()
-
setNullSelectionItemId
public void setNullSelectionItemId(Object nullSelectionItemId) throws UnsupportedOperationException
Tree does not supportsetNullSelectionItemId
.- Overrides:
setNullSelectionItemId
in classAbstractSelect
- Parameters:
nullSelectionItemId
- the nullSelectionItemId to set.- Throws:
UnsupportedOperationException
- See Also:
AbstractSelect.setNullSelectionItemId(java.lang.Object)
-
setNewItemsAllowed
public void setNewItemsAllowed(boolean allowNewOptions) throws UnsupportedOperationException
Adding new items is not supported.- Overrides:
setNewItemsAllowed
in classAbstractSelect
- Parameters:
allowNewOptions
- the New value of property allowNewOptions.- Throws:
UnsupportedOperationException
- if set to true.- See Also:
AbstractSelect.setNewItemsAllowed(boolean)
-
addItemClickListener
public void addItemClickListener(ItemClickEvent.ItemClickListener listener)
Description copied from interface:ItemClickEvent.ItemClickNotifier
Register a listener to handleItemClickEvent
s.- Specified by:
addItemClickListener
in interfaceItemClickEvent.ItemClickNotifier
- Parameters:
listener
- ItemClickListener to be registered
-
addListener
@Deprecated public void addListener(ItemClickEvent.ItemClickListener listener)
Deprecated.As of 7.0, replaced byaddItemClickListener(ItemClickListener)
- Specified by:
addListener
in interfaceItemClickEvent.ItemClickNotifier
-
removeItemClickListener
public void removeItemClickListener(ItemClickEvent.ItemClickListener listener)
Description copied from interface:ItemClickEvent.ItemClickNotifier
Removes an ItemClickListener.- Specified by:
removeItemClickListener
in interfaceItemClickEvent.ItemClickNotifier
- Parameters:
listener
- ItemClickListener to be removed
-
removeListener
@Deprecated public void removeListener(ItemClickEvent.ItemClickListener listener)
Deprecated.As of 7.0, replaced byremoveItemClickListener(ItemClickListener)
- Specified by:
removeListener
in interfaceItemClickEvent.ItemClickNotifier
-
setItemStyleGenerator
public void setItemStyleGenerator(Tree.ItemStyleGenerator itemStyleGenerator)
Sets theTree.ItemStyleGenerator
to be used with this tree.- Parameters:
itemStyleGenerator
- item style generator or null to remove generator
-
getItemStyleGenerator
public Tree.ItemStyleGenerator getItemStyleGenerator()
- Returns:
- the current
Tree.ItemStyleGenerator
for this tree. Null ifTree.ItemStyleGenerator
is not set.
-
removeItem
public boolean removeItem(Object itemId) throws UnsupportedOperationException
Description copied from interface:Container
Removes the Item identified byItemId
from the Container.Containers that support filtering should also allow removing an item that is currently filtered out.
This functionality is optional.
- Specified by:
removeItem
in interfaceContainer
- Specified by:
removeItem
in interfaceContainer.Hierarchical
- Overrides:
removeItem
in classAbstractSelect
- Parameters:
itemId
- ID of the Item to remove- Returns:
true
if the operation succeeded,false
if not- Throws:
UnsupportedOperationException
- if the container does not support removing individual items
-
getDropHandler
public DropHandler getDropHandler()
- Specified by:
getDropHandler
in interfaceDropTarget
- Returns:
- the drop hanler that will receive the dragged data or null if drops are not currently accepted
-
setDropHandler
public void setDropHandler(DropHandler dropHandler)
-
translateDropTargetDetails
public Tree.TreeTargetDetails translateDropTargetDetails(Map<String,Object> clientVariables)
Description copied from interface:DropTarget
Called before theDragAndDropEvent
is passed toDropHandler
. Implementation may for example translate the drop target details provided by the client side (drop target) to meaningful server side values. If null is returned the terminal implementation will automatically create aTargetDetails
with raw client side data.- Specified by:
translateDropTargetDetails
in interfaceDropTarget
- Parameters:
clientVariables
- data passed from the DropTargets client side counterpart.- Returns:
- A DropTargetDetails object with the translated data or null to use a default implementation.
- See Also:
DragSource.getTransferable(Map)
-
setDragMode
public void setDragMode(Tree.TreeDragMode dragMode)
Sets the drag mode that controls how Tree behaves as aDragSource
.- Parameters:
dragMode
-
-
getDragMode
public Tree.TreeDragMode getDragMode()
- Returns:
- the drag mode that controls how Tree behaves as a
DragSource
. - See Also:
Tree.TreeDragMode
-
getTransferable
public Transferable getTransferable(Map<String,Object> payload)
Description copied from interface:DragSource
DragSource may convert data added by client side component to meaningful values for server side developer or add other data based on it.For example Tree converts item identifiers to generated string keys for the client side. Vaadin developer don't and can't know anything about these generated keys, only about item identifiers. When tree node is dragged client puts that key to
Transferable
s client side counterpart. IngetTransferable(Map)
the key is converted back to item identifier that the server side developer can use.- Specified by:
getTransferable
in interfaceDragSource
- Parameters:
payload
- the data that client side initially included inTransferable
s client side counterpart.- Returns:
- the
Transferable
instance that will be passed toDropHandler
(and/orAcceptCriterion
)
-
setItemDescriptionGenerator
public void setItemDescriptionGenerator(AbstractSelect.ItemDescriptionGenerator generator)
Set the item description generator which generates tooltips for the tree items- Parameters:
generator
- The generator to use or null to disable
-
getItemDescriptionGenerator
public AbstractSelect.ItemDescriptionGenerator getItemDescriptionGenerator()
Get the item description generator which generates tooltips for tree items
-
readItem
protected String readItem(org.jsoup.nodes.Element node, Set<String> selected, DesignContext context)
Reads an Item from a design and inserts it into the data source. Recursively handles any children of the item as well.- Overrides:
readItem
in classAbstractSelect
- Parameters:
node
- an element representing the item (tree node).selected
- A set accumulating selected items. If the item that is read is marked as selected, its item id should be added to this set.context
- the DesignContext instance used in parsing- Returns:
- the item id of the new item
- Throws:
DesignException
- if the tag name of thenode
element is notnode
.- Since:
- 7.5.0
-
writeItems
protected void writeItems(org.jsoup.nodes.Element design, DesignContext context)
Recursively writes the root items and their children to a design.- Overrides:
writeItems
in classAbstractSelect
- Parameters:
design
- the element into which to insert the itemscontext
- the DesignContext instance used in writing- Since:
- 7.5.0
-
writeItem
protected org.jsoup.nodes.Element writeItem(org.jsoup.nodes.Element design, Object itemId, DesignContext context)
Recursively writes a data source Item and its children to a design.- Overrides:
writeItem
in classAbstractSelect
- Parameters:
design
- the element into which to insert the itemitemId
- the id of the item to writecontext
- the DesignContext instance used in writing- Returns:
- Since:
- 7.5.0
-
setHtmlContentAllowed
public void setHtmlContentAllowed(boolean htmlContentAllowed)
Sets whether html is allowed in the item captions. If set totrue
, the captions are passed to the browser as html and the developer is responsible for ensuring no harmful html is used. If set tofalse
, the content is passed to the browser as plain text. The default setting isfalse
- Parameters:
htmlContentAllowed
-true
if the captions are used as html,false
if used as plain text- Since:
- 7.6
-
isHtmlContentAllowed
public boolean isHtmlContentAllowed()
Checks whether captions are interpreted as html or plain text.- Returns:
true
if the captions are displayed as html,false
if displayed as plain text- Since:
- 7.6
- See Also:
setHtmlContentAllowed(boolean)
-
getState
protected TreeState getState()
Description copied from class:AbstractComponent
Returns the shared state bean with information to be sent from the server to the client. Subclasses should override this method and set any relevant fields of the state returned by super.getState().- Overrides:
getState
in classAbstractSelect
- Returns:
- updated component shared state
-
-