The Panel Editor
A Panel is a set of Icons representing various components of
a layout. Some of the Icons available in JMRI include
Turnouts, Signals Masts and Sensors. You can include a
background icon to display your layout on your Panel and add
the contents of Memory and/or Reporter Variables.
The controls on the Panel itself are described on a separate Panel Help page.
Panels created with the Panel Editor allow you to place images to represent Turnouts, Sensors, Signal Heads, Signal Masts, trackwork, etc.
If you'd like to see animated clinics that show how each of these things are actually done on the computer screen, please see Dick Bronson's clinics page.
Contents of the Panel Editor
The Panel Editor consists of the following items:
- Two text fields, x: and y:, specifying where (in pixels) new components will be inserted on the panel. You can generally ignore these, as once the components has been inserted you can drag it around by holding the meta (Apple, command; Linux & Windows, right button) key down.
- A button to set the title of the Panel you are editing. Press the button and you will be prompted to enter the text.
- A button to add a text label. Put the desired text in the field and click the button. You can slide the label around after inserting it, but you currently can't edit the text later.
- A dropdown menu where you may choose the type of icon
or data you may put into the panel.
- Add Right Hand Turnout Icon
- Add Left Hand Turnout Icon
- Add Sensor Icon
- Add Signal Head Icon
- Add Signal Mast Icon
- Add Memory Value
- Add Reporter Value
- Add Background Image
- Add MultiSensor (i.e levers and switches) Icons
- Add RPS Reporter Icon
- Add Fast Clock
- Add Icon (unassociated to any JMRI device)
In most cases, selecting one of these items will open a window from which icons or values can be chosen. For the items referring to a JMRI device (e.g. turnout, sensor, etc.) a pick list of the available devices is displayed. From there you select the device and the icon to represent it in the panel. Exceptions to this are the Memory and Reporter items where the selection puts the value of item into the panel. The Background item provides images for the background of the panel. Further details on using these windows are described on the Icon Editors page.
The two choices for icons that do not open windows are RPS Reporter and Fast Clock. These items install their icons directly into the panel.
- A checkbox for making popup menus active. When checked
a small popup menu will appear when you right click an
icon. Most icons allow you to rotate and remove the icon.
There are other options depending on the type of icon, for
example, you can disable a turnout so it doesn't actually
control anything.
The popup menu may also change if the configuration of an item is changed. For example, if you add feedback to a turnout, the popup menu includes a new item choice called "Tristate". Tristate allows you to use the inconsistent icon, which is one of the four possible icons available for a turnout. Normally when you first click on a turnout icon it commands the layout to change the state of the turnout. If you use feedback for a particular turnout, the icon display will wait to hear from the layout before modifying the turnout icon to the closed or thrown icon. By using Tristate, the icon will change immediately to the inconsistent icon when the turnout is clicked. Inconsistent in this case means that I've commanded the turnout to change and now we're waiting to hear if it actually happened. If and when the layout returns the actual or "known state" of the turnout, the icon will change to that state. If you don't use Tristate, when you click on the icon, it may take some time (milliseconds to seconds depending on the system) before the icon responds with the known state of the turnout.
- All panel items can be repositioned. When checked you can move items in your panel by selecting and dragging them with the meta key. Linux and Windows users can hold the right click down and drag. By default new items can be repositioned even if this box isn't checked.
- Show item's coordinates in popup menu. When checked, the item's popup menu will include the item's X and Y coordinates. This can help you better position your icons in the panel.
- Panel items control layout. Normally you want to control your layout, so leave this box checked. Otherwise, uncheck the box if you don't want your panel to send commands to your layout.
- Panel has menu. Once you don't need to change or edit your layout, you can disable the ability to use the panel editor. The only way to re-enable the editor is to edit the panel file. Using a simple editor (Notepad for Window users will work) or XML editor, open your panel and find panelmenu="no" and change "no" to "yes" and save the file. The panel will now show the menu the next time you load the panel in PanelPro.
- Panel scrollbars. (JMRI 2.5.2 and later). Allows you to choose which scrollbars to display.
After Creating A Panel
After getting the panel the way you want, you need to use the "Store panels..." entry in the "Panels" menu to write it to an XML file.
Available Icons
The JMRI library contains lots of contributed icons for representing CTC panels, LEDs, etc. You can browse through them using the file tree in the Change Icon frame.Each of the Icon Editor windows has a Find Icons Menu that provides several ways to find and acquire additional icons to place into your panel. See the Icon Editors page for more details.
Other types of panels
Because this is icon-based, you can create panels that look any way you want. For example, instead of using track-schematic icons for turnouts, you could use small images of the levers and plates on CTC machine. This would give you "mechanical" levers you can flip back and forth with a click.
It's also possible to create a panel where the "track" lines change color to indicate whether the track is occupied. The procedure for doing that is described on a separate page.
Manipulating Icons
To move an icon around on the panel, you "meta-drag" it. On a Mac, that's "hold the cmd key and drag with the cursor"; on Linux or Windows, "hold the right mouse click and drag with the cursor".
There's also a pop-up menu (ctrl-click on a Mac; right-click on Linux or Windows) that will provide various ways to manipulate the icon. It will let you rotate the icon so that it points in whatever direction you want. Text labels can have their font, size and color changed. You can also remove icons from the panel with the popup menu.
Rotating and Scaling
When the checkbox for showing an icon's coordinates is checked, the icon can be scaled or rotated an arbitrary number of degrees. When this checkbox is checked, two additional items appear in the icon's popup menu - Rotate (degrees)... and Scale (percentage).... When these item are selected, a text box will appear near the icon and ask for a number. In the case of 'Rotate (degrees)', a positive or negative integer will rotate the icon that number of degrees. In the case of 'Scale (percentage)', a positive number is the percentage to increase or decrease the size of the icon.
The Rotate (Orthogonal) item rotates the icon 90 degrees each time it is selected. Choosing an alternative rotation item resets the former rotation to the default icon image. For example, if the icon has been scaled to 75% and set to 30 degrees and then 'Rotate (Orthogonal)' is selected, the icon will return to its original size and orientation.
Group Moving and Aligning
When the checkbox for repositioning icons is checked, groups of icons can be selected. Pressing the mouse button down in an open area and dragging will draw a dotted red rectangle. All the icons that lie within this "fence" are items that are selected. Those icons within the "fence" that do not have the fixed or Lock Position checkbox marked in their popup menus can be moved as a group. Dragging any one of the repositionable icons within the fence will move the entire group. Clicking in an open area will remove the "fence" and ungroup the icons.
In addition, grouped icons can be aligned horizontally and vertically. When grouped, the icons have two additional menu items in their popup menus: Align Vertically and Align Horizontally. Once again, the grouped icons that are not fixed or locked can be aligned with either their left edges (x coordinate) equal, or top edges (y coordinate) equal. These menu items disappear when the icons are ungrouped.
Another feature of grouped icons is they can be locked (fixed) and unlocked (unfixed) as a group when any one of the group's popup menu item for lock or fix is checked.
When placing icons on top of one another, the upper icon may prevent moving the icon underneath. For example when labeling a turnout, you may not be able to reposition the label without dragging the turnout above it. However, if you press the Shift key before dragging the label the turnout will remain in place while you reposition the label. That is a "Shift-Drag" leaves the top icon in place and only moves the icons beneath it.
Multi Slice Backgrounds
For users that need to build a classic US&S panel there are several options. The first is to simply select the 15 position panel background from icons/USS/background/uss-15.gif. Another option is to use a pixel based image editor to create your own background image. Save the image as a .gif or similar file. (see info above on where to store new images) Yet another option is to create the background image from multiple slices of the whole panel. JMRI supports using multiple background images so, by simply positioning each image properly, a complete panel of any reasonable size may be created.
Currently there are two sets of image 'slices' available. One set is 718 pixels high, and the second set is 900 pixels high. Choose the set that best fits your display. These 'slices' are located at icons/USS/background/. The 900 pixel high images include a "-9" in their names. The left and right edge images are each 12 pixels wide. The main panel 'slices' are 65 pixels wide. This allows you to precisely position each slice simply by changing the x: and y: coordinates in the Panel Editor. The advantages of building backgrounds with slices are that you can make virtually any length of panel that is required, and the plates will be precisely located automatically.
First set the coordinates to x:0, y:0 and select icons/USS/background/Panel-left.gif. (or icons/USS/background/Panel-left-9.gif) This gives you the left edge of the panel. Change the coordinates to x:12 y:0 and choose the next slice. It may be blank, include a switch plate, include a signal plate, or include both plates. Only the "x:" coordinate needs to be changed as you continue to add additional panel sections. The 'slices' are each 65 pixels wide, so simply add 65 to the x: value for each additional slice. For example; to build up a 15 position panel from slices, use x:0 for the left side, then x:12, x:77, x:142, x:207, x:272, x:337, x:402, x:467, x:532, x:597, x:662, x:727, x:792, x:857, and x:922 for the individual slices. Finally set x:987 and complete the panel with icons/USS/background/Panel-right.gif.
To change the style of any individual slice (e.g. to add a new plate to your panel) first check the "Show item's coordinates in popup menu" check box in the editor window. Next, right click in a blank area of the old slice to raise the pop up information including the coordinates of that slice. Put those numbers in the editor's coordinates, then remove the slice. Finally, choose a new slice and it will appear where the old one was.
Communicating with Multiple Systems
PanelPro can communicate with more than one layout hardware system. To configure JMRI® to talk to multiple systems, select them in the Preferences panel (Edit -> Preferences > Connections (tab at left) -> click on the + tab to add the system information for your second System Connection.
If you add a Turnout, Sensor or Signal Mast to a Panel using just a number, e.g. "23", it will be assigned to the Default System as defined on the Preferences panel -> Defaults tab. To access the second system, you have to use JMRI System Names. For example, if the second attachment is to a LocoNet system, you'd refer to a LocoNet Turnout as LT13; a LocoNet Sensor as LS21, etc.
Back to the PanelPro help page.