connection task list model and garden plan model with controllers

This commit is contained in:
giavaphi
2022-11-08 21:03:01 +01:00
parent 802f238d69
commit ced2645bd7
6 changed files with 104 additions and 35 deletions
@@ -1,5 +1,7 @@
package ch.zhaw.gartenverwaltung;
import ch.zhaw.gartenverwaltung.gardenplan.Gardenplanmodel;
import ch.zhaw.gartenverwaltung.taskList.TaskListModel;
import ch.zhaw.gartenverwaltung.types.Crop;
import ch.zhaw.gartenverwaltung.types.Task;
import javafx.beans.property.ListProperty;
@@ -15,6 +17,7 @@ import javafx.scene.control.ListView;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import java.io.IOException;
import java.net.URL;
import java.time.LocalDate;
import java.util.LinkedList;
@@ -23,6 +26,8 @@ import java.util.ResourceBundle;
public class MyScheduleController implements Initializable {
private Crop selectedCrop = null;
private final TaskListModel taskListModel = new TaskListModel();
private final Gardenplanmodel gardenplanmodel = new Gardenplanmodel(taskListModel);
private final ListProperty<Crop> cropListProperty = new SimpleListProperty<>(FXCollections.observableArrayList());
@@ -74,16 +79,29 @@ public class MyScheduleController implements Initializable {
@FXML
private ListView<Crop> scheduledPlants_listview;
public MyScheduleController() throws IOException {
}
@Override
public void initialize(URL location, ResourceBundle resources) {
//ToDo method to load crop list
List<Crop> cropList = new LinkedList<>();
List<Crop> cropList;
try {
cropList = gardenplanmodel.getCrops();
cropListProperty.addAll(cropList);
} catch (IOException e) {
e.printStackTrace();
}
setCellFactoryListView();
scheduledPlants_listview.itemsProperty().bind(cropListProperty);
lookForSelectedListEntries();
setDayLabels();
information_label.setText("");
loadTaskList();
try {
loadTaskList();
} catch (IOException e) {
e.printStackTrace();
}
}
private void lookForSelectedListEntries() {
@@ -91,7 +109,11 @@ public class MyScheduleController implements Initializable {
@Override
public void changed(ObservableValue<? extends Crop> observable, Crop oldValue, Crop newValue) {
selectedCrop = newValue;
loadTaskList();
try {
loadTaskList();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
@@ -122,13 +144,13 @@ public class MyScheduleController implements Initializable {
});
}
private void loadTaskList() {
//ToDo load task list according to selectedCrop
private void loadTaskList() throws IOException {
List<List<Task>> taskLists = new LinkedList<>();
//ToDo uncomment, when error from JsonTaskDatabase.java loadTaskListFromFile() is fixed.
if (selectedCrop != null) {
//taskLists = taskListModel.getTasksUpcomingWeekForCrop(selectedCrop.getCropId().get());
} else {
//taskLists = taskListModel.getTasksUpcomingWeek();
}
if (!taskLists.isEmpty()) {
viewTaskListOfDay(day1_pane, taskLists.get(0));