package envoy.client.ui.listcell; import javafx.geometry.Pos; import javafx.scene.control.Label; import javafx.scene.layout.*; import envoy.client.data.Chat; /** * Displays a chat using a contact control for the recipient and a label for the * unread message count. *

* Project: envoy-client
* File: ContactControl.java
* Created: 01.07.2020
* * @see ContactControl * @author Leon Hofmeister * @since Envoy Client v0.1-beta */ public class ChatControl extends HBox { /** * @param chat the chat to display * @since Envoy Client v0.1-beta */ public ChatControl(Chat chat) { // Contact control getChildren().add(new ContactControl(chat.getRecipient())); // Unread messages if (chat.getUnreadAmount() != 0) { Region spacing = new Region(); setHgrow(spacing, Priority.ALWAYS); getChildren().add(spacing); final var unreadMessagesLabel = new Label(Integer.toString(chat.getUnreadAmount())); unreadMessagesLabel.setMinSize(15, 15); var vBox2 = new VBox(); vBox2.setAlignment(Pos.CENTER_RIGHT); unreadMessagesLabel.setAlignment(Pos.CENTER); unreadMessagesLabel.getStyleClass().add("unreadMessagesAmount"); vBox2.getChildren().add(unreadMessagesLabel); getChildren().add(vBox2); } getStyleClass().add("listElement"); } }