Objective Views : Chapter 9 Properties : Property IDs
Property IDs
Each property is assigned a unique identifier. Property IDs in the range of hex 0x0000 to 0xFFFF are reserved for use by Objective Views. Property IDs from hex 0x10000 and up can be used by customer applications to define custom properties. Nested properties that implement the IODPropertyContainer interface, such as CODFontProperties and CODLineProperties, define property IDs for their member variables, which are only unique within that property container. For example, the face name property in a CODFontProperties object has an ID of 1. The line color property in a CODLineProperties object also has an ID of 1. These identifiers are only unique within a given container. This allows the ID for a nested property to be added to an ID for one of its child properties to form a unique identifier for each individual property. For example, the ID for a component’s font property is 30. An ID of 31 represents the component’s font face name.
A component may have more than one property of the same type, as long as their IDs are unique. For example, it is possible for a component to have two font properties.
Property IDs are used to lookup properties within a container. This allows you to identify the property as being of a certain type, such as a font property. By default, the IDs are set to reflect the different property classes. For example, the line property object has an ID of OD_PROP_LINE. However, you can change this ID to identify a specific property. For example, if you created a line property to draw the borders of components, you would want to assign it a descriptive name, such as OD_PROP_LINE_BORDER. Giving properties descriptive names enables you to use the default property names in addition to your customized names.