RPTools/maptool

[Feature]: Detect tool change and state to enable better overlay-UI integration

Opened this issue · 1 comments

Describe the Problem

Some tools overlay the Map View with different user interface elements:

Palette Tool Map View overlay
Interaction Pointer Layer selector
Interaction Tape measure None
Drawing Delete, Text None
Drawing Freehand, Polygon, Shape tools Draw options
Template All tools Draw options
Fog All tools None
Topology Walls Wall BL options
Topology Polygon, Shape tools None

This means that overlays meant to integrate with the top-right corner of the Map View may interfere with the default UI. In this example, a library overlay sits under the Wall BL options:
Image

The Solution you'd like

If I could watch an event emitted when the active tool changes, and then check the active tool, I could then update any overlays to dynamically hide or adjust it for a more seamless experience.

Alternatives that you've considered.

  1. I could design around a different edge since all the MapTool tools add panels only to the top-right corner. I don't favor this, since embedding under the layer selector is a natural location for additional UI.
  2. Users can always disable overlays when they are in the way from the Window > Overlays menu.

Additional Context

  1. This would be useful for my Lib:Elevation project so I could position the elevation selection based on the selected tool and add contextual information for GMs who are setting up blocking layers regarding tips, compatibility, etc.
  2. This was originally discussed in Discord.
  1. Elevation is supposedly working its way into the code, so stop working so hard.
  2. Stat-sheets can be set by the user to display on any edge and in any corner.

Upshot: No matter what you do, you will be interfering with the UI for someone,
somewhere.

Add close button, make it draggable, or implement a button to change screen location like I did on motion tracker.

@cwisniew Oh look, another event for your list