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

Inherits org.sleuthkit.autopsy.timeline.ui.detailview.DetailsChartLane< Y extends TimeLineEvent >, and org.sleuthkit.autopsy.timeline.ui.ContextMenuProvider.

Public Member Functions

void clearContextMenu ()
 
ContextMenu getContextMenu (MouseEvent clickEvent)
 
TimeLineController getController ()
 
ObservableList< EventNodeBase<?> > getSelectedNodes ()
 
double layoutEventBundleNodes (final Collection<?extends EventNodeBase<?>> nodes, final double minY)
 
ReadOnlyDoubleProperty maxVScrollProperty ()
 
final void requestChartLayout ()
 
synchronized void setVScroll (double vScrollValue)
 

Protected Member Functions

void dataItemAdded (Series< DateTime, Y > series, int itemIndex, Data< DateTime, Y > item)
 
void dataItemChanged (Data< DateTime, Y > item)
 
void dataItemRemoved (Data< DateTime, Y > item, Series< DateTime, Y > series)
 
synchronized void layoutPlotChildren ()
 
void seriesAdded (Series< DateTime, Y > series, int seriesIndex)
 
void seriesRemoved (Series< DateTime, Y > series)
 

Private Member Functions

double getParentXForEpochMillis (Long epochMillis)
 

Private Attributes

final Map< EventCluster, Line > projectionMap = new ConcurrentHashMap<>()
 

Static Private Attributes

static final int PROJECTED_LINE_STROKE_WIDTH = 5
 
static final int PROJECTED_LINE_Y_OFFSET = 5
 

Detailed Description

Custom implementation of XYChart to graph events on a horizontal timeline.

The horizontal DateAxis controls the tick-marks and the horizontal layout of the nodes representing events. The vertical NumberAxis does nothing (although a custom implementation could help with the vertical layout?)

Series help organize events for the banding by event type, we could add a node to contain each band if we need a place for per band controls.

//TODO: refactor the projected lines to a separate class. -jm

Definition at line 46 of file PrimaryDetailsChartLane.java.

Member Function Documentation

void org.sleuthkit.autopsy.timeline.ui.detailview.DetailsChartLane< Y extends TimeLineEvent >.clearContextMenu ( )
inherited

Definition at line 102 of file DetailsChartLane.java.

void org.sleuthkit.autopsy.timeline.ui.detailview.DetailsChartLane< Y extends TimeLineEvent >.dataItemAdded ( Series< DateTime, Y >  series,
int  itemIndex,
Data< DateTime, Y >  item 
)
protectedinherited

Definition at line 281 of file DetailsChartLane.java.

void org.sleuthkit.autopsy.timeline.ui.detailview.DetailsChartLane< Y extends TimeLineEvent >.dataItemChanged ( Data< DateTime, Y >  item)
protectedinherited

Definition at line 291 of file DetailsChartLane.java.

void org.sleuthkit.autopsy.timeline.ui.detailview.DetailsChartLane< Y extends TimeLineEvent >.dataItemRemoved ( Data< DateTime, Y >  item,
Series< DateTime, Y >  series 
)
protectedinherited

Definition at line 286 of file DetailsChartLane.java.

ContextMenu org.sleuthkit.autopsy.timeline.ui.detailview.DetailsChartLane< Y extends TimeLineEvent >.getContextMenu ( MouseEvent  clickEvent)
inherited

Definition at line 107 of file DetailsChartLane.java.

TimeLineController org.sleuthkit.autopsy.timeline.ui.detailview.DetailsChartLane< Y extends TimeLineEvent >.getController ( )
inherited

Definition at line 148 of file DetailsChartLane.java.

double org.sleuthkit.autopsy.timeline.ui.detailview.PrimaryDetailsChartLane.getParentXForEpochMillis ( Long  epochMillis)
private

Definition at line 96 of file PrimaryDetailsChartLane.java.

ObservableList<EventNodeBase<?> > org.sleuthkit.autopsy.timeline.ui.detailview.DetailsChartLane< Y extends TimeLineEvent >.getSelectedNodes ( )
inherited

Definition at line 152 of file DetailsChartLane.java.

double org.sleuthkit.autopsy.timeline.ui.detailview.DetailsChartLane< Y extends TimeLineEvent >.layoutEventBundleNodes ( final Collection<?extends EventNodeBase<?>>  nodes,
final double  minY 
)
inherited

Layout the nodes in the given list, starting form the given minimum y coordinate via the following algorithm:

We start with a list of nodes (each representing an event) sorted by span start time of the underlying event

  • initialize empty map (maxXatY) from y-ranges to max used x-value
  • for each node:

– size the node based on its children (use this algorithm recursively)

– get the event's start position from the dateaxis

– to position node: check if maxXatY is to the left of the left x coord: if maxXatY is less than the left x coord, good, put the current node here, mark right x coord as maxXatY, go to next node ; if maxXatY is greater than the left x coord, increment y position, do check again until maxXatY less than left x coord.

Parameters
nodescollection of nodes to layout, sorted by event start time
minYthe minimum y coordinate to position the nodes at.
Returns
the maximum y coordinate used by any of the layed out nodes.

Definition at line 233 of file DetailsChartLane.java.

synchronized void org.sleuthkit.autopsy.timeline.ui.detailview.DetailsChartLane< Y extends TimeLineEvent >.layoutPlotChildren ( )
protectedinherited

Definition at line 124 of file DetailsChartLane.java.

ReadOnlyDoubleProperty org.sleuthkit.autopsy.timeline.ui.detailview.DetailsChartLane< Y extends TimeLineEvent >.maxVScrollProperty ( )
inherited

Definition at line 162 of file DetailsChartLane.java.

final void org.sleuthkit.autopsy.timeline.ui.detailview.DetailsChartLane< Y extends TimeLineEvent >.requestChartLayout ( )
inherited

Definition at line 270 of file DetailsChartLane.java.

void org.sleuthkit.autopsy.timeline.ui.detailview.DetailsChartLane< Y extends TimeLineEvent >.seriesAdded ( Series< DateTime, Y >  series,
int  seriesIndex 
)
protectedinherited

Definition at line 296 of file DetailsChartLane.java.

void org.sleuthkit.autopsy.timeline.ui.detailview.DetailsChartLane< Y extends TimeLineEvent >.seriesRemoved ( Series< DateTime, Y >  series)
protectedinherited

Definition at line 301 of file DetailsChartLane.java.

synchronized void org.sleuthkit.autopsy.timeline.ui.detailview.DetailsChartLane< Y extends TimeLineEvent >.setVScroll ( double  vScrollValue)
inherited

Definition at line 341 of file DetailsChartLane.java.

Member Data Documentation

final int org.sleuthkit.autopsy.timeline.ui.detailview.PrimaryDetailsChartLane.PROJECTED_LINE_STROKE_WIDTH = 5
staticprivate

Definition at line 49 of file PrimaryDetailsChartLane.java.

final int org.sleuthkit.autopsy.timeline.ui.detailview.PrimaryDetailsChartLane.PROJECTED_LINE_Y_OFFSET = 5
staticprivate

Definition at line 48 of file PrimaryDetailsChartLane.java.

final Map<EventCluster, Line> org.sleuthkit.autopsy.timeline.ui.detailview.PrimaryDetailsChartLane.projectionMap = new ConcurrentHashMap<>()
private

Definition at line 52 of file PrimaryDetailsChartLane.java.


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

Copyright © 2012-2016 Basis Technology. Generated on: Tue Jun 13 2017
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.