import json
import os
from typing import Dict
from PySide6.QtWidgets import QMessageBox
from tommy.model.config_model import ConfigModel
from tommy.support.event_handler import EventHandler
from tommy.model.project_settings_model import ProjectSettingsModel
[docs]
class ProjectSettingsController:
"""
The project settings controller class is responsible for handling
interactions with the project settings.
"""
_project_settings_model: ProjectSettingsModel = None
_input_folder_path_changed_event: EventHandler[str]
@property
def input_folder_path_changed_event(self) -> EventHandler[str]:
return self._input_folder_path_changed_event
[docs]
def __init__(self) -> None:
"""
Initialize the publisher
"""
super().__init__()
self._input_folder_path_changed_event = EventHandler[str]()
[docs]
def set_model_refs(self, project_settings_model: ProjectSettingsModel):
"""
Sets the reference to the project settings model
:param project_settings_model: The project settings model
:return: None
"""
self._project_settings_model = project_settings_model
"""
This program has been developed by students from the bachelor Computer Science
at Utrecht University within the Software Project course.
© Copyright Utrecht University
(Department of Information and Computing Sciences)
"""