Im Rahmen der Veranstaltung "CS3330 - Projektpraktikum MedizinischeInformatik" an der Universität zu Lübeck entstandenes Krankenhausinformationssystem (KIS).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

84 line
2.3 KiB

  1. package de.uniluebeck.mi.projmi6.controller;
  2. import de.uniluebeck.mi.projmi6.model.Fall;
  3. import de.uniluebeck.mi.projmi6.model.HL7Message;
  4. import de.uniluebeck.mi.projmi6.model.Patient;
  5. import de.uniluebeck.mi.projmi6.view.MessageIcon;
  6. import javafx.beans.property.SimpleListProperty;
  7. import javafx.collections.FXCollections;
  8. import javafx.collections.ObservableList;
  9. import javafx.fxml.FXML;
  10. import javafx.fxml.FXMLLoader;
  11. import javafx.scene.Parent;
  12. import javafx.scene.Scene;
  13. import javafx.scene.image.Image;
  14. import javafx.stage.Modality;
  15. import javafx.stage.Stage;
  16. import java.io.IOException;
  17. import java.time.LocalDateTime;
  18. /**
  19. * Created by Johannes on 21/11/2015.
  20. */
  21. public class MessageController {
  22. final MainController mainController;
  23. @FXML
  24. private MessageIcon messageIcon;
  25. private final SimpleListProperty<HL7Message> messages = new SimpleListProperty(FXCollections.observableArrayList());
  26. public MessageController(MainController mainController){
  27. this.mainController = mainController;
  28. }
  29. @FXML
  30. private void initialize(){
  31. messageIcon.messageCountProperty().bind(messages.sizeProperty());
  32. messages.add(new HL7Message(null, 0, LocalDateTime.now(), null, true));
  33. }
  34. @FXML
  35. private void onMessageIconClicked(){
  36. showMessageList();
  37. }
  38. private void showMessageList(){
  39. FXMLLoader fxmlLoader = new FXMLLoader();
  40. fxmlLoader.setLocation(getClass().getClassLoader().getResource("message_list.fxml"));
  41. MessageListController messageListController = new MessageListController(messages, mainController);
  42. fxmlLoader.setControllerFactory(clazz -> messageListController);
  43. Parent root = null;
  44. try {
  45. root = fxmlLoader.load();
  46. } catch (IOException e) {
  47. e.printStackTrace();
  48. return;
  49. }
  50. Stage stage = new Stage();
  51. stage.setTitle(messages.size()+ " neue HL7-Nachrichten");
  52. stage.setScene(new Scene(root, 600, 400));
  53. stage.getIcons().add(new Image("icon.png"));
  54. stage.initModality(Modality.WINDOW_MODAL);
  55. stage.initOwner(messageIcon.getScene().getWindow());
  56. stage.show();
  57. }
  58. public void addMessage(HL7Message message){
  59. messages.add(message);
  60. mainController.getLogController().refreshLogFromDb();
  61. }
  62. }