1 package org.sleuthkit.autopsy.timeline.ui.filtering;
3 import javafx.beans.Observable;
4 import javafx.collections.ListChangeListener;
5 import javafx.collections.MapChangeListener;
6 import javafx.collections.ObservableMap;
7 import javafx.scene.control.TreeItem;
28 expansionMap.addListener((MapChangeListener.Change<? extends String, ? extends Boolean> change) -> {
29 if (change.getKey() == f.getDisplayName()) {
30 setExpanded(expansionMap.get(change.getKey()));
34 if (expansionMap.get(f.getDisplayName()) != null) {
35 setExpanded(expansionMap.get(f.getDisplayName()));
38 expandedProperty().addListener((Observable observable) -> {
39 expansionMap.put(f.getDisplayName(), isExpanded());
42 if (f instanceof CompoundFilter<?>) {
43 CompoundFilter<?> compoundFilter = (CompoundFilter<?>) f;
45 for (Filter subFilter : compoundFilter.getSubFilters()) {
49 compoundFilter.getSubFilters().addListener((ListChangeListener.Change<? extends Filter> c) -> {
51 for (Filter subfFilter : c.getAddedSubList()) {
53 getChildren().add(new FilterTreeItem(subfFilter, expansionMap));
FilterTreeItem(Filter f, ObservableMap< String, Boolean > expansionMap)