Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • AndreasCleanUp
  • cleanup
  • dynamic-daysleft
  • improving-test-coverage
  • budget
  • FileHandlingAndreas
  • FileHandlingAndreasMergeEmil
  • controller-maintenance
  • JAR
10 results

IncomeExpenseController.java

Blame
  • IncomeExpenseController.java 21.08 KiB
    package no.ntnu.idatt1002.demo.controller;
    
    import java.io.IOException;
    import java.time.LocalDate;
    import java.util.Optional;
    import javafx.collections.FXCollections;
    import javafx.collections.ObservableList;
    import javafx.event.ActionEvent;
    import javafx.fxml.FXML;
    import javafx.fxml.FXMLLoader;
    import javafx.geometry.Side;
    import javafx.scene.Node;
    import javafx.scene.Parent;
    import javafx.scene.Scene;
    import javafx.scene.chart.PieChart;
    import javafx.scene.chart.PieChart.Data;
    import javafx.scene.control.Button;
    import javafx.scene.control.ButtonType;
    import javafx.scene.control.ComboBox;
    import javafx.scene.control.DatePicker;
    import javafx.scene.control.Dialog;
    import javafx.scene.control.Label;
    import javafx.scene.control.MenuItem;
    import javafx.scene.control.TableColumn;
    import javafx.scene.control.TableView;
    import javafx.scene.control.cell.PropertyValueFactory;
    import javafx.stage.Modality;
    import javafx.stage.Stage;
    import no.ntnu.idatt1002.demo.data.Budget.FileHandlingBudget;
    import no.ntnu.idatt1002.demo.data.Budget.FileHandlingBudgetArchive;
    import no.ntnu.idatt1002.demo.data.Budget.FileHandlingSelectedBudget;
    import no.ntnu.idatt1002.demo.data.Budget.GeneralBudget;
    import no.ntnu.idatt1002.demo.data.Economics.Expense;
    import no.ntnu.idatt1002.demo.data.Economics.ExpenseCategory;
    import no.ntnu.idatt1002.demo.data.Economics.ExpenseRegister;
    import no.ntnu.idatt1002.demo.data.Economics.FileHandling;
    import no.ntnu.idatt1002.demo.data.Economics.Income;
    import no.ntnu.idatt1002.demo.data.Economics.IncomeCategory;
    import no.ntnu.idatt1002.demo.data.Economics.IncomeRegister;
    
    /**
     * Class for representing an overview of the income and expenses of the users budget.
     * Displays information in tables and pie charts. It is possible to add, edit and delete
     * income and expenses. The difference of the expense and income sum contribute to
     * the monthly budget progress.
    
     * @author Harry Linrui Xu
     * @since 30.03.2023
     */
    public class IncomeExpenseController extends FinanceController {
    
      @FXML
      private TableColumn<Expense, Double> expAmountCol;
    
      @FXML
      private TableColumn<Expense, ExpenseCategory> expCategoryCol;
    
      @FXML
      private TableColumn<Expense, String> expDateCol;
    
      @FXML
      private TableColumn<Expense, String> expDescriptionCol;
    
      @FXML
      private TableColumn<Expense, Boolean> expRecurringCol;
    
      @FXML
      private TableColumn<Income, Double> inAmountCol;
    
      @FXML