Class Hierarchy
IOPMPropertyExpander IOPMPropertyExpanderImpl
C++
class IOPMPropertyExpander : public IUnknown;
File
opmext.h
Description
The main purpose of this class is to allow one property to be broken out into several properties in the Properties window. For example, Automation has a property called StartPoint for AcadLine. This property gets/sets a VARIANT which contains an array of doubles (technically the VARIANT contains a pointer to a SAFEARRAY of doubles) representing the start point of the line. This is somewhat more efficient and cleaner from an API point of view than having Automation properties called StartX, StartY, StartZ on AcadLine. Nevertheless, the Properties window needed to display the properties expanded out in this fashion. In addition to splitting one property into an array of properties, you can also group the elements in that array. For example, for polyline vertices, there is one Automation property "Coordinates" that returns an array of doubles, each successive pair representing the X,Y vertices of the 2D polyline. By specifying a grouping, the Properties window will automatically create a spinner control for the property allowing the user to enumerate and change the values of the vertices. These methods are optional, of course, and in most cases the developer can create separate properties in the IDL. Due to the complexity of parameterizing the implementation of these functions, the implementation of this interface is not exported.
Note As of this writing, this interface is used only for point properties whose type is a VARIANT that contains a SAFEARRAY of doubles.