Within Desktop for Eclipse, applications are designed and created in a view called Dialog Designer. The Dialog Designer displays dialog flows of objects in a tree structure and allows modifying them within this graphical environment.
To open a Dialog Designer, do the following:
1. Select an object either in the Object Browser, in the Dialog Designer of any other object, or in the Search Result and right-click it.
2. In the context menu that comes up, click Display Dialog.
The new Dialog Designer will open up as the active tab in the editor area of Desktop for Eclipse, displaying the dialog flow for the selected object. If multiple dialog flows are open at the same time, one tab will be shown for each open dialog flow in the editor area.
Dialog Designer tabs are indicated by a dialog flow icon
located between the object type icon and the object name, for which the dialog flow is displayed. By this you can easily distinguish dialog flows from object editors.

Each item displayed in the dialog flow represents an object. The top left object of a dialog flow represents the object that you selected to be displayed.
If you point to an object icon or name, a tooltip will show a short description of it, if available.
If you double-click an object in the Dialog Designer the corresponding object editor will open up in a separate window (see Edit Objects in Chapter 7 – Basic Commands).
Dialog flows can be manipulated by adding, replacing, re-ordering or removing objects. This is done by making use of the drag & drop functionality provided in Desktop for Eclipse. Drag & drop operations consists of two parts, namely first dragging either a new object from the Object Palette or an already existing one from the Object Browser, the Search Result, or the current dialog flow, and secondly dropping it wherever you want to place it.
To visualize where an object is going to be added or inserted various indications are given when dragging an object over the dialog flow:
· A horizontal line indicates the position at which the object will be inserted. In the example below the Module object Car Insurance will be inserted between the Expression and Connector object.

· If an object is dragged onto an existing one in the dialog flow the target object gets highlighted.

Dropping the dragged object opens up a context menu to select if the dragged object should replace the target object in the dialog flow or being inserted either above or below it.

If the CTRL key is pressed while dragging & dropping the object the selected object in the dialog flow is automatically replaced by the dragged object without prompting a context menu.
· If an object is dropped onto a Sequence object it will automatically be appended to the list of its child objects by default since this is the most common use case.
In this case pressing the CTRL key at the same time opens up a context menu providing options for inserting the dragged object before or after the Sequence object or replacing the entire sequence with it (see above).
· If the options for showing output items and/or pre-/postprocessing in the dialog flow have been selected in the Display Options dialog, an extended context menu is shown while dropping an object on an object in the dialog flow. Depending on the target object new commands are available in addition to the standard entries for inserting, replacing and appending the object in the dialog flow. These additional commands allow the dragged object to be set as one of the embedded objects of the selected target object (e.g. as welcome message or as preprocessing).
In the example screenshot below the target object is a List object and the dragged object is an Output object. The context menu additionally allows linking the dragged Output object as one of four possible list messages of the List object.

i8Note: Due to technical reasons Eclipse sometimes does not recognize pressed keys correctly when dragging and dropping an object. To avoid this first start dragging an object and then press the desired key.
You can either add new objects, existing objects from the current project or objects from a library project.
To add a new object to the dialog flow, do the following:
1. In the Object Palette click the desired object type, drag it and drop it at the position in the dialog flow where you want to insert it. An empty object editor of the selected object type opens up.
2. Specify the properties of the new object. Saving and closing the object will automatically insert it at the selected position in the dialog flow and add it to the Object Browser.
To add an existing object to the dialog flow, do the following:
· In the Object Browser or the Search Result click the object you want to add to the dialog flow, drag it and drop it at the position in the dialog flow where you want to insert it.
You can either replace an object with a new or an already existing object.
To replace an object in the dialog flow with a new object, do the following:
1. In the Object Palette click the desired object type, drag it and drop it onto the object you want to be replaced. If the object is a Sequence object press the CTRL key in combination.
2. In the context menu that comes up, select Replace. An empty object editor of the selected object type opens up.
3. Specify the properties of the new object. Saving and closing the object will automatically replace the selected object in the dialog flow with it and add the new object to the Object Browser.
To replace an object in the dialog flow with an existing object, do the following:
1. In the Object Browser or the Search Result click the object you want to replace an object with in the dialog flow, drag it and drop it onto the object you want to be replaced. If the object is a Sequence object press the CTRL key in combination.
2. In the context menu that comes up, select Replace.
To copy an object in the dialog flow, do the following:
1. In the dialog flow, select the object you want to copy.
2. Press CTRL + SHIFT simultaneously, drag the object and drop it at the position in the dialog flow where you want to insert it.
You can either re-order objects within a Sequence object or object items within any object type that contains items (for instance Menu items in a Menu object, Output items in an Output object, etc.).
· To re-order objects or object items just click the object or the object item you want to move, drag it and drop it at the desired position.
To remove an object from the dialog flow, do the following:
1. In the currently displayed dialog flow, point to the object or object item, which you want to remove and right-click it.
2. In the context menu that comes up, select Remove to remove the object or object item from the dialog flow or Remove and Delete to also delete the object from the Object Browser (only available in case of objects).
Alternatively, you can select an object or an object item in the dialog flow and press the DEL key to remove this object reference.
The view of a dialog flow can be modified by several display options which can be specified in the Display Options window.
To open the Display Options window, click the Display Options button
in the toolbar of Desktop for Eclipse (requires an open Dialog Designer) or select Display Options from the general context menu in the Dialog Designer (see below).

