Skip to content

Commit

Permalink
Merge pull request JMRI#12160 from bobjacobsen/script-shortcuts
Browse files Browse the repository at this point in the history
Add "idtags" to script shortcuts
  • Loading branch information
danielb987 authored Jul 6, 2023
2 parents 6b13862 + 747b3c3 commit aa17b96
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 2 deletions.
7 changes: 6 additions & 1 deletion help/en/html/tools/scripting/Start.shtml
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,8 @@ method calls.

<li>reporters</li>

<li>idtags</li>

<li>memories</li>

<li>powermanager</li>
Expand Down Expand Up @@ -258,7 +260,10 @@ method calls.
<p>where the assignment is actually invoking the set method.</p>

<p>Also note that THROWN was defined when running the Python script at startup;<br>
CLOSED, ACTIVE, INACTIVE, RED, YELLOW and GREEN are also defined. ( <a href=
CLOSED, ACTIVE, INACTIVE, ON, OFF, INCONSISTENT, <br>
LOCKED, UNLOCKED, PUSHBUTTONLOCKOUT, CABLOCKOUT, <br>
RED, YELLOW, GREEN, LUNAR, DARK, <br>
FLASHRED, FLASHYELLOW, FLASHGREEN are also defined. ( <a href=
"https://github.com/JMRI/JMRI/blob/master/java/src/jmri/script/JmriScriptEngineManager.java">
These shortcut bindings are defined in Java</a> )</p>

Expand Down
2 changes: 1 addition & 1 deletion help/en/releasenotes/current-draft-note.shtml
Original file line number Diff line number Diff line change
Expand Up @@ -489,7 +489,7 @@
<h3>Scripting</h3>
<a id="Scripting" name="Scripting"></a>
<ul>
<li></li>
<li>Add "idtags" as a script shortcut to the manager like "turnouts" and "sensors"</li>
</ul>

<h3>Signals</h3>
Expand Down
6 changes: 6 additions & 0 deletions java/src/jmri/script/JmriScriptEngineManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import jmri.BlockManager;
import jmri.CommandStation;
import jmri.GlobalProgrammerManager;
import jmri.IdTagManager;
import jmri.InstanceManager;
import jmri.InstanceManagerAutoDefault;
import jmri.Light;
Expand Down Expand Up @@ -123,6 +124,7 @@ public JmriScriptEngineManager() {

// this should agree with help/en/html/tools/scripting/Start.shtml
Bindings bindings = new SimpleBindings();

bindings.put("sensors", InstanceManager.getNullableDefault(SensorManager.class));
bindings.put("turnouts", InstanceManager.getNullableDefault(TurnoutManager.class));
bindings.put("lights", InstanceManager.getNullableDefault(LightManager.class));
Expand All @@ -131,6 +133,7 @@ public JmriScriptEngineManager() {
bindings.put("routes", InstanceManager.getNullableDefault(RouteManager.class));
bindings.put("blocks", InstanceManager.getNullableDefault(BlockManager.class));
bindings.put("reporters", InstanceManager.getNullableDefault(ReporterManager.class));
bindings.put("idtags", InstanceManager.getNullableDefault(IdTagManager.class));
bindings.put("memories", InstanceManager.getNullableDefault(MemoryManager.class));
bindings.put("powermanager", InstanceManager.getNullableDefault(PowerManager.class));
bindings.put("addressedProgrammers", InstanceManager.getNullableDefault(AddressedProgrammerManager.class));
Expand All @@ -143,6 +146,7 @@ public JmriScriptEngineManager() {
bindings.put("sections", InstanceManager.getNullableDefault(SectionManager.class));
bindings.put("transits", InstanceManager.getNullableDefault(TransitManager.class));
bindings.put("beans", InstanceManager.getNullableDefault(NamedBeanHandleManager.class));

bindings.put("CLOSED", Turnout.CLOSED);
bindings.put("THROWN", Turnout.THROWN);
bindings.put("CABLOCKOUT", Turnout.CABLOCKOUT);
Expand All @@ -164,7 +168,9 @@ public JmriScriptEngineManager() {
bindings.put("FLASHYELLOW", SignalHead.FLASHYELLOW);
bindings.put("FLASHGREEN", SignalHead.FLASHGREEN);
bindings.put("FLASHLUNAR", SignalHead.FLASHLUNAR);

bindings.put("FileUtil", FileUtilSupport.getDefault());

this.context = new SimpleScriptContext();
this.context.setBindings(bindings, ScriptContext.GLOBAL_SCOPE);
this.context.setBindings(bindings, ScriptContext.ENGINE_SCOPE);
Expand Down

0 comments on commit aa17b96

Please sign in to comment.