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.detailview.DetailViewPane Class Reference

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

Classes

class  DetailViewSettingsPane
 

Public Member Functions

ObservableList< AggregateEventgetAggregatedEvents ()
 
 DetailViewPane (Pane partPane, Pane contextPane, Region spacer)
 
void setSelectionModel (MultipleSelectionModel< TreeItem< NavTreeNode >> selectionModel)
 
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

Boolean isTickBold (DateTime value)
 
Axis< AggregateEventgetYAxis ()
 
Axis< DateTime > getXAxis ()
 
double getTickSpacing ()
 
String getTickMarkLabel (DateTime value)
 
Task< Boolean > getUpdateTask ()
 
Effect getSelectionEffect ()
 
void applySelectionEffect (AggregateEventNode 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

ResourceBundle resources
 
URL location
 
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

void incrementScrollValue (int factor)
 
XYChart.Series< DateTime, AggregateEventgetSeries (final EventType et)
 

Private Attributes

MultipleSelectionModel< TreeItem< NavTreeNode > > treeSelectionModel
 
final DateAxis dateAxis = new DateAxis()
 
final Axis< AggregateEventverticalAxis = new EventAxis()
 
final Map< EventType, XYChart.Series< DateTime, AggregateEvent > > eventTypeToSeriesMap = new ConcurrentHashMap<>()
 
final ScrollBar vertScrollBar = new ScrollBar()
 
final Region region = new Region()
 
final ObservableList< AggregateEventaggregatedEvents = FXCollections.synchronizedObservableList(FXCollections.observableArrayList())
 
final ObservableList< AggregateEventNodehighlightedNodes = FXCollections.synchronizedObservableList(FXCollections.observableArrayList())
 

Static Private Attributes

static final Logger LOGGER = Logger.getLogger(CountsViewPane.class.getName())
 

Detailed Description

FXML Controller class for a EventDetailChart based implementation of a TimeLineView.

This class listens to changes in the assigned FilteredEventsModel and updates the internal EventDetailChart 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 clusterChart, dateAxis, EventTypeMap, and dataSets is all linked directly to the ClusterChart which must only be manipulated on the JavaFx thread (through Platform#runLater(java.lang.Runnable)

CountsChartPane#filteredEvents should encapsulate all needed synchronization internally.

TODO: refactor common code out of this class and CountsChartPane into AbstractVisualization

Definition at line 92 of file DetailViewPane.java.

Constructor & Destructor Documentation

org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.DetailViewPane ( 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.detailview.DetailViewPane.applySelectionEffect ( AggregateEventNode  c1,
Boolean  applied 
)
protected

Definition at line 353 of file DetailViewPane.java.

synchronized void org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.dispose ( )
inherited

Definition at line 181 of file AbstractVisualization.java.

ObservableList<AggregateEvent> org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.getAggregatedEvents ( )
ReadOnlyListProperty<N> org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.getSelectedNodes ( )
inherited
Effect org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.getSelectionEffect ( )
protected

Definition at line 348 of file DetailViewPane.java.

XYChart.Series<DateTime, AggregateEvent> org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.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 270 of file DetailViewPane.java.

References org.sleuthkit.autopsy.timeline.events.type.EventType.getDisplayName().

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.

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
String org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.getTickMarkLabel ( DateTime  value)
protected

Definition at line 259 of file DetailViewPane.java.

double org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.getTickSpacing ( )
protected

Definition at line 254 of file DetailViewPane.java.

Task<Boolean> org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.getUpdateTask ( )
protected
Axis<DateTime> org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.getXAxis ( )
protected

Definition at line 249 of file DetailViewPane.java.

Axis<AggregateEvent> org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.getYAxis ( )
protected

Definition at line 244 of file DetailViewPane.java.

void org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.incrementScrollValue ( int  factor)
private

Definition at line 219 of file DetailViewPane.java.

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.detailview.DetailViewPane.isTickBold ( DateTime  value)
protected

Definition at line 239 of file DetailViewPane.java.

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.

void org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.setSelectionModel ( MultipleSelectionModel< TreeItem< NavTreeNode >>  selectionModel)
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

final ObservableList<AggregateEvent> org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.aggregatedEvents = FXCollections.synchronizedObservableList(FXCollections.observableArrayList())
private
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 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 DateAxis org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.dateAxis = new DateAxis()
private

Definition at line 105 of file DetailViewPane.java.

final Map<EventType, XYChart.Series<DateTime, AggregateEvent> > org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.eventTypeToSeriesMap = new ConcurrentHashMap<>()
private

Definition at line 110 of file DetailViewPane.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.

final ObservableList<AggregateEventNode> org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.highlightedNodes = FXCollections.synchronizedObservableList(FXCollections.observableArrayList())
private

Definition at line 118 of file DetailViewPane.java.

InvalidationListener org.sleuthkit.autopsy.timeline.ui.AbstractVisualization< X, Y, N extends Node, >.invalidationListener
protectedinherited
URL org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.location
protected

Definition at line 102 of file DetailViewPane.java.

final Logger org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.LOGGER = Logger.getLogger(CountsViewPane.class.getName())
staticprivate

Definition at line 94 of file DetailViewPane.java.

final Region org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.region = new Region()
private

Definition at line 114 of file DetailViewPane.java.

ResourceBundle org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.resources
protected

Definition at line 99 of file DetailViewPane.java.

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
MultipleSelectionModel<TreeItem<NavTreeNode> > org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.treeSelectionModel
private

Definition at line 96 of file DetailViewPane.java.

final Axis<AggregateEvent> org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.verticalAxis = new EventAxis()
private

Definition at line 107 of file DetailViewPane.java.

final ScrollBar org.sleuthkit.autopsy.timeline.ui.detailview.DetailViewPane.vertScrollBar = new ScrollBar()
private

Definition at line 112 of file DetailViewPane.java.


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.