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.

[...]

Reply via email to