package de.uniluebeck.mi.projmi6.controller; /** * Created by 631806 on 12.11.15. */ import de.uniluebeck.mi.projmi6.model.*; import javafx.beans.property.SimpleObjectProperty; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.scene.control.*; import javafx.event.ActionEvent; public class DiagnoseController { private MainController mainController; public DiagnoseController(MainController mainController){ this.mainController = mainController; } public ObservableList getDiagnosen() { return diagnosen.get(); } public SimpleObjectProperty> diagnosenProperty() { return diagnosen; } public void setDiagnosen(ObservableList diagnosen) { this.diagnosen.set(diagnosen); } private SimpleObjectProperty> diagnosen = new SimpleObjectProperty<>(); @FXML private ListView diagnoseList; @FXML public void initialize(){ diagDiagnose.itemsProperty().bind(mainController.getStammdaten().icd10CodesProperty()); diagDiagnoseArt.setItems(FXCollections.observableArrayList(DiagArt.values())); diagDiagnoseArzt.itemsProperty().bind(mainController.getStammdaten().mitarbeiterProperty()); diagnoseList.itemsProperty().bind(diagnosen); diagnoseList.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); diagnoseList.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> { this.setDiagnose(newValue); }); } @FXML private ComboBox diagDiagnoseArzt; @FXML private Label diagCreator; @FXML private Button btnDiagCancel; @FXML private TextArea diagFreitext; @FXML private Button btnDiagSave; @FXML private Label diagCreateTime; @FXML private ComboBox diagDiagnoseArt; @FXML private Label diagChanger; @FXML private ComboBox diagDiagnose; @FXML private Label diagChangeTime; @FXML private Button btnDiagCreate; @FXML void clickedDiagCreate(ActionEvent event) { } @FXML void clickedDiagCancel(ActionEvent event) { } @FXML void clickedDiagSave(ActionEvent event) { } /** * The diagnose that is shown in the edit window, or null if a new diagnose should be created. */ private Diagnose diagnose = null; public void setDiagnose(Diagnose diagnose){ this.diagnose = diagnose; if(diagnose==null){ clearFields(); }else { copyDiagnoseDataIntoFields(diagnose); } } private void copyDiagnoseDataIntoFields(Diagnose diagnose){ diagDiagnoseArzt.setValue(diagnose.getArzt()); diagFreitext.setText(diagnose.getFreiText()); diagDiagnoseArt.setValue(diagnose.getDiagArt()); diagDiagnose.setValue(diagnose.getIcd10code()); diagCreator.setText(Integer.toString(diagnose.getErsteller())); diagCreateTime.setText(diagnose.getErstellDatumZeit().toString()); diagChanger.setText(Integer.toString(diagnose.getBearbeiter())); diagChangeTime.setText(diagnose.getBearbeitetDatumZeit().toString()); } private void copyFieldDataIntoDiagnose(Diagnose diagnose){ diagnose.setIcd10code(diagDiagnose.getValue()); diagnose.setArzt(diagDiagnoseArzt.getValue()); diagnose.setFreiText(diagFreitext.getText()); diagnose.setDiagArt(diagDiagnoseArt.getValue()); } private void clearFields(){ diagDiagnoseArzt.setValue(null); diagDiagnose.setValue(null); diagFreitext.setText(""); diagDiagnoseArt.setValue(null); diagCreator.setText("todo"); diagCreateTime.setText(""); diagChanger.setText("todo"); diagChangeTime.setText(""); } }