From dfdeac8db67edb4977bb39963c17ab419c6dd863 Mon Sep 17 00:00:00 2001
From: Harry Linrui XU <xulr0820@hotmail.com>
Date: Sun, 12 Mar 2023 15:12:00 +0100
Subject: [PATCH] Commented out sections of code relating to expense overview.
 Connected all fxml files to the same controller

---
 .../demo/controller/SceneController.java      | 140 +++++++++---------
 .../java/no/ntnu/idatt1002/demo/view/App.java |  10 +-
 .../no/ntnu/idatt1002/demo/view/MyApp.java    |  11 +-
 src/main/resources/view/AddExpense.fxml       |   2 +-
 src/main/resources/view/Expenses.fxml         |  14 +-
 5 files changed, 87 insertions(+), 90 deletions(-)

diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/SceneController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/SceneController.java
index a8ebe075..4c3abfd3 100644
--- a/src/main/java/no/ntnu/idatt1002/demo/controller/SceneController.java
+++ b/src/main/java/no/ntnu/idatt1002/demo/controller/SceneController.java
@@ -22,73 +22,73 @@ import javafx.stage.Stage;
 import no.ntnu.idatt1002.demo.data.Expense;
 import no.ntnu.idatt1002.demo.data.ExpenseCategory;
 
