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.

75 lines
2.1 KiB

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