GUIs - Desktop 

Page / - last modified by nbw on 2025/01/30 12:05 

Desktop 
last modified by nbw
on 2025/01/30 12:05

Table of Contents
Eclipse Project
Compiled Program
Program parts
General Control
Connection panel
State panel
Schedule panel
Preferences panel
Log panel

Eclipse Project
The Java GUI was developed in Eclipse. All required files and used libraries can be found at
http://git.rtsys.informatik.uni-kiel.de/projects/PRAK/repos/14ss-railway/browse/code/gui/Java/RailwayTCPGUI
Compiled Program
The compiled program can be found in Stash. It can also be built from the sources with Ant with 'ant RailwayGUI'.
Program parts
General Control
	The control elements at the top of the window are always available.
They can be used to pause the railway system, toggle verbose logging, trigger the cleanup mode or cause the controller to shut down.	
Connection panel
	This panel is used to connect to the railway controller.
The connection text field can accept hostnames or IPv4 Adresses.
The default port is 7245.	
State panel
	The state panel shows the current destination and the current state of each train.
Using the button on each line the corresponding train can be forced to wait at the current station until manually released.	
Schedule panel
	This panel enables the user to edit each schedule.
The buttons on the left side are used to move the selected entry up or down.
The drop-down menu is used to choose the new target and add it to the end of the list with the button with the arrow.
The button below this is used to remove the selected entry from the schedule.
The schedule is set with the button on the bottom of the panel.	
Preferences panel
	Each train speed can be individually adjusted.
All lights can be turned on or off using the buttons above the speed settings.
In the bottom area the minimum and maximum waiting times for each train and station can be set	
Log panel
	All log messages are forwarded to this panel.
Using the input field at the top the log can be filtered. Use regular expressions here to define the filter.
Some predefined filters can be chosen from the menu on the left.
Next to the input field tick times and overall controller times are displayed.
Using the input field at the bottom messages can be sent to the controller which should be broadcast to all connected GUIs.