diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/AbstractDataResultViewer.java b/Core/src/org/sleuthkit/autopsy/corecomponents/AbstractDataResultViewer.java index 3f2b9cd727..4bd9aa5d96 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/AbstractDataResultViewer.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/AbstractDataResultViewer.java @@ -21,6 +21,7 @@ package org.sleuthkit.autopsy.corecomponents; import java.awt.Cursor; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; +import java.util.logging.Level; import javax.swing.JPanel; import org.openide.explorer.ExplorerManager; import org.openide.explorer.ExplorerManager.Provider; @@ -28,13 +29,22 @@ import org.openide.nodes.Node; import org.openide.util.Lookup; import org.sleuthkit.autopsy.corecomponentinterfaces.DataContent; import org.sleuthkit.autopsy.corecomponentinterfaces.DataResultViewer; +import org.sleuthkit.autopsy.coreutils.Logger; /** * Holds commonalities between all DataResultViewers */ public abstract class AbstractDataResultViewer extends JPanel implements DataResultViewer, Provider, PropertyChangeListener { + + private static final Logger logger = Logger.getLogger(AbstractDataResultViewer.class.getName()); + protected transient ExplorerManager em = new ExplorerManager(); + + public AbstractDataResultViewer() { + this.em.addPropertyChangeListener(this); + } + /** * Propagates changes in the current select node from the DataResultViewer * to the DataContentTopComponent @@ -72,6 +82,15 @@ public abstract class AbstractDataResultViewer extends JPanel implements this.setCursor(null); } } + + /* + else if (changed.equals(ExplorerManager.PROP_NODE_CHANGE) ) { + } + else if (changed.equals(ExplorerManager.PROP_EXPLORED_CONTEXT)) { + } + else if (changed.equals(ExplorerManager.PROP_ROOT_CONTEXT)) { + } + */ } /** diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java index f71660e9c8..d33fcee97d 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java @@ -50,8 +50,6 @@ import org.sleuthkit.autopsy.corecomponentinterfaces.DataResultViewer; */ @ServiceProvider(service = DataResultViewer.class) public class DataResultViewerTable extends AbstractDataResultViewer { - - private transient ExplorerManager em = new ExplorerManager(); private String firstColumnLabel = "Name"; private Set propertiesAcc = new LinkedHashSet(); private static final Logger logger = Logger.getLogger(DataResultViewerTable.class.getName()); @@ -67,8 +65,6 @@ public class DataResultViewerTable extends AbstractDataResultViewer { // don't show the root node ov.getOutline().setRootVisible(false); - - this.em.addPropertyChangeListener(this); } /** diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerThumbnail.java b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerThumbnail.java index 8516998cc1..6325b67b61 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerThumbnail.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerThumbnail.java @@ -21,6 +21,7 @@ package org.sleuthkit.autopsy.corecomponents; import java.awt.Color; import java.awt.Component; import java.awt.Cursor; +import java.awt.Graphics; import java.beans.PropertyVetoException; import java.io.IOException; import java.util.logging.Level; @@ -41,6 +42,7 @@ import org.sleuthkit.autopsy.corecomponentinterfaces.DataResultViewer; public class DataResultViewerThumbnail extends AbstractDataResultViewer { private transient ExplorerManager em = new ExplorerManager(); + private static final Logger logger = Logger.getLogger(DataResultViewerThumbnail.class.getName()); /** Creates new form DataResultViewerThumbnail */ public DataResultViewerThumbnail() { @@ -49,9 +51,22 @@ public class DataResultViewerThumbnail extends AbstractDataResultViewer { // only allow one item to be selected at a time ((IconView) thumbnailScrollPanel).setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - this.em.addPropertyChangeListener(this); + + } + + @Override + public void paint(Graphics g) { + super.paint(g); + //logger.log(Level.INFO, "PAINT()"); + } + + + + + + /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/ThumbnailViewChildren.java b/Core/src/org/sleuthkit/autopsy/corecomponents/ThumbnailViewChildren.java index 6c453ccce1..9787b9f689 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/ThumbnailViewChildren.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/ThumbnailViewChildren.java @@ -20,6 +20,7 @@ package org.sleuthkit.autopsy.corecomponents; import java.beans.PropertyChangeEvent; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.logging.Level; @@ -181,42 +182,6 @@ class ThumbnailViewChildren extends Children.Keys { setDisplayName(from + "-" + to); this.setIconBaseWithExtension("org/sleuthkit/autopsy/images/Folder-icon.png"); - - /** - this.addNodeListener(new NodeListener() { - - @Override - public void propertyChange(PropertyChangeEvent evt) { - logger.log(Level.INFO, "evt: " + evt.getPropertyName() + " " + evt.getOldValue() + " " + evt.getNewValue()); - } - - - @Override - public void childrenRemoved(NodeMemberEvent nme) { -logger.log(Level.INFO, "CHILDREN REMOVED"); - } - - - @Override - public void childrenReordered(NodeReorderEvent nre) { - - } - - @Override - public void nodeDestroyed(NodeEvent ne) { - logger.log(Level.INFO, "NODE DESTROYED"); - } - - - @Override - public void childrenAdded(NodeMemberEvent nme) { - - logger.log(Level.INFO, "CHILDREN ADDED, delta; " + nme.getDeltaIndices().length); - - } - - }); - */ } @@ -247,6 +212,8 @@ logger.log(Level.INFO, "CHILDREN REMOVED"); @Override protected void removeNotify() { super.removeNotify(); + + setKeys(new ArrayList()); } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/AbstractContentChildren.java b/Core/src/org/sleuthkit/autopsy/datamodel/AbstractContentChildren.java index c9c4e69f7c..16940e30c9 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/AbstractContentChildren.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/AbstractContentChildren.java @@ -58,12 +58,7 @@ abstract class AbstractContentChildren extends Keys { return new Node[]{((AutopsyVisitableItem) key).accept(createAutopsyNodeVisitor)}; } } - - @Override - abstract protected void addNotify(); - - @Override - abstract protected void removeNotify(); + /** diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ContentChildren.java b/Core/src/org/sleuthkit/autopsy/datamodel/ContentChildren.java index f3c183616c..cfb275e55d 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/ContentChildren.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/ContentChildren.java @@ -18,11 +18,10 @@ */ package org.sleuthkit.autopsy.datamodel; +import java.util.ArrayList; import java.util.Collections; import java.util.List; -import java.util.logging.Level; import org.sleuthkit.autopsy.coreutils.Logger; -import org.sleuthkit.autopsy.coreutils.StopWatch; import org.sleuthkit.datamodel.Content; /** @@ -43,6 +42,8 @@ class ContentChildren extends AbstractContentChildren { @Override protected void addNotify() { + super.addNotify(); + //TODO check global settings //if above limit, query and return subrange @@ -70,7 +71,8 @@ class ContentChildren extends AbstractContentChildren { @Override protected void removeNotify() { - setKeys(Collections.emptySet()); + super.removeNotify(); + setKeys(Collections.EMPTY_SET); } }