Global Classes Window

Top  Previous  Next

Many of the ABC Procedure, Control and Extension templates provide a Classes tab or dialog. These local Classes tabs let you control the classes (and objects) your procedure uses to accomplish the template's task—that is, they override the global class settings specified here in the Global Properties dialog. Deriving your own class can give you very fine control over the procedure when the standard Application Builder Class is not precisely what you need.

Object Name

Set the object's label for the template-generated code.

Use Default Application Builder Class

Check this box to use the default Application Builder Class. Clear this box to use a class other than the default, and to enable the following prompts.

Use Application Builder Class

Check this box to select a class from the Base Class drop-down list. The list includes all classes with the LINK attribute in \LIBSRC\*.INC files. Clear this box to specify a class declared elsewhere.

Base Class

If you checked the Use Application Builder Class? box, select a class from the drop-down list. If you cleared the Use Application Builder Class? box, type the class label here, and type the name of the source file that contains the class declaration in the Include File entry box.

Include File

If you cleared the Use Application Builder Class? box, type the class label in the Base Class entry box, and type the name of the source file that contains the class declaration here.

Derive

Check this box to derive a class based on the parent class specified above and to enable the New Class Methods and New Class Properties buttons to define any new properties and methods for the derived class.

This prompt is primarily to allow you to define new properties and methods in a derived class. To override existing methods, simply embed code in the corresponding method embed points.

Using Derive?, New Class Methods and New Class Properties makes the template generate code similar to the following:

   MyProcess CLASS(Process) !derive a class from the parent class

   NewMethod   PROCEDURE    !prototype new class method

   NewProperty BYTE         !declare new class property

             END

The template automatically derives from the parent class if you embed code into any of the derived method embed points, regardless of the status of this check box.

New Class Methods

Press this button to specify the new method prototypes to generate into the derived CLASS structure. This opens the New Class Methods dialog (see New Class Methods).

New Class Properties

Press this button to specify the new property declarations to generate into the derived CLASS structure. This opens the New Class Properties dialog (see New Class Properties).

Refresh Application Builder Class Information

Press this button if you have changed the contents of an include file (.INC) or added an include file to the \LIBSRC directory. Typically, this is needed when you install third party products that use ABC compliant classes, although you may create your own ABC compliant classes too. See ABC Compliant Classes for more information.The ABC Templates use information gleaned from the header files for generating embed points, loading the Application Builder Class Viewer, application conversion, etc.

Application Builder Class Viewer

Press this button to display classes, properties, and methods used by the ABC Templates, and the relationships between parent and derived (child) classes. This utility can help you analyze and understand the classes that the ABC Templates use.

Composite Class

Press these buttons to open a Classes dialog for each class used by the parent class specified above. For example, the WindowManager uses a Toolbar class, so the WindowManager's Classes dialog contains a Toolbar Class button to open a Classes dialog for its Toolbar Class.