Compare commits
2 Commits
6d24687f7b
...
129a26e1a9
Author | SHA1 | Date |
---|---|---|
|
129a26e1a9 | |
|
e9258fb238 |
|
@ -22,6 +22,7 @@ import javafx.scene.control.*;
|
||||||
import javafx.scene.image.Image;
|
import javafx.scene.image.Image;
|
||||||
import javafx.scene.image.ImageView;
|
import javafx.scene.image.ImageView;
|
||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
|
import javafx.scene.layout.Pane;
|
||||||
import javafx.scene.layout.Priority;
|
import javafx.scene.layout.Priority;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
|
|
||||||
|
@ -205,22 +206,28 @@ public class CropDetailController {
|
||||||
}
|
}
|
||||||
|
|
||||||
private HBox createTaskHBox(Task task) {
|
private HBox createTaskHBox(Task task) {
|
||||||
HBox hBox = new HBox();
|
HBox hBox = new HBox(10);
|
||||||
Label taskName = new Label(task.getName()+": ");
|
Label taskName = new Label(task.getName()+": ");
|
||||||
|
taskName.setMinWidth(100);
|
||||||
|
taskName.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);
|
||||||
taskName.setStyle("-fx-font-weight: bold");
|
taskName.setStyle("-fx-font-weight: bold");
|
||||||
Label taskDescription = new Label(task.getDescription());
|
Label taskDescription = new Label(task.getDescription());
|
||||||
taskDescription.setWrapText(true);
|
taskDescription.setWrapText(true);
|
||||||
taskDescription.setMaxWidth(2000);
|
taskDescription.setMaxSize(600, Double.MAX_VALUE);
|
||||||
HBox.setHgrow(taskDescription, Priority.ALWAYS);
|
Pane puffer = new Pane();
|
||||||
|
HBox.setHgrow(puffer, Priority.ALWAYS);
|
||||||
|
|
||||||
|
|
||||||
Button edit = new Button();
|
Button edit = new Button();
|
||||||
Button delete = new Button();
|
Button delete = new Button();
|
||||||
|
HBox.setHgrow(edit, Priority.NEVER);
|
||||||
|
HBox.setHgrow(delete, Priority.NEVER);
|
||||||
setIconToButton(edit, "editIcon.png");
|
setIconToButton(edit, "editIcon.png");
|
||||||
setIconToButton(delete, "deleteIcon.png");
|
setIconToButton(delete, "deleteIcon.png");
|
||||||
edit.setOnAction(getEditTaskEvent(task));
|
edit.setOnAction(getEditTaskEvent(task));
|
||||||
delete.setOnAction(deleteTask(task));
|
delete.setOnAction(deleteTask(task));
|
||||||
|
|
||||||
hBox.getChildren().addAll(taskName, taskDescription, edit, delete);
|
hBox.getChildren().addAll(taskName, taskDescription, puffer, edit, delete);
|
||||||
return hBox;
|
return hBox;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -229,12 +236,15 @@ public class CropDetailController {
|
||||||
label.setStyle("-fx-font-weight: bold");
|
label.setStyle("-fx-font-weight: bold");
|
||||||
HBox hBox = new HBox();
|
HBox hBox = new HBox();
|
||||||
hBox.fillHeightProperty();
|
hBox.fillHeightProperty();
|
||||||
Label label1 = new Label(pest.description());
|
Label description = new Label(pest.description());
|
||||||
label1.setAlignment(Pos.TOP_LEFT);
|
description.setAlignment(Pos.TOP_LEFT);
|
||||||
label1.setWrapText(true);
|
description.setWrapText(true);
|
||||||
label1.setMaxWidth(600);
|
description.setMaxWidth(600);
|
||||||
|
Pane puffer = new Pane();
|
||||||
|
HBox.setHgrow(puffer, Priority.ALWAYS);
|
||||||
Button button = new Button("Get Counter Measures");
|
Button button = new Button("Get Counter Measures");
|
||||||
hBox.getChildren().addAll(label, label1, button);
|
HBox.setHgrow(button, Priority.NEVER);
|
||||||
|
hBox.getChildren().addAll(label, description, puffer, button);
|
||||||
return hBox;
|
return hBox;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,11 +9,14 @@ import ch.zhaw.gartenverwaltung.models.GardenSchedule;
|
||||||
import ch.zhaw.gartenverwaltung.types.Crop;
|
import ch.zhaw.gartenverwaltung.types.Crop;
|
||||||
import ch.zhaw.gartenverwaltung.types.Plant;
|
import ch.zhaw.gartenverwaltung.types.Plant;
|
||||||
import ch.zhaw.gartenverwaltung.types.Task;
|
import ch.zhaw.gartenverwaltung.types.Task;
|
||||||
|
import javafx.beans.property.ListProperty;
|
||||||
|
import javafx.beans.property.SimpleListProperty;
|
||||||
|
import javafx.collections.FXCollections;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.*;
|
||||||
import javafx.scene.control.ListCell;
|
import javafx.scene.layout.HBox;
|
||||||
import javafx.scene.control.ListView;
|
|
||||||
import javafx.scene.layout.Pane;
|
import javafx.scene.layout.Pane;
|
||||||
|
import javafx.scene.layout.Priority;
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -24,6 +27,7 @@ import java.util.logging.Logger;
|
||||||
|
|
||||||
public class MyScheduleController {
|
public class MyScheduleController {
|
||||||
private static final Logger LOG = Logger.getLogger(MyScheduleController.class.getName());
|
private static final Logger LOG = Logger.getLogger(MyScheduleController.class.getName());
|
||||||
|
private final ListProperty<List<Task>> taskListProperty = new SimpleListProperty<>(FXCollections.observableArrayList());
|
||||||
|
|
||||||
private Crop selectedCrop = null;
|
private Crop selectedCrop = null;
|
||||||
|
|
||||||
|
@ -35,46 +39,7 @@ public class MyScheduleController {
|
||||||
private PlantList plantList;
|
private PlantList plantList;
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private Label day1_label;
|
private ListView<List<Task>> week_listView;
|
||||||
|
|
||||||
@FXML
|
|
||||||
private Pane day1_pane;
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
private Label day2_label;
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
private Pane day2_pane;
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
private Label day3_label;
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
private Pane day3_pane;
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
private Label day4_label;
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
private Pane day4_pane;
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
private Label day5_label;
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
private Pane day5_pane;
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
private Label day6_label;
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
private Pane day6_pane;
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
private Label day7_label;
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
private Pane day7_pane;
|
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private Label information_label;
|
private Label information_label;
|
||||||
|
@ -85,10 +50,11 @@ public class MyScheduleController {
|
||||||
@AfterInject
|
@AfterInject
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
public void init() {
|
public void init() {
|
||||||
setCellFactoryListView();
|
setCellFactoryCropListView();
|
||||||
|
setCellFactoryTaskListView();
|
||||||
scheduledPlants_listview.itemsProperty().bind(garden.getPlantedCrops());
|
scheduledPlants_listview.itemsProperty().bind(garden.getPlantedCrops());
|
||||||
|
week_listView.itemsProperty().bind(taskListProperty);
|
||||||
lookForSelectedListEntries();
|
lookForSelectedListEntries();
|
||||||
setDayLabels();
|
|
||||||
information_label.setText("");
|
information_label.setText("");
|
||||||
try {
|
try {
|
||||||
loadTaskList();
|
loadTaskList();
|
||||||
|
@ -108,18 +74,7 @@ public class MyScheduleController {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setDayLabels() {
|
private void setCellFactoryCropListView() {
|
||||||
LocalDate today = LocalDate.now();
|
|
||||||
day1_label.setText(today.getDayOfWeek().toString());
|
|
||||||
day2_label.setText(today.plusDays(1).getDayOfWeek().toString());
|
|
||||||
day3_label.setText(today.plusDays(2).getDayOfWeek().toString());
|
|
||||||
day4_label.setText(today.plusDays(3).getDayOfWeek().toString());
|
|
||||||
day5_label.setText(today.plusDays(4).getDayOfWeek().toString());
|
|
||||||
day6_label.setText(today.plusDays(5).getDayOfWeek().toString());
|
|
||||||
day7_label.setText(today.plusDays(6).getDayOfWeek().toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setCellFactoryListView() {
|
|
||||||
scheduledPlants_listview.setCellFactory(param -> new ListCell<>() {
|
scheduledPlants_listview.setCellFactory(param -> new ListCell<>() {
|
||||||
@Override
|
@Override
|
||||||
protected void updateItem(Crop crop, boolean empty) {
|
protected void updateItem(Crop crop, boolean empty) {
|
||||||
|
@ -141,6 +96,23 @@ public class MyScheduleController {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setCellFactoryTaskListView() {
|
||||||
|
week_listView.setCellFactory(param -> new ListCell<>() {
|
||||||
|
@Override
|
||||||
|
protected void updateItem(List<Task> taskList, boolean empty) {
|
||||||
|
super.updateItem(taskList, empty);
|
||||||
|
|
||||||
|
if (empty || taskList == null) {
|
||||||
|
setGraphic(null);
|
||||||
|
setText(null);
|
||||||
|
} else {
|
||||||
|
setText("");
|
||||||
|
setGraphic(weekTaskVBox(taskList, this.getIndex()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
private void loadTaskList() throws IOException {
|
private void loadTaskList() throws IOException {
|
||||||
List<List<Task>> taskLists;
|
List<List<Task>> taskLists;
|
||||||
if (selectedCrop != null) {
|
if (selectedCrop != null) {
|
||||||
|
@ -148,25 +120,66 @@ public class MyScheduleController {
|
||||||
} else {
|
} else {
|
||||||
taskLists = gardenSchedule.getTasksUpcomingWeek();
|
taskLists = gardenSchedule.getTasksUpcomingWeek();
|
||||||
}
|
}
|
||||||
if (!taskLists.isEmpty()) {
|
taskListProperty.clear();
|
||||||
viewTaskListOfDay(day1_pane, taskLists.get(0));
|
taskListProperty.addAll(taskLists);
|
||||||
viewTaskListOfDay(day2_pane, taskLists.get(1));
|
|
||||||
viewTaskListOfDay(day3_pane, taskLists.get(2));
|
|
||||||
viewTaskListOfDay(day4_pane, taskLists.get(3));
|
|
||||||
viewTaskListOfDay(day5_pane, taskLists.get(4));
|
|
||||||
viewTaskListOfDay(day6_pane, taskLists.get(5));
|
|
||||||
viewTaskListOfDay(day7_pane, taskLists.get(6));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void viewTaskListOfDay(Pane pane, List<Task> tasks) {
|
private VBox weekTaskVBox(List<Task> tasks, int dayIndex) {
|
||||||
//ToDo update pane with task list
|
VBox vBox = new VBox(10);
|
||||||
VBox vBox = new VBox();
|
LocalDate today = LocalDate.now();
|
||||||
|
Label weekDay = new Label(today.plusDays(dayIndex).getDayOfWeek().toString());
|
||||||
|
weekDay.setStyle("-fx-font-weight: bold; -fx-underline: true");
|
||||||
|
vBox.getChildren().add(weekDay);
|
||||||
for (Task task : tasks) {
|
for (Task task : tasks) {
|
||||||
Label label = new Label(task.getDescription());
|
HBox hBox = new HBox(10);
|
||||||
vBox.getChildren().add(label);
|
Label taskName = new Label(task.getName() + ":");
|
||||||
|
taskName.setStyle("-fx-font-weight: bold");
|
||||||
|
taskName.setMinWidth(100);
|
||||||
|
taskName.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);
|
||||||
|
hBox.getChildren().addAll(taskName);
|
||||||
|
|
||||||
|
HBox hBoxDescription = new HBox();
|
||||||
|
Label taskDescription = new Label(task.getDescription());
|
||||||
|
taskDescription.setWrapText(true);
|
||||||
|
taskDescription.setMaxSize(600, Double.MAX_VALUE);
|
||||||
|
Pane puffer = new Pane();
|
||||||
|
HBox.setHgrow(puffer, Priority.ALWAYS);
|
||||||
|
CheckBox checkBox = new CheckBox("Task completed?");
|
||||||
|
checkBox.selectedProperty().addListener((observable, oldValue, newValue) -> {
|
||||||
|
if (newValue) {
|
||||||
|
showConfirmation(task, checkBox);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
HBox.setHgrow(checkBox, Priority.NEVER);
|
||||||
|
hBoxDescription.getChildren().addAll(taskDescription, puffer, checkBox);
|
||||||
|
vBox.getChildren().addAll(hBox, hBoxDescription);
|
||||||
}
|
}
|
||||||
pane.getChildren().add(vBox);
|
return vBox;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Alert to confirm that task has been completed.
|
||||||
|
* @param task {@link Task} which is selected
|
||||||
|
*/
|
||||||
|
private void showConfirmation(Task task, CheckBox checkBox) {
|
||||||
|
Alert alert = new Alert(Alert.AlertType.CONFIRMATION);
|
||||||
|
alert.setTitle("Task Completed?");
|
||||||
|
alert.setHeaderText("Are you sure you have completed this task?");
|
||||||
|
alert.setContentText("Confirming that you have completed the task will remove it from the schedule.");
|
||||||
|
|
||||||
|
alert.showAndWait()
|
||||||
|
.ifPresent(buttonType -> {
|
||||||
|
if (buttonType == ButtonType.OK) {
|
||||||
|
task.done();
|
||||||
|
try {
|
||||||
|
loadTaskList();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
checkBox.setSelected(false);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -151,6 +151,7 @@ public class GardenSchedule {
|
||||||
if (date.equals(checkDate) && !date.isAfter(task.getEndDate().orElse(LocalDate.MIN))) {
|
if (date.equals(checkDate) && !date.isAfter(task.getEndDate().orElse(LocalDate.MIN))) {
|
||||||
dayTaskList.get(finalI).add(task);
|
dayTaskList.get(finalI).add(task);
|
||||||
}
|
}
|
||||||
|
if (task.getInterval().orElse(0) == 0) break;
|
||||||
checkDate = checkDate.plusDays(task.getInterval().orElse(0));
|
checkDate = checkDate.plusDays(task.getInterval().orElse(0));
|
||||||
} while (task.getInterval().isPresent() && checkDate.isBefore(LocalDate.now().plusDays(listLength)));
|
} while (task.getInterval().isPresent() && checkDate.isBefore(LocalDate.now().plusDays(listLength)));
|
||||||
});
|
});
|
||||||
|
|
|
@ -18,6 +18,7 @@ public class Task {
|
||||||
private LocalDate nextExecution;
|
private LocalDate nextExecution;
|
||||||
private LocalDate nextNotification;
|
private LocalDate nextNotification;
|
||||||
private long cropId;
|
private long cropId;
|
||||||
|
private boolean done;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* default constructor
|
* default constructor
|
||||||
|
@ -69,7 +70,7 @@ public class Task {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void done(){
|
public void done(){
|
||||||
if(interval != null && !nextExecution.plusDays(interval).isAfter(endDate)){
|
if(interval != null && interval != 0 && !nextExecution.plusDays(interval).isAfter(endDate)){
|
||||||
nextExecution = nextExecution.plusDays(interval);
|
nextExecution = nextExecution.plusDays(interval);
|
||||||
} else {
|
} else {
|
||||||
nextExecution = null;
|
nextExecution = null;
|
||||||
|
|
|
@ -107,7 +107,7 @@
|
||||||
<Insets right="60.0" />
|
<Insets right="60.0" />
|
||||||
</HBox.margin>
|
</HBox.margin>
|
||||||
</Label>
|
</Label>
|
||||||
<Label fx:id="area_label" text="Label">
|
<Label fx:id="area_label" minWidth="-Infinity" prefWidth="50.0" text="Label">
|
||||||
<HBox.margin>
|
<HBox.margin>
|
||||||
<Insets right="10.0" />
|
<Insets right="10.0" />
|
||||||
</HBox.margin>
|
</HBox.margin>
|
||||||
|
@ -125,7 +125,7 @@
|
||||||
<Insets right="40.0" />
|
<Insets right="40.0" />
|
||||||
</HBox.margin>
|
</HBox.margin>
|
||||||
</Label>
|
</Label>
|
||||||
<Label fx:id="location_label" text="Label">
|
<Label fx:id="location_label" minHeight="-Infinity" prefWidth="50.0" text="Label">
|
||||||
<HBox.margin>
|
<HBox.margin>
|
||||||
<Insets right="10.0" />
|
<Insets right="10.0" />
|
||||||
</HBox.margin>
|
</HBox.margin>
|
||||||
|
|
|
@ -1,19 +1,15 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<?import javafx.geometry.Insets?>
|
||||||
<?import javafx.scene.control.Label?>
|
<?import javafx.scene.control.Label?>
|
||||||
<?import javafx.scene.control.ListView?>
|
<?import javafx.scene.control.ListView?>
|
||||||
<?import javafx.scene.layout.AnchorPane?>
|
<?import javafx.scene.layout.AnchorPane?>
|
||||||
<?import javafx.scene.layout.ColumnConstraints?>
|
|
||||||
<?import javafx.scene.layout.GridPane?>
|
|
||||||
<?import javafx.scene.layout.HBox?>
|
<?import javafx.scene.layout.HBox?>
|
||||||
<?import javafx.scene.layout.Pane?>
|
<?import javafx.scene.layout.Pane?>
|
||||||
<?import javafx.scene.layout.RowConstraints?>
|
|
||||||
<?import javafx.scene.layout.VBox?>
|
<?import javafx.scene.layout.VBox?>
|
||||||
<?import javafx.scene.text.Font?>
|
<?import javafx.scene.text.Font?>
|
||||||
|
|
||||||
|
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="572.0" prefWidth="867.0" xmlns="http://javafx.com/javafx/17" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ch.zhaw.gartenverwaltung.MyScheduleController">
|
||||||
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="572.0" prefWidth="867.0"
|
|
||||||
xmlns="http://javafx.com/javafx/17" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ch.zhaw.gartenverwaltung.MyScheduleController">
|
|
||||||
<children>
|
<children>
|
||||||
<Label layoutX="14.0" layoutY="14.0" text="MySchedule">
|
<Label layoutX="14.0" layoutY="14.0" text="MySchedule">
|
||||||
<font>
|
<font>
|
||||||
|
@ -22,41 +18,18 @@
|
||||||
</Label>
|
</Label>
|
||||||
<HBox layoutY="31.0" prefHeight="541.0" prefWidth="867.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="50.0">
|
<HBox layoutY="31.0" prefHeight="541.0" prefWidth="867.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="50.0">
|
||||||
<children>
|
<children>
|
||||||
<ListView fx:id="scheduledPlants_listview" maxWidth="1.7976931348623157E308" prefHeight="522.0" prefWidth="365.0" HBox.hgrow="NEVER" />
|
<ListView fx:id="scheduledPlants_listview" maxWidth="1.7976931348623157E308" prefHeight="522.0" prefWidth="271.0" HBox.hgrow="NEVER">
|
||||||
|
<HBox.margin>
|
||||||
|
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||||
|
</HBox.margin></ListView>
|
||||||
<VBox maxWidth="1.7976931348623157E308" prefHeight="537.0" prefWidth="650.0" HBox.hgrow="ALWAYS">
|
<VBox maxWidth="1.7976931348623157E308" prefHeight="537.0" prefWidth="650.0" HBox.hgrow="ALWAYS">
|
||||||
<children>
|
<children>
|
||||||
<GridPane alignment="CENTER_LEFT" gridLinesVisible="true" maxWidth="1.7976931348623157E308" prefHeight="403.0" prefWidth="575.0" VBox.vgrow="ALWAYS">
|
<ListView fx:id="week_listView" maxWidth="1.7976931348623157E308" prefHeight="200.0" prefWidth="200.0" VBox.vgrow="ALWAYS">
|
||||||
<columnConstraints>
|
<VBox.margin>
|
||||||
<ColumnConstraints fillWidth="false" hgrow="NEVER" maxWidth="278.0" minWidth="100.0" prefWidth="173.0" />
|
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||||
<ColumnConstraints hgrow="ALWAYS" maxWidth="1.7976931348623157E308" minWidth="10.0" prefWidth="402.0" />
|
</VBox.margin>
|
||||||
</columnConstraints>
|
</ListView>
|
||||||
<rowConstraints>
|
<Pane prefHeight="131.0" prefWidth="593.0" VBox.vgrow="NEVER">
|
||||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
|
||||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
|
||||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
|
||||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
|
||||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
|
||||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
|
||||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
|
||||||
</rowConstraints>
|
|
||||||
<children>
|
|
||||||
<Label fx:id="day1_label" alignment="CENTER" prefHeight="32.0" prefWidth="173.0" text="Label" />
|
|
||||||
<Label fx:id="day2_label" alignment="CENTER" prefHeight="29.0" prefWidth="173.0" text="Label" GridPane.rowIndex="1" />
|
|
||||||
<Label fx:id="day3_label" alignment="CENTER" prefHeight="32.0" prefWidth="172.0" text="Label" GridPane.rowIndex="2" />
|
|
||||||
<Label fx:id="day4_label" alignment="CENTER" prefHeight="35.0" prefWidth="173.0" text="Label" GridPane.rowIndex="3" />
|
|
||||||
<Label fx:id="day5_label" alignment="CENTER" prefHeight="31.0" prefWidth="173.0" text="Label" GridPane.rowIndex="4" />
|
|
||||||
<Label fx:id="day6_label" alignment="CENTER" prefHeight="31.0" prefWidth="173.0" text="Label" GridPane.rowIndex="5" />
|
|
||||||
<Label fx:id="day7_label" alignment="CENTER" prefHeight="35.0" prefWidth="173.0" text="Label" GridPane.rowIndex="6" />
|
|
||||||
<Pane fx:id="day1_pane" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" />
|
|
||||||
<Pane fx:id="day2_pane" maxWidth="1.7976931348623157E308" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="1" />
|
|
||||||
<Pane fx:id="day3_pane" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="2" />
|
|
||||||
<Pane fx:id="day4_pane" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="3" />
|
|
||||||
<Pane fx:id="day5_pane" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="4" />
|
|
||||||
<Pane fx:id="day6_pane" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS" GridPane.rowIndex="5" />
|
|
||||||
<Pane fx:id="day7_pane" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="6" />
|
|
||||||
</children>
|
|
||||||
</GridPane>
|
|
||||||
<Pane prefHeight="119.0" prefWidth="575.0" VBox.vgrow="NEVER">
|
|
||||||
<children>
|
<children>
|
||||||
<Label alignment="TOP_LEFT" layoutX="14.0" layoutY="14.0" prefHeight="17.0" prefWidth="550.0" text="Importants Information:" wrapText="true">
|
<Label alignment="TOP_LEFT" layoutX="14.0" layoutY="14.0" prefHeight="17.0" prefWidth="550.0" text="Importants Information:" wrapText="true">
|
||||||
<font>
|
<font>
|
||||||
|
@ -65,6 +38,9 @@
|
||||||
</Label>
|
</Label>
|
||||||
<Label fx:id="information_label" alignment="TOP_LEFT" layoutX="14.0" layoutY="31.0" maxWidth="1.7976931348623157E308" prefHeight="82.0" prefWidth="550.0" text="Label" wrapText="true" />
|
<Label fx:id="information_label" alignment="TOP_LEFT" layoutX="14.0" layoutY="31.0" maxWidth="1.7976931348623157E308" prefHeight="82.0" prefWidth="550.0" text="Label" wrapText="true" />
|
||||||
</children>
|
</children>
|
||||||
|
<VBox.margin>
|
||||||
|
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||||
|
</VBox.margin>
|
||||||
</Pane>
|
</Pane>
|
||||||
</children>
|
</children>
|
||||||
</VBox>
|
</VBox>
|
||||||
|
|
|
@ -9,9 +9,7 @@
|
||||||
<?import javafx.scene.layout.HBox?>
|
<?import javafx.scene.layout.HBox?>
|
||||||
<?import javafx.scene.layout.VBox?>
|
<?import javafx.scene.layout.VBox?>
|
||||||
|
|
||||||
|
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="259.0" prefWidth="390.0" xmlns="http://javafx.com/javafx/17" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ch.zhaw.gartenverwaltung.TaskFormularController">
|
||||||
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="259.0" prefWidth="390.0" xmlns="http://javafx.com/javafx/17"
|
|
||||||
xmlns:fx="http://javafx.com/fxml/1" fx:controller="ch.zhaw.gartenverwaltung.TaskFormularController">
|
|
||||||
<children>
|
<children>
|
||||||
<VBox layoutX="14.0" layoutY="14.0" prefHeight="272.0" prefWidth="390.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
<VBox layoutX="14.0" layoutY="14.0" prefHeight="272.0" prefWidth="390.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||||
<padding>
|
<padding>
|
||||||
|
@ -27,7 +25,7 @@
|
||||||
<HBox prefHeight="77.0" prefWidth="350.0">
|
<HBox prefHeight="77.0" prefWidth="350.0">
|
||||||
<children>
|
<children>
|
||||||
<Label maxWidth="1.7976931348623157E308" text="Description:" HBox.hgrow="ALWAYS" />
|
<Label maxWidth="1.7976931348623157E308" text="Description:" HBox.hgrow="ALWAYS" />
|
||||||
<TextArea fx:id="description_area" prefHeight="73.0" prefWidth="206.0" promptText="Description" />
|
<TextArea fx:id="description_area" prefHeight="73.0" prefWidth="206.0" promptText="Description" wrapText="true" />
|
||||||
</children>
|
</children>
|
||||||
</HBox>
|
</HBox>
|
||||||
<HBox alignment="CENTER_LEFT" layoutX="30.0" layoutY="30.0" prefHeight="35.0" prefWidth="560.0">
|
<HBox alignment="CENTER_LEFT" layoutX="30.0" layoutY="30.0" prefHeight="35.0" prefWidth="560.0">
|
||||||
|
|
|
@ -300,7 +300,7 @@
|
||||||
"relativeStartDate": 0,
|
"relativeStartDate": 0,
|
||||||
"relativeEndDate": 10,
|
"relativeEndDate": 10,
|
||||||
"description": "When the plants are 20 cm tall, begin hilling the potatoes by gently mounding the soil from the center of your rows around the stems of the plant. Mound up the soil around the plant until just the top few leaves show above the soil. Two weeks later, hill up the soil again when the plants grow another 20 cm.",
|
"description": "When the plants are 20 cm tall, begin hilling the potatoes by gently mounding the soil from the center of your rows around the stems of the plant. Mound up the soil around the plant until just the top few leaves show above the soil. Two weeks later, hill up the soil again when the plants grow another 20 cm.",
|
||||||
"interval": 3
|
"interval": 1
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue