Skip to content

Commit ab19047

Browse files
committed
Fixed scenebuilder not opening bug
1 parent f04c434 commit ab19047

File tree

6 files changed

+32
-32
lines changed

6 files changed

+32
-32
lines changed

ainm.todo

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,4 @@
1-
[x] [x]Task 1
2-
[x] [x]Task 2
3-
[x] [ ]Task 3
4-
[ ] [ ]Go to school
5-
[x] [ ]Task 4
6-
[ ] [ ]New todo
7-
[x] [ ]New todo
8-
[x] [x]New todo
9-
[ ] [x]New todo
10-
[x] [x]New todo
11-
[x] [ ]New todo
12-
[ ] [ ]New todo
13-
[x] [ ]New todo
14-
[ ] [x]New todo
15-
[ ] [x]New todo
16-
[x] [x]New todo
17-
[x] [x]New todo
18-
[ ] [ ]New todo
19-
[x] New todo
20-
[x] New todo
1+
[x] test
2+
[ ] test1
3+
[x] test2
4+
[x] test3

src/main/java/org/ainm/controllers/MainController.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,7 @@ void new_todo_list(ActionEvent event) throws IOException {
298298
loader.setLocation(getClass().getResource("/fxml/views/todo/todo_view.fxml"));
299299
Node todolistView = loader.load();
300300
TodolistController controller = loader.getController();
301+
todolistView.setUserData(controller);
301302
controller.openedFile = Paths.get(fullPath);
302303
addViewToCurrentTab(todolistView);
303304
}
@@ -333,6 +334,8 @@ void openFile(String filename) throws IOException {
333334
Node view = loader.load();
334335
// Load todolist
335336
TodolistController todolistController = loader.getController();
337+
//Set controller as user data for later access
338+
view.setUserData(todolistController);
336339
todolistController.loadFile(Paths.get(filename));
337340
// Open todolist view
338341
addViewToCurrentTab(view);
@@ -351,7 +354,7 @@ Tab get_current_tab() {
351354
public static Object getController(Node node) {
352355
Object controller = null;
353356
do {
354-
controller = node.getProperties().get("foo");
357+
controller = node.getUserData();
355358
node = node.getParent();
356359
} while (controller == null && node != null);
357360
return controller;

src/main/java/org/ainm/controllers/todolist/TodoitemController.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,23 @@
11
package org.ainm.controllers.todolist;
22

3+
import javafx.event.ActionEvent;
34
import javafx.fxml.FXML;
45
import javafx.scene.control.CheckBox;
6+
import javafx.scene.layout.HBox;
7+
import javafx.scene.layout.VBox;
58

69
public class TodoitemController {
710

811
@FXML
912
private CheckBox checkBox;
13+
14+
@FXML
15+
private HBox panel;
16+
17+
@FXML
18+
void deleteTodoAction(ActionEvent event) {
19+
((VBox) panel.getParent()).getChildren().remove(panel);
20+
}
1021

1122
void setTodo(String todo) {
1223
checkBox.setText(todo);

src/main/java/org/ainm/controllers/todolist/TodolistController.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ void addTodo(String todo, Boolean checked) throws IOException {
4646
Node todo_item = loader.load();
4747
//Set todo text
4848
TodoitemController todoController = loader.getController();
49+
todo_item.setUserData(todoController);
4950
todoController.setTodo(todo);
5051
todoController.setDone(checked);
5152
// Add todo to todolist
@@ -96,7 +97,7 @@ void saveFile(Path file) throws IOException {
9697
public static Object getController(Node node) {
9798
Object controller = null;
9899
do {
99-
controller = node.getProperties().get("foo");
100+
controller = node.getUserData();
100101
node = node.getParent();
101102
} while (controller == null && node != null);
102103
return controller;

src/main/resources/fxml/views/todo/todo_item.fxml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,22 @@
22

33
<?import javafx.geometry.Insets?>
44
<?import javafx.scene.control.CheckBox?>
5+
<?import javafx.scene.control.ContextMenu?>
6+
<?import javafx.scene.control.MenuItem?>
57
<?import javafx.scene.layout.HBox?>
68

7-
<HBox alignment="CENTER_LEFT" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="50.0" prefWidth="500.0" style="-fx-background-color: #232323;" xmlns="http://javafx.com/javafx/17" xmlns:fx="http://javafx.com/fxml/1" fx:controller="org.ainm.controllers.todolist.TodoitemController">
9+
<HBox fx:id="panel" alignment="CENTER_LEFT" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="50.0" prefWidth="500.0" style="-fx-background-color: #232323;" xmlns="http://javafx.com/javafx/17" xmlns:fx="http://javafx.com/fxml/1" fx:controller="org.ainm.controllers.todolist.TodoitemController">
810
<children>
911
<CheckBox fx:id="checkBox" mnemonicParsing="false" stylesheets="@../../../styles/checkbox/checkbox.css" text="New todo item">
1012
<HBox.margin>
1113
<Insets />
12-
</HBox.margin></CheckBox>
14+
</HBox.margin>
15+
<contextMenu>
16+
<ContextMenu>
17+
<items>
18+
<MenuItem fx:id="deleteItem" mnemonicParsing="false" onAction="#deleteTodoAction" text="Delete" />
19+
</items>
20+
</ContextMenu>
21+
</contextMenu></CheckBox>
1322
</children>
14-
<properties>
15-
<!-- store controller at key "foo" in properties map -->
16-
<foo><fx:reference source="controller" /></foo>
17-
</properties>
1823
</HBox>

src/main/resources/fxml/views/todo/todo_view.fxml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,4 @@
2121
<padding>
2222
<Insets bottom="50.0" top="30.0" />
2323
</padding>
24-
<properties>
25-
<!-- store controller at key "foo" in properties map -->
26-
<foo><fx:reference source="controller" /></foo>
27-
</properties>
2824
</ScrollPane>

0 commit comments

Comments
 (0)