19 package org.sleuthkit.autopsy.timeline.ui.filtering;
21 import javafx.collections.ListChangeListener;
22 import javafx.collections.MapChangeListener;
23 import javafx.collections.ObservableMap;
24 import javafx.scene.control.TreeItem;
47 expansionMap.addListener((MapChangeListener.Change<? extends
Filter, ? extends Boolean> change) -> {
48 if (change.getKey().equals(filter)) {
49 setExpanded(expansionMap.get(change.getKey()));
53 if (expansionMap.containsKey(filter)) {
54 setExpanded(expansionMap.get(filter));
58 expandedProperty().addListener(expandedProperty -> expansionMap.put(filter, isExpanded()));
61 if (filter instanceof CompoundFilter<?>) {
62 final CompoundFilter<?> compoundFilter = (CompoundFilter<?>) filter;
65 compoundFilter.getSubFilters().forEach(subFilter -> getChildren().add(
new FilterTreeItem(subFilter, expansionMap)));
68 compoundFilter.getSubFilters().addListener((ListChangeListener.Change<? extends Filter> c) -> {
70 for (Filter subfFilter : c.getAddedSubList()) {
72 getChildren().add(new FilterTreeItem(subfFilter, expansionMap));
82 compoundFilter.activeProperty().addListener(activeProperty -> {
96 boolean inactive = compoundFilter.
isActive() ==
false;
97 compoundFilter.
getSubFilters().forEach(subFilter -> subFilter.setDisabled(inactive));
final ObservableList< SubFilterType > getSubFilters()
static void disableSubFiltersIfNotActive(CompoundFilter<?> compoundFilter)
FilterTreeItem(Filter filter, ObservableMap< Filter, Boolean > expansionMap)