A dialogue handler was installed in AutoCAD and used to implement several new commands which set AutoCAD modes via dialogue boxes. The dialogue handler is an extension of the one used in AutoSketch and AutoShade, and will be familiar in both appearance and operation to those who have encountered it before.
Since the dialogue handler requires the new display driver services, the commands which use it are only available on systems with a display driver which provides the new functions. Commands which use dialogues are flagged in the command table with a special prefix. Attempting to use one on a non-capable display will result in the message ``** Command not allowed with this display configuration. **'' and the command will be ignored. It is important that any new facility added to AutoCAD via a dialogue also be provided in the command language (or its equivalent, such as a system variable settable with SETVAR). This is essential for two reasons. First, users who lack a display which can show dialogues would be locked out from the new feature. Second, dialogues are only for direct on-line interaction with a user: AutoCAD facilities must also be made available from menu macros and AutoLISP, both of which must go through the command language interface. These constraints should in no way cause us to hesitate in freely using dialogues in AutoCAD: by presenting information to the user in a two dimensional form and by showing directly the interaction between features, they can improve the ease of use of the complex facilities that abound in AutoCAD by at least an order of magnitude.
Dialogue-oriented commands simply pop up the dialogue, talk to the user, and exit. They should not perform any conventional (text scrolling line) user input or output. Since dialogue commands will typically be activated from menu items, they may be given obscure names unlikely to conflict with anything. I've adopted the convention that all dialogue command names begin with DD (for Dynamic Dialogue). Dialogue commands should be transparent wherever possible. All dialogue commands are presently ADE-3.
When a dialogue appears, the cursor changes from whatever it was to an arrow. Every dialogue has an OK button and most have a Cancel button as well. Until the dialogue is dismissed by picking one of those two buttons, AutoCAD responds only to pointer motion, pointer picks, and the keyboard. The screen menu (including the menu bar), and all of the other menu areas will not respond, nor may the flip screen or other mode toggle keys be used. The arrow keys may be used to make dialogue box selections, but it's hardly practical to work that way.
The act of popping up a dialogue, making selections, and placing them into effect by picking the OK button is one command from the standpoint of the UNDO mechanism. As with a transparent SETVAR, mode changes made within a command will be UNDOne if the enclosing command is reversed.
Most dialogues contain one or more buttons. Each button controls a value. Picking the button affects the value in a way that depends on the type of the button.
An input button specifies a value such as the snap spacing or the current drawing colour number. Picking an input button opens it and allows you to type values into it. Whilst open, an input button shows its own OK and Cancel subbuttons which may be used to accept or discard the value typed into the button. If you position the cursor over an input button so that it is highlighted, you may start typing into it without picking it. If an invalid value is entered, the OK button will have no effect; you should backspace, correct the value, and try again. Pressing the RETURN key is equivalent to picking the OK button, and pressing ESC is equivalent to picking the Cancel button. Values in input buttons are displayed and entered according to the settings of the UNITS command.
A requestor button looks like an input button, but when it is picked, the value area expands into an entire dialogue which is used to select the value for the button. When that dialogue is completed, the chosen value appears in the value area of the requestor button.
A toggle button controls a Boolean mode, such as whether the grid is shown on the screen. The value in a toggle button is shown as On or Off, and picking it flips it to the other value.
A check button is usually used to control selections from a set of alternatives, such as which isometric plane is to be used, or which layers are visible. A check button is a small rectangle which is either blank or shows a check mark (``''). If a family of check buttons control mutually exclusive modes, such as the isometric plane, checking one turns the previously checked button off. If the controlled modes are independent, such as layer visibility, the buttons will be independent of each other.
An action button does not control a value, but rather causes something to happen when picked. The OK and Cancel buttons are the most commonly encountered action buttons. Other action buttons perform such functions as scrolling a list of layer names up and down.
Errors within dialogues may result in the appearance of an alert. An alert is a small dialogue containing only a message and an OK button. After you read the message, get rid of the alert by picking the OK button.
The DDRMODES command pops up a dialogue which controls on-screen drawing aids. It subsumes all of the functions of the SNAP, GRID, AXIS, ORTHO, and ISOPLANE commands, and in addition provides direct control over BLIPMODE. The command is transparent.
The DDEMODES command displays a dialogue that sets the modes assigned to new entities. The functions of the COLOR, LINETYPE SET, LAYER SET, and ELEV commands are provided by this dialogue. The elevation and thickness are set by input buttons, and the colour, line type, and layer buttons activate dialogues used to choose the values from those known to AutoCAD. The DDEMODES command is transparent, but the values it sets may not take effect until the start of the next AutoCAD command. The only line types shown by the DDEMODES dialogue are those previously loaded in the drawing.
Editor: John Walker