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

GeneralControl.png

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

ConnectionPanel.png

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

StatePanel.png

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

SchedulePanel.png

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

PreferencesPanel.png

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

LogPanel.png

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.

Tags: