diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/BudgetController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/BudgetController.java index ee55a6f098547b76952830ef57e81a1b642d3f16..1325d2968e40ab23d687559dc589f1b6a60d8a79 100644 --- a/src/main/java/no/ntnu/idatt1002/demo/controller/BudgetController.java +++ b/src/main/java/no/ntnu/idatt1002/demo/controller/BudgetController.java @@ -82,6 +82,7 @@ public class BudgetController implements FinanceController { //TODO disable return to main menu when creating budget because this is the same view as when you create budeget //TODO make budget item throw exception with negative amount //TODO specify error messgage for when amount is exceeded / duplicate exists + //todo properly close screen so things are saved //Initialize table columns categoryCol.setCellValueFactory(new PropertyValueFactory<BudgetItem, ExpenseCategory>("budgetCategory")); amountCol.setCellValueFactory(new PropertyValueFactory<BudgetItem, Double>("budgetAmount")); @@ -98,13 +99,18 @@ public class BudgetController implements FinanceController { //sum.setText(String.valueOf(general.totalSum())); } - private ObservableList<PieChart.Data> createBudgetPieChart() { //TODO DOESNT WORK IF BUDGETITEM HAS NO BUDGET - return FXCollections.observableArrayList( - new Data("Food", general.getBudgetItem(ExpenseCategory.FOOD).getBudgetAmount()), - new Data("Books", general.getBudgetItem(ExpenseCategory.BOOKS).getBudgetAmount()), - new Data("Clothes", general.getBudgetItem(ExpenseCategory.CLOTHES).getBudgetAmount()), - new Data("Other", general.getBudgetItem(ExpenseCategory.OTHER).getBudgetAmount()) - ); + private ObservableList<PieChart.Data> createBudgetPieChart() throws IllegalArgumentException { //TODO DOESNT WORK IF BUDGETITEM HAS NO BUDGET + try { + return FXCollections.observableArrayList( + new Data("Food", general.getBudgetItem(ExpenseCategory.FOOD).getBudgetAmount()), + new Data("Books", general.getBudgetItem(ExpenseCategory.BOOKS).getBudgetAmount()), + new Data("Clothes", + general.getBudgetItem(ExpenseCategory.CLOTHES).getBudgetAmount()), + new Data("Other", general.getBudgetItem(ExpenseCategory.OTHER).getBudgetAmount()) + ); + } catch(IllegalArgumentException iae) { + return FXCollections.observableArrayList(); + } } /** 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 8c4ba019c75c9457390fed1049d40f19c61ce1c0..d82af87d59766f4684afb42545bf3c7e88dc6a3f 100644 --- a/src/main/java/no/ntnu/idatt1002/demo/controller/IncomeExpenseController.java +++ b/src/main/java/no/ntnu/idatt1002/demo/controller/IncomeExpenseController.java @@ -227,7 +227,6 @@ public class IncomeExpenseController implements FinanceController { if (sizeAf != sizeBf) { refreshTableView(); - refreshPieCharts(); refreshProgress(); } } @@ -334,6 +333,7 @@ public class IncomeExpenseController implements FinanceController { //Adds the new item to the register if (newIncome != null) { incomeRegister.addItem(newIncome); + incomePieChart.setData(createIncomePieChart()); } } @@ -369,11 +369,14 @@ public class IncomeExpenseController implements FinanceController { //Adds the new item to the register if (newExpense != null) { expenseRegister.addItem(newExpense); + expensePieChart.setData(createExpensePieChart()); } } @FXML private void handleEditIncome(Income chosenIncome) { + //Create copy of chosenIncome before changes + //Instantiate FXML loader and loads the popup for adding income FXMLLoader loader = new FXMLLoader(); loader.setLocation(getClass().getResource("/view/AddIncome.fxml")); @@ -398,8 +401,6 @@ public class IncomeExpenseController implements FinanceController { dialog.setTitle(dialogTitle); // Show the Dialog and wait for the user to close it dialog.showAndWait(); - - this.incomePieChart.setData(createIncomePieChart()); } @FXML diff --git a/src/main/resources/Economics/Income.register b/src/main/resources/Economics/Income.register index 7f32fd99abb68a96e0ecdc3022635b56f7798124..24087f7391b76414335518578de3cff11a0b8cc5 100644 --- a/src/main/resources/Economics/Income.register +++ b/src/main/resources/Economics/Income.register @@ -1,10 +1,10 @@ -date=2023-03-31 +date=2023-04-10 amount=499.0 isRecurring=Not recurring -category=SALARY +category=GIFT date=2023-04-10 -amount=100.0 +amount=200.0 isRecurring=Not recurring -category=GIFT +category=SALARY