This is great! I do have a suggestion, though:
With AutoScroll enabled on the Database Objects window, the "scrolling" is happening even when a right-click or a double-click is executed.
I have Autoscroll TO Object View checked and Double-Click set to Expand/Collapse Child Objects. With Autoscroll checked, simply right-clicking an object brings it up in a tab, just as if I'd single-clicked it.
When I double-click an object the first click of the double-click causes the tab to open with that object, and the second click of the double-click causes the children objects to expand.
On another matter, if you do that a couple of times in a row you should see that the 1st and 2nd clicks get confused at some point, after which a single click will trigger the expansion/collapse, and a double-click will trigger it twice (either expand followed immediately by collapse, or vice-versa).
It appears that double-click has been implemented as 2 single-clicks, which may be the root cause of these anomalies.
What are you settings for:
- Double-click Actions for Database Objects
You find these in Tools->Tool Properties and the General / Database Objects Tree category? It is difficult to comment your findings without knowing your setup.
I agree, there's no single best practice. It depends on what the user might be trying to accomplish. If a user wants to displays a navigator object in a tab, they click it. Why would they need the ability to double-click it *too*, just to accomplish the same thing, oh and *also* display its children? And why would they right-click it to accomplish the exact same thing, oh and *also* to give them the additional option of doing something *else* with the same object and a tab (like, open it *again*, either in *another* tab or (ridiculously) the *same* tab that they just re-opened it into)? They wouldn't.
A right-click should do what a right-click does, not do a single-click and *also* what a right-click does. Ditto for double-click.
For the same reason that clicking the "plus" icon to the left of a database object doesn't first open that object in a tab and then expand the children objects, double-clicking an object shouldn't do that either..
Having no selection or a single selected object, and then right-click on another it will automatically select the object under the mouse. The reason is to visually show which object will be affected by the action selected in the right-click menu. If Autoscroll TO is also enabled, it will automatically open the object in the object view tab.
The same applies for double-click as it will then also select the object.
We've checked numerous other applications and there is no single best practice how this should work.