-public class SceneController implements Initializable {
-
-    private Stage stage;
-    private Scene scene;
-    private Parent root;
-
-    @FXML
-    private Button add;
-
-    @FXML
-    private ComboBox<?> show;
-
-    @FXML
-    private TableColumn<Expense, Double> amount;
-
-    @FXML
-    private TableColumn<Expense, ExpenseCategory> category;
-
-    @FXML
-    private TableColumn<Expense, String> date;
-
-    @FXML
-    private TableColumn<Expense, String> description;
-
-    @FXML
-    private TableView<Expense> expenseTableView;
-
-    ObservableList<Expense> expenses = FXCollections.observableArrayList(
-        new Expense("", 1000.00, true, ExpenseCategory.FOOD, "1/1/23")
-    );
-    @Override
-    public void initialize(URL url, ResourceBundle resourceBundle) {
-        amount.setCellValueFactory(new PropertyValueFactory<Expense, Double>("amount"));
-        category.setCellValueFactory(new PropertyValueFactory<Expense, ExpenseCategory>("category"));
-        date.setCellValueFactory(new PropertyValueFactory<Expense, String>("date"));
-        description.setCellValueFactory(new PropertyValueFactory<Expense, String>("description"));
-
-        expenseTableView.setItems(expenses);
-    }
-
-    public void switchStartMenu(ActionEvent event) throws IOException {
-        FXMLLoader loader = new FXMLLoader(getClass().getResource("/view/FirstMenu.fxml"));
-        root = loader.load();
-        stage = (Stage)((Node)event.getSource()).getScene().getWindow();
-        scene = new Scene(root);
-        stage.setScene(scene);
-        stage.show();
-    }
-    public void switchNewBudget(ActionEvent event) throws IOException {
-        FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/NewBudget.fxml"));
-        Parent root = loader.load();
-        stage = (Stage)((Node)event.getSource()).getScene().getWindow();
-        scene = new Scene(root);
-        stage.setScene(scene);
-        stage.show();
-    }
-
-    public void switchExpenses(ActionEvent event) throws IOException {
-        FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/Expenses.fxml"));
-        Parent root = loader.load();
-        stage = (Stage)((Node)event.getSource()).getScene().getWindow();
-        scene = new Scene(root);
-        stage.setScene(scene);
-        stage.show();
-    }
-
-    public void addExpense(ActionEvent event) throws IOException {
-
-    }
-}
\ No newline at end of file
+public class SceneController /*implements Initializable*/ {
+
+  private Stage stage;
+  private Scene scene;
+  private Parent root;
+
+  /*@FXML
+  private Button add;
+
+  @FXML
+  private ComboBox<?> show;
+
+  @FXML
+  private TableColumn<Expense, Double> amount;
+
+  @FXML
+  private TableColumn<Expense, ExpenseCategory> category;
+
+  @FXML
+  private TableColumn<Expense, String> date;
+
+  @FXML
+  private TableColumn<Expense, String> description;
+
+  @FXML
+  private TableView<Expense> expenseTableView;
+
+  ObservableList<Expense> expenses = FXCollections.observableArrayList(
+      new Expense("", 1000.00, true, ExpenseCategory.FOOD, "1/1/23")
+  );
+  @Override
+  public void initialize(URL url, ResourceBundle resourceBundle) {
+    amount.setCellValueFactory(new PropertyValueFactory<Expense, Double>("amount"));
+    category.setCellValueFactory(new PropertyValueFactory<Expense, ExpenseCategory>("category"));
+    date.setCellValueFactory(new PropertyValueFactory<Expense, String>("date"));
+    description.setCellValueFactory(new PropertyValueFactory<Expense, String>("description"));
+
+    expenseTableView.setItems(expenses);
+  }*/
+
+  public void switchStartMenu(ActionEvent event) throws IOException {
+    FXMLLoader loader = new FXMLLoader(getClass().getResource("/view/FirstMenu.fxml"));
+    root = loader.load();
+    stage = (Stage)((Node)event.getSource()).getScene().getWindow();
+    scene = new Scene(root);
+    stage.setScene(scene);
+    stage.show();
+  }
+  public void switchNewBudget(ActionEvent event) throws IOException {
+    FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/NewBudget.fxml"));
+    Parent root = loader.load();
+    stage = (Stage)((Node)event.getSource()).getScene().getWindow();
+    scene = new Scene(root);
+    stage.setScene(scene);
+    stage.show();
+  }
+
+  public void switchExpenses(ActionEvent event) throws IOException {
+    FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/Expenses.fxml"));
+    Parent root = loader.load();
+    stage = (Stage)((Node)event.getSource()).getScene().getWindow();
+    scene = new Scene(root);
+    stage.setScene(scene);
+    stage.show();
+  }
+
+  public void addExpense(ActionEvent event) throws IOException {
+
+  }
+}
diff --git a/src/main/java/no/ntnu/idatt1002/demo/view/App.java b/src/main/java/no/ntnu/idatt1002/demo/view/App.java
index d0125bcf..91586aac 100644
--- a/src/main/java/no/ntnu/idatt1002/demo/view/App.java
+++ b/src/main/java/no/ntnu/idatt1002/demo/view/App.java
@@ -1,9 +1,7 @@
 package no.ntnu.idatt1002.demo.view;
 
 public class App {
-
-  public static void main(String[] args) {
-    MyApp.main(args);
-  }
-}
-
+    public static void main(String[] args) {
+        MyApp.main(args);
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/no/ntnu/idatt1002/demo/view/MyApp.java b/src/main/java/no/ntnu/idatt1002/demo/view/MyApp.java
index bd5d1275..171e4e68 100644
--- a/src/main/java/no/ntnu/idatt1002/demo/view/MyApp.java
+++ b/src/main/java/no/ntnu/idatt1002/demo/view/MyApp.java
@@ -12,12 +12,13 @@ public class MyApp extends Application {
 
     @Override
     public void start(Stage stage) throws IOException {
-            FXMLLoader loader = new FXMLLoader(getClass().getResource("/view/FirstMenu.fxml"));
-            Parent root = loader.load();
-            Scene scene = new Scene(root);
-            stage.setScene(scene);
-            stage.show();
+      FXMLLoader loader = new FXMLLoader(getClass().getResource("/view/FirstMenu.fxml"));
+      Parent root = loader.load();
+      Scene scene = new Scene(root);
+      stage.setScene(scene);
+      stage.show();
     }
+
     public static void main(String[] args) {
         launch(args);
     }
diff --git a/src/main/resources/view/AddExpense.fxml b/src/main/resources/view/AddExpense.fxml
index 77873c49..6a20d213 100644
--- a/src/main/resources/view/AddExpense.fxml
+++ b/src/main/resources/view/AddExpense.fxml
@@ -10,7 +10,7 @@
 <?import javafx.scene.layout.GridPane?>
 <?import javafx.scene.layout.RowConstraints?>
 
-<DialogPane prefWidth="480.0" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1">
+<DialogPane prefWidth="480.0" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="no.ntnu.idatt1002.demo.controller.SceneController">
    <content>
       <GridPane hgap="10.0" vgap="10.0">
          <columnConstraints>
diff --git a/src/main/resources/view/Expenses.fxml b/src/main/resources/view/Expenses.fxml
index d809f773..6089a614 100644
--- a/src/main/resources/view/Expenses.fxml
+++ b/src/main/resources/view/Expenses.fxml
@@ -33,7 +33,7 @@
          <top>
             <HBox BorderPane.alignment="CENTER">
                <children>
-                  <Button mnemonicParsing="false" onAction="#switchStartMenu" text="Return ">
+                  <Button mnemonicParsing="false" text="Return ">
                      <opaqueInsets>
                         <Insets left="100.0" />
                      </opaqueInsets>
@@ -71,13 +71,11 @@
                   <RowConstraints maxHeight="298.66665744781494" minHeight="10.0" prefHeight="29.999959309895814" vgrow="SOMETIMES" />
                </rowConstraints>
                <children>
-                  <HBox alignment="BOTTOM_LEFT" prefWidth="410.0">
+                  <HBox alignment="BOTTOM_LEFT" prefWidth="410.0" spacing="5.0">
                      <children>
-                        <Button alignment="TOP_CENTER" mnemonicParsing="false" prefHeight="26.0" prefWidth="189.0" text="Add expense" textAlignment="CENTER">
-                           <font>
-                              <Font size="14.0" />
-                           </font>
-                        </Button>
+                        <Button fx:id="add" alignment="TOP_CENTER" mnemonicParsing="false" text="Add" textAlignment="CENTER" />
+                        <Button fx:id="add1" alignment="TOP_CENTER" mnemonicParsing="false" text="Edit" textAlignment="CENTER" />
+                        <Button fx:id="add11" alignment="TOP_CENTER" mnemonicParsing="false" text="Delete" textAlignment="CENTER" />
                      </children>
                      <opaqueInsets>
                         <Insets />
@@ -88,7 +86,7 @@
                   </HBox>
                   <VBox alignment="BOTTOM_LEFT" prefHeight="200.0" prefWidth="100.0" spacing="5.0" GridPane.columnIndex="1">
                      <children>
-                        <ComboBox prefWidth="150.0" promptText="Show">
+                        <ComboBox fx:id="show" prefWidth="150.0" promptText="Show">
                            <opaqueInsets>
                               <Insets />
                            </opaqueInsets>
-- 
GitLab