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

Inherits org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.

Classes

class  CountsUpdateTask
 
class  CountsViewSettingsPane
 
enum  ScaleType
 

Public Member Functions

 CountsViewPane (TimeLineController controller, Pane partPane, Pane contextPane, Region spacer)
 
final synchronized void dispose ()
 
ObservableList< NodeType > getSelectedNodes ()
 
void handleRefreshRequested (RefreshRequestedEvent event)
 
synchronized void layoutDateLabels ()
 
final synchronized void update ()
 

Static Public Member Functions

static Tooltip getDefaultTooltip ()
 

Protected Member Functions

void applySelectionEffect (Node c1, Boolean applied)
 
abstract void applySelectionEffect (NodeType node, Boolean applied)
 
final void createSeries ()
 
Effect getSelectionEffect ()
 
final XYChart.Series< X, Y > getSeries (final EventType et)
 
List< Node > getSettingsNodes ()
 
String getTickMarkLabel (String labelValueString)
 
abstract String getTickMarkLabel (X tickValue)
 
double getTickSpacing ()
 
Interval getTimeRange ()
 
Task< Boolean > getUpdateTask ()
 
CategoryAxis getXAxis ()
 
NumberAxis getYAxis ()
 
Boolean isTickBold (String value)
 
abstract Boolean isTickBold (X value)
 
void resetData ()
 
void setChartClickHandler ()
 

Protected Attributes

ChartType chart
 
final TimeLineController controller
 
final ObservableList< XYChart.Series< X, Y > > dataSeries = FXCollections.<XYChart.Series<X, Y>>observableArrayList()
 
final Map< EventType, XYChart.Series< X, Y > > eventTypeToSeriesMap = new HashMap<>()
 
final FilteredEventsModel filteredEvents
 
final SimpleBooleanProperty hasEvents = new SimpleBooleanProperty(true)
 
final ObservableList< NodeType > selectedNodes = FXCollections.observableArrayList()
 
List< Node > settingsNodes
 
final Region spacer
 

Private Attributes

final NumberAxis countAxis = new NumberAxis()
 
final CategoryAxis dateAxis = new CategoryAxis(FXCollections.<String>observableArrayList())
 
final SimpleObjectProperty< ScaleTypescale = new SimpleObjectProperty<>(ScaleType.LOGARITHMIC)
 

Static Private Attributes

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 DetailViewPane into AbstractVisualizationPane

Definition at line 77 of file CountsViewPane.java.

Constructor & Destructor Documentation

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

Member Function Documentation

void org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.applySelectionEffect ( Node  c1,
Boolean  applied 
)
protected
abstract void org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.applySelectionEffect ( NodeType  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
final void org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.createSeries ( )
protectedinherited
final synchronized void org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.dispose ( )
inherited
static Tooltip org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.getDefaultTooltip ( )
staticinherited
ObservableList<NodeType> org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.getSelectedNodes ( )
inherited

Definition at line 125 of file AbstractVisualizationPane.java.

Effect org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.getSelectionEffect ( )
protected
final XYChart.Series<X, Y> org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.getSeries ( final EventType  et)
protectedinherited
Parameters
etthe EventType to get the series for
Returns
a Series object to contain all the events with the given EventType

Definition at line 261 of file AbstractVisualizationPane.java.

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

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

Definition at line 139 of file AbstractVisualizationPane.java.

Referenced by org.sleuthkit.autopsy.timeline.ui.VisualizationPanel.setVisualization().

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

Definition at line 87 of file CountsViewPane.java.

abstract String org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType 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 147 of file CountsViewPane.java.

Interval org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.getTimeRange ( )
protectedinherited
Task<Boolean> org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.getUpdateTask ( )
protected

Definition at line 98 of file CountsViewPane.java.

CategoryAxis org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.getXAxis ( )
protected
NumberAxis org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.getYAxis ( )
protected
void org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.handleRefreshRequested ( RefreshRequestedEvent  event)
inherited

Definition at line 291 of file AbstractVisualizationPane.java.

Boolean org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.isTickBold ( String  value)
protected
abstract Boolean org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType 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
synchronized void org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType 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___________

Definition at line 312 of file AbstractVisualizationPane.java.

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

void org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.resetData ( )
protected
void org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.setChartClickHandler ( )
protectedinherited
final synchronized void org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.update ( )
inherited

update this visualization based on current state of zoom / filters. Primarily this invokes the background VisualizationUpdateTask returned by getUpdateTask(), which derived classes must implement.

TODO: replace this logic with a Service ? -jm

Definition at line 208 of file AbstractVisualizationPane.java.

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

Member Data Documentation

ChartType org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.chart
protectedinherited
final TimeLineController org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.controller
protectedinherited
final NumberAxis org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.countAxis = new NumberAxis()
private
final ObservableList<XYChart.Series<X, Y> > org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.dataSeries = FXCollections.<XYChart.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<X, Y> > org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.eventTypeToSeriesMap = new HashMap<>()
protectedinherited
final FilteredEventsModel org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.filteredEvents
protectedinherited
final SimpleBooleanProperty org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.hasEvents = new SimpleBooleanProperty(true)
protectedinherited
final Logger org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane.LOGGER = Logger.getLogger(CountsViewPane.class.getName())
staticprivate

Definition at line 79 of file CountsViewPane.java.

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

Definition at line 84 of file CountsViewPane.java.

final ObservableList<NodeType> org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.selectedNodes = FXCollections.observableArrayList()
protectedinherited
List<Node> org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.settingsNodes
protectedinherited

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

Definition at line 133 of file AbstractVisualizationPane.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.AbstractVisualizationPane< X, Y, NodeType extends Node, >.spacer
protectedinherited

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

Copyright © 2012-2015 Basis Technology. Generated on: Wed Apr 6 2016
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.