diff --git a/src/main/java/ch/zhaw/gartenverwaltung/MyScheduleController.java b/src/main/java/ch/zhaw/gartenverwaltung/MyScheduleController.java index 4c94c16..43eeb4c 100644 --- a/src/main/java/ch/zhaw/gartenverwaltung/MyScheduleController.java +++ b/src/main/java/ch/zhaw/gartenverwaltung/MyScheduleController.java @@ -3,15 +3,15 @@ package ch.zhaw.gartenverwaltung; import ch.zhaw.gartenverwaltung.bootstrap.AfterInject; import ch.zhaw.gartenverwaltung.bootstrap.Inject; import ch.zhaw.gartenverwaltung.io.PlantList; +import ch.zhaw.gartenverwaltung.io.TaskList; import ch.zhaw.gartenverwaltung.models.Garden; import ch.zhaw.gartenverwaltung.io.HardinessZoneNotSetException; import ch.zhaw.gartenverwaltung.models.GardenSchedule; import ch.zhaw.gartenverwaltung.types.Crop; import ch.zhaw.gartenverwaltung.types.Plant; import ch.zhaw.gartenverwaltung.types.Task; +import javafx.application.Platform; import javafx.beans.property.ListProperty; -import javafx.beans.property.SimpleListProperty; -import javafx.collections.FXCollections; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.fxml.FXML; @@ -51,9 +51,15 @@ public class MyScheduleController { @FXML private ListView scheduledPlants_listview; + @FXML + private void showAllTasks(ActionEvent actionEvent) throws IOException { + gardenSchedule.getTasksUpcomingWeek(); + scheduledPlants_listview.getSelectionModel().clearSelection(); + } + @AfterInject @SuppressWarnings("unused") - public void init() { + public void init() throws IOException { setCellFactoryCropListView(); setCellFactoryTaskListView(); scheduledPlants_listview.itemsProperty().bind(garden.getPlantedCrops()); @@ -61,6 +67,19 @@ public class MyScheduleController { week_listView.itemsProperty().bind(taskListProperty); lookForSelectedListEntries(); information_label.setText(""); + + gardenSchedule.getTasksUpcomingWeek(); + TaskList.TaskListObserver taskListObserver = newTaskList -> { + Platform.runLater(() -> { + try { + gardenSchedule.getTasksUpcomingWeek(); + scheduledPlants_listview.getSelectionModel().clearSelection(); + } catch (IOException e) { + throw new RuntimeException(e); + } + }); + }; + gardenSchedule.setTaskListObserver(taskListObserver); } /** @@ -81,6 +100,8 @@ public class MyScheduleController { * set cellFactory for the crops. */ private void setCellFactoryCropListView() { + MultipleSelectionModel selectionModel = scheduledPlants_listview.getSelectionModel(); + selectionModel.setSelectionMode(SelectionMode.MULTIPLE); scheduledPlants_listview.setCellFactory(param -> new ListCell<>() { @Override protected void updateItem(Crop crop, boolean empty) { @@ -133,8 +154,6 @@ public class MyScheduleController { } else { gardenSchedule.getTasksUpcomingWeek(); } - //taskListProperty.clear(); - //taskListProperty.addAll(taskLists); } /** @@ -202,5 +221,4 @@ public class MyScheduleController { }); } - } diff --git a/src/main/java/ch/zhaw/gartenverwaltung/models/GardenSchedule.java b/src/main/java/ch/zhaw/gartenverwaltung/models/GardenSchedule.java index 74d67dd..5e72331 100644 --- a/src/main/java/ch/zhaw/gartenverwaltung/models/GardenSchedule.java +++ b/src/main/java/ch/zhaw/gartenverwaltung/models/GardenSchedule.java @@ -32,16 +32,6 @@ public class GardenSchedule { public GardenSchedule(TaskList taskList, PlantList plantList) throws IOException { this.taskList = taskList; this.plantList = plantList; - TaskList.TaskListObserver taskListObserver = newTaskList -> { - Platform.runLater(() -> { - try { - getTasksUpcomingWeek(); - } catch (IOException e) { - throw new RuntimeException(e); - } - }); - }; - setTaskListObserver(taskListObserver); } public ListProperty> getWeeklyTaskListProperty() { diff --git a/src/main/resources/ch/zhaw/gartenverwaltung/MySchedule.fxml b/src/main/resources/ch/zhaw/gartenverwaltung/MySchedule.fxml index e14329f..e0f8cd8 100644 --- a/src/main/resources/ch/zhaw/gartenverwaltung/MySchedule.fxml +++ b/src/main/resources/ch/zhaw/gartenverwaltung/MySchedule.fxml @@ -1,6 +1,7 @@ + @@ -19,11 +20,12 @@ - - - - - + + + +