About Displaying Nested Dialog Boxes (DCL)

You create and manage nested dialog boxes by calling new_dialog and start_dialog from within an action expression or callback function.

For example, by including the following statement, a function can display the “Hello, world” box when the user chooses the button called button_1:

(action_tile "button_1" "(c:hello)")

The user must exit the nested dialog box before using the previous dialog box again. A limit of no more than eight nested dialog boxes, but to avoid confusion it is recommended you nest dialog boxes no deeper than four levels.

Caution: If you display nested dialog boxes by multiple new_dialog calls, be careful to balance each new_dialog call with a corresponding done_dialog call (whether called from a callback or not). Otherwise, your application may fail.

The term_dialog function terminates all current dialog boxes as if the user had canceled each of them. You can use this function if you need to cancel a series of nested dialog boxes.