Skip to content
Snippets Groups Projects
SelectBudgetController.java 1.99 KiB
Newer Older
package no.ntnu.idatt1002.demo.controller;

import java.io.IOException;
import java.util.Collection;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.scene.Node;
import javafx.scene.control.ListView;
import javafx.scene.input.MouseButton;
import javafx.scene.input.MouseEvent;
import javafx.stage.Stage;
import no.ntnu.idatt1002.demo.data.Budget.BudgetRegister;
import no.ntnu.idatt1002.demo.data.Budget.FileHandlingBudget;
import no.ntnu.idatt1002.demo.data.Budget.GeneralBudget;

public class SelectBudgetController {

  @FXML
  private ListView<String> budgetListView;

  private BudgetRegister budgetRegister;

  private ObservableList<String> budgetList;

  @FXML
  public void initialize() throws IOException {
    budgetRegister = FileHandlingBudget.readBudgetArchive("");
    System.out.println(budgetRegister);
    System.out.println(budgetRegister.getBudgetNames().size());
    System.out.println("this is budgetRegisr: " + budgetRegister);
    budgetList = FXCollections.observableList(budgetRegister.getBudgetNames());
    budgetListView.setItems(budgetList);

    budgetListView.setOnMouseClicked(mouseEvent-> {
          if(mouseEvent.getButton().equals(MouseButton.PRIMARY)){
            if(mouseEvent.getClickCount() == 2){
              System.out.println("Double clicked");
            }
          }
        });
      }

  @FXML
  public void selectBudget(ActionEvent event) throws IOException {
    String name = budgetListView.getSelectionModel().getSelectedItem();
    System.out.println(name);
    FileHandlingBudget.updateCurrentFile(name);

    final Node source = (Node) event.getSource();
    ((Stage) source.getScene().getWindow()).close();
  }

  @FXML
  public void exitWindow(ActionEvent event) throws IOException {
    FileHandlingBudget.updateCurrentFile("");
    final Node source = (Node) event.getSource();
    ((Stage) source.getScene().getWindow()).close();
  }
}