From 8700d87d6b8eecc0125356f84cd86364285853aa Mon Sep 17 00:00:00 2001 From: Johannes Date: Sat, 21 Nov 2015 22:59:29 +0100 Subject: [PATCH] =?UTF-8?q?Bugfix=20mit=20den=20LogTabellen;=20Bei=20einer?= =?UTF-8?q?=20empfangenen=20OP-Nachricht=20wird=20nun=20Patient=20+=20Diag?= =?UTF-8?q?nose=20ge=C3=B6ffnet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mi/projmi6/controller/LogController.java | 30 ++++++++++++++++--- .../mi/projmi6/controller/MainController.java | 35 ++++++++++++++++++++++ .../mi/projmi6/controller/MessageController.java | 4 +-- .../projmi6/controller/MessageListController.java | 4 ++- .../controller/PatientTablesController.java | 5 ++++ src/main/resources/log.fxml | 9 +++--- 6 files changed, 75 insertions(+), 12 deletions(-) diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/LogController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/LogController.java index fa8855d..91eaba4 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/controller/LogController.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/LogController.java @@ -5,9 +5,7 @@ import de.uniluebeck.mi.projmi6.model.HL7LogEntry; import javafx.collections.FXCollections; import javafx.concurrent.Task; import javafx.fxml.FXML; -import javafx.scene.control.Button; -import javafx.scene.control.TableColumn; -import javafx.scene.control.TableView; +import javafx.scene.control.*; import javafx.scene.control.cell.PropertyValueFactory; import javafx.scene.text.Text; @@ -48,7 +46,30 @@ public class LogController { private void initColumns(){ colLogIp.setCellValueFactory(new PropertyValueFactory("source")); colLogTime.setCellValueFactory(new PropertyValueFactory("timestamp")); - colLogIp.setCellValueFactory(new PropertyValueFactory("message")); + colLogMessage.setCellValueFactory(new PropertyValueFactory("message")); + + colLogMessage.setCellFactory(column -> { + return new TableCell(){ + private TextArea textArea = new TextArea(); + { + textArea.setEditable(false); + textArea.setPrefRowCount(5); + } + + @Override + protected void updateItem(String item, boolean empty) { + super.updateItem(item, empty); + this.setText(null); + if(item == null || empty){ + this.setGraphic(null); + return; + } + textArea.setText(item); + textArea.setWrapText(true); + this.setGraphic(textArea); + } + }; + }); } @@ -80,6 +101,7 @@ public class LogController { tblLog.setItems(FXCollections.observableArrayList(this.getValue())); mainController.decreaseParallelTaskCount(); btnRefresh.setDisable(false); + } @Override diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java index b3f0b2e..4628da4 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java @@ -152,6 +152,36 @@ public class MainController { } + private int fallIdToShow = -1; + + public void selectPatientAndFallId(Patient patient, int fallId){ + if(patientTablesController.getSelectedPatient()==patient + && !loadFallTask.isRunning()){ + selectFallById(fallId); + return; + } + + fallIdToShow = fallId; + patientTablesController.selectPatient(patient); + } + + private void selectFallById(int id){ + if(lvFall.getItems() == null){ + return; + } + + for(Fall fall: lvFall.getItems()){ + if(fall.getFallID()== id ){ + lvFall.getSelectionModel().select(fall); + return; + } + } + + + } + + + @FXML private Label lvFallPlaceholder; @@ -187,6 +217,11 @@ public class MainController { lvFallPlaceholder.setText("Keine F\u00e4lle vorhanden!"); lvFall.setItems(FXCollections.observableArrayList(getValue())); decreaseParallelTaskCount(); + + if(fallIdToShow!=-1){ + selectFallById(fallIdToShow); + fallIdToShow = -1; + } } @Override diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/MessageController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/MessageController.java index d1d90d3..1ca1021 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/controller/MessageController.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/MessageController.java @@ -38,12 +38,10 @@ public class MessageController { @FXML private void initialize(){ messageIcon.messageCountProperty().bind(messages.sizeProperty()); - messages.add(new HL7Message(null, 0, LocalDateTime.now(), null, true)); } @FXML private void onMessageIconClicked(){ - showMessageList(); } @@ -63,7 +61,7 @@ public class MessageController { Stage stage = new Stage(); - stage.setTitle(messages.size()+ " neue HL7-Nachrichten"); + stage.setTitle("Neue HL7-Nachrichten"); stage.setScene(new Scene(root, 600, 400)); stage.getIcons().add(new Image("icon.png")); diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/MessageListController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/MessageListController.java index 98f9391..d67fa7f 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/controller/MessageListController.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/MessageListController.java @@ -71,8 +71,10 @@ public class MessageListController { alert.initModality(Modality.APPLICATION_MODAL); alert.showAndWait(); + }else{ + mainController.selectPatientAndFallId(message.getPatient(), message.getFallId()); + ((Stage)lvMessages.getScene().getWindow()).close(); } - //TODO Go to patient } diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/PatientTablesController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/PatientTablesController.java index c0cef19..fbb9ea2 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/controller/PatientTablesController.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/PatientTablesController.java @@ -223,6 +223,11 @@ public class PatientTablesController { stage.show(); } + public void selectPatient(Patient patient){ + patientOverviewTabPane.getSelectionModel().select(0); // Select first tab + tblPatientOverview.getSelectionModel().select(patient); + } + public void updatePatientsFromDb() { if (this.loadPatientTask != null && this.loadPatientTask.isRunning()) { System.out.println("Patienten werden bereits geladen."); diff --git a/src/main/resources/log.fxml b/src/main/resources/log.fxml index e0a1893..efd8cc5 100644 --- a/src/main/resources/log.fxml +++ b/src/main/resources/log.fxml @@ -1,23 +1,24 @@ + - + -