/** * This event is called when the data has finished being processed. Once it is it passes the * processed data to this main controller the event is passed from WeatherDataProgressDialogClass */ @Override public void processedWeatherDataEmitted(WeatherDataProcessedEvent event) { ObservableList<WeatherData> weatherDataList = event.getWeatherDataList(); // TODO build the daily matrix // TODO setOnSucceeded the matrix task TimeSeries weatherSeries = ChartComponentsFactory.createWeatherTimeSeries("NOAA", weatherDataList); intervalGraphPanel.addTemperatureSeries(weatherSeries); BuildWeatherMatrixTask weatherMatrixTask = new BuildWeatherMatrixTask(weatherDataList); ExecutorService executor = Executors.newSingleThreadExecutor(); weatherMatrixTask.setOnSucceeded( new EventHandler<WorkerStateEvent>() { @Override public void handle(WorkerStateEvent event) { ObservableList<DailyWeatherData> dayTimeWeatherData = weatherMatrixTask.getDailyWeatherDataList(); dailyWeatherData = dayTimeWeatherData; // we set the variable dayTimeInterval in the controller so it // can be called from outside whenever necessary } }); executor.execute(weatherMatrixTask); }
/** This handles the deletion of a meter or multiple meters */ @FXML private void handleDeleteMeter() { int selectedIndex = meterTable.getSelectionModel().getSelectedIndex(); consumptionHeatMap.removeHeatMap(); generationHeatMap.removeHeatMap(); // if something is selected if (selectedIndex >= 0) { meterTable.getItems().remove(selectedIndex); meterTable.getSelectionModel().clearSelection(selectedIndex); } else { // nothing is selected Dialogs.create() .title("No selection") .masthead("No meter selected") .message("Please select a meter in the table") .showError(); } // TODO: handles whenever there are no meters left, there is a glitch // with the columns being fixed intervalGraphPanel.removeMeter(selectedIndex); barChartPanel.removeMeter(selectedIndex); }
/** * This method handles the checkboxes in the table * * @param selectedIndex * @param meter */ public void activateSeries(int selectedIndex, Meter meter) { intervalGraphPanel.activateSeries(selectedIndex, meter); }
/** * This method handles the change in color of a specific series * * @param selectedIndex * @param Color */ public void changeSeriesColor(int selectedIndex, java.awt.Color color) { intervalGraphPanel.updateColors(selectedIndex, color); }