|
- package de.uniluebeck.mi.projmi6.controller;
-
- import de.uniluebeck.mi.projmi6.db.DBHandler;
- import de.uniluebeck.mi.projmi6.model.*;
- import javafx.beans.property.SimpleObjectProperty;
- import javafx.collections.FXCollections;
- import javafx.collections.ObservableList;
- import javafx.fxml.FXML;
- import javafx.scene.control.*;
- import javafx.util.Callback;
-
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Set;
-
- public class MainController {
-
- private FallController fallController;
- private DiagnoseController diagnoseController;
- private PatientTablesController patientTablesController;
- private SettingsController settingsController;
- private StationsHistorieController stationsHistorieController;
- private UntersuchungenController untersuchungenController;
-
- private SimpleObjectProperty<ObservableList<OpsCode>> opsCodes = new SimpleObjectProperty<>();
- private SimpleObjectProperty<ObservableList<Icd10Code>> icd10Codes = new SimpleObjectProperty<>();
- private SimpleObjectProperty<ObservableList<Mitarbeiter>> mitarbeiter = new SimpleObjectProperty<>();
- private SimpleObjectProperty<ObservableList<Kasse>> kassen = new SimpleObjectProperty<>();
- private SimpleObjectProperty<ObservableList<Station>> stationen = new SimpleObjectProperty<>();
-
- public ObservableList<Station> getStationen() {
- return stationen.get();
- }
-
- public SimpleObjectProperty<ObservableList<Station>> stationenProperty() {
- return stationen;
- }
-
- public void setStationen(ObservableList<Station> stationen) {
- this.stationen.set(stationen);
- }
-
- public ObservableList<Mitarbeiter> getMitarbeiter() {
- return mitarbeiter.get();
- }
-
- public SimpleObjectProperty<ObservableList<Mitarbeiter>> mitarbeiterProperty() {
- return mitarbeiter;
- }
-
- public void setMitarbeiter(ObservableList<Mitarbeiter> mitarbeiter) {
- this.mitarbeiter.set(mitarbeiter);
- }
-
- public ObservableList<Kasse> getKassen() {
- return kassen.get();
- }
-
- public SimpleObjectProperty<ObservableList<Kasse>> kassenProperty() {
- return kassen;
- }
-
- public void setKassen(ObservableList<Kasse> kassen) {
- this.kassen.set(kassen);
- }
-
-
-
- private int parallelTaskCount = 0;
-
- @FXML
- private ChoiceBox<Mitarbeiter> cmbUserChoose;
-
- @FXML
- private ProgressIndicator progressIndicator;
- @FXML
- private Button btnFallCreate;
-
- @FXML
- private SplitPane fallOverview;
-
- @FXML
- private ListView lvFall;
-
- @FXML
- private TabPane tabPaneFall;
-
- @FXML
- private Tab tabFallOverview, tabFallUntersuchungen, tabFallDiagnose, tabFallStationsHistorie ;
-
-
-
- private Callback<Class<?>, Object> controllerFactory = clazz -> {
- if(clazz.equals(MainController.class)) {
- return this;
- }else if(clazz.equals(FallController.class)){
- return fallController;
- }else if(clazz.equals(DiagnoseController.class)){
- return diagnoseController;
- }else if(clazz.equals(PatientTablesController.class)){
- return patientTablesController;
- }else if(clazz.equals(SettingsController.class)){
- return settingsController;
- } else if(clazz.equals(UntersuchungenController.class)) {
- return untersuchungenController;
- }else if(clazz.equals(StationsHistorieController.class)){
- return stationsHistorieController;
- }else {
- System.err.println("Keine Controller-Klasse des Typs "+clazz+" gefunden!!!");
- return null;
- }
-
- };
-
- public MainController(){
- fallController = new FallController(this);
- diagnoseController = new DiagnoseController(this);
- patientTablesController = new PatientTablesController(this);
- settingsController = new SettingsController(this);
- untersuchungenController = new UntersuchungenController(this);
- stationsHistorieController = new StationsHistorieController(this);
- }
-
-
-
-
- public Callback<Class<?>, Object> getControllerFactory(){
- return controllerFactory;
- }
-
-
-
-
- public FallController getFallController(){
- return fallController;
- }
-
- public DiagnoseController getDiagnoseController(){
- return diagnoseController;
- }
-
- public PatientTablesController getPatientTablesController(){
- return patientTablesController;
- }
-
- public SettingsController getSettingsController(){
- return settingsController;
- }
-
- public UntersuchungenController getUntersuchungenController(){
- return untersuchungenController;
- }
-
- public void increaseParallelTaskCount(){
- parallelTaskCount++;
- if(parallelTaskCount>0){
- progressIndicator.setVisible(true);
- }
- }
-
- public void decreaseParallelTaskCount(){
- parallelTaskCount++;
- if(parallelTaskCount<=0){
- parallelTaskCount = 0;
- progressIndicator.setVisible(false);
- }
- }
-
-
- public ObservableList<OpsCode> getOpsCodes() {
- return opsCodes.get();
- }
-
- public SimpleObjectProperty<ObservableList<OpsCode>> opsCodesProperty() {
- return opsCodes;
- }
-
- public void setOpsCodes(ObservableList<OpsCode> opsCodes){
- this.opsCodesProperty().set(opsCodes);
- }
-
- public ObservableList<Icd10Code> getIcd10Codes() {
- return icd10Codes.get();
- }
-
- public SimpleObjectProperty<ObservableList<Icd10Code>> icd10CodesProperty() {
- return icd10Codes;
- }
-
- public void setIcd10Codes(ObservableList<Icd10Code> icd10Codes) {
- this.icd10Codes.set(icd10Codes);
- }
-
-
- @FXML
- private void initialize(){
- cmbUserChoose.itemsProperty().bind(this.mitarbeiterProperty());
-
- fallOverview.disableProperty().bind(patientTablesController.selectedPatientProperty().isNull());
-
-
- patientTablesController.selectedPatientProperty().addListener((observableValue,oldValue,newValue)-> {
- System.out.println("Neuer Patient gewaehlt");
- try {
- List<Fall> faelle = DBHandler.getFaelleByPatID(newValue.getPatID());
- System.out.println(faelle);
- System.out.println("Liste der Faelle hat "+ faelle.size()+ " Eintrage ");
- lvFall.setItems(FXCollections.observableArrayList(faelle));
- }catch (Exception e){
- e.printStackTrace();
- }
- });
-
-
-
- }
-
-
- @FXML
- private void clickedCreateFall(){
- tabFallDiagnose.setDisable(true);
- tabFallUntersuchungen.setDisable(true);
- tabFallStationsHistorie.setDisable(true);
- tabPaneFall.getSelectionModel().select(tabFallOverview);
-
- fallController.createNewFall();
- }
-
- }
|