java.lang.Object
com.iamsoft.util.ui.javafx.TreeItemUtil
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> javafx.collections.ObservableList<javafx.scene.control.TreeItem<T>>
ancestorObservableList
(javafx.scene.control.TreeItem<T> pTreeItem) ObservableList starting with specified node and ending at root.static <T> boolean
childrenLoaded
(javafx.scene.control.TreeItem<T> pItem) If the specified item is a LazyTreeItem, determines whether its child elements are loaded.static <T> javafx.beans.property.ReadOnlyObjectProperty<Integer>
descendantCountProperty
(javafx.scene.control.TreeItem<T> pTreeItem) Property providing the count of argument node and all descendants.static <T> javafx.collections.ObservableList<javafx.scene.control.TreeItem<T>>
descendantObservableList
(javafx.scene.control.TreeItem<T> pTreeItem) static <T> javafx.collections.ObservableList<javafx.scene.control.TreeItem<T>>
descendantObservableList
(javafx.scene.control.TreeItem<T> pTreeItem, TreeItemUtil.StreamOrder pStreamOrder) List containing argument node and all descendants.static int
getDepth
(javafx.scene.control.TreeItem<?> pItem) static <T> String
Returns the path of the specified item, excluding root.static <T> javafx.scene.control.TreeItem<T>
getRoot
(javafx.scene.control.TreeItem<T> pItem) groupByParent
(Collection<javafx.scene.control.TreeItem<T>> pTreeItems) Group into lists of siblings.static boolean
isVisible
(javafx.scene.control.TreeItem<?> pTreeItem) Determines whether all ancestors are expanded.static <T> Iterator<javafx.scene.control.TreeItem<T>>
parentIterator
(javafx.scene.control.TreeItem<T> pTreeItem) Iterator from argument tree item up to and including root tree item.static <T> javafx.collections.ObservableList<javafx.scene.control.TreeItem<T>>
peekChildren
(javafx.scene.control.TreeItem<T> pItem) If the specified item is a LazyTreeItem, this method provides access to children without triggering child elements loading in case they are not loaded, yet.static <T> Stream<javafx.scene.control.TreeItem<T>>
peekStream
(javafx.scene.control.TreeItem<T> pItem) Stream containing specified tree item and all of its already loaded descendants.static <T> Stream<javafx.scene.control.TreeItem<T>>
peekStream
(javafx.scene.control.TreeItem<T> pItem, Predicate<javafx.scene.control.TreeItem<T>> pProcessDescendants) Stream containing specified tree item and all of its already loaded descendants.static <T> void
setupTreeItemSelection
(javafx.scene.control.TreeItem<T> pRoot, Function<javafx.scene.control.TreeItem<T>, javafx.beans.property.Property<Boolean>> pSelectionSupplier, boolean pLazySelection) static <T> javafx.scene.control.TreeItem<T>
snapshot
(javafx.scene.control.TreeItem<T> pTreeItem) Make copy of tree item with identical hierarchy.static <T> Stream<javafx.scene.control.TreeItem<T>>
visitorStream
(javafx.scene.control.TreeItem<T> pTreeItem) Stream containing specified tree item and all of its descendants.static <T> Stream<javafx.scene.control.TreeItem<T>>
visitorStream
(javafx.scene.control.TreeItem<T> pTreeItem, TreeItemUtil.StreamOrder pOrder) Stream containing specified tree item and all of its descendants.static <T> Stream<javafx.scene.control.TreeItem<T>>
visitorStream
(javafx.scene.control.TreeItem<T> pTreeItem, TreeItemUtil.StreamOrder pOrder, Predicate<javafx.scene.control.TreeItem<T>> pProcessDescendants) Stream containing specified tree item and all of its descendants.
-
Method Details
-
getDepth
public static int getDepth(javafx.scene.control.TreeItem<?> pItem) -
getRoot
public static <T> javafx.scene.control.TreeItem<T> getRoot(javafx.scene.control.TreeItem<T> pItem) -
visitorStream
public static <T> Stream<javafx.scene.control.TreeItem<T>> visitorStream(javafx.scene.control.TreeItem<T> pTreeItem) Stream containing specified tree item and all of its descendants. Depth-first visitor in TreeItemUtil.StreamOrder.ABDC order. -
visitorStream
public static <T> Stream<javafx.scene.control.TreeItem<T>> visitorStream(javafx.scene.control.TreeItem<T> pTreeItem, TreeItemUtil.StreamOrder pOrder) Stream containing specified tree item and all of its descendants. Depth-first visitor. -
visitorStream
public static <T> Stream<javafx.scene.control.TreeItem<T>> visitorStream(javafx.scene.control.TreeItem<T> pTreeItem, TreeItemUtil.StreamOrder pOrder, Predicate<javafx.scene.control.TreeItem<T>> pProcessDescendants) Stream containing specified tree item and all of its descendants. Depth-first visitor.- Parameters:
pProcessDescendants
- Specifies whether to process the descendants of a tree item.
-
ancestorObservableList
public static <T> javafx.collections.ObservableList<javafx.scene.control.TreeItem<T>> ancestorObservableList(javafx.scene.control.TreeItem<T> pTreeItem) ObservableList starting with specified node and ending at root. -
descendantObservableList
public static <T> javafx.collections.ObservableList<javafx.scene.control.TreeItem<T>> descendantObservableList(javafx.scene.control.TreeItem<T> pTreeItem) -
descendantObservableList
public static <T> javafx.collections.ObservableList<javafx.scene.control.TreeItem<T>> descendantObservableList(javafx.scene.control.TreeItem<T> pTreeItem, TreeItemUtil.StreamOrder pStreamOrder) List containing argument node and all descendants. Automatically updated when children are added/removed. List is in TreeItemUtil.StreamOrder.ABDC order.- See Also:
-
descendantCountProperty
public static <T> javafx.beans.property.ReadOnlyObjectProperty<Integer> descendantCountProperty(javafx.scene.control.TreeItem<T> pTreeItem) Property providing the count of argument node and all descendants. Count changes are delayed to improve performance and to prevent too frequent updates. -
parentIterator
public static <T> Iterator<javafx.scene.control.TreeItem<T>> parentIterator(javafx.scene.control.TreeItem<T> pTreeItem) Iterator from argument tree item up to and including root tree item.- Parameters:
pTreeItem
- First item returned by iterator.- See Also:
-
TreeItem.getParent()
-
isVisible
public static boolean isVisible(javafx.scene.control.TreeItem<?> pTreeItem) Determines whether all ancestors are expanded.- Returns:
true
if all ancestors are expanded.
-
getPath
public static <T> String getPath(javafx.scene.control.TreeItem<T> pItem, Function<T, String> pToStringFunction) Returns the path of the specified item, excluding root. -
setupTreeItemSelection
-
peekStream
public static <T> Stream<javafx.scene.control.TreeItem<T>> peekStream(javafx.scene.control.TreeItem<T> pItem) Stream containing specified tree item and all of its already loaded descendants. -
peekStream
public static <T> Stream<javafx.scene.control.TreeItem<T>> peekStream(javafx.scene.control.TreeItem<T> pItem, Predicate<javafx.scene.control.TreeItem<T>> pProcessDescendants) Stream containing specified tree item and all of its already loaded descendants.- Parameters:
pProcessDescendants
- Specifies whether to process the descendants of a tree item.
-
childrenLoaded
public static <T> boolean childrenLoaded(javafx.scene.control.TreeItem<T> pItem) If the specified item is a LazyTreeItem, determines whether its child elements are loaded. Otherwise,true
is returned.- See Also:
-
peekChildren
public static <T> javafx.collections.ObservableList<javafx.scene.control.TreeItem<T>> peekChildren(javafx.scene.control.TreeItem<T> pItem) If the specified item is a LazyTreeItem, this method provides access to children without triggering child elements loading in case they are not loaded, yet.- See Also:
-
groupByParent
public static <T> Map<javafx.scene.control.TreeItem<T>,List<javafx.scene.control.TreeItem<T>>> groupByParent(Collection<javafx.scene.control.TreeItem<T>> pTreeItems) Group into lists of siblings. -
snapshot
public static <T> javafx.scene.control.TreeItem<T> snapshot(javafx.scene.control.TreeItem<T> pTreeItem) Make copy of tree item with identical hierarchy.
-