 16f8d73a7c
			
		
	
	16f8d73a7c
	
	
	
		
			
			additionally: - added search icons - solved problem of Scrollbars being shown too far from the right side (all praise FX, Swing did not offer such a simple solution) - relocated infoLabel into the highest row, is now located above the messageList
		
			
				
	
	
		
			204 lines
		
	
	
		
			7.4 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			204 lines
		
	
	
		
			7.4 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="UTF-8"?>
 | |
| 
 | |
| <?import javafx.geometry.Insets?>
 | |
| <?import javafx.geometry.Rectangle2D?>
 | |
| <?import javafx.scene.control.Button?>
 | |
| <?import javafx.scene.control.ButtonBar?>
 | |
| <?import javafx.scene.control.ContextMenu?>
 | |
| <?import javafx.scene.control.Label?>
 | |
| <?import javafx.scene.control.ListView?>
 | |
| <?import javafx.scene.control.MenuItem?>
 | |
| <?import javafx.scene.control.TextArea?>
 | |
| <?import javafx.scene.control.Tooltip?>
 | |
| <?import javafx.scene.image.ImageView?>
 | |
| <?import javafx.scene.layout.ColumnConstraints?>
 | |
| <?import javafx.scene.layout.GridPane?>
 | |
| <?import javafx.scene.layout.RowConstraints?>
 | |
| 
 | |
| <GridPane hgap="5.0" maxHeight="-Infinity" maxWidth="-Infinity"
 | |
| 	minHeight="400.0" minWidth="350.0" prefHeight="400.0" prefWidth="600.0"
 | |
| 	vgap="2.0" xmlns="http://javafx.com/javafx/11.0.1"
 | |
| 	xmlns:fx="http://javafx.com/fxml/1"
 | |
| 	fx:controller="envoy.client.ui.controller.ChatScene">
 | |
| 	<columnConstraints>
 | |
| 		<ColumnConstraints hgrow="NEVER" minWidth="60.0"
 | |
| 			prefWidth="160.0" />
 | |
| 		<ColumnConstraints hgrow="ALWAYS"
 | |
| 			maxWidth="1.7976931348623157E308" minWidth="10.0" prefWidth="357.0" />
 | |
| 		<ColumnConstraints hgrow="ALWAYS"
 | |
| 			maxWidth="1.7976931348623157E308" minWidth="10.0" percentWidth="7.0"
 | |
| 			prefWidth="357.0" />
 | |
| 	</columnConstraints>
 | |
| 	<rowConstraints>
 | |
| 		<RowConstraints maxHeight="-Infinity"
 | |
| 			minHeight="-Infinity" prefHeight="50.0" vgrow="NEVER" />
 | |
| 		<RowConstraints maxHeight="-Infinity"
 | |
| 			minHeight="-Infinity" prefHeight="20.0" vgrow="NEVER" />
 | |
| 		<RowConstraints maxHeight="1.7976931348623157E308"
 | |
| 			minHeight="50.0" prefHeight="155.14286150251115" vgrow="ALWAYS" />
 | |
| 		<RowConstraints maxHeight="-Infinity"
 | |
| 			minHeight="-Infinity" prefHeight="20.0" vgrow="NEVER" />
 | |
| 		<RowConstraints maxHeight="120.0" minHeight="40.0"
 | |
| 			prefHeight="60.0" vgrow="NEVER" />
 | |
| 		<RowConstraints maxHeight="-Infinity"
 | |
| 			minHeight="-Infinity" prefHeight="40.0" vgrow="NEVER" />
 | |
| 	</rowConstraints>
 | |
| 	<children>
 | |
| 		<ListView fx:id="userList" onMouseClicked="#userListClicked"
 | |
| 			prefHeight="211.0" prefWidth="300.0" GridPane.rowIndex="1"
 | |
| 			GridPane.rowSpan="2147483647">
 | |
| 			<GridPane.margin>
 | |
| 				<Insets bottom="5.0" left="10.0" />
 | |
| 			</GridPane.margin>
 | |
| 			<padding>
 | |
