Inconsistent use of mouse button down and button up events
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
(Foreword: I wouldn't say this is a bug, but I wouldn't say it's a feature, nor a feature request.)
In Fusion 360 some GUI controls respond to mouse button down while others respond to mouse button up:
- Items in the Sketch Palette expand/collapse on button up
- Toolbar menus open/close on button down
- Design tree nodes expand/collapse on button up (on the small triangle to the left of each node that has children)
- The Save, Undo and Redo buttons respond to button up.
- The File menu opens/closes on button down.
- Selecting geometry, features, bodies, etc works on button up (this makes sense as such items can also be dragged)
In theory, the logic should be: "Draggable items should respond to the button up event, non-draggable items should respond to the button down event." The advantage of the button down is immediacy: things happen as soon as the button is pressed.
Unfortunately, this logic is not applied consistently throughout Fusion 360's UI. For example:
- Items in the Sketch Palette are not draggable and yet expand/collapse on button up (should react to button down)
- The File menu at the top expands/collapses on button down (as it should be ), but the Undo button right next to it responds to button up (should also respond to button down!).
- Design tree nodes are expanded/collapsed by clicking the black triangle to the left of each node. Yes, tree nodes are draggable, but the actual expand/collapse action is accomplished by clicking on a specific dedicated part of the node (the black triangle). In fact, nodes cannot be dragged by the black triangle, therefore the black triangle should react to mouse button down, but that is not the case ATM.
So, in summary, ideally everything should respond to the mouse button down event except the following:
1) Geometry
2) Toolbar buttons (more on this one below)
About toolbar buttons they don't really need to be draggable the whole time. Once the user sets up their toolbar and get used to the order of the buttons, there is no real need for the buttons to be draggable the whole time. In fact, once the toolbar is perfectly configured to the users liking, it would make more sense to be able to lock it, so as to prevent accidentally dragging buttons or, worse yet, dragging buttons off the toolbar which results in the button being removed from the toolbar, requiring users to manually pin the button again (this has happened many times to me). Since the only reason to respond to button up is that the target can also be dragged, it follows that the buttons of a locked toolbar should react to the button down event directly. This, in turn, would create a more immediate UI experience where things happen as soon as the mouse button is pressed, not after it's released.
Please comment, thanks.