Railroad Automation is basically a sophisticated control application for digital model railroad systems based on the DCC network protocol for track
packet transmission and the Loconet protocol for the back end bus control system. Through these networks the application collects input data from various hardware devices (current sensing, infrared, etc.),
and dispatches control orders to the relevant decoder devices on the stated networks for execution. It uses prototypical operation rules to manage railroad resources (tracks, blocks, routes, lines, sensors,
switches, interlocking, signals, engines, and miscellaneous accessories) over user defined layouts. Rules can also be customized through trigger/execute scripts.
The application is fully configurable through UI elements and programmable through several means: scripting through the UI (with full access to link in any .NET library), mid level API through CTC
(centralized traffic control) objects, and low level API straight to the Loconet network. It also contains some tools for hardware management like Loconet packet view, command station slot view with purging
and a LocoIO programmer.
I tried a few other docking controls before finding SandDock. I found most to have unintuitive object models and missing features such as disposal of
transient docking windows, control over when to load resources and proper layout serialization, among many others. I was pleased to find out that these were included in the Divelements product so I could
focus my energy on the application itself. Great design support is also something that I found to be unique to SandDock, and this helped greatly in that respect.
I evaluated SandBar because of the success I'd had with SandDock. I found that it had equally good support for many features found only in professional
applications. Things that stand out are proper short-cut support, context menus that can be activated from the standard right click event as well as any custom event, built in menu for opt in/out buttons,
chevron tab for easy access to hidden buttons, support for hosting in arbitrary controls, custom renderers, rebar support - in fact every feature I needed for this application.
Read more about Railroad Automation