Release 10.1A: OpenEdge Development:
Progress Dynamics Basic Development

> ## New and changed attributes

> Importing information from the `.cst` files into the Repository required the creation of new attributes for the template and palette objects. You can also extend widgets when you collect them in a palette, just as you could in a static `.cst` file. For an example of how this works, look at the standard paletteButtons palette that contains the buCancel, buDone, and buOK buttons. However, this required that some attributes used in the `.cst` files have their names changed to match attribute names in the Repository.

> ##### Attribute name changes

> Some of the attribute names used in the `.cst` files had to be changed to match the Repository. Table 3–13 lists the names of the attributes that have changed.

> Table 3–13: Changed attribute names
> .cst attribute name | Repository attribute name
> --- | ---
> `3-D` | `THREE-D`
> `CANCEL-BTN` | `CANCEL-BUTTON`
> `COLOR` | `DCOLOR`
> `COLUMN-SEARCHING` | `ALLOW-COLUMN-SEARCHING`
> `DEFAULT-BTN` | `DEFAULT`
> `ENABLE` | `ENABLED`
> `FLAT` | `FLAT-BUTTON`
> `HEIGHT` | `HEIGHT-CHARS`
> `HEIGHT-P` | `HEIGHT-PIXELS`
> `IMAGE-DOWN` | `IMAGE-DOWN-FILE`
> `IMAGE-INSENSITIVE` | `IMAGE-INSENSITIVE-FILE`
> `INITIAL-VALUE` | `INITIALVALUE`
> `LOCK-COLUMNS` | `NUM-LOCKED-COLUMNS`
> `MIN-HEIGHT` | `MinHeight`
> `MIN-WIDTH` | `MinWidth`
> `NAME` | `NameDefault`
> `NO-AUTO-VALIDATE` | `AUTO-VALIDATE`
> `NO-LABELS` | `LABELS`
> `NO-TAB-STOP` | `TAB-STOP`
> `ROW-HEIGHT` | `ROW-HEIGHT-CHARS`
> `SCROLLBAR-H` | `SCROLLBAR-HORIZONTAL`
> `SCROLLBAR-V` | `SCROLLBAR-VERTICAL`
> `SHOW-POPUP` | `ShowPopup`
> `WIDTH` | `WIDTH-CHARS`
> `WIDTH-P` | `WIDTH-PIXELS`

> ##### Template attributes

> Template objects have several attributes to store template information. These attributes are defined on the Base and DynamicObject classes in order to extend to all possible templates.

> Table 3–14 lists the template attributes.

> Table 3–14: Template attributes
> Attribute | Description
> --- | ---
> `templateFile` | The relative path and filename of the static object used as the template at design time (Required).
> `templateGroup` | The possible values are Container, SmartObject, Procedure, and WebObject. It defaults to Container (Required).
> `templateLabel` | The label displayed in the New dialog box and the pop-up menu for the Palette icon. It defaults to the instance name.
> `templateDescription` | The description associated with the object. The description in the New dialog box is based on the `templateFile`.
> `templateOrder` | Used to determine the order of templates in the New dialog box. All templates are ordered within the group. The AppBuilder automatically orders templates by Container, SmartObject, Procedure, and then WebObject.
> `templateImageFile` | Used in design mode for the image that appears in the design window (dynamic objects only). This can also be defined at the class level.
> `templatePropertySheet` | Used for dynamic containers to associate the static property sheet. This allows for future template objects to use other property sheet mechanisms besides the Container Builder (dynamic objects only).
> `dynamicObject` | Logical value to specify that the template is dynamic (required if true).

> ##### Palette attributes

> Palette objects have several attributes to store palette-specific information. These attributes are defined on the `Base`, `ProgressWidget`, and `DynamicWidget` classes in order to extend to all possible palette widget and object types.

> Table 3–15 lists the palette attributes.

> Table 3–15: Palette attributes
> Attribute | Description
> --- | ---
> `paletteisDefault` | If Yes, the item is displayed on the palette as an icon. Only one item within a group can be the default. (Required for at least one instance.)
> `paletteType` | The type of widget supported in the AppBuilder. If creating a custom widget, the name must be spelled exactly as the widget, such as, `Button`, `Radio-set`, or `Editor` (required).
> `paletteLabel` | Label used in the drop-down menu. If not specified, the Instance name is used.
> `paletteTooltip` | ToolTip used for the palette icon. The default is the `paletteLabel`.
> `paletteTriggerEvent` | For widgets in static objects, defines the Event associated with the widget (pipe delimited).
> `paletteTriggerCode` | Defines the code for the `triggerEvent` (pipe delimited).
> `paletteImageUp` | The up image to use in the palette. (Required if `paletteisDefault` is true.)
> `paletteImageDown` | The down image to use in the palette. (Required if `paletteisDefault` is true.)
> `paletteNewTemplate` | Used for new SmartObjects to indicate the rendering object file. (Required for SmartObjects if `paletteDirectoryList`, `paletteFilter`, and `paletteTitle` are not specified.)
> `paletteRenderer` | Used to inform AppBuilder of the static file to render when dropping a smart object from the palette onto a container. This attribute is akin to the `USE` option in the `.cst` file and is specified on an instance of a 'palette' object. The framework previously used the value of attribute `PalleteNewTemplate`, which should only be used when creating a new object from the palette. If this new attribute is not specified, the framework will use the`PaletteNewTemplate` value as before.
> `paletteDirectoryList` | Used in the Choose Object dialog box to specify a directory. This must be specified if the next two parameters are also specified.
> `paletteFilter` | Used in the Choose Object dialog box to filter files.
> `paletteTitle` | Choose Object dialog box title.
> `paletteControl` | To be defined for the OCX control object only to specify the control codes.
> `paletteDBConnect` | If `Yes`, specifies the DB must be connected before using this item.
> `paletteEditOnDrop` | Indicates whether to automatically display the property sheet when the object is dropped onto the AppBuilder design window.
> `paletteOrder` | The order of the palette item in the palette. If no order is specified, the icon is added to the end. If the item is displayed on the palette directly (`paletteisDefault` is true), this integer value indicates the actual position of the icon in the palette relative to the basic widget types. Value 1 would refer to the position to the right of the OCX icon. You must specify a valid position.

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