Release 10.1A: OpenEdge Development:
ADM and SmartObjects

> ## Instance properties

> Each object type has certain properties that are appropriate to set as part of the object’s initialization and can be assigned values when SmartWindows and other containers using that object are being assembled. For example, the properties `HideOnInit`, `DisableOnInit`, and `ObjectLayout` can be set for any visual object to indicate whether this particular instance of the object should be hidden when it is first realized or disabled when it is first realized, or which of multiple visual layout names should be used for the object. These properties are referred to as instance properties. These can be differentiated from properties such as `ObjectInitialized`, `ObjectHidden`, `QueryPosition`, and many others that are set during the course of application execution but have no meaningful initial value that would specialize how that object is used in a particular case.

> For each object include file, there is defined a list of instance properties using the `xcInstanceProperties` preprocessor value. These properties can be passed down to subclasses of a class. For example, all visual objects (including SmartDataViewers, SmartPanels, etc.) have the three Instance Properties defined in `visual.i`, and can append more to that list.

> These properties are supported by instance properties dialog procedures for each object type. Any class can define an instance properties dialog procedure by defining the preprocessor `ADM-PROPERTY-DIALOG` to be the name of the procedure file that contains the instance properties dialog box. This initializes the `PropertyDialog` property at object startup time. When the object is dropped into a container at application assembly time, selecting the Instance Properties choice from the object’s pop-up menu runs this dialog box procedure and sets these property values in that instance of the object. The values also are specified in AppBuilder-generated code in `adm-create-objects`, in calls to the `constructObject` procedure.

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