Overview of Dialog Box Declarations

The declarations for the controls contained by a dialog box are nested within the declaration of the dialog box to show the GUI hierarchy.

The declarations for menus are nested (indented) within the declaration for the main window, and the declarations for the menu items are nested within their respective menus. This nesting denotes the hierarchical structure of the GUI, that is, the parent-child relationships between GUI objects. Although a dialog box is not physically contained by the main window, as is true for menus, the dialog box nevertheless logically belongs to the main window. Therefore, a parent statement within each dialog box declaration is used to indicate that it belongs to the main window of the application.

In the sample Text Editor application, MainWin is the parent of the File menu. The File menu is considered a child of the MainWin. Similarly, all the menu items are child objects of their parent, the File menu. A child object belongs to its parent object, which means that it is either logically associated with the parent or physically contained by the parent.

Because child objects are nested within the declaration of their parent object, the declarations for the child objects do not need to begin with the reserved word window.

Classic Agent Example

The following example from the Text Editor application shows the declarations for the Find dialog box and its contained controls:

window DialogBox Find
   tag "Find"
   parent TextEditor
   StaticText FindWhatText
     multitag "Find What:"
       "$65535"
   TextField FindWhat
     multitag "Find What:"
       "$1152"
   CheckBox CaseSensitive
     multitag "Case sensitive"
       "$1041"
   StaticText DirectionText
     multitag "Direction"
       "$1072"
   RadioList Direction
     multitag "Direction"
       "$1056"
   PushButton FindNext
     multitag "Find Next"
       "$1"
   PushButton Cancel
     multitag "Cancel"
       "$2"

Open Agent Example

The following example from the Text Editor application shows the declarations for the Find dialog box and its contained controls:
window DialogBox Find
  locator "Find"
  parent TextEditor
  TextField FindWhat
    locator "@caption='Find What:' or @windowId='65535'"
  StaticText FindWhatText
    locator "@caption='Find What:' or @windowId='1152'"
  CheckBox CaseSensitive
    locator "@caption='Case sensitive' or @windowId='1041'"
  StaticText DirectionText
    locator "@caption='Direction' or @windowId='1072'"
  RadioList Direction
    locator "@caption='Direction' or @windowId='1056'"
  PushButton FindNext
    locator "@caption='Find Next' or @windowId='1'"
  PushButton Cancel
    locator "@caption='Cancel' or @windowId='2'"