19 package org.sleuthkit.autopsy.timeline.zooming;
 
   22 import java.time.temporal.ChronoUnit;
 
   23 import java.util.ResourceBundle;
 
   24 import javafx.application.Platform;
 
   25 import javafx.beans.InvalidationListener;
 
   26 import javafx.beans.property.ReadOnlyObjectProperty;
 
   27 import javafx.fxml.FXML;
 
   28 import javafx.scene.control.*;
 
   29 import javafx.util.StringConverter;
 
   30 import org.openide.util.NbBundle;
 
   92         timeUnitSlider.setMax(
TimeUnits.values().length - 2);
 
   95         typeZoomSlider.setMin(1);
 
   96         typeZoomSlider.setMax(2);
 
  100         descrLODLabel.setText(
 
  101                 NbBundle.getMessage(
this.getClass(), 
"ZoomSettingsPane.descrLODLabel.text"));
 
  102         typeZoomLabel.setText(NbBundle.getMessage(
this.getClass(), 
"ZoomSettingsPane.typeZoomLabel.text"));
 
  103         timeUnitLabel.setText(NbBundle.getMessage(
this.getClass(), 
"ZoomSettingsPane.timeUnitLabel.text"));
 
  104         zoomLabel.setText(NbBundle.getMessage(
this.getClass(), 
"ZoomSettingsPane.zoomLabel.text"));
 
  105         historyLabel.setText(NbBundle.getMessage(
this.getClass(), 
"ZoomSettingsPane.historyLabel.text"));
 
  118         backButton.disableProperty().bind(back.disabledProperty());
 
  119         backButton.setOnAction(back);
 
  120         backButton.setTooltip(
new Tooltip(
 
  121                 NbBundle.getMessage(
this.getClass(), 
"ZoomSettingsPane.backButton.toolTip.text",
 
  122                                     back.getAccelerator().getName())));
 
  124         forwardButton.disableProperty().bind(forward.disabledProperty());
 
  125         forwardButton.setOnAction(forward);
 
  126         forwardButton.setTooltip(
new Tooltip(
 
  127                 NbBundle.getMessage(
this.getClass(), 
"ZoomSettingsPane.forwardButton.toolTip.text",
 
  128                                     forward.getAccelerator().getName())));
 
  136         initializeSlider(timeUnitSlider,
 
  138                     TimeUnits requestedUnit = 
TimeUnits.values()[
new Double(timeUnitSlider.getValue()).intValue()];
 
  153         initializeSlider(descrLODSlider,
 
  161                     descrLODSlider.setValue(this.filteredEvents.
descriptionLOD().get().ordinal());
 
  164         initializeSlider(typeZoomSlider,
 
  171                     typeZoomSlider.setValue(this.filteredEvents.
eventTypeZoom().get().ordinal());
 
  191     private <T> 
void initializeSlider(Slider slider, Runnable sliderChangeHandler, ReadOnlyObjectProperty<T> driver, Runnable driverChangHandler) {
 
  192         final InvalidationListener sliderListener = observable -> {
 
  193             if (slider.isValueChanging() == 
false) {
 
  194                 sliderChangeHandler.run();
 
  197         slider.valueProperty().addListener(sliderListener);
 
  198         slider.valueChangingProperty().addListener(sliderListener);
 
  200         Platform.runLater(driverChangHandler);
 
  202         driver.addListener(observable -> {
 
  203             slider.valueProperty().removeListener(sliderListener);
 
  204             slider.valueChangingProperty().removeListener(sliderListener);
 
  206             Platform.runLater(driverChangHandler);
 
  208             slider.valueProperty().addListener(sliderListener);
 
  209             slider.valueChangingProperty().addListener(sliderListener);
 
  223             return new Integer(
TimeUnits.valueOf(
string).ordinal()).doubleValue();
 
  249             return new Integer(
DescriptionLOD.valueOf(
string).ordinal()).doubleValue();
 
Double fromString(String string)
ChronoUnit getChronoUnit()
FilteredEventsModel filteredEvents
FilteredEventsModel getEventsModel()
Double fromString(String string)
TimeLineController controller
synchronized boolean pushDescrLOD(DescriptionLOD newLOD)
static void construct(Node n, String fxmlFileName)
static RangeDivisionInfo getRangeDivisionInfo(Interval timeRange)
String toString(Double object)
Double fromString(String string)
synchronized ReadOnlyObjectProperty< Interval > timeRange()
String toString(Double object)
static Interval getIntervalAround(DateTime aroundInstant, ReadablePeriod period)
static TimeUnits fromChronoUnit(ChronoUnit chronoUnit)
String toString(Double object)
synchronized void setController(TimeLineController controller)
synchronized ReadOnlyObjectProperty< EventTypeZoomLevel > eventTypeZoom()
synchronized ReadOnlyObjectProperty< VisualizationMode > getViewMode()
synchronized ReadOnlyObjectProperty< DescriptionLOD > descriptionLOD()
DescriptionLOD getDescriptionLOD()
TimeUnits getPeriodSize()
synchronized void pushTimeRange(Interval timeRange)
static DateTime middleOf(Interval interval)
synchronized void pushEventTypeZoom(EventTypeZoomLevel typeZoomeLevel)
void setModel(FilteredEventsModel filteredEvents)