The Property suite allows a plug-in module to get and set certain values in the plug-in host.
More...
Detailed Description
The Property suite allows a plug-in module to get and set certain values in the plug-in host.
Properties are defined as either a 32 bit integer, simpleProperty
, or a handle, complexProperty
. Properties are identified by a signature and key, which form a pair to identify the property of interest. Some properties, like channel names and path names, are also indexed; you must supply the signature, key, and index (zero-based) to access or update these properties. For a list of keys, See Property Keys Recognized by Property Suite Callbacks. The property suite is available to all plug-ins.
- Note:
- The term property is used with two different meanings in this toolkit. Besides its use in the Property suite, the term is also a part of the PiPL data structure, documented in Cross Application Plug-in Development Resource Guide. There is no connection between PiPL properties and the Property suite.
The standard Property Suite is found as a pointer in the parameter blocks of the plug-in modules. You can access the routines within the Property Suite in the following manner:
Define Documentation
Current version of the Property Suite.
Unique identifier for the Property Suite.
Version number for the Property Suite.
Current number of routines in the Property Suite.
Typedef Documentation
typedef MACPASCAL OSErr(* GetPropertyProc)(PIType signature, PIType key, int32 index, intptr_t *simpleProperty, Handle *complexProperty) |
Gets information about the document currently being processed.
Properties are returned as a intptr_t, simpleProperty
, or a handle, complexProperty
. In the case of a complex, handle based property, your plug-in is responsible for disposing the handle. Use the DisposePIHandleProc callback defined in the Handle suite.
Properties involving strings, such as channel names and path names, are returned in a Photoshop handle. The length of the handle and size of the string are obtained with GetPIHandleSizeProc. There is no length byte, nor is the string zero terminated.
- Note:
- This callback replaces the non-suite callback, which has been renamed
getPropertyObsolete
in the plug-in parameter blocks. The obsolete callback pointer is still correct, and is maintained for backwards compatibility.
- Parameters:
-
signature | The host signature. The signature for Photoshop is '8BIM' (0x3842494D). |
key | The key for the property you wish to get. See Property Keys Recognized by Property Suite Callbacks. |
index | The index for the property you wish to get. |
simpleProperty | [OUT] The returned value when the property is simple. |
complexProperty | [OUT] The returned value when the property is complex. |
typedef MACPASCAL OSErr(* SetPropertyProc)(PIType signature, PIType key, int32 index, intptr_t simpleProperty, Handle complexProperty) |
Updates information in the plug-in host about the document currently being processed.
- Parameters:
-
signature | The host signature. The signature for Photoshop is '8BIM' (0x3842494D). |
key | The key for the property you wish to update. The plug-in can only set certain, modifiable properties See Property Keys Recognized by Property Suite Callbacks. |
index | The index for the property you wish to update. |
simpleProperty | The value to set if the property is simple. |
complexProperty | The value to set if the property is complex. |
The set of routines available in the Property Suite.