You can configure the order of the entries within a group by assigning an appropriate sort attribute to the group. This attribute is optional. If you do not specify it, the end sort attribute is used.

Lucy supports the following sort attribute values:

  • abc: sorts alphabetically.

  • zyx: sorts in reverse alphabetical order (from Z to A).

  • subMenusFirst: moves items with sub-menus before the menu items without sub-menus.

  • subMenusLast: moves all items with sub-menus after the menu items without sub-menus.

  • start: adds new items at the start.

  • end: adds new items at the end. This is the default.

  • fixed: this value takes a number of additional parameters. These parameters consists of the names of the actions, menus or menu items. The fixed order will sort the group according to this list of parameters. The specified items come first. The items that are not in the list come at the end.

To add a sort attribute to a group, append a semi-colon to the group name, followed by the name of the attribute, sort, an equal sign and the value of the attribute, abc for example. The examples at the end of this article illustrate this.

The above is valid for menu bars as well as all action bars. Figure 1, “The default Lightspeed map tool bar with indications of the groups.” shows the default map tool bar and indicates the different groups.

defaulttoolbar
Figure 1. The default Lightspeed map tool bar with indications of the groups.

Example: using alphabetical ordering for the undo group

In this first example, we are going to switch the position of the undo and redo actions in the Lightspeed map tool bar. You can switch the order of these actions by specifying that you want to use alphabetical order for the UndoGroup.

TLcyLspMapAddOn.toolBar.groupPriorities=ControlsGroup, ProjectionsGroup, \
                                        ActionsGroup, FogLightGroup, \
                                        UndoGroup;sort=abc, \
                                        DefaultGroup

The result of this modification is shown in the figure below:

reverted undo redo order tool bar
Figure 2. Lightspeed map tool bar with modified order for the undo and redo actions

At the right side of the tool bar, the redo button now appears before the undo button.

Example: using a fixed order for the controllers

The second example uses the sort option to hard-code the order in which the controllers are inserted. In this example, the ruler controller is defined to come first, followed by the selection controller.

TLcyLspMapAddOn.toolBar.groupPriorities=ControlsGroup;sort=fixed:Ruler!Navigate and select, \
                                        ProjectionsGroup, ScaleGroup, ActionsGroup, FogLightGroup, UndoGroup, DefaultGroup

Use the value specified in the initial item configuration of the action bar entry as the action identifier in a fixed sort order value. In this example, the Ruler and Navigate and select entries used as values for the sort property correspond to the last part of the item configuration option for the corresponding controller:

Program: The configuration options for the ruler and select controller
# Selection controller
TLcyLspMapAddOn.selectionPanControllerActiveSettable.toolBar.item=Navigate and select

# Ruler controller
TLcyLspMapAddOn.rulerControllerActiveSettable.toolBar.item=Ruler

The result of this modification is:

reverted select ruler controller order tool bar

The ruler controller button comes before the navigate and select controller.