Autopsy  3.1
Graphical digital forensics platform for The Sleuth Kit and other tools.
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane Class Reference

Inherits org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.

Classes

class  BarClickHandler
 
class  CountsViewSettingsPane
 
enum  ScaleType
 

Public Member Functions

 CountsViewPane (Pane partPane, Pane contextPane, Region spacer)
 
ReadOnlyListProperty< N > getSelectedNodes ()
 
synchronized void update ()
 
synchronized void dispose ()
 
synchronized void setController (TimeLineController controller)
 
synchronized void setModel (FilteredEventsModel filteredEvents)
 
void setModel (final FilteredEventsModel filteredEvents)
 
synchronized void layoutDateLabels ()
 

Protected Member Functions

String getTickMarkLabel (String labelValueString)
 
Boolean isTickBold (String value)
 
Task< Boolean > getUpdateTask ()
 
NumberAxis getYAxis ()
 
CategoryAxis getXAxis ()
 
double getTickSpacing ()
 
Effect getSelectionEffect ()
 
void applySelectionEffect (Node c1, Boolean applied)
 
List< Node > getSettingsNodes ()
 
abstract Boolean isTickBold (X value)
 
abstract void applySelectionEffect (N node, Boolean applied)
 
abstract String getTickMarkLabel (X tickValue)
 
void setChartClickHandler ()
 

Protected Attributes

final SimpleBooleanProperty hasEvents = new SimpleBooleanProperty(true)
 
final ObservableList< BarChart.Series< X, Y > > dataSets = FXCollections.<BarChart.Series<X, Y>>observableArrayList()
 
chart
 
final Region spacer
 
TimeLineController controller
 
FilteredEventsModel filteredEvents
 
ReadOnlyListWrapper< N > selectedNodes = new ReadOnlyListWrapper<>(FXCollections.observableArrayList())
 
List< Node > settingsNodes
 
InvalidationListener invalidationListener
 

Private Member Functions

ContextMenu getContextMenu ()
 
XYChart.Series< String, Number > getSeries (final EventType et)
 

Private Attributes

final NumberAxis countAxis = new NumberAxis()
 
final CategoryAxis dateAxis = new CategoryAxis(FXCollections.<String>observableArrayList())
 
final SimpleObjectProperty< ScaleTypescale = new SimpleObjectProperty<>(ScaleType.LOGARITHMIC)
 
final Map< EventType, XYChart.Series< String, Number > > eventTypeMap = new ConcurrentHashMap<>()
 

Static Private Attributes

static final Effect SELECTED_NODE_EFFECT = new Lighting()
 
static final Logger LOGGER = Logger.getLogger(CountsViewPane.class.getName())
 

Detailed Description

FXML Controller class for a StackedBarChart<String,Number> based implementation of a TimeLineView.

This class listens to changes in the assigned FilteredEventsModel and updates the internal StackedBarChart to reflect the currently requested events.

This class captures input from the user in the form of mouse clicks on graph bars, and forwards them to the assigned TimeLineController *