| 				<Insets bottom="5.0" left="5.0" right="2.0" top="5.0" />
 | |
| 			</padding>
 | |
| 			<contextMenu>
 | |
| 				<ContextMenu anchorLocation="CONTENT_TOP_LEFT">
 | |
| 					<items>
 | |
| 						<MenuItem fx:id="deleteContactMenuItem"
 | |
| 							mnemonicParsing="false" onAction="#deleteContact" text="Delete" />
 | |
| 					</items>
 | |
| 				</ContextMenu>
 | |
| 			</contextMenu>
 | |
| 		</ListView>
 | |
| 		<Label fx:id="contactLabel" prefHeight="27.0" prefWidth="134.0"
 | |
| 			GridPane.columnSpan="2">
 | |
| 			<GridPane.margin>
 | |
| 				<Insets left="10.0" />
 | |
| 			</GridPane.margin>
 | |
| 			<padding>
 | |
| 				<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
 | |
| 			</padding>
 | |
| 		</Label>
 | |
| 		<Button fx:id="settingsButton" mnemonicParsing="true"
 | |
| 			onAction="#settingsButtonClicked" text="_Settings"
 | |
| 			GridPane.columnIndex="1" GridPane.columnSpan="2147483647"
 | |
| 			GridPane.halignment="RIGHT" GridPane.valignment="CENTER">
 | |
| 			<GridPane.margin>
 | |
| 				<Insets bottom="10.0" right="10.0" top="10.0" />
 | |
| 			</GridPane.margin>
 | |
| 			<padding>
 | |
| 				<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
 | |
| 			</padding>
 | |
| 		</Button>
 | |
| 		<ListView fx:id="messageList" GridPane.columnIndex="1"
 | |
| 			GridPane.columnSpan="2147483647" GridPane.rowIndex="1"
 | |
| 			GridPane.rowSpan="2">
 | |
| 			<GridPane.margin>
 | |
| 				<Insets left="5.0" right="10.0" />
 | |
| 			</GridPane.margin>
 | |
| 			<padding>
 | |
| 				<Insets bottom="5.0" left="5.0" right="2.0" top="5.0" />
 | |
| 			</padding>
 | |
| 		</ListView>
 | |
| 		<ButtonBar buttonMinWidth="40.0" GridPane.columnIndex="1"
 | |
| 			GridPane.columnSpan="2147483647" GridPane.halignment="CENTER"
 | |
| 			GridPane.rowIndex="5" GridPane.valignment="BOTTOM">
 | |
| 			<GridPane.margin>
 | |
| 				<Insets right="10.0" />
 | |
| 			</GridPane.margin>
 | |
| 			<buttons>
 | |
| 				<Button fx:id="attachmentButton" disable="true"
 | |
| 					mnemonicParsing="false" onAction="#attachmentButtonClicked">
 | |
| 					<padding>
 | |
| 						<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
 | |
| 					</padding>
 | |
| 				</Button>
 | |
| 				<Button fx:id="voiceButton" disable="true"
 | |
| 					onAction="#voiceButtonClicked">
 | |
| 					<padding>
 | |
| 						<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
 | |
| 					</padding>
 | |
| 				</Button>
 | |
| 				<Button fx:id="postButton" defaultButton="true"
 | |
| 					disable="true" mnemonicParsing="true" onAction="#postMessage"
 | |
| 					text="_Post">
 | |
| 					<tooltip>
 | |
| 						<Tooltip anchorLocation="WINDOW_TOP_LEFT" autoHide="true"
 | |
| 							maxWidth="350.0"
 | |
| 							text="Click this button to send the message. If it is disabled, you first have to select a contact to send it to. A message may automatically be sent when you press (Ctrl + ) Enter, according to your preferences. Additionally sends a message when pressing "Alt" + "P"."
 | |
| 							wrapText="true" />
 | |
| 					</tooltip>
 | |
| 					<contextMenu>
 | |
| 						<ContextMenu anchorLocation="CONTENT_TOP_LEFT">
 | |
| 							<items>
 | |
