diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/AddBudgetController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/AddBudgetController.java index d9281ff120c6c45de19cf9693cdabd8892a3662d..600d4a370a321d8d144c7d9edb121b5fb81a75d3 100644 --- a/src/main/java/no/ntnu/idatt1002/demo/controller/AddBudgetController.java +++ b/src/main/java/no/ntnu/idatt1002/demo/controller/AddBudgetController.java @@ -52,9 +52,7 @@ public class AddBudgetController { public void addBudget(ActionEvent event) { if(newBudgetItem == null){ ExpenseCategory category = getCategory(); - System.out.println(category.toString()); double amount = Double.parseDouble(amountVariable.getText()); - System.out.println(amount); String description = descriptionVariable.getText(); newBudgetItem = new BudgetItem(amount, description, category); } @@ -77,12 +75,8 @@ public class AddBudgetController { amountVariable.textProperty().set(String.valueOf(item.getBudgetAmount())); descriptionVariable.textProperty().set(item.getBudgetDescription()); categoryVariable.setValue(item.getBudgetCategory()); - - } - - public void closeButton(ActionEvent actionEvent) { final Node source = (Node) actionEvent.getSource(); final Stage stage = (Stage) source.getScene().getWindow(); 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 821fe2cfb5f3e40ab4de5f2526cc199013fe2765..0388343b248b7f51d5ef2cc7e8d615bc0f34bf49 100644 --- a/src/main/java/no/ntnu/idatt1002/demo/controller/BudgetController.java +++ b/src/main/java/no/ntnu/idatt1002/demo/controller/BudgetController.java @@ -19,6 +19,7 @@ import no.ntnu.idatt1002.demo.data.Economics.ExpenseCategory; import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.Optional; enum DialogMode{ ADD, EDIT, DELETE @@ -121,6 +122,28 @@ public class BudgetController { stage.close(); } + @FXML + public void deleteButton(ActionEvent event) { + BudgetItem item = budgetTableView.getSelectionModel().getSelectedItem(); + if (item == null) { + return; + } + Optional<ButtonType> isConfirmed = showConfirmationDialog(); + if (isConfirmed.isPresent() && isConfirmed.get() == ButtonType.OK) { + general.deleteItemFromBudget(item.getBudgetCategory()); + refreshObservableList(); + } + } + + private Optional<ButtonType> showConfirmationDialog() { + Alert alert = new Alert(Alert.AlertType.CONFIRMATION); + alert.setTitle("Confirm Delete"); + alert.setHeaderText("Delete Confirmation"); + alert.setContentText("Are you sure you would like to delete the selected entry?"); + + return alert.showAndWait(); + } + protected void refreshObservableList(){ budgetTableView.setItems(budgetList); diff --git a/src/main/resources/view/Budget.fxml b/src/main/resources/view/Budget.fxml index 5138187cb26c246e63446b3b6c59a719b57c2846..461014f8b2813ee9470742d01fcaef55932fa6b0 100644 --- a/src/main/resources/view/Budget.fxml +++ b/src/main/resources/view/Budget.fxml @@ -35,8 +35,9 @@ <children> <HBox alignment="TOP_CENTER" prefHeight="98.0" prefWidth="600.0" spacing="40.0" GridPane.rowIndex="3"> <children> - <Button fx:id="addBudget" minHeight="60.0" minWidth="100.0" mnemonicParsing="false" onAction="#switchAddBudget" prefWidth="100.0" text="Add Budget Item" /> - <Button fx:id="editBudget" minHeight="60.0" minWidth="100.0" mnemonicParsing="false" onAction="#switchAddBudget" prefWidth="100.0" text="Edit/Remove" /> + <Button fx:id="addBudget" minHeight="60.0" minWidth="100.0" mnemonicParsing="false" onAction="#switchAddBudget" prefWidth="100.0" text="Add" /> + <Button fx:id="editBudget" minHeight="60.0" minWidth="100.0" mnemonicParsing="false" onAction="#switchAddBudget" prefWidth="100.0" text="Edit" /> + <Button fx:id="deleteBudget" minHeight="60.0" minWidth="100.0" mnemonicParsing="false" onAction="#deleteButton" prefWidth="100.0" text="Delete" /> <Button minHeight="60.0" minWidth="100.0" mnemonicParsing="false" prefWidth="100.0" text="Save/Back" /> </children> </HBox>