Mouse bindings

This page gives the mouse bindings in the Tycho/Ptolemy graphical editors. The goal is to provide a consistent feel to all editing operations.

General principles

Direct manipulation
All operations that alter the appearance of the diagram can be performed by manipulating those objects with the mouse.
Context sensitivity
Any operation that applies to a particular object can be selected from a context-sensitive menu over the object.
Uniform availability
Any operation in a context-sensitive menu is available from the main menus.
Cursor navigation
Any operation that requires mouse movement can be performed with cursor keys.
Applicability
Any operation that cannot meaningfully be performed at any given time is not disabled, both in the menus and as a key binding.

Common bindings

The following bindings work for all graphical objects, unless there is a specific reason for them not to.
Escape
Cancel a modal operation, such as placing an icon. Deselect all objects.

Delete
Delete all selected objects.

Enter and leave
If an object can have a net connected to it, entering its bounding box with the mouse cuase it to highlight, and leaving its bounding box causes it to unhighlight.

Button 1 on object
Single click
Select the clicked-on object.
Drag
Move selected objects.
Single click, Shift
Toggle the object into or out of the selection.
Drag, Shift
If the object became selected, move selected objects. If not, do nothing.
Double-click
Open a non-modal editing dialog for the click-on object.

Button 1 on background
Single click
Deselect all objects.
Drag
Drag-toggle-select covered objects.
Drag, Shift
Toggle covered objects into or out of the selection.

Button 2 on object
Button 2 is always identical to Button 1 with Control pressed.
Single click
Deselect all other objects, select the clicked-on object and initiate alternative action (depends on object).
Drag
Continue alternative action (depends on object).

Button 3 on object
Open context-sensitive menu for the object immediately below the cursor.

Specific behaviors

Following are specific behaviours for different objects.
Icon
Drag
Drag the icon and all connected nets.
Alternate action
None.
Terminal
Click and Drag
If the terminal is not already connected, create and drag a new net.
Alternate action
Select the terminal.
Junction
Click and Drag
If the junction is not fully connected, create and drag a new net.
Alternate action
Select the junction and move if dragged.


JohnR, 15 Oct 97