This is an initial tool-system proposed here: T53047
The patch could be considered a proof of concept, depends on exact design we go with.
- The 3D views toolbar has a new panel to show the active tool.
- Clicking on a tool makes it "active".
- Tools use the action-mouse or action-tweak-event (by convention only, other keys can be used - it might make sense for some tools)
This means once you have an active tool set, you can still select and manipulate the view.
- Some tools such as border select or lasso use tweak-events, this means clicking can still be used to place the 3D cursor.
- For selection tools, Ctrl needs to be held to de-select.
- Currently only one active tool, switching modes may leave you with no active tool.
- While the tool-buttons work, they look strange/clumsy, we may need new button types, we will want tools to list all their keys too (longer term goal).
- Modal operators circle and border select were not intended to be accessed directly in a single step.
This diff remains quite small because changes to operators have been committed up-stream:
- rB83b60dac57a1aa432c8f7c165603ef327c6911d6 - store modal operator last properties (needed for storing circle-select size).
- rB870b4b673511094cf0beaeaf07305407ccdda47a - refactor border & circle gestures for use as tools.
- rBd0f4d0df2aea12397a504f93b95e00d378da0b16 - immediate knife-tool activation.
- rB57ec19e0e5cbb96392eccf12d4ccc17c4cf9b65b - immediate line gesture activation.