The following options are available to modify the view of the dialog flow:
|
Option |
Function |
|
Show comment icons |
Enables the display of available comments for objects. |
|
Show Output items |
Enables the display of embedded Output objects and the display of all Output items of autonomous Output objects. |
|
Show pre-/ |
Enables the display of pre-/postprocessing sequences of objects. |
|
Enable validation |
Enables the validation of objects during display. |
|
Use as default for new worksheets |
Keeps these settings as the default settings for all dialog flows opened in future. |
To activate the selected settings and refresh the current Dialog Designer, click OK in the Display Options window.
Objects preceded by a plus box
include subtrees of one or more objects. Clicking the plus box will expand the corresponding object and display its subtree. Clicking a minus box
in front of an object will collapse it.
Alternatively, you can expand or collapse objects by selecting them and clicking the Expand button
or Collapse button
on the toolbar.


If a dialog flow does not fit into the view you can scroll up and down with the vertical scroll bar.
i8Note: Dialog flows can get very complex the more they are nested and include other complex objects. In order to keep the dialog flow legible there are restrictions in the display of objects. If a dialog flow is nested too deeply, objects at some level cannot be expanded any further in the current Dialog Designer but have to be viewed in a separate Dialog Designer. This is indicated by a blue right arrow
. This generally applies to all Module objects included within other objects.
Several icons may appear in front of or behind an object name in the Dialog Designer. Moreover, object names may be displayed in various styles.

These icons and styles represent a specific object status:
|
Icon |
Status |
|
|
The object has a comment. If you point to the icon a tooltip with the comment is displayed. |
|
italic + |
The object is disabled. Disabled objects will not be processed during a call. This feature may be used, for example, for development and test purposes. |
|
|
The object has a precondition. If you point to the IF icon a tooltip with a short description of the precondition is displayed, if available. |
|
|
The object has a precondition and is disabled at the same time. |
|
|
Green Lock icon: The object has been locked by you. Objects locked by you can only be modified by yourself or an administrator. This feature is useful for development purposes. |
|
|
Red Lock icon: The object has been locked by any other user. You can open an object locked by someone else and you can use it in a dialog flow but you cannot modify it. |
|
|
The object has a preprocessing definition. |
|
|
The object has a postprocessing definition. |
|
|
The object belongs to a library. |
|
|
The corresponding Menu item exits the Menu object and does not return to the main menu. |
|
|
The object is recursive: Within a dialog flow an object A may refer to an object B, which again refers to the object A. In this case the reference to object A is marked with an |
|
|
The object cannot be expanded in the current Dialog Designer due to space restrictions but has to be viewed in a separate Dialog Designer. |
|
|
The object processes a subdialog and afterwards returns to the current dialog flow. |
Similar to the Object Browser and the Object Search, the Dialog Designer provides context menus opening up when right-clicking an object.

The context menus of the Dialog Designer contain the following commands, most of them being explained in more detail in Chapter 7 – Basic Commands.
i8Note: Depending on the type of the selected object, not all of the below-mentioned options may be available.
|
Menu Command |
Submenu Command |
Function |
|
|
Opens up the object editor for the selected object. |
|
|
|
Displays the dialog flow in the Dialog Designer starting with the selected object. |
|
|
|
Displays the dialog flow in the Dialog Designer and validates the dialog flow starting with the selected object. |
|
|
|
Creates a copy of the selected object. |
|
|
Remove |
|
Removes the selected object from the dialog flow. |
|
Remove and Delete |
|
Removed the selected object from the dialog flow and deletes it from the project. |
|
Rename |
|
Opens up a text box to rename the selected object. |
|
|
Exports the selected object and all its referenced objects as an XML file. |
|
|
|
Opens up the Test Monitor to test the dialog flow starting with the selected object. Refer to Test Application in Chapter 7 – Basic Commands for details on testing applications from the Test Monitor. |
|
|
|
Locks or respectively unlocks the selected object. |
|
|
|
Enables or respectively disables the selected object. |
|
|
|
Displays a list of all parent objects of the selected object in the Search Result. |
|
|
Tools |
Opens up the Project Documentation window to specify various options and create the corresponding project documentation as a PDF document for the selected object. |
|
|
|
Opens up the Storyboard Export window to specify various options and create the corresponding storyboard as a Microsoft Excel file for the selected object. |
There is also a context menu opening up if you click any white space within the Dialog Designer:

These commands have the following functions:
|
Menu Command |
Function |
|
New |
Opens up a submenu displaying all object types belonging to this category. Selecting an object type opens up the respective object editor in order to create a new object. |
|
Opens up the Search window for defining certain search criteria, the result will then be displayed in the Search Result. |
|
|
Opens up the Display Options window to specify the display options for the active dialog flow. |
|
|
Expands the object displayed in the active dialog flow - including all its subtrees. |
|
|
Collapses the object displayed in the active dialog flow - including all its subtrees. |
|
|
Refresh |
Refreshes the current Dialog Designer. |