Release 10.1A: OpenEdge Development:
ADM and SmartObjects

> ## ADM classes

> The ADM classes, collectively, are a system of Progress include files and collections of internal procedures and functions. Each class is a particular subset of these files that defines a standard behavior specific to that class. The various classes reference each other through include files, and relate to each other in a hierarchical fashion: lower-level classes inherit behavior and properties from higher-level classes.

> Figure 1–1 illustrates the ADM classes and their hierarchical structure.

> Figure 1–1: ADM hierarchical class structure

> The objects derived from a particular ADM class are described according to the class from which they inherit. For example:

> - Objects derived from the `visual` class or the classes that inherit from it—`panel`, `datavis`, `container`, `field`, `filter`, `action`, `viewer`, `browser`, and `toolbar`—are called visual objects.

> - Objects derived from the `datavis` class and the `viewer` and `browser` classes that inherit from it are called data visualization objects.

> - Objects derived from the `query` class and the `data` class that inherits from it are called query objects.

> User-defined classes that inherit from an existing class use the same terminology; for example, a user-defined class that inherits from the `filter` class is a `visual` object.

> Each ADM class is supported by two sets of class files: a standard set and a custom set. In addition to the class files, the ADM provides a set of templates, each of which references the primary include file of a specific class and serves as a base class for developing one of the many types of SmartObjects that you can use, along with basic and ActiveX objects, to build a Progress 4GL application. See the next several sections for details on standard and class files and on templates.

> The body of code that supports ADM classes resides in the `%DLC%\src\adm2` (Windows) or `$DLC/src/adm2` (UNIX) directory and its subdirectories and is installed as part of OpenEdge. For details, see OpenEdge Getting Started: Installation and Configuration for UNIX or OpenEdge Getting Started: Installation and Configuration .

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095