If you want to go down that route (which is very powerful IMO, shades of the LispM), commands should have a type signature for the objects they can be applied to. Then you can add "gestures" that map selection(s) to command(s) using type. E.g., mouse-right on an object dynamically builds a menu of operations by looking in the command table for commands that accept the type of object selected by the mouse-right gesture.
This leads to extremely powerful user interfaces because you get the serendipity of commands applying to objects without the UI designer having to enumerate each possible combination. On 2010-02-16, at 13:53, Gregory Denton wrote: > Commands, more properly, should operate on the list of objects that > are currently "selected". The classes of the selected objects (plus > cardinality, state, etc.) determine which commands are enabled. > Command management and selection management work together. [...]
