|This panel is intended for interacting with the RailwayCrossing Environment
and the Gate Controller.
Therefore, the panel allows
the initialization of a specific number of regular and fast tracks with
the respective params (at system start)
the manual setting of the control strategy
the manual or periodic creation of cars and trains
the display of statistics about the tracks (e.g. average waiting duration
of the trains, signal state, ...), the waiting cars and the state of the
further, the sending of arbitrary signals
||Initialize a specific number of regular and fast tracks (at system
||After pressing the buttonInit, for each track type (regular/fast)
send the signal initTracks(nbr, creDur, trackType, ts1Dur, ts1Sig1Dur,
sig1Ts2Dur, breakDur, minDistDur), where nbr is taken from textFieldRR/FT,
creDur is taken from textFieldRTCre/FTCre, and the remaining
params are taken from textFieldRTP/FTP.
Then, send signal initTracksDone and initialize the statistics
||Display the statistics for the railway crossing (the number of trains,
the average waiting duration per track, etc.).
||Upon reception of the data for a track, update the respective entry
in tableStats depending on the trackName parameter.
Upon reception of the data for the gate, update textFieldSGate.
Upon receiving a new nbr of cars, update textFieldSCar.
||Set the periods for arriving and leaving cars, or create cars manually.
||If buttonCarPer is pushed, send the signal setPeriod(p1),
where p1 is taken from textFieldE1.
If buttonCarDecrPer is pushed, send the signal setDecrPer(p2),
where p2 is taken from textFieldE2.
If buttonCarCre is pushed, send the signal gebCars(nbr),
where nbr is taken from textFieldE5.
||Set the period for creating trains, or create trains manually.
||If buttonTrainPer is pushed, send the signal setPerToCreTrain(trackName,
p1). Parameter trackName is taken from textFieldE3 and
p1 is taken from textFieldE4.
If buttonTrainCre is pushed, send the signal creNewTrain(trackName),
where trackName is taken from TextFieldE3.
||Choose between different control strategies.
||If buttonSetStrategy is pushed, send the signal setStrategy(sname),
where sname is taken from the selected entry in the drop-down list
||Send an arbitrary signal.
||Upon pressing the buttonSend, send the signal and parameters
to the system as entered in textFieldG1.