Next Up Previous Contents Index
Next: Multiple Command Modifier Up: Urgent Fury Previous: Extended Object Selection

Menu Item Repetition

Once the user has selected a command, he is likely to use it several times before moving on to another. This is an outgrowth of how people use tools; you pick up a tool, do several things with it, then pick up another tool and so on. ``If all you have is a hammer, everything looks like a nail.'' AutoCAD's normal interaction model forces the user to pick up the hammer before driving each nail. The automatic command repetition triggered by null input was implemented as a response to this problem, but it does not permit command options to be specified. This can lead to the undesirable situation (oft complained about) where the user chooses one of the variants of arc input from the screen menu and draws one arc, then repeats the command by hitting the space bar and is surprised to be back in the ``three points'' form of the ARC command.

Many systems are designed so that most of the frequently used commands are modal. That is, they repeat automatically until another command is chosen. AutoCAD was not designed on this model, but with the provision of transparent commands for most viewing and mode setting functions, it may be easily simulated.

An extension to the menu macro language has been made as follows. If the first character of a menu command string is an asterisk, and that command string is picked as the response to the ``Command:'' prompt, the menu string is saved. Subsequent ``Command:'' prompts will be answered by that menu string until it is terminated by the entry of Control C from either the keyboard or from another menu item. It can be seen that if all major commands are chosen from menus, begin with Control C, and use the repetition option, modal operation is achieved. The following essentially emulates part of the AutoSketch Edit menu.


***POP2
[Edit]
[Move]*^Cmove single auto
[Copy]*^Ccopy single auto
[Erase]*^Cerase single auto
[Stretch]*^Cstretch single c
[Rotate]*^Crotate single auto
[Scale]*^Cscale single auto


Next Up Previous Contents Index
Next: Multiple Command Modifier Up: Urgent Fury Previous: Extended Object Selection

Editor: John Walker