From 48cfa81f44f90491e1a79440f9bffb91598d6cef Mon Sep 17 00:00:00 2001
From: Harry Linrui XU <xulr0820@hotmail.com>
Date: Fri, 31 Mar 2023 13:22:23 +0200
Subject: [PATCH] "Made method for refreshing progress bar. Extracted
 commonalities in handleEdit and handleDelete"

---
 .../controller/IncomeExpenseController.java   | 41 +++++++++++--------
 1 file changed, 24 insertions(+), 17 deletions(-)

diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/IncomeExpenseController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/IncomeExpenseController.java
index 95b5fee2..4b3014da 100644
--- a/src/main/java/no/ntnu/idatt1002/demo/controller/IncomeExpenseController.java
+++ b/src/main/java/no/ntnu/idatt1002/demo/controller/IncomeExpenseController.java
@@ -146,13 +146,16 @@ public class IncomeExpenseController implements FinanceController {
     expenses = FXCollections.observableArrayList(expenseRegister.getItems());
     expenseTableView.setItems(expenses);
 
-    refreshPieCharts(); //TODO THIS IS FUCKED. DISPLAYS EXPENSE CATEGORIES
+    //Setting pie chart values to correspond with the registers
+    refreshPieCharts();
     incomePieChart.setLegendSide(Side.RIGHT);
 
     refreshPieCharts();
     expensePieChart.setLegendSide(Side.RIGHT);
     expensePieChart.setLabelLineLength(10);
 
+    refreshProgress();
+
     //Initialize sum field under the tableview
    // inSum.setText(String.valueOf(incomeRegister.getTotalSum()));
     //expSum.setText(String.valueOf(expenseRegister.getTotalSum()));
@@ -202,6 +205,7 @@ public class IncomeExpenseController implements FinanceController {
     }
     refreshTableView();
     refreshPieCharts();
+    refreshProgress();
   }
 
   /**
@@ -214,14 +218,23 @@ public class IncomeExpenseController implements FinanceController {
     Income chosenIncome = incomeTableView.getSelectionModel().getSelectedItem();
     Expense chosenExpense = expenseTableView.getSelectionModel().getSelectedItem();
 
-    if (chosenIncome!= null) {
-      handleEditIncome(chosenIncome);
-    } else if (chosenExpense != null) {
-      handleEditExpense(chosenExpense);
-    }
+    if (event.getSource() == editBtn) {
+      if (chosenIncome!= null) {
+        handleEditIncome(chosenIncome);
+      } else if (chosenExpense != null) {
+        handleEditExpense(chosenExpense);
+      }
+    } else if (event.getSource() == deleteBtn) {
+      if (chosenIncome != null) {
+        handleDeleteIncome(chosenIncome);
+      } else if (chosenExpense != null) {
+        handleDeleteExpense(chosenExpense);
+      }
+    } else return;
     //Updates the tableview and pie chart using the register
     refreshTableView();
     refreshPieCharts();
+    refreshProgress();
   }
 
   /**
@@ -232,17 +245,7 @@ public class IncomeExpenseController implements FinanceController {
    */
   @Override
   public void handleDeleteBtn(javafx.event.ActionEvent event) {
-    Income chosenIncome = incomeTableView.getSelectionModel().getSelectedItem();
-    Expense chosenExpense = expenseTableView.getSelectionModel().getSelectedItem();
-    
-    if (chosenIncome != null) {
-      handleDeleteIncome(chosenIncome);
-    } else if (chosenExpense != null) {
-      handleDeleteExpense(chosenExpense);
-    }
-    //Updates the tableview and pie chart using the register
-    refreshTableView();
-    refreshPieCharts();
+    handleEditBtn(event);
   }
 
   /**
@@ -264,6 +267,10 @@ public class IncomeExpenseController implements FinanceController {
     this.expensePieChart.setData(createExpensePieChart());
   }
 
+  private void refreshProgress() {
+    budgetProgress.setProgress(expenseRegister.getTotalSum()/incomeRegister.getTotalSum());
+  }
+
   @FXML
   private void handleAddIncome() {
     //Instantiate FXML loader and loads the popup for adding income
-- 
GitLab