| 								<MenuItem mnemonicParsing="false"
 | |
| 									onAction="#copyAndPostMessage" text="Copy and Send" />
 | |
| 							</items>
 | |
| 						</ContextMenu>
 | |
| 					</contextMenu>
 | |
| 					<padding>
 | |
| 						<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
 | |
| 					</padding>
 | |
| 				</Button>
 | |
| 			</buttons>
 | |
| 		</ButtonBar>
 | |
| 		<TextArea fx:id="messageTextArea" disable="true"
 | |
| 			onInputMethodTextChanged="#messageTextUpdated"
 | |
| 			onKeyPressed="#checkPostConditions" onKeyTyped="#checkKeyCombination"
 | |
| 			prefHeight="200.0" prefWidth="200.0" wrapText="true"
 | |
| 			GridPane.columnIndex="1" GridPane.columnSpan="2147483647"
 | |
| 			GridPane.rowIndex="4">
 | |
| 			<GridPane.margin>
 | |
| 				<Insets bottom="10.0" left="5.0" right="10.0" top="3.0" />
 | |
| 			</GridPane.margin>
 | |
| 			<opaqueInsets>
 | |
| 				<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
 | |
| 			</opaqueInsets>
 | |
| 		</TextArea>
 | |
| 		<Button mnemonicParsing="true"
 | |
| 			onAction="#addContactButtonClicked" text="_Add Contacts"
 | |
| 			GridPane.halignment="CENTER" GridPane.rowIndex="5"
 | |
| 			GridPane.valignment="CENTER">
 | |
| 			<padding>
 | |
| 				<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
 | |
| 			</padding>
 | |
| 			<GridPane.margin>
 | |
| 				<Insets bottom="10.0" left="10.0" right="5.0" />
 | |
| 			</GridPane.margin>
 | |
| 		</Button>
 | |
| 		<Label id="remainingCharsLabel" fx:id="remainingChars"
 | |
| 			ellipsisString="" maxHeight="30.0" maxWidth="180.0" prefHeight="30.0"
 | |
| 			prefWidth="180.0" text="remaining chars: 0/x" textFill="LIME"
 | |
| 			textOverrun="LEADING_WORD_ELLIPSIS" visible="false"
 | |
| 			GridPane.columnIndex="1" GridPane.rowIndex="3">
 | |
| 			<GridPane.margin>
 | |
| 				<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
 | |
| 			</GridPane.margin>
 | |
| 			<padding>
 | |
| 				<Insets bottom="5.0" top="5.0" />
 | |
| 			</padding>
 | |
| 			<opaqueInsets>
 | |
| 				<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
 | |
| 			</opaqueInsets>
 | |
| 			<tooltip>
 | |
| 				<Tooltip
 | |
| 					text="Shows how many chars you can still enter in this message"
 | |
| 					wrapText="true" />
 | |
| 			</tooltip>
 | |
| 		</Label>
 | |
| 		<Label fx:id="infoLabel" text="Something happened"
 | |
| 			textFill="#faa007" visible="false" wrapText="true"
 | |
| 			GridPane.columnIndex="1">
 | |
| 			<GridPane.margin>
 | |
| 				<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
 | |
| 			</GridPane.margin>
 | |
| 			<padding>
 | |
| 				<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
 | |
| 			</padding>
 | |
| 		</Label>
 | |
| 		<ImageView fx:id="attachmentView" pickOnBounds="true"
 | |
| 			preserveRatio="true" visible="false" GridPane.columnIndex="1"
 | |
| 			GridPane.columnSpan="2147483647" GridPane.halignment="RIGHT"
 | |
| 			GridPane.rowIndex="3">
 | |
| 			<viewport>
 | |
| 				<Rectangle2D height="20.0" width="20.0" />
 | |
| 			</viewport>
 | |
| 			<GridPane.margin>
 | |
| 				<Insets bottom="5.0" right="10.0" top="5.0" />
 | |
| 			</GridPane.margin>
 | |
| 		</ImageView>
 | |
| 	</children>
 | |
| </GridPane>
 |