3D PLM Enterprise Architecture

User Interface - Dialogs

Dialog Overview

A first glance at dialog windows and boxes
Technical Article

Abstract

This article introduces the Dialog framework architecture and components.


Overview

You will find below:

[Top]

The Dialog Framework Class Tree

Below are the Dialog Framework classes used in dialog windows and arranged in a tree showing the inheritance links. In addition to these classes, the Dialog Framework includes the class CATInteractiveApplication [1] you will derive to create your own application class with dialog windows, and the notification classes which are used to propagate user interactions in dialog windows to the command that can deal with them.

DialogClassTree.jpg (74029 bytes)

[Top]

The Dialog Framework Class Definitions

The Dialog framework includes two main class types:

  1. The containers to contain and arrange component objects. The containers can be visible or not, and do not react themselves to the user interactions, except for repositioning and resizing. They are windows, boxes, bars and menus
  2. The components which are atom objects to fill the containers. Most of them are sensitive to user interactions: they are controls and menu items. Some others are used to separate or name other controls: they are the indicators.

All these classes derive from the abstract class CATDialog which includes methods to define their common behavior and attributes. These include:

[Top]

Containers

The containers are used to contain several dialog components and to handle them as a whole, for example for layout purposes. They can be classified in:

[Top]

Windows

The windows are the primary containers which contain either other containers and components. They can be moved and resized. They include:

[Top]

Boxes

The boxes are used to gather dialog components in consistent sets inside a dialog window. These components are usually controls, but a box can often contain boxes. For example, a frame can contain frames, as well as a tab page. The boxes' base class is CATDlgBox. They include:

[Top]

Bars

The bars allow to gather a set of controls without needing to arrange them. Controls appear in their instantiation order. They include:

[Top]

Menus

The menus gather in a small area the actions that are offered to the user. They are fully displayed on request only and save space for other purposes. They include:

[Top]

Components

The components are the dialog objects you will use to let the user interact with your application. When the user performs such interactions, you trigger methods to execute the requested action until it is completed. The callback mechanism allows you to link a component, usually a control, with such methods.

The controls can be classified into different functional groups:

They are described below.

[Top]

Indicators

They are used to name some controls or containers and to help to layout windows. They include:

[Top]

Control to Trigger an Action

The push button: class CATDlgPushButton

CATDlgPushButton.gif (22816 bytes) The push button is the only control dedicated to execute an action, such as trigger a command, display help, cancel or quit the window. Use the push button whenever you want to execute an action as soon as the user has pushed on the push button.

[Top]

Controls to Set Options

Two controls allow to set options:

[Top]

Controls to Enter or Select Texts or Values

These controls allow to key in or to enter a text or a value, or to select a value from a proposed list.

[Top]

Menu Items

[Top]


References

[1] Designing Your Interactive Application
[2] Creating Dialog Objects
[3] Assigning Resources to a Dialog Box
[4] Arranging Dialog Objects
[Top]

[Top]


History

Version: 1 [Jan 2000] Document created
Version: 2 [Fev 2003] Document updated
[Top]

Copyright © 2000, Dassault Systèmes. All rights reserved.