Autopsy 4.22.1
Graphical digital forensics platform for The Sleuth Kit and other tools.
CollapseAction.java
Go to the documentation of this file.
1/*
2 * Autopsy Forensic Browser
3 *
4 * Copyright 2011-2014 Basis Technology Corp.
5 * Contact: carrier <at> sleuthkit <dot> org
6 *
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 */
19package org.sleuthkit.autopsy.directorytree;
20
21import java.awt.event.ActionEvent;
22import javax.swing.AbstractAction;
23import org.openide.explorer.ExplorerManager;
24import org.openide.explorer.view.BeanTreeView;
25import org.openide.nodes.Children;
26import org.openide.nodes.Node;
27
32class CollapseAction extends AbstractAction {
33
34 CollapseAction(String title) {
35 super(title);
36 }
37
38 @Override
39 public void actionPerformed(ActionEvent e) {
40 ExplorerManager em = DirectoryTreeTopComponent.findInstance().getExplorerManager();
41 Node[] selectedNode = em.getSelectedNodes();
42
43 // Collapse all
44 BeanTreeView tree = DirectoryTreeTopComponent.findInstance().getTree();
45 if (selectedNode.length != 0) {
46 collapseSelectedNode(tree, selectedNode[0]);
47 } else {
48 // If no node is selected, all the level-2 nodes (children of the
49 // root node) are collapsed.
50 for (Node childOfRoot : em.getRootContext().getChildren().getNodes()) {
51 collapseSelectedNode(tree, childOfRoot);
52 }
53 }
54 }
55
62 private void collapseSelectedNode(BeanTreeView tree, Node currentNode) {
63
64 Children c = currentNode.getChildren();
65
66 for (Node next : c.getNodes()) {
67 if (tree.isExpanded(next)) {
68 this.collapseSelectedNode(tree, next);
69 }
70 }
71
72 tree.collapseNode(currentNode);
73 }
74}

Copyright © 2012-2024 Sleuth Kit Labs. Generated on:
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.