From d6d952689787a64f49204299f3ea21106092c2cb Mon Sep 17 00:00:00 2001
From: Alexis Durgnat <alexis.durgnat@etu.hesge.ch>
Date: Sat, 2 Feb 2019 18:28:46 +0100
Subject: [PATCH] ChatMessage view

---
 .../ch/hepia/ui/MainWindowController.java     | 20 ++++++++++++++++++-
 src/main/resources/fxml/MainWindow.fxml       |  2 +-
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/src/main/java/ch/hepia/ui/MainWindowController.java b/src/main/java/ch/hepia/ui/MainWindowController.java
index ad4288d..0592f24 100644
--- a/src/main/java/ch/hepia/ui/MainWindowController.java
+++ b/src/main/java/ch/hepia/ui/MainWindowController.java
@@ -10,6 +10,7 @@ import javafx.fxml.FXML;
 import javafx.fxml.Initializable;
 import javafx.scene.canvas.Canvas;
 import javafx.scene.control.*;
+import javafx.scene.image.Image;
 import javafx.scene.input.KeyCode;
 import javafx.scene.paint.Color;
 import org.json.JSONArray;
@@ -20,6 +21,9 @@ import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.ResourceBundle;
+import javafx.scene.image.Image;
+import javafx.scene.layout.Pane;
+import javafx.scene.layout.StackPane;
 
 public class MainWindowController implements Initializable {
 
@@ -53,6 +57,9 @@ public class MainWindowController implements Initializable {
     @FXML
     private TextField messageTextBox;
 
+    @FXML
+    private StackPane chatContainer;
+
     /**
      * Shows a sad message when the API crashes.
      */
@@ -103,6 +110,14 @@ public class MainWindowController implements Initializable {
 		connectionCanvas.getGraphicsContext2D().fillOval(x + 620 - 5, y - 5, 10, 10);
     }
 
+    private void drawMessage(String message){
+        Pane p = new Pane();
+        Label msg = new Label();
+        msg.setText(message);
+        p.getChildren().add(msg);
+        chatContainer.getChildren().add(p);
+    }
+
     /**
      * Sets the form up
      * @param url The JavaFX URL handler
@@ -155,7 +170,10 @@ public class MainWindowController implements Initializable {
         });
 
         app.getMessageManager().conditionalSubscribeChatMessage(
-            chatMessage -> System.out.println(chatMessage.getUser().toString() + ": " + chatMessage.getMessage()),
+            chatMessage -> {
+                String message = chatMessage.getUser().toString() + ": " + chatMessage.getMessage();
+                System.out.println(message);
+        },
             chatMessage -> !(app.getUser().get().getIgnoredUserList().contains(chatMessage.getUser()))
             );
     }
diff --git a/src/main/resources/fxml/MainWindow.fxml b/src/main/resources/fxml/MainWindow.fxml
index 2cf2f27..0acd6d3 100644
--- a/src/main/resources/fxml/MainWindow.fxml
+++ b/src/main/resources/fxml/MainWindow.fxml
@@ -47,7 +47,7 @@
             <Line endX="326.0" endY="475.0" startY="475.0" stroke="#0000008c" />
             <TextField id="messageTextBox" fx:id="messageTextBox" layoutX="6.0" layoutY="483.0" prefHeight="27.0" prefWidth="206.0" />
             <Button id="sendMessageButton" fx:id="sendMessageButton" layoutX="219.0" layoutY="483.0" mnemonicParsing="false" prefHeight="27.0" prefWidth="101.0" text="Envoyer" />
-            <ScrollPane fx:id="chatContainer" layoutX="7.0" layoutY="6.0" prefHeight="465.0" prefWidth="315.0" />
+            <StackPane fx:id="chatContainer" layoutX="7.0" layoutY="6.0" prefHeight="465.0" prefWidth="315.0" />
          </children></Pane>
     </right>
     <center>
-- 
GitLab