From f793ae51657ba1b01b280c11be5bb2a10f6148c0 Mon Sep 17 00:00:00 2001 From: Harry Linrui XU <xulr0820@hotmail.com> Date: Mon, 10 Apr 2023 12:29:35 +0200 Subject: [PATCH] Delete edit and delete buttons. Fixed edit and delete functionalities --- .../controller/IncomeExpenseController.java | 51 +++++++++---------- .../resources/view/IncomeAndExpenses.fxml | 28 +--------- 2 files changed, 26 insertions(+), 53 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 d0cc8853..8c4ba019 100644 --- a/src/main/java/no/ntnu/idatt1002/demo/controller/IncomeExpenseController.java +++ b/src/main/java/no/ntnu/idatt1002/demo/controller/IncomeExpenseController.java @@ -90,12 +90,6 @@ public class IncomeExpenseController implements FinanceController { @FXML private MenuItem addIncome; - @FXML - private Button deleteBtn; - - @FXML - private Button editBtn; - @FXML private ProgressBar budgetProgress; @@ -161,13 +155,12 @@ public class IncomeExpenseController implements FinanceController { expenseTableView.setItems(expenses); //Setting pie chart values to correspond with the registers - refreshPieCharts(); incomePieChart.setLegendSide(Side.RIGHT); - refreshPieCharts(); expensePieChart.setLegendSide(Side.RIGHT); expensePieChart.setLabelLineLength(10); + refreshPieCharts(); refreshProgress(); formatDatePicker(); @@ -250,30 +243,29 @@ public class IncomeExpenseController implements FinanceController { Income chosenIncome = incomeTableView.getSelectionModel().getSelectedItem(); Expense chosenExpense = expenseTableView.getSelectionModel().getSelectedItem(); + boolean isEditIncome = event.getSource() == editIncomeMenu; + + boolean isDeleteIncome = event.getSource() == deleteIncomeMenu; + + boolean isEditExpense = event.getSource() == editExpenseMenu; + + boolean isDeleteExpense = event.getSource() == deleteExpenseMenu; + System.out.println(chosenIncome); System.out.println(chosenExpense); - if (chosenIncome != null) { - if (event.getSource() == editBtn || event.getSource() == editIncomeMenu) { - handleEditIncome(chosenIncome); - System.out.println(1); - } else if (event.getSource() == deleteIncomeMenu) { - handleDeleteIncome(chosenIncome); - System.out.println(2); - } else return; - } else if (chosenExpense != null) { - if (event.getSource() == editBtn || event.getSource() == editExpenseMenu) { - handleEditExpense(chosenExpense); - System.out.println(3); - } else if (event.getSource() == deleteExpenseMenu) { - handleDeleteExpense(chosenExpense); - System.out.println(4); - } else return; + if (isEditIncome) { + handleEditIncome(chosenIncome); + } else if (isDeleteIncome) { + handleDeleteIncome(chosenIncome); + } else if (isEditExpense) { + handleEditExpense(chosenExpense); + } else if (isDeleteExpense) { + handleDeleteExpense(chosenExpense); } else return; //Updates the tableview and pie chart using the register refreshTableView(); - refreshPieCharts(); refreshProgress(); } @@ -301,7 +293,7 @@ public class IncomeExpenseController implements FinanceController { this.expenses.setAll(expenseRegister.getItems()); //this.sum.setText(String.valueOf(incomeRegister.getTotalSum())); } - + private void refreshPieCharts() { this.incomePieChart.setData(createIncomePieChart()); this.expensePieChart.setData(createExpensePieChart()); @@ -406,6 +398,8 @@ 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 @@ -433,6 +427,8 @@ public class IncomeExpenseController implements FinanceController { dialog.setTitle(dialogTitle); // Show the Dialog and wait for the user to close it dialog.showAndWait(); + + this.expensePieChart.setData(createIncomePieChart()); } @FXML @@ -441,6 +437,7 @@ public class IncomeExpenseController implements FinanceController { if (isConfirmed.isPresent() && isConfirmed.get() == ButtonType.OK) { incomeRegister.removeItem(chosenIncome); } + this.incomePieChart.setData(createIncomePieChart()); } @FXML @@ -449,7 +446,7 @@ public class IncomeExpenseController implements FinanceController { if (isConfirmed.isPresent() && isConfirmed.get() == ButtonType.OK) { expenseRegister.removeItem(chosenExpense); } - + this.incomePieChart.setData(createIncomePieChart()); } /** * Returns an optional, which is a popup alert box, asking for confirmation for deleting an diff --git a/src/main/resources/view/IncomeAndExpenses.fxml b/src/main/resources/view/IncomeAndExpenses.fxml index 756eba5a..4482bd92 100644 --- a/src/main/resources/view/IncomeAndExpenses.fxml +++ b/src/main/resources/view/IncomeAndExpenses.fxml @@ -75,7 +75,7 @@ </BorderPane> <BorderPane prefHeight="64.0" prefWidth="1100.0"> <left> - <HBox prefHeight="100.0" prefWidth="200.0" spacing="10.0" BorderPane.alignment="CENTER"> + <HBox alignment="CENTER_LEFT" prefHeight="100.0" prefWidth="200.0" spacing="10.0" BorderPane.alignment="CENTER"> <children> <MenuButton mnemonicParsing="false" prefHeight="25.0" prefWidth="50.0"> <items> @@ -90,30 +90,6 @@ </ImageView> </graphic> </MenuButton> - <Button fx:id="editBtn" mnemonicParsing="false" onAction="#handleEditBtn" prefHeight="25.0" prefWidth="60.0"> - <font> - <Font name="Lucida Console" size="12.0" /> - </font> - <graphic> - <ImageView fitHeight="30.0" fitWidth="50.0" pickOnBounds="true" preserveRatio="true"> - <image> - <Image url="@../Images/edit.png" /> - </image> - </ImageView> - </graphic> - </Button> - <Button fx:id="deleteBtn" mnemonicParsing="false" onAction="#handleDeleteBtn" prefHeight="25.0" prefWidth="60.0"> - <font> - <Font name="Lucida Console" size="12.0" /> - </font> - <graphic> - <ImageView fitHeight="30.0" fitWidth="50.0" pickOnBounds="true" preserveRatio="true"> - <image> - <Image url="@../Images/delete.png" /> - </image> - </ImageView> - </graphic> - </Button> </children> <BorderPane.margin> <Insets left="30.0" /> @@ -136,7 +112,7 @@ <center> <Pane BorderPane.alignment="CENTER"> <children> - <ComboBox fx:id="filter" layoutX="134.0" layoutY="2.0" prefWidth="150.0" promptText="Show"> + <ComboBox fx:id="filter" layoutX="135.0" layoutY="25.0" prefWidth="150.0" promptText="Show"> <opaqueInsets> <Insets /> </opaqueInsets> -- GitLab