Autopsy
4.0
Graphical digital forensics platform for The Sleuth Kit and other tools.
|
Inherits XYChart< DateTime, EventStripe >, and org.sleuthkit.autopsy.timeline.ui.TimeLineChart< X >.
Classes | |
class | DetailIntervalSelector |
class | HideDescriptionAction |
class | PlaceMarkerAction |
class | SelectionChangeHandler |
class | UnhideDescriptionAction |
Public Member Functions | |
synchronized SimpleBooleanProperty | bandByTypeProperty () |
void | clearIntervalSelector () |
ContextMenu | getChartContextMenu () |
ContextMenu | getChartContextMenu (MouseEvent clickEvent) throws MissingResourceException |
TimeLineController | getController () |
DateTime | getDateTimeForPosition (double x) |
FilteredEventsModel | getFilteredEvents () |
IntervalSelector<?extends DateTime > | getIntervalSelector () |
Axis< X > | getXAxis () |
IntervalSelector< DateTime > | newIntervalSelector () |
void | setIntervalSelector (IntervalSelector<?extends X > newIntervalSelector) |
void | setIntervalSelector (IntervalSelector<?extends DateTime > newIntervalSelector) |
Static Public Member Functions | |
static ActionGroup | newZoomHistoyActionGroup (TimeLineController controller) |
Protected Member Functions | |
void | dataItemAdded (Series< DateTime, EventStripe > series, int itemIndex, Data< DateTime, EventStripe > item) |
void | dataItemChanged (Data< DateTime, EventStripe > item) |
void | dataItemRemoved (Data< DateTime, EventStripe > item, Series< DateTime, EventStripe > series) |
void | layoutPlotChildren () |
void | requestChartLayout () |
void | seriesAdded (Series< DateTime, EventStripe > series, int i) |
void | seriesRemoved (Series< DateTime, EventStripe > series) |
Private Member Functions | |
double | computeYTop (double yMin, double h, TreeRangeMap< Double, Double > maxXatY, double xLeft, double xRight) |
double | getParentXForEpochMillis (Long epochMillis) |
double | getXForEpochMillis (Long millis) |
void | layoutBundleHelper (final EventBundleNodeBase<?,?,?> bundleNode) |
void | layoutProjectionMap () |
Private Attributes | |
Set< String > | activeQuickHidefilters |
final SimpleBooleanProperty | bandByType = new SimpleBooleanProperty(false) |
ContextMenu | chartContextMenu |
final TimeLineController | controller |
double | descriptionWidth |
final SimpleObjectProperty< DescriptionVisibility > | descrVisibility |
final ObservableList< EventStripe > | eventStripes = FXCollections.observableArrayList() |
final FilteredEventsModel | filteredEvents |
Line | guideLine |
IntervalSelector<?extends DateTime > | intervalSelector |
final InvalidationListener | layoutInvalidationListener |
final ReadOnlyDoubleWrapper | maxY = new ReadOnlyDoubleWrapper(0.0) |
final Group | nodeGroup = new Group() |
final SimpleBooleanProperty | oneEventPerRow = new SimpleBooleanProperty(false) |
final Map< EventCluster, Line > | projectionMap = new ConcurrentHashMap<>() |
final ObservableList< EventStripeNode > | sortedStripeNodes = stripeNodes.sorted(Comparator.comparing(EventStripeNode::getStartMillis)) |
final ObservableList< EventStripeNode > | stripeNodes = FXCollections.observableArrayList() |
Static Private Attributes | |
static final Image | HIDE = new Image("/org/sleuthkit/autopsy/timeline/images/eye--minus.png") |
static final Image | MARKER = new Image("/org/sleuthkit/autopsy/timeline/images/marker.png", 16, 16, true, true, true) |
static final int | MINIMUM_EVENT_NODE_GAP = 4 |
static final int | MINIMUM_ROW_HEIGHT = 24 |
static final int | PROJECTED_LINE_STROKE_WIDTH = 5 |
static final int | PROJECTED_LINE_Y_OFFSET = 5 |
static final Image | SHOW = new Image("/org/sleuthkit/autopsy/timeline/images/eye--plus.png") |
static final String | styleSheet = GuideLine.class.getResource("EventsDetailsChart.css").toExternalForm() |
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.
NOTE: It was too hard to control the threading of this chart via the complicated default listeners. Instead clients should use null addDataItem(javafx.scene.chart.XYChart.Data) and removeDataItem(javafx.scene.chart.XYChart.Data) to add and remove data.
//TODO: refactor the projected lines to a separate class. -jm
Definition at line 97 of file EventDetailsChart.java.
synchronized SimpleBooleanProperty org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.bandByTypeProperty | ( | ) |
Definition at line 279 of file EventDetailsChart.java.
References org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.bandByType.
void org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.clearIntervalSelector | ( | ) |
clear any references to previous interval selectors , including removing the interval selector from the ui / scene-graph
Implements org.sleuthkit.autopsy.timeline.ui.TimeLineChart< X >.
Definition at line 274 of file EventDetailsChart.java.
References org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.intervalSelector.
|
private |
Given information about the current layout pass so far and about a particular node, compute the y position of that node.
yMin | the smallest (towards the top of the screen) y position to consider |
h | the height of the node we are trying to position |
maxXatY | a map from y ranges to the max x within that range. NOTE: This map will be updated to include the node in question. |
xLeft | the left x-cord of the node to position |
xRight | the left x-cord of the node to position |
Definition at line 566 of file EventDetailsChart.java.
References org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.MINIMUM_EVENT_NODE_GAP, and org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.MINIMUM_ROW_HEIGHT.
|
protected |
series | |
itemIndex | |
item |
Definition at line 361 of file EventDetailsChart.java.
|
protected |
item |
Definition at line 381 of file EventDetailsChart.java.
|
protected |
item | |
series |
Definition at line 372 of file EventDetailsChart.java.
ContextMenu org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.getChartContextMenu | ( | ) |
Implements org.sleuthkit.autopsy.timeline.ui.TimeLineChart< X >.
Definition at line 119 of file EventDetailsChart.java.
References org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.chartContextMenu.
Referenced by org.sleuthkit.autopsy.timeline.ui.detailview.EventBundleNodeBase<,, >.ClickHandler.handle().
ContextMenu org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.getChartContextMenu | ( | MouseEvent | clickEvent | ) | throws MissingResourceException |
Implements org.sleuthkit.autopsy.timeline.ui.TimeLineChart< X >.
Definition at line 262 of file EventDetailsChart.java.
References org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.chartContextMenu, and org.sleuthkit.autopsy.timeline.ui.TimeLineChart< X >.newZoomHistoyActionGroup().
TimeLineController org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.getController | ( | ) |
Implements org.sleuthkit.autopsy.timeline.ui.TimeLineChart< X >.
Definition at line 257 of file EventDetailsChart.java.
References org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.controller.
Referenced by org.sleuthkit.autopsy.timeline.ui.detailview.EventBundleNodeBase< EventCluster, EventStripe, EventStripeNode >.EventBundleNodeBase(), org.sleuthkit.autopsy.timeline.ui.detailview.EventBundleNodeBase< EventCluster, EventStripe, EventStripeNode >.installTooltip(), org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.layoutPlotChildren(), and org.sleuthkit.autopsy.timeline.ui.detailview.EventClusterNode.loadSubBundles().
DateTime org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.getDateTimeForPosition | ( | double | x | ) |
get the DateTime along the x-axis that corresponds to the given x-coordinate in the coordinate system of this EventDetailsChart
x | a x-coordinate in the space of this EventDetailsChart |
Definition at line 301 of file EventDetailsChart.java.
References org.sleuthkit.autopsy.timeline.ui.TimeLineChart< X >.getXAxis().
FilteredEventsModel org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.getFilteredEvents | ( | ) |
Definition at line 642 of file EventDetailsChart.java.
References org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.filteredEvents.
IntervalSelector<? extends DateTime> org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.getIntervalSelector | ( | ) |
Implements org.sleuthkit.autopsy.timeline.ui.TimeLineChart< X >.
Definition at line 306 of file EventDetailsChart.java.
References org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.intervalSelector.
Referenced by org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.setIntervalSelector().
|
private |
Definition at line 622 of file EventDetailsChart.java.
References org.sleuthkit.autopsy.timeline.ui.TimeLineChart< X >.getXAxis(), and org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.getXForEpochMillis().
Referenced by org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.layoutProjectionMap().
|
inherited |
Referenced by org.sleuthkit.autopsy.timeline.ui.detailview.EventBundleNodeBase< EventCluster, EventStripe, EventStripeNode >.EventBundleNodeBase(), org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.getDateTimeForPosition(), org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.getParentXForEpochMillis(), org.sleuthkit.autopsy.timeline.ui.IntervalSelector< DateTime >.getValueForDisplay(), org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.getXForEpochMillis(), org.sleuthkit.autopsy.timeline.ui.detailview.EventClusterNode.layoutChildren(), and org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.layoutProjectionMap().
|
private |
Definition at line 617 of file EventDetailsChart.java.
References org.sleuthkit.autopsy.timeline.ui.TimeLineChart< X >.getXAxis().
Referenced by org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.getParentXForEpochMillis().
|
private |
Set layout paramaters on the given node and layout its children
bundleNode | the Node to layout |
descriptionWdith | the maximum width for the description text |
Definition at line 597 of file EventDetailsChart.java.
References org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.descriptionWidth, org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.descrVisibility, and org.sleuthkit.autopsy.timeline.ui.detailview.EventBundleNodeBase<,, >.layoutChildren().
|
protected |
Definition at line 422 of file EventDetailsChart.java.
References org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.activeQuickHidefilters, org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.bandByType, org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.descriptionWidth, org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.getController(), org.sleuthkit.autopsy.timeline.filters.DescriptionFilter.getDescription(), org.sleuthkit.autopsy.timeline.TimeLineController.getQuickHideFilters(), org.sleuthkit.autopsy.timeline.filters.AbstractFilter.isActive(), org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.layoutProjectionMap(), and org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.sortedStripeNodes.
|
private |
Definition at line 626 of file EventDetailsChart.java.
References org.sleuthkit.autopsy.timeline.datamodel.EventCluster.getEndMillis(), org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.getParentXForEpochMillis(), org.sleuthkit.autopsy.timeline.datamodel.EventCluster.getStartMillis(), org.sleuthkit.autopsy.timeline.ui.TimeLineChart< X >.getXAxis(), and org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.projectionMap.
Referenced by org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.layoutPlotChildren().
IntervalSelector<DateTime> org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.newIntervalSelector | ( | ) |
derived classes should implement this so as to supply an appropriate subclass of IntervalSelector
Implements org.sleuthkit.autopsy.timeline.ui.TimeLineChart< X >.
Definition at line 284 of file EventDetailsChart.java.
Referenced by org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.setIntervalSelector().
|
staticinherited |
Definition at line 154 of file TimeLineChart.java.
Referenced by org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.getChartContextMenu().
|
protected |
expose as protected
Definition at line 613 of file EventDetailsChart.java.
Referenced by org.sleuthkit.autopsy.timeline.ui.detailview.EventBundleNodeBase< EventCluster, EventStripe, EventStripeNode >.EventBundleNodeBase(), and org.sleuthkit.autopsy.timeline.ui.detailview.EventClusterNode.loadSubBundles().
|
protected |
series | |
i |
Definition at line 339 of file EventDetailsChart.java.
|
protected |
series |
Definition at line 349 of file EventDetailsChart.java.
|
inherited |
void org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.setIntervalSelector | ( | IntervalSelector<?extends DateTime > | newIntervalSelector | ) |
Definition at line 311 of file EventDetailsChart.java.
References org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.getIntervalSelector(), org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.intervalSelector, and org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.newIntervalSelector().
|
private |
Definition at line 114 of file EventDetailsChart.java.
Referenced by org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.layoutPlotChildren().
|
private |
true == layout each event type in its own band, false == mix all the events together during layout
Definition at line 165 of file EventDetailsChart.java.
Referenced by org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.bandByTypeProperty(), and org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.layoutPlotChildren().
|
private |
Definition at line 111 of file EventDetailsChart.java.
Referenced by org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.getChartContextMenu().
|
private |
Definition at line 108 of file EventDetailsChart.java.
Referenced by org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.getController(), and org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.SelectionChangeHandler.onChanged().
|
private |
Definition at line 116 of file EventDetailsChart.java.
Referenced by org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.layoutBundleHelper(), and org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.layoutPlotChildren().
|
private |
how much detail of the description to show in the ui
Definition at line 176 of file EventDetailsChart.java.
Referenced by org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.layoutBundleHelper().
|
private |
Definition at line 156 of file EventDetailsChart.java.
|
private |
Definition at line 109 of file EventDetailsChart.java.
Referenced by org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.getFilteredEvents().
|
private |
a user positionable vertical line to help compare events
Definition at line 127 of file EventDetailsChart.java.
|
staticprivate |
Definition at line 100 of file EventDetailsChart.java.
|
private |
Definition at line 134 of file EventDetailsChart.java.
Referenced by org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.clearIntervalSelector(), org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.getIntervalSelector(), and org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.setIntervalSelector().
|
private |
listener that triggers chart layout pass
Definition at line 139 of file EventDetailsChart.java.
|
staticprivate |
Definition at line 102 of file EventDetailsChart.java.
|
private |
the maximum y value used so far during the most recent layout pass
Definition at line 146 of file EventDetailsChart.java.
|
staticprivate |
Definition at line 105 of file EventDetailsChart.java.
Referenced by org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.computeYTop().
|
staticprivate |
Definition at line 106 of file EventDetailsChart.java.
Referenced by org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.computeYTop().
|
private |
the group that all event nodes are added to. This facilitates scrolling by allowing a single translation of this group.
Definition at line 153 of file EventDetailsChart.java.
|
private |
true == enforce that no two events can share the same 'row', leading to sparser but possibly clearer layout. false == put unrelated events in the same 'row', creating a denser more compact layout
Definition at line 171 of file EventDetailsChart.java.
|
staticprivate |
Definition at line 104 of file EventDetailsChart.java.
|
staticprivate |
Definition at line 103 of file EventDetailsChart.java.
Referenced by org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.SelectionChangeHandler.onChanged().
|
private |
|
staticprivate |
Definition at line 101 of file EventDetailsChart.java.
|
private |
Definition at line 158 of file EventDetailsChart.java.
Referenced by org.sleuthkit.autopsy.timeline.ui.detailview.EventDetailsChart.layoutPlotChildren().
|
private |
Definition at line 157 of file EventDetailsChart.java.
|
staticprivate |
Definition at line 99 of file EventDetailsChart.java.
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.