Concurrency Policy: Access to the private members stackedBarChart, countAxis, dateAxis, EventTypeMap, and dataSets affects the stackedBarChart so they all must only be manipulated on the JavaFx thread (through Platform#runLater(java.lang.Runnable)

CountsChartPane#filteredEvents should encapsulate all need synchronization internally.

TODO: refactor common code out of this class and ClusterChartPane into AbstractChartView

Definition at line 94 of file CountsViewPane.java.

Constructor & Destructor Documentation

org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.CountsViewPane ( Pane  partPane,
Pane  contextPane,
Region  spacer 
)

Member Function Documentation

abstract void org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.applySelectionEffect ( node,
Boolean  applied 
)
abstractprotectedinherited

apply this visualization's 'selection effect' to the given node

Parameters
nodethe node to apply the 'effect' to
appliedtrue if the effect should be applied, false if the effect should
void org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.applySelectionEffect ( Node  c1,
Boolean  applied 
)
protected
synchronized void org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.dispose ( )
inherited

Definition at line 181 of file AbstractVisualization.java.

ContextMenu org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.getContextMenu ( )
private
ReadOnlyListProperty<N> org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.getSelectedNodes ( )
inherited
Effect org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.getSelectionEffect ( )
protected
XYChart.Series<String, Number> org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.getSeries ( final EventType  et)
private

NOTE: Because this method modifies data directly used by the chart, this method should only be called from JavaFX thread!

Parameters
etthe EventType to get the series for
Returns
a Series object to contain all the events with the given EventType

Definition at line 345 of file CountsViewPane.java.

References org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.dataSets, and org.sleuthkit.autopsy.timeline.events.type.EventType.getDisplayName().

Referenced by org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.getUpdateTask().

List<Node> org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.getSettingsNodes ( )
protectedinherited
Returns
the list of nodes containing settings widgets to insert into this visualization's header

Definition at line 105 of file AbstractVisualization.java.

String org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.getTickMarkLabel ( String  labelValueString)
protected

Definition at line 110 of file CountsViewPane.java.

abstract String org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.getTickMarkLabel ( tickValue)
abstractprotectedinherited
Parameters
tickValue
Returns
a String to use for a tick mark label given a tick value
double org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.getTickSpacing ( )
protected

Definition at line 318 of file CountsViewPane.java.

Task<Boolean> org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.getUpdateTask ( )
protected
CategoryAxis org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.getXAxis ( )
protected
NumberAxis org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.getYAxis ( )
protected
abstract Boolean org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.isTickBold ( value)
abstractprotectedinherited
Parameters
valuea value along this visualization's x axis
Returns
true if the tick label for the given value should be bold ( has relevant data), false* otherwise
Boolean org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.isTickBold ( String  value)
protected
synchronized void org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.layoutDateLabels ( )
inherited

iterate through the list of tick-marks building a two level structure of replacement tick marl labels. (Visually) upper level has most detailed/highest frequency part of date/time. Second level has rest of date/time grouped by unchanging part. eg:

october-30_october-31_september-01_september-02_september-03

becomes

_________30_________31___________01___________02___________03

_________october___________|_____________september___________

NOTE: This method should only be invoked on the JFX thread

Definition at line 247 of file AbstractVisualization.java.

Referenced by org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.CountsViewPane(), and org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.getUpdateTask().

void org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.setChartClickHandler ( )
protectedinherited
synchronized void org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.setController ( TimeLineController  controller)
inherited
void org.sleuthkit.autopsy.timeline.TimeLineView.setModel ( final FilteredEventsModel  filteredEvents)
inherited
synchronized void org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.setModel ( FilteredEventsModel  filteredEvents)
inherited

Definition at line 218 of file AbstractVisualization.java.

synchronized void org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.update ( )
inherited
  • update this visualization based on current state of zoom / filters.Primarily this invokes the background Task returned by getUpdateTask() which derived classes must implement.

Definition at line 155 of file AbstractVisualization.java.

Referenced by org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.CountsViewPane().

Member Data Documentation

C org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.chart
protectedinherited
TimeLineController org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.controller
protectedinherited
final NumberAxis org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.countAxis = new NumberAxis()
private
final ObservableList<BarChart.Series<X, Y> > org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.dataSets = FXCollections.<BarChart.Series<X, Y>>observableArrayList()
protectedinherited
final CategoryAxis org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.dateAxis = new CategoryAxis(FXCollections.<String>observableArrayList())
private
final Map<EventType, XYChart.Series<String, Number> > org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.eventTypeMap = new ConcurrentHashMap<>()
private

Definition at line 107 of file CountsViewPane.java.

FilteredEventsModel org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.filteredEvents
protectedinherited
final SimpleBooleanProperty org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.hasEvents = new SimpleBooleanProperty(true)
protectedinherited

Definition at line 73 of file AbstractVisualization.java.

InvalidationListener org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.invalidationListener
protectedinherited
final Logger org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.LOGGER = Logger.getLogger(CountsViewPane.class.getName())
staticprivate

Definition at line 98 of file CountsViewPane.java.

final SimpleObjectProperty<ScaleType> org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.scale = new SimpleObjectProperty<>(ScaleType.LOGARITHMIC)
private

Definition at line 104 of file CountsViewPane.java.

final Effect org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.SELECTED_NODE_EFFECT = new Lighting()
staticprivate
ReadOnlyListWrapper<N> org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.selectedNodes = new ReadOnlyListWrapper<>(FXCollections.observableArrayList())
protectedinherited
List<Node> org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.settingsNodes
protectedinherited

list of Nodes to insert into the toolbar. This should be set in an implementations constructor.

Definition at line 101 of file AbstractVisualization.java.

Referenced by org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.CountsViewPane(), and org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.DetailViewPane().

final Region org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.spacer
protectedinherited

The documentation for this class was generated from the following file:

Copyright © 2012-2015 Basis Technology. Generated on: Mon Oct 19 2015
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.