You are here: Wiki > start > usertrack > ssrun > lineups

Locked Page is locked

Table of Contents

Location Line Up
Introduction
Usage
Template Locations
Template Structure
'simSigLineUpLayout' Node
'css' Node
'location' Node
'column' Node
'condition' Node

Location Line Up

Note this feature is introduced in Loader V5.27

Introduction

The Location Line Up window shows a TRUST-like summary of trains at a specific location, using user-customisable templates.

Four default templates are provided with the loader, and these can be used for any locations.

A set of location specific templates have been provided for the Manchester Piccadilly simulation.

Users are free to create there own templates, either for generic use, or for specific locations.

Usage

A Location Line Up window can be opened by :-

  • Pressing F9 on the keyboard
  • Hamburger Menu and select Show -> Line Up
  • Pressing the Line Ups button near the clock.

Select the Layout you wish to use, then select the Location or Entry Point (entry points are prefixed -> ) you wish to view; note that where a Layout has been tied to a specific Location that Location will be selected automatically for you. The screen will update to show trains at that location, from 15 minutes before the current time to the end of day (maximum 20 at a time). The Prev and Next buttons can be used to navigate to earlier/later pages, with the number between the buttons being the current page number.

Refreshing the display can be achieved by clicking on the Refresh button. An auto-update checkbox is also provided if you wish the display to automatically refresh every minute.

:usertrack:ssrun:lineups:LocationLineUpDefault.PNG

Image showing Default Layout 1 in use at Crow Nest Junction

Pressing the TIPLOCs button will give a list of simulation locations and entry points, alongside there respective TIPLOC code. This will aid you in creating your own line-ups.

Template Locations

Templates can either be global (not specific to a particular simulation) or simulation-specific. Global templates should be located in your SimSig layouts folder which is typically C:\Users\Public\Public Documents\SimSig\Layouts. For simulation-specific templates they should be located in that simulation's layout folder, for example, C:\Users\Public\Public Documents\SimSig\Layouts\Aston for the Aston simulation.

In both cases, the filename must contain the word Layout and end with .xml, for example MyAstonLayout4.xml

Template Structure

Look at existing templates to see the basic structure of templates.

The following subsections are titled with the XML node name and use camelCase.

'simSigLineUpLayout' Node

This top-level document element signifies that the file is a Line Up Template. The attribute 'title' defines what is shown to the user when selecting a layout and must be present.

'css' Node

This node should contain all the CSS styles for the template. Only one css node should be defined.

'location' Node

Specifying a location here will automatically select that location if this template is chosen. The user can still change the desired location though.

'column' Node

Multiple column nodes may be used to define the columns in order from left to right.

The node 'content' indicates what type of data should be shown in this column:

- Headcode: headcode of the train

- Uid: UID field of the train

- Arrive: arrival time of the train at the selected location, or it displays the word PASS if the train is non-stop

- Depart: departure or passing time of the train at the selected location

- LastReport: last reported location of the train

- Delay: the current delay of the train, in the format of 99L for late, 99E for early, or OT for on-time (within a minute of scheduled time)

- Path: path code of the train into the selected location

- Platform: platform code of the train at the selected location

- Line: line code of the train out of the selected location

- Destination: the Destination field of the train's timetable

- Origin: the Origin field of the train's timetable

- Notes: the Notes field of the train's timetable, plus any user-customisable text (see below)

- Activities: Next train workings, joins, divides, platform shares etc

- Stock: Current stock type for the train

- Speed: Maximum speed for the train

An optional element of 'showRecent="true"' will cause the column to show the most recently used platform, line, or path code seen in the schedule (default is to not show this information).

'condition' Node

The 'condition' node can be under the 'simSigLineUpLayout' node whereupon it will apply CSS formatting to the entire row, or can be under a 'column' node to only apply to that cell.

The 'condition' node must contain an 'if' node and a 'then' node, and optionally may also contain an 'else' node.

'if' Node

An 'if' node may contain multiple 'thisLocation', 'laterLocation', 'entryPoint', or 'any' nodes. All entries must be true (boolean AND) in order to process the 'then' commands, otherwise the 'else' commands are executed instead. The 'any' node can be used as a logical OR.

An 'if' node without any conditions will default to true, i.e. the 'then' commands will be processed. Any errors in loading a condition from the template will cause that condition to be ignored which may result in an empty 'if' statement, thus passing and causing the 'then' to be processed.

'then' Node

The commands in this node are executed if the 'if' conditions are met.

'else' Node

The commands in this node are executed if the 'if' conditions are not met.

'any' Node

This entry may contain multiple 'thisLocation', 'laterLocation', or 'entryPoint' nodes. One or more (boolean OR) must be satisfied to pass this condition.

A node of 'not="not"' may be used to invert the result (ie exactly none of the tests pass).

'thisLocation' Node

This condition tests that the timetable entry matches the selection location. The location name must be the internal identity used in simulation data which is most often the same TIPLOCs that Network Rail use.

Additional attributes may be specified:

  • stop: must be one of 'pass' or 'stop' to test whether the train stops at this location or not. A blank value means it does not matter if it stops or not.
  • plats: a comma-separated list of platform codes, one of which must match the train's timetable
  • lines: a comma-separated list of line codes, one of which must match the train's timetable
  • paths: a comma-separated list of path codes, one of which must match the train's timetable

For plats, lines, and paths, a single value of '-' (hyphen) may be used to require no code in the timetable. The most recently seen code is used for this test, starting from the current location and working earlier in the timetable. Each entry may be prefixed with an exclamation mark to indicate that the code is not equal to this value, such as plats="!A,!B" would pass if the platform code was C or D but not if it was A or B.

A node of 'not="not"' may be used to invert the result.

'laterLocation' Node

Same as 'thisLocation' but the location must appear later in the train's schedule.

The look ahead may be limited by specifying an attribute with the maximum number of locations to search ahead, as in 'maxSearch="5".

'earlierLocation' Node

Same as 'laterLocation' except it searches earlier in the timetable instead of later.

'entryPoint' Node

This condition tests that the timetable's entry point matches the specified entry point identity.

A node of 'not="not"' may be used to invert the result.

'command' Node

A command node alters the CSS formatting of an entire row or a single cell depending on the context. A 'class' and/or a 'output' node may be specified as this node's children.

'class' Node

This node specifies a CSS class name to add to the entire row or single cell.

'output' Node

This node allows text to be added to the Notes field, or to replace it completely. The attribute 'replace' containing a value of 'true' (default: false) indicates that the text should be appended to any existing timetable notes, while a value of 'false' clears the timetable notes field and replaces it with this text.


Last edited by headshot119 on 14/11/2023 at 18:12