A new version of RTist 11, 2020.50, is now ready to be downloaded. Let’s take a look at some of the improvements implemented in the 2020.50 release.
Moving Transitions in the Project Explorer
You can now move transitions from one state to another by means of drag-and-drop in the Project Explorer. This makes it easier to refactor state machines, for example by moving a transition from a sub state to an enclosing composite state. Moving transitions work for both capsule and passive class state machines. The guard and effect code snippets of the moved transition remain unchanged, but the triggers may have to be deleted depending on if the event or operation they reference are accessible from the state to which the transition is moved. You will be prompted with a dialog if this happens.
Reordering Elements in the Properties View
Another drag-and-drop improvement applies to the Properties view. In many places in the Properties view tables are used for listing contained elements. Examples include Operations, Attributes, Nested Types and many more. Previously the only way to reorder elements in such tables was to use the Move Up and Move Down buttons in the toolbar. This could be rather tedious if there were a large number of elements in the table. Now you can instead use drag-and-drop to move elements in such tables. You can move multiple selected elements at the same time.
Comparison and Preview of Generated Code
Sometimes it’s easier to understand how a model has changed between two versions by looking at how the generated code from those two model versions have changed. It can also sometimes be useful to get a quick preview of what the generated code for a certain model element will look like. For example, to study the impact of certain model element properties on the generated code.
RTist now provides a new command Generate Code Preview which can be used in these cases. It’s available in the context menu for both individual model elements and on transformation configurations.
Note that this feature is currently experimental (enable it on the Experimental Features preference page).