blob: 7dafe72d40a9988adb5bc581b875d99fdbb49c45 (
plain)
- // SPDX-FileCopyrightText: <Alexander Marthin Klemensen stud-marthin@ruc.dk>
- // SPDX-FileCopyrightText: <Ian Valentin Christensen stud-ianc@ruc.dk>
- // SPDX-FileCopyrightText: <Zahed Noos zahed@ruc.dk>
- // SPDX-License-Identifier: GPL-3.0-or-later
- package com.example.portfolio2;
- import javafx.scene.control.ComboBox;
- import javafx.scene.control.Label;
- import javafx.scene.control.TextArea;
- import java.util.List;
- class Controller{
- private Model model;
- private HelloApplication view; // We do this without using the view directly like this, instead passing options.
- void initialize() { // calls on the database
- model.initialize();
- }
- Controller(Model model, HelloApplication view){
- this.model=model; this.view=view;
- }
- void onComboSelected(ComboBox<String> combo, ComboBox<String> select, TextArea area) {
- select.getItems().clear(); // Clear the activity selection box
- area.clear(); // Clear text area
- select.getItems().addAll(model.selectProgram((String) combo.getValue())); // Fill activity box using model method
- }
- void onActivitySelected(ComboBox<String> combo, ComboBox<String> select, TextArea area) {
- addActivity((String) select.getValue(), area); // Passes the value chosen in the box
- updateArea(combo, area); // Updates the text area based on the category choice
- // users can choose from the ComboBox, string (activity) and the area would update.
- }
- void onSubjectModuleSelected(ComboBox<String> subject1, ComboBox<String> subject2, List<String> subjectModules) {
- // Beautiful loop we've created to remove option chosen in one subject module box from the other
- for (String sub : subjectModules) {
- if (sub.equals(subject1.getValue())) {
- subject2.getItems().remove(subject1.getValue());
- } else if (!sub.equals(subject1.getValue()) && !subject2.getItems().contains(sub)) {
- subject2.getItems().add(sub);
- }
- }
- }
- void addActivity(String s, TextArea textArea) { // Calls on model method to add participation in the database
- model.addParticipation(model.getActivityIndeks(s));
- }
- void updateArea(ComboBox combo, TextArea textArea) { // Clears the text area and adds all activity names from activities in participation
- textArea.clear();
- for(String s : model.getParticipation((String) combo.getValue())) {
- textArea.appendText(s + "\n");
- }
- }
- void updateEcts(Label ectslabel, ComboBox<String> comboBox) { // Updates the labels with the current ECTS of the program type
- ectslabel.setText("ECTS: "+model.getSumEcts(comboBox.getValue()));
- }
- void fillElective(ComboBox<String> electiveBox) {
- electiveBox.getItems().addAll(model.getAllActivities());
- }
- }
|