5         Dialog Designer

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.

Opening a Dialog Designer

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).

Manipulating Dialog Flows

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.

Add objects to the dialog flow

You can either add new objects, existing objects from the current project or objects from a library project.


Add a new object

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.


Add an existing object

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.

Replace objects in the dialog flow

You can either replace an object with a new or an already existing object.


Replacing with a new 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.


Replacing with an existing object

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.

Copy objects in the dialog flow

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.

Re-order objects or object items in the dialog flow

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.

Remove objects or object items from the dialog flow

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.

Display Options

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-/
postprocessing

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.

Expanding or Collapsing Subtrees

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.

 

Example 1: Car insurance collapsed


 

Example 2: Car insurance expanded


 

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.

Status Icons and Styles

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.
To edit the comment right-click the object and from the context menu select Edit. In the upcoming object editor switch to the Properties section. See also Properties in the Object Reference.

italic +
grayed out

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.
For information on how to enable or disable an object see Enable or Disable Objects in Chapter 7 – Basic Commands.

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.
For information on how to lock or unlock an object see Lock or Unlock Objects in Chapter 7 – Basic Commands.

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  icon to avoid displaying recursive objects multiple times.

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.

Dialog Designer Context Menus

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

Edit

 

Opens up the object editor for the selected object.

Display Dialog

 

Displays the dialog flow in the Dialog Designer starting with the selected object.

Display and
Validate Dialog

 

Displays the dialog flow in the Dialog Designer and validates the dialog flow starting with the selected object.

Copy

 

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.

Export

 

Exports the selected object and all its referenced objects as an XML file.

Test Application

 

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.

Lock/Unlock

 

Locks or respectively unlocks the selected object.

Enable/Disable

 

Enables or respectively disables the selected object.

Search Parent Objects

 

Displays a list of all parent objects of the selected object in the Search Result.

Tools

Project Documentation

Opens up the Project Documentation window to specify various options and create the corresponding project documentation as a PDF document for the selected object.

 

Storyboard Export

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.

Search

Opens up the Search window for defining certain search criteria, the result will then be displayed in the Search Result.

Display Options

Opens up the Display Options window to specify the display options for the active dialog flow.

Expand Subtrees

Expands the object displayed in the active dialog flow - including all its subtrees.

Collapse Subtrees

Collapses the object displayed in the active dialog flow - including all its subtrees.

Refresh

Refreshes the current Dialog Designer.