Progress
ADM 2 Guide
Instance Properties
Each object type has certain properties that are appropriate to set as part of the object’s initialization and that 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 Property Dialog procedures for each object type. Any class can define an Instance Property Dialog procedure by defining the preprocessor ADM–PROPERTY–DIALOG to be the name of the procedure file that contains the Instance Property 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 are also specified in AppBuilder-generated code in adm–create–objects, in calls to the constructObject procedure.
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |