Everything Else
Abacus Editor Keyboard Navigation in Helix 7.0.2

Like the template editor in Helix 6.2, the abacus editor in Helix RADE 7.0.2 (and later) now supports the keyboard as a method for selection and movement of objects in the window. This technote documents these new capabilities.


The abacus editor supports tabbing to move from object to object:

  • Tab selects tiles, icons in tiles, tile jog points, and the dangling arrow in top to bottom*, left to right order.
  • Tabbing with no objects selected causes the first tile to be selected.
  • When tabbing out of the dangling arrow, the editor window itself is selected.
  • Option-Tab selects tiles only in top to bottom* order.
  • Shift-Tab selects tiles only, in reverse order.
  • Unlike the template editor, tabbing with multiple objects selected does not advance each selection. Only the first** object is advanced, and all others are deselected.
    *‘Top to bottom order’ means from the tile farthest away from the dangling arrow to the tile with the dangling arrow. The actual position of a tile on screen is irrelevant.
    **The ‘first’ object is the one closest to the output arrow.
  • The selection order of objects in an invalid abacus (one with unconnected tiles or icons) is undefined.

The abacus editor now supports moving objects via the keyboard. The editor window uses a fixed grid to enable alignment of tiles. This grid is 30 pixels square, which is the same as the spacing used by the ‘align…’ menu commands. The alignment ‘graph paper’ (as seen on templates) is not presently displayed.

Rules for positioning:

  • Arrow key moves selected objects 1 pixel.
  • Shift-arrow key moves selected objects one grid space. (30 pixels)
  • Arrow keys do not move icons or arrows out of existing connections. (I.e: you can’t remove an object from a socket via arrow keys.)
  • Moving an empty socket under a dangling icon or arrow (or vice versa) connects the two.

When an icon (or icons) is selected, these commands are enabled…

  • Open Icon: Command-down arrow or CMD-O opens the icon.
  • Open Parent: Command-up arrow opens the parent of the selected object. (If no objects are selected the abacus’ parent is opened.) The selected icons in the parent are not changed when it is opened this way.
  • Open Used By Window: Command-Option-I opens ‘Where … Is Used’ window.
  • Remove Icon: When an icon is selected, Command-Delete removes the icon from the socket.
  • Remove Tile: When a tile is selected, Command-Delete removes the tile from the abacus.
AppleScript Selection

Helix 7.0 implements the set command for the selection property of an abacus editor window. Notes:

  • If an icon appears more than once in a window, set selection to can not distinguish between instances, and only one of them is selected.
  • The selection property only resolves to icons or tiles. If the jog point or arrow of a tile is selected, it is the tile itself that is returned, and attempting to select a jog point or arrow results in the tile itself being selected. This is a limitation we may address in the future, if requested.
Other Improvements
  • When making a new abacus of any formattable type [flag, number, fixed point, date], you can now set the display properties (decimal places to display, etc.) without first being required to do a preliminary commit.
  • Double clicking (or option-double clicking) on a tile opens the Inspector, which is one place from which the tile sockets can be filled.
  • Option-double clicking on an icon now opens the ‘where used’ window.