57 lines
2.2 KiB
XML
57 lines
2.2 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<?import javafx.scene.control.*?>
|
|
<?import javafx.scene.layout.*?>
|
|
<?import javafx.geometry.Insets?>
|
|
|
|
<!--
|
|
This window will later be linked to the server requests,
|
|
to display messages from other players and system messages in real time.
|
|
|
|
The chat internally distinguishes between:
|
|
- Player-to-Player (Private 2-person chat)
|
|
- Lobby Chat (Current room)
|
|
- Global Chat (Entire server)
|
|
|
|
Features planned for later implementation:
|
|
- Stylish chat bubbles with names and timestamps.
|
|
-->
|
|
|
|
<VBox xmlns="http://javafx.com/javafx/21"
|
|
xmlns:fx="http://javafx.com/fxml/1"
|
|
fx:controller="ch.unibas.dmi.dbis.cs108.casono.client.ui.chatui.ChatController"
|
|
alignment="CENTER"
|
|
stylesheets="@Chatui.css">
|
|
|
|
<!-- Inner spacing: Creates 30 pixels of space at the top, right and bottom, only 10 pixels on the left (asymmetrical) -->
|
|
<padding>
|
|
<Insets top="30" right="30" bottom="30" left="10"/>
|
|
</padding>
|
|
|
|
<children>
|
|
<VBox VBox.vgrow="ALWAYS"
|
|
styleClass="chat-box"
|
|
spacing="10"
|
|
maxWidth="Infinity">
|
|
|
|
<children>
|
|
<Label text="== CHAT ==" styleClass="chat-header" alignment="CENTER" maxWidth="Infinity"/>
|
|
<Region minHeight="4" styleClass="chat-separator"/>
|
|
|
|
<!-- Chat messages will be added here -->
|
|
<ScrollPane fx:id="chatScrollPane" fitToWidth="true" vbarPolicy="AS_NEEDED" hbarPolicy="NEVER" VBox.vgrow="ALWAYS" styleClass="chat-scroll-pane">
|
|
<content>
|
|
<VBox fx:id="chatVBox" spacing="10" styleClass="chat-VBox"/>
|
|
</content>
|
|
</ScrollPane>
|
|
|
|
<!-- Input area -->
|
|
<HBox spacing="10">
|
|
<!-- TODO: Dynamically adjust the size of the text field -->
|
|
<TextField fx:id="inputField" HBox.hgrow="ALWAYS" promptText="Nachricht eingeben..." styleClass="gray-input-field" onAction="#sendMessage"/>
|
|
<Button fx:id="sendButton" text="SENDEN" onAction="#sendMessage" styleClass="yellow-button"/>
|
|
</HBox>
|
|
</children>
|
|
</VBox>
|
|
</children>
|
|
</VBox> |