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 Member Functions | Private Attributes | Static Private Attributes | List of all members
org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, > Class Template Referenceabstract

Inherits BorderPane.

Inherited by org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane, and org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.

Classes

class  TwoPartDateTime
 
class  VisualizationUpdateTask
 

Public Member Functions

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

 AbstractVisualizationPane (TimeLineController controller, Pane partPane, Pane contextPane, Region spacer)
 
abstract void applySelectionEffect (NodeType node, Boolean applied)
 
final void createSeries ()
 
abstract Effect getSelectionEffect ()
 
final XYChart.Series< X, Y > getSeries (final EventType et)
 
List< Node > getSettingsNodes ()
 
abstract String getTickMarkLabel (X tickValue)
 
abstract double getTickSpacing ()
 
Interval getTimeRange ()
 
abstract Task< Boolean > getUpdateTask ()
 
abstract Axis< X > getXAxis ()
 
abstract Axis< Y > getYAxis ()
 
abstract Boolean isTickBold (X value)
 
abstract 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 Member Functions

synchronized void assignBranchLabel (String labelText, double labelWidth, double labelX)
 
synchronized void assignLeafLabel (String labelText, double labelWidth, double labelX, boolean bold)
 

Private Attributes

final Pane branchPane
 
InvalidationListener invalidationListener
 
final Pane leafPane
 
Task< Boolean > updateTask
 

Static Private Attributes

static final Tooltip DEFAULT_TOOLTIP = new Tooltip(Bundle.AbstractVisualization_Default_Tooltip_text())
 
static final Logger LOGGER = Logger.getLogger(AbstractVisualizationPane.class.getName())
 

Detailed Description

Abstract base class for Chart based TimeLineViews used in the main visualization area.

Parameters
<X>the type of data plotted along the x axis
<Y>the type of data plotted along the y axis
<NodeType>the type of nodes used to represent data items
<ChartType>the type of the XYChart<X,Y> this class uses to plot the data.

TODO: this is becoming (too?) closely tied to the notion that their is a XYChart doing the rendering. Is this a good idea? -jm TODO: pull up common history context menu items out of derived classes? -jm

Definition at line 85 of file AbstractVisualizationPane.java.

Constructor & Destructor Documentation

org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.AbstractVisualizationPane ( TimeLineController  controller,
Pane  partPane,
Pane  contextPane,
Region  spacer 
)
protected

Definition at line 265 of file AbstractVisualizationPane.java.

Member Function Documentation

abstract void org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.applySelectionEffect ( NodeType  node,
Boolean  applied 
)
abstractprotected

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
synchronized void org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.assignBranchLabel ( String  labelText,
double  labelWidth,
double  labelX 
)
private

add a Label node to the branch container for the decluttered axis labels

Parameters
labelTextthe string to add
labelWidththe width of the space to use for the label
labelXthe horizontal position in the partPane of the text

Definition at line 428 of file AbstractVisualizationPane.java.

synchronized void org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.assignLeafLabel ( String  labelText,
double  labelWidth,
double  labelX,
boolean  bold 
)
private

add a Text node to the leaf container for the decluttered axis labels

Parameters
labelTextthe string to add
labelWidththe width of the space available for the text
labelXthe horizontal position in the partPane of the text
boldtrue if the text should be bold, false otherwise

Definition at line 398 of file AbstractVisualizationPane.java.

final void org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.createSeries ( )
protected
final synchronized void org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.dispose ( )
static Tooltip org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.getDefaultTooltip ( )
static
ObservableList<NodeType> org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.getSelectedNodes ( )

Definition at line 125 of file AbstractVisualizationPane.java.

abstract Effect org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.getSelectionEffect ( )
abstractprotected
Returns
return the Effect applied to 'selected nodes' in this visualization, or null if selection is visualized via another mechanism
final XYChart.Series<X, Y> org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.getSeries ( final EventType  et)
protected
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 ( )
protected
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().

abstract String org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.getTickMarkLabel ( tickValue)
abstractprotected
Parameters
tickValue
Returns
a String to use for a tick mark label given a tick value
abstract double org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.getTickSpacing ( )
abstractprotected

the spacing (in pixels) between tick marks of the horizontal axis. This will be used to layout the decluttered replacement labels.

Returns
the spacing in pixels between tick marks of the horizontal axis
Interval org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.getTimeRange ( )
protected
abstract Task<Boolean> org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.getUpdateTask ( )
abstractprotected
Returns
a task to execute on a background thread to reload this visualization with different data.

Referenced by org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< DateTime, EventStripe, EventBundleNodeBase<?,?,?>, EventDetailsChart >.update().

abstract Axis<X> org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.getXAxis ( )
abstractprotected
Returns
the horizontal axis used by this Visualization's chart
abstract Axis<Y> org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.getYAxis ( )
abstractprotected
Returns
the vertical axis used by this Visualization's chart
void org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.handleRefreshRequested ( RefreshRequestedEvent  event)

Definition at line 291 of file AbstractVisualizationPane.java.

abstract Boolean org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.isTickBold ( value)
abstractprotected
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 ( )

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().

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

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

final Pane org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.branchPane
private

Definition at line 107 of file AbstractVisualizationPane.java.

ChartType org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.chart
protected
final TimeLineController org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.controller
protected
final ObservableList<XYChart.Series<X, Y> > org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.dataSeries = FXCollections.<XYChart.Series<X, Y>>observableArrayList()
protected
final Tooltip org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.DEFAULT_TOOLTIP = new Tooltip(Bundle.AbstractVisualization_Default_Tooltip_text())
staticprivate
final Map<EventType, XYChart.Series<X, Y> > org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.eventTypeToSeriesMap = new HashMap<>()
protected
final FilteredEventsModel org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.filteredEvents
protected
final SimpleBooleanProperty org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.hasEvents = new SimpleBooleanProperty(true)
protected
InvalidationListener org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.invalidationListener
private
Initial value:
= (Observable observable) -> {
update();
}

Definition at line 121 of file AbstractVisualizationPane.java.

final Pane org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.leafPane
private

Definition at line 106 of file AbstractVisualizationPane.java.

final Logger org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.LOGGER = Logger.getLogger(AbstractVisualizationPane.class.getName())
staticprivate

Definition at line 89 of file AbstractVisualizationPane.java.

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

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
protected
Task<Boolean> org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane< X, Y, NodeType extends Node, >.updateTask
private

task used to reload the content of this visualization

Definition at line 113 of file AbstractVisualizationPane.java.


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.