Add support for multiple-current selectable layers based on 'Selectable' layer attribute.


The current 'selection' tool will select shapes from a single layer, based on the LayerHandle specified and returned from the Maps ChooseLayer event. (The ChooseLayer event is called by various tools when the user clicks or finishes drawing a bounding box).

Add a feature such that if no LayerHandle is specified in the ChooseLayer event, then instead, shapes will be selected from all Layers that have their 'Selectable' property set to True.

If a LayerHandle is specified within the ChooseLayer event, then for backward compatibility, the behavior will be as in the past, such that only shapes from that single Layer will be selectable, independent of that layers selectability.


Jerry Faust
August 1, 2020, 6:26 PM

Based on feedback on the Discourse forum, it was discovered that this implementation changed the behavior of the resulting MouseDown event.

To be consistent with historical behavior, when using the cmSelection tool, you should get the MouseDown event if

  1. You do not specify a layer handle in the ChooseLayer event, and

  2. You do not flag any layers as ‘Selectable’

Jerry Faust
January 5, 2019, 11:17 PM

Leaving the current mechanism alone, you can still select from a single layer by specifying the associated LayerHandle in the ChooseLayer map event. The single layer specified does not have to have its 'Selectable' property = TRUE.

However, if the layer handle is left unspecified (-1) in the ChooseLayer event, then the tool will iterate all layers, and for any that have their 'Selectable' property = TRUE, will select all qualifying shapes within that layer.



Jerry Faust


Jerry Faust

Fix versions