From 2eb50ba784f9d06233164737e9f23c9a40f4b19d Mon Sep 17 00:00:00 2001 From: jmillman Date: Thu, 28 Apr 2016 16:53:22 -0400 Subject: [PATCH] begin moving axis nodes into AbstractVisualizationPane.java --- .../ui/AbstractVisualizationPane.java | 23 +++++++++----- .../timeline/ui/VisualizationPanel.java | 16 +++------- .../ui/countsview/CountsViewPane.java | 31 +++++++------------ .../ui/detailview/DetailViewPane.java | 20 ++++++------ 4 files changed, 41 insertions(+), 49 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/AbstractVisualizationPane.java b/Core/src/org/sleuthkit/autopsy/timeline/ui/AbstractVisualizationPane.java index ef29b563af..eddb04f56c 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/ui/AbstractVisualizationPane.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/ui/AbstractVisualizationPane.java @@ -29,6 +29,7 @@ import java.util.logging.Level; import javafx.application.Platform; import javafx.beans.InvalidationListener; import javafx.beans.Observable; +import javafx.beans.binding.DoubleBinding; import javafx.beans.property.SimpleBooleanProperty; import javafx.collections.FXCollections; import javafx.collections.ListChangeListener; @@ -46,9 +47,11 @@ import javafx.scene.control.OverrunStyle; import javafx.scene.control.Tooltip; import javafx.scene.effect.Effect; import javafx.scene.layout.BorderPane; +import javafx.scene.layout.HBox; import javafx.scene.layout.Pane; import javafx.scene.layout.Region; import javafx.scene.layout.StackPane; +import javafx.scene.layout.VBox; import javafx.scene.text.Font; import javafx.scene.text.FontWeight; import javafx.scene.text.Text; @@ -101,9 +104,9 @@ public abstract class AbstractVisualizationPane { + setBottom(new HBox(spacer, new VBox(leafPane, branchPane))); + DoubleBinding spacerSize = getYAxis().widthProperty().add(getYAxis().tickLengthProperty()).add(getAxisMargin());//getXAxis().startMarginProperty().multiply(2)); + spacer.minWidthProperty().bind(spacerSize); + spacer.prefWidthProperty().bind(spacerSize); + spacer.maxWidthProperty().bind(spacerSize); + }); createSeries(); @@ -444,6 +451,8 @@ public abstract class AbstractVisualizationPane sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -51,7 +51,6 @@ import javafx.scene.layout.BackgroundFill; import javafx.scene.layout.BorderPane; import javafx.scene.layout.CornerRadii; import javafx.scene.layout.HBox; -import javafx.scene.layout.Pane; import javafx.scene.layout.Priority; import javafx.scene.layout.Region; import static javafx.scene.layout.Region.USE_PREF_SIZE; @@ -141,14 +140,7 @@ final public class VisualizationPanel extends BorderPane { @FXML private Label endLabel; - //// replacemetn axis label componenets - @FXML - private Pane partPane; - @FXML - private Pane contextPane; - @FXML - private Region spacer; - + //// header toolbar componenets @FXML private ToolBar toolBar; @@ -359,11 +351,11 @@ final public class VisualizationPanel extends BorderPane { private void setViewMode(VisualizationMode visualizationMode) { switch (visualizationMode) { case COUNTS: - setVisualization(new CountsViewPane(controller, partPane, contextPane, spacer)); + setVisualization(new CountsViewPane(controller)); countsToggle.setSelected(true); break; case DETAIL: - setVisualization(new DetailViewPane(controller, partPane, contextPane, spacer)); + setVisualization(new DetailViewPane(controller)); detailsToggle.setSelected(true); break; } diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/countsview/CountsViewPane.java b/Core/src/org/sleuthkit/autopsy/timeline/ui/countsview/CountsViewPane.java index 8d37e68e33..cc0f1cb917 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/ui/countsview/CountsViewPane.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/ui/countsview/CountsViewPane.java @@ -40,8 +40,6 @@ import javafx.scene.control.ToggleGroup; import javafx.scene.control.Tooltip; import javafx.scene.effect.Effect; import javafx.scene.layout.HBox; -import javafx.scene.layout.Pane; -import javafx.scene.layout.Region; import org.joda.time.Interval; import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; @@ -100,8 +98,8 @@ public class CountsViewPane extends AbstractVisualizationPane(new CountsViewSettingsPane().getChildrenUnmodifiable()); - dateAxis.getTickMarks().addListener((Observable observable) -> { - layoutDateLabels(); - }); - dateAxis.categorySpacingProperty().addListener((Observable observable) -> { - layoutDateLabels(); - }); - dateAxis.getCategories().addListener((Observable observable) -> { - layoutDateLabels(); - }); - - spacer.minWidthProperty().bind(countAxis.widthProperty().add(countAxis.tickLengthProperty()).add(dateAxis.startMarginProperty().multiply(2))); - spacer.prefWidthProperty().bind(countAxis.widthProperty().add(countAxis.tickLengthProperty()).add(dateAxis.startMarginProperty().multiply(2))); - spacer.maxWidthProperty().bind(countAxis.widthProperty().add(countAxis.tickLengthProperty()).add(dateAxis.startMarginProperty().multiply(2))); + dateAxis.getTickMarks().addListener((Observable observable) -> layoutDateLabels()); + dateAxis.categorySpacingProperty().addListener((Observable observable) -> layoutDateLabels()); + dateAxis.getCategories().addListener((Observable observable) -> layoutDateLabels()); scale.addListener(o -> { countAxis.tickLabelsVisibleProperty().bind(scale.isEqualTo(ScaleType.LINEAR)); @@ -135,12 +123,12 @@ public class CountsViewPane extends AbstractVisualizationPane(getSelectedNodes(), EventNodeBase::getEvent); //initialize chart; @@ -116,9 +112,6 @@ public class DetailViewPane extends AbstractVisualizationPane layoutDateLabels()); detailsChartDateAxis.getTickSpacing().addListener(observable -> layoutDateLabels()); verticalAxis.setAutoRanging(false); //prevent XYChart.updateAxisRange() from accessing dataSeries on JFX thread causing ConcurrentModificationException - bottomLeftSpacer.minWidthProperty().bind(verticalAxis.widthProperty().add(verticalAxis.tickLengthProperty())); - bottomLeftSpacer.prefWidthProperty().bind(verticalAxis.widthProperty().add(verticalAxis.tickLengthProperty())); - bottomLeftSpacer.maxWidthProperty().bind(verticalAxis.widthProperty().add(verticalAxis.tickLengthProperty())); selectedNodes.addListener((Observable observable) -> { //update selected nodes highlight @@ -175,7 +168,7 @@ public class DetailViewPane extends AbstractVisualizationPane getXAxis() { + final public DateAxis getXAxis() { return detailsChartDateAxis; } @@ -215,7 +208,7 @@ public class DetailViewPane extends AbstractVisualizationPane getYAxis() { + final protected Axis getYAxis() { return verticalAxis; } @@ -244,6 +237,11 @@ public class DetailViewPane extends AbstractVisualizationPane