Adobe.com
Contents Suites Classes Class Index Member Index

Plug-in Selectors

Allowed values for the selector parameter of plug-in entry point, see Adobe Plug-in Component Architecture (PICA). More...

Defines

#define kDoActionSelector   "Do Action"
 Message selector sent when requesting a plug-in to play an action.
#define kSelectorAIDrawAnnotation   "AI Draw"
 Sent when the plug-in implementing a plug-in annotator should draw its annotations.
#define kSelectorAIInvalAnnotation   "AI Invalidate"
 Sent when the plug-in implementing a plug-in annotator should invalidate the regions occupied by its annotations.
#define kSelectorAIGoClipboard   "AI Go"
 Execute a clipboard operation.
#define kSelectorAICanCopyClipboard   "AI Can Copy"
 Check if you can copy the data in the current document to your format.
#define kSelectorAICloneClipboard   "AI Clone"
 Requests a duplicate of the data in the ClipboardData field of AIClipboardMessage, which is in a format your plug-in handles.
#define kSelectorAIDisposeClipboard   "AI Dispose"
 Delete the data in the ClipboardData field of the AIClipboardMessage, which is in a format your plug-in handles.
#define kSelectorAICommand   "Do Plugin Command"
 Execute a AICommandManagerSuite command.
#define kSelectorAIGetFileFormatParameters   "AI Get Parameters"
 Sent to file format plug-ins to allow the plug-in to show any dialogs necessary to gather parameters.
#define kSelectorAISetFileFormatParameters   "AI Set Parameters"
 Sent to file format plug-ins to allow the plug-in to customize import/export based on client provided options.
#define kSelectorAIGoFileFormat   "AI Go"
 Sent to file format plug-ins to execute the read or write operation.
#define kSelectorAICheckFileFormat   "AI Check"
 Sent to file format plug-ins after the user has selected a file, to allow a reader to open the file and check for header information in order to verify that it can be opened.
#define kSelectorAIUpdateFileFormat   "AI Update AI140"
 Obsolete.
#define kSelectorAIGetFilterParameters   "AI Get Parameters"
 Sent when the user chooses a filter from the Filter menu.
#define kSelectorAIGoFilter   "AI Go"
 Tells your filter to execute.
#define kSelectorAIPushLayerList   "AI Push Layer List"
 Sent to the plug-in owning a layer list when it is pushed onto the stack.
#define kSelectorAIPopLayerList   "AI Pop Layer List"
 Sent to the plug-in owning a layer list when it is popped.
#define kSelectorAIDeleteLayerList   "AI Delete Layer List"
 Sent to the plug-in owning a layer list to request that it dispose of any data it allocated on push.
#define kSelectorAIEditLiveEffectParameters   "AI Live Effect Edit Parameters"
 Sends an AILiveEffectEditParamMessage.
#define kSelectorAIGoLiveEffect   "AI Live Effect Go Live"
 Sends an AILiveEffectGoMessage.
#define kSelectorAILiveEffectInterpolate   "AI Live Effect Interpolate Parameters"
 Sends an AILiveEffectInterpParamMessage.
#define kSelectorAILiveEffectInputType   "AI Live Effect Input Type"
 Sends an AILiveEffectInputTypeMessage.
#define kSelectorAILiveEffectConverColorSpace   "AI Live Effect Convert Color Space"
 Sends an AILiveEffectConvertColorMessage.
#define kSelectorAILiveEffectScaleParameters   "AI Live Effect Scale Parameters"
 Sends an AILiveEffectScaleParamMessage.
#define kSelectorAILiveEffectHandleMerge   "AI Live Effect Handle Merge"
 Sends an AILiveEffectHandleMergeMessage.
#define kSelectorAILiveEffectGetSVGFilter   "AI Live Effect Get SVG Filter"
 Sends an AILiveEffectGetSVGFilterMessage.
#define kSelectorAILiveEffectAdjustColors   "AI Live Effect Adjust Colors"
 Sends an AILiveEffectAdjustColorsMessage.
#define kSelectorAILiveEffectIsCompatible   "AI Live Effect Is Compatible"
 Sends an AILiveEffectIsCompatibleMessage.
#define kSelectorAIGoMenuItem   "AI Go"
 Sent to the plug-in that installed a menu item when the item is selected by the user.
#define kSelectorAIUpdateMenuItem   "AI Update"
 Sent on mouse down in the menu bar.
#define kSelectorAINotify   "AI Notify"
 See AINotifierSuite.
#define kSelectorObjectSetDisposeContents   "AI Object Set Dispose Contents"
 Object set selector.
#define kSelectorObjectSetMarkUsage   "AI Object Set Mark Usage"
 Object set selector.
#define kSelectorObjectSetUpdateInternal   "AI Object Set Update Internal"
 Object set selector.
#define kSelectorObjectSetUpdateExternal   "AI Object Set Update External"
 Object set selector.
#define kSelectorObjectSetPurge   "AI Object Set Purge"
 Object set selector.
#define kSelectorObjectSetChange   "AI Object Set Change"
 Object set selector.
#define kSelectorObjectSetChangeIndirect   "AI Object Set Change Indirect"
 Object set selector.
#define kSelectorObjectSetCopy   "AI Object Set Copy"
 Object set selector.
#define kSelectorObjectSetInitializationDone   "AI Object Set Initialization Done"
 Object set selector.
#define kAIPaintStyleSetStrokeWidthSelector   "AI Paint Style Set Stroke Width Selector"
 Used by the Control palette to set stroke width with AIStrokeWidthMessage.
#define kSelectorAINotifyEdits   "AI Notify Edits"
 Notifies a plug-in group of edits to the edit group.
#define kSelectorAIUpdateArt   "AI Update"
 Notifies a plug-in group that the result group needs to be rebuilt.
#define kSelectorAICanShowContents   "AI Show Contents"
 Asks a plug-in group whether the Layers palette shows edit groups.
#define kSelectorAIInterpolateData   "AI Interpolate Data"
 Asks a plug-in group to interpolate plug-in data and dictionary contents when interpolations are made into a blend between plug-in groups.
#define kSelectorAIReplaceSymbol   "AI Art Replace Symbol"
 Asks a plug-in group to replace symbols used in its dictionary.
#define kSelectorAIDisallowsArtTypeQuery   "AI Plugin Group Disallow Art Type"
 Asks a plug-in group whether it allows art objects of a given type in its edit group.
#define kSelectorAIPerformCustomHitTest   "AI Plugin Group Perform Custom Hit Test"
 Asks a plug-in group to perform a custom hit test.
#define kSelectorAICollectPaintStyles   "AI Plugin Group Collect Paint Styles"
 Asks a plug-in group to collect the paint styles of all objects for which it privately manages styles.
#define kSelectorAIApplyPaintStyles   "AI Plugin Group Apply Paint Styles"
 Sent only if the kPluginGroupManagesPaintStyles option flag is on.
#define kSelectorAIAdjustColors   "AI Plugin Group Adjust Colors"
 Asks a plug-in group to apply a developer-defined color-mapping callback function to objects for which it privately manages styles or colors.
#define kSelectorAIShowContents   "AI Plugin Group Show Contents"
 Sent to plug-ins where the kPluginGroupAskToShowContents option is set, to request the "Show Contents" mode.
#define kAIPreferenceInitSelector   "Init Preference Panel"
 See AIPreferenceSuite.
#define kAIPreferenceOKSelector   "Preference Dialog OK"
 See AIPreferenceSuite.
#define kAIPreferenceCancelSelector   "Preference Dialog Cancel"
 See AIPreferenceSuite.
#define kAIPreferenceUpdateSelector   "Preference Dialog Upadate"
 See AIPreferenceSuite.
#define kSelectorAIGoTimer   "AI Go"
 See AITimerSuite.
#define kSelectorAIEditToolOptions   "AI Edit Options"
 Sent when the tool has been selected (double-clicked) in the Tool palette.
#define kSelectorAITrackToolCursor   "AI Track Cursor"
 Sent when the tool is selected and as the cursor is moved over the artboard with the button up.
#define kSelectorAIToolMouseDown   "AI Mouse Down"
 Sent when the mouse button is pressed.
#define kSelectorAIToolMouseDrag   "AI Mouse Drag"
 Sent on drag (cursor move with button down).
#define kSelectorAIToolMouseUp   "AI Mouse Up"
 Either follows the mouse-down selector immediately or ends the mouse-drag selectors.
#define kSelectorAISelectTool   "AI Select"
 Sent to a plug-in when its tool has been selected, to allow initialization.
#define kSelectorAIDeselectTool   "AI Deselect"
 Sent to a plug-in when a different tool is selected, to allow cleanup of any run-time variables.
#define kSelectorAIReselectTool   "AI Reselect"
 Sent when an already-selected tool is reselected, with both kAIToolDeselectedNotifier and kAIToolSelectedNotifier.
#define kSelectorAIToolDecreaseDiameter   "AI Decrease Diameter"
 Sent when shortcut '[' is activated to decrease a diameter.
#define kSelectorAIToolIncreaseDiameter   "AI Increase Diameter"
 Sent when shortcut ']' is activated to increase a diameter.
#define kSelectorAIAlternateSelectionToolQuery   "AI Alternate Selection Tool Query"
 Sent when the user requests a switch to an alternate selection tool by pressing Ctrl (in Windows) or Cmd (in MacOS) key, while using a tool that allows alternate selection tool, to determine whether the alternate selection tool is ready to be selected.
#define kSelectorAIAlternateSelectionToolActivate   "AI Alternate Selection Tool Activate"
 Sent when the user switches to an alternate selection tool by pressing Ctrl (in Windows) or Cmd (in MacOS) key while using a tool that allows alternate selection tool.
#define kSelectorAIAlternateSelectionToolDeActivate   "AI Alternate Selection Tool DeActivate"
 Sent when the user switches back from a temporary alternate selection tool.
#define kSelectorAIToolDrawDryInk   "AI Tool Draw Dry Ink"
 This can be used to get strokes directly without listening to mouse down, drag and up events.
#define kSelectorAIStartToolbox   "AI Toolbox Start Toolbox"
 Sent to signal the start of a series of calls describing tools to be added.
#define kSelectorAIEndToolbox   "AI Toolbox End Toolbox"
 Sent to signal the end of a series of calls describing tools to be added.
#define kSelectorAIStartToolGroup   "AI Toolbox Start Tool Group"
 Sent to signal the start of a tool group.
#define kSelectorAIEndToolGroup   "AI Toolbox End Tool Group"
 Sent to signal the end of a tool group.
#define kSelectorAIStartToolSet   "AI Toolbox Start Tool Set"
 Sent to signal the start of a tool set.
#define kSelectorAIEndToolSet   "AI Toolbox End Tool Set"
 Sent to signal the end of a tool set.
#define kSelectorAIAddTool   "AI Toolbox Add Tool"
 Sent to signal the addition of a tool.
#define kSelectorAIAddRollover   "AI Toolbox Add Rollover"
 Sent to add a rollover icon of a tool.
#define kSelectorAIToolSelected   "AI Toolbox Tool Selected"
 Sent to signal that a tool has been selected.
#define kSelectorAIAlternateToolActionSelected   "AI Toolbox Alternate Tool Action Selected"
 Sent to signal that a tool's alternate action has been invoked.
#define kSelectorAICycleTool   "AI Toolbox Cycle Tool"
 Sent to signal a tool cycle.
#define kSelectorAISoftCycleTool   "AI Toolbox Soft Cycle Tool"
 Sent to signal a tool soft cycle.
#define kSelectorAITransformAgain   "AI Go"
 The transform again selector.
#define kAIWSWriteSelector   "Write Workspace"
 Sent to plug-ins that own tab palettes to request save of the current dialog's specific configuration (show/hide option, list view).
#define kAIWSRestoreSelector   "Restore Workspace"
 Sent to plug-ins that own tab palettes to request restore of the current dialog's specific configuration.
#define kAIWSDefaultSelector   "Default Workspace"
 Sent to plug-ins that own tab palettes to reset to hard-coded default values defined in the plug-in and in AIPaletteDefaults.h.
#define kSPAccessReloadSelector   "Reload"
 The first message a plug-in receives on startup (whether loaded or reloaded).
#define kSPAccessUnloadSelector   "Unload"
 The first message a plug-in receives before being unloaded.
#define kSPAdaptersStartupSelector   "Start up"
 Received by a plug-in with an adapter on application startup, after PICA completes its plug-in startup process.
#define kSPAdaptersShutdownSelector   "Shut down"
 Received by a plug-in with an adapter on application shutdown, after PICA completes its plug-in shutdown process.
#define kSPAdaptersDisposeInfoSelector   "Dispose info"
 Received by a plug-in with an adapter after a call to SPCachesSuite::SPFlushCaches(), for a final flush of any memory used for private data, including PICA lists and string pools.
#define kSPAdaptersFlushSelector   "Flush"
 Received by a plug-in with an adapter when the application frees memory, to allow garbage collection.
#define kSPAdaptersRegisterPluginsSelector   "Register plugins"
 Received by a plug-in after its initialization, to allow it to register its own adapter.
#define kSPAdaptersLoadPluginSelector   "Load plugin"
 Received by a plug-in with an adapter before it is loaded, to allow the adapter to perform needed translations before the load occurs.
#define kSPAdaptersReleasePluginSelector   "Release plugin"
 Received by a plug-in with an adapter before it is unloaded, to allow the adapter to perform needed translations before the unload occurs.
#define kSPAdaptersSendMessageSelector   "Send message"
 Received by a plug-in with an adapter when the application needs to communicate with it.
#define kSPPluginPurgeCachesSelector   "Plug-in Purge"
 Received by plug-in adapters with the PIAcceptsPurgeCachesMessage flag set in the PIConditionalMessages property, when a call has been made to SPCachesSuite::SPFlushCaches().
#define kSPPropertiesAcquireSelector   "Acquire"
 Acquire PICA plug-in properties; sent with SPPropertiesMessage.
#define kSPPropertiesReleaseSelector   "Release"
 Release PICA plug-in properties; sent with SPPropertiesMessage.

Detailed Description

Allowed values for the selector parameter of plug-in entry point, see Adobe Plug-in Component Architecture (PICA).


Define Documentation

#define kAIPaintStyleSetStrokeWidthSelector   "AI Paint Style Set Stroke Width Selector"

Used by the Control palette to set stroke width with AIStrokeWidthMessage.

If there is no stroke currently applied, and a non-zero stroke width is set through this selector, the previously applied stroke color is restored.

#define kAIPreferenceCancelSelector   "Preference Dialog Cancel"
#define kAIPreferenceInitSelector   "Init Preference Panel"
#define kAIPreferenceOKSelector   "Preference Dialog OK"
#define kAIPreferenceUpdateSelector   "Preference Dialog Upadate"
#define kAIWSDefaultSelector   "Default Workspace"

Sent to plug-ins that own tab palettes to reset to hard-coded default values defined in the plug-in and in AIPaletteDefaults.h.

You must configure the palette layout to the initial default. In addition to a palette's specific configuration (show/hide option, list view), resets the values of a palette's location, visibility, dock code, dock group, and size.

#define kAIWSRestoreSelector   "Restore Workspace"

Sent to plug-ins that own tab palettes to request restore of the current dialog's specific configuration.

To retrieve a configuration value from the current workspace, use the appropriate Get<type>Value() function from the AIWorkspaceSuite, retrieving the workspace object from the message:

sAIWorkspace->Get<type>Value(message->workspace, palette_name, description_of_value, &value).

Each palette's location, visibility, dock code, dock group, and size of the current workspace are restored by the Workspaces plug-in.

#define kAIWSWriteSelector   "Write Workspace"

Sent to plug-ins that own tab palettes to request save of the current dialog's specific configuration (show/hide option, list view).

To save a configuration value for the current workspace, use the appropriate Set<type>Value() function from the AIWorkspaceSuite, retrieving the workspace object from the message:

sAIWorkspace->Set<type>Value(message->workspace, palette_name, description_of_value, value).

Each palette's location, visibility, dock code, dock group, and size of the current workspace are saved by the Workspaces plug-in.

#define kDoActionSelector   "Do Action"

Message selector sent when requesting a plug-in to play an action.

In this case the message is a DoActionMessage.

#define kSelectorAIAddRollover   "AI Toolbox Add Rollover"

Sent to add a rollover icon of a tool.

Can be sent any time after the tool has been added. The toolbox, tool, and icon fields are valid in the message.

#define kSelectorAIAddTool   "AI Toolbox Add Tool"

Sent to signal the addition of a tool.

Always followed immediately by another kSelectorAIAddTool or kSelectorAIEndToolSet. The message is completely filled out.

#define kSelectorAIAdjustColors   "AI Plugin Group Adjust Colors"

Asks a plug-in group to apply a developer-defined color-mapping callback function to objects for which it privately manages styles or colors.

Initiated by plug-ins or other system components that want to alter all the colors in a collection of objects. Your handler must iterate through the colors within the plug-in group that fit the request, passing them to the supplied callback.

The message data, AIPluginGroupAdjustColorsData, contains three callback procedures, for colors, styles, and patterns. Your handler must execute the proper callback on each data entry of the appropriate type that contains meaningful colors; that is, those that can affect the colors in the result art.

  • You need not process art objects whose colors are ignored in building the result art; for example, the gradient mesh that defines the distortion in an Envelope object.

For private color data not contained in an AIArtHandle, choose the callback that most directly matches the data types the plug-in stores. For example, if it stores an AIArtStyleHandle, use the style callback, rather than attempting to iterate the colors in the art style.

If the option kPluginGroupManagesPaintStyles is on for the plug-in, the handler for this message performs the entire adjustment for the plug-in group. If the option is off, the colors in the edit group are further processed after this handler completes, unless your handler returns kSkipEditGroupReply.

To initiate this request to a plug-in group that your plug-in does not manage, call AIPluginGroupSuite::PluginArtAdjustColors().

Note:
Adobe internal developers: See AIPluginSelectionAdjustColors in Adobe internal suite AIPluginSelection for when the plug-in group manages its own selection mode.
#define kSelectorAIAlternateSelectionToolActivate   "AI Alternate Selection Tool Activate"

Sent when the user switches to an alternate selection tool by pressing Ctrl (in Windows) or Cmd (in MacOS) key while using a tool that allows alternate selection tool.

The message data is an AIToolMessage that contains the alternate-selection tool handle.

#define kSelectorAIAlternateSelectionToolDeActivate   "AI Alternate Selection Tool DeActivate"

Sent when the user switches back from a temporary alternate selection tool.

The message data is an AIToolMessage that contains the alternate selection tool handle.

#define kSelectorAIAlternateSelectionToolQuery   "AI Alternate Selection Tool Query"

Sent when the user requests a switch to an alternate selection tool by pressing Ctrl (in Windows) or Cmd (in MacOS) key, while using a tool that allows alternate selection tool, to determine whether the alternate selection tool is ready to be selected.

Valid return values are:

#define kSelectorAIAlternateToolActionSelected   "AI Toolbox Alternate Tool Action Selected"

Sent to signal that a tool's alternate action has been invoked.

Typically brings up a tool options dialog. The toolbox and tool fields are valid in the message.

#define kSelectorAIApplyPaintStyles   "AI Plugin Group Apply Paint Styles"

Sent only if the kPluginGroupManagesPaintStyles option flag is on.

Asks the plug-in group to merge a path style into those of its selected descendants, or perform a transformation on the path styles. See AIPluginGroupApplyPaintStylesData,

Note:
The notify-edits message informs the plug-in group that styles are being transformed externally, while this message asks the plug-in group to do the transformation.
#define kSelectorAICanCopyClipboard   "AI Can Copy"

Check if you can copy the data in the current document to your format.

Return kNoErr if you can and kCantCopyErr if you cannot. The AIClipboardMessage does not contain meaningful data.

#define kSelectorAICanShowContents   "AI Show Contents"

Asks a plug-in group whether the Layers palette shows edit groups.

See AIPluginGroupSuite

#define kSelectorAICheckFileFormat   "AI Check"

Sent to file format plug-ins after the user has selected a file, to allow a reader to open the file and check for header information in order to verify that it can be opened.

If your plug-in cannot read the specified file, it should return kUnknownFormatErr.

The data is an AIFileFormatMessage.

#define kSelectorAICloneClipboard   "AI Clone"

Requests a duplicate of the data in the ClipboardData field of AIClipboardMessage, which is in a format your plug-in handles.

Make a copy, replace the ClipboardData with the copy, and return kNoErr. If you cannot make the copy, return an error code.

#define kSelectorAICollectPaintStyles   "AI Plugin Group Collect Paint Styles"

Asks a plug-in group to collect the paint styles of all objects for which it privately manages styles.

Sent if the kPluginGroupManagesPaintStyles option flag is on. Your handler iterates the art styles or path styles in plug-in group art to a callback function, which can examine, but not modify the art styles and art objects.

Call the desired callback function repeatedly until either all the relevant styles have been iterated, or until the callback returns an error or kIterationCanQuitReply. Return this as the result of the notification.

Use to process information about style-related attributes of selected objects, such as fill or stroke attributes, when the styles do not map directly onto the styles of selected objects within the edit group. A stroke style, for example, might apply only to certain bezier segments and not to an entire path.You can keep styles in a dictionary, along with information about parts of the edit group and/or result group to which those styles apply.

You can iterate partial styles to privately accumulate a report for multiple objects. Invalid fields, as identified by the style map, are considered mixed in the plug-in group. For example, if fillPaint is false in the style map, it means that some potentially-fillable contents are filled, and some are not filled. If it is difficult or time-consuming to determine which styles correspond to selected objects, you can privately cache the results of an accumulated style and style map, and call the path-style callback only once with those cached results. Clear the cache on a selection-changed or properties-changed notifier.

See AIPluginGroupCollectPaintStylesData

#define kSelectorAICommand   "Do Plugin Command"

Execute a AICommandManagerSuite command.

Deprecated:
Use AIMenuSuite instead.
#define kSelectorAICycleTool   "AI Toolbox Cycle Tool"

Sent to signal a tool cycle.

The toolbox and tool fields are valid in the message. If the currently selected tool is not in the message tool's tool set, make the message tool the current tool. If the currently selected tool is in the message tool's tool set, switch to the next tool in the tool set.

#define kSelectorAIDeleteLayerList   "AI Delete Layer List"

Sent to the plug-in owning a layer list to request that it dispose of any data it allocated on push.

The data of the message is an AILayerListMessage.

#define kSelectorAIDeselectTool   "AI Deselect"

Sent to a plug-in when a different tool is selected, to allow cleanup of any run-time variables.

The message data is an AIToolMessage.

#define kSelectorAIDisallowsArtTypeQuery   "AI Plugin Group Disallow Art Type"

Asks a plug-in group whether it allows art objects of a given type in its edit group.

Sent if the plug-in group option kPluginGroupRestrictsArtTypes is on. Sent before an insertion into the edit group is made, whether interactive or programmatic. Not sent if the plug-in group is as under construction within the current context.

Valid return values are:

See AIPluginArtTypeMessageData

#define kSelectorAIDisposeClipboard   "AI Dispose"

Delete the data in the ClipboardData field of the AIClipboardMessage, which is in a format your plug-in handles.

#define kSelectorAIDrawAnnotation   "AI Draw"

Sent when the plug-in implementing a plug-in annotator should draw its annotations.

#define kSelectorAIEditLiveEffectParameters   "AI Live Effect Edit Parameters"
#define kSelectorAIEditToolOptions   "AI Edit Options"

Sent when the tool has been selected (double-clicked) in the Tool palette.

The plug-in can display a tool options dialog. The message data is an AIToolMessage.

#define kSelectorAIEndToolbox   "AI Toolbox End Toolbox"

Sent to signal the end of a series of calls describing tools to be added.

The only valid information in the message is the toolbox.

#define kSelectorAIEndToolGroup   "AI Toolbox End Tool Group"

Sent to signal the end of a tool group.

Always followed immediately by a new kSelectorAIStartToolGroup or kSelectorAIEndToolbox. The only valid information in the message is the toolbox.

#define kSelectorAIEndToolSet   "AI Toolbox End Tool Set"

Sent to signal the end of a tool set.

Always followed immediately by a new kSelectorAIStartToolSet or kSelectorAIEndToolGroup. The only valid information in the message is the toolbox.

#define kSelectorAIGetFileFormatParameters   "AI Get Parameters"

Sent to file format plug-ins to allow the plug-in to show any dialogs necessary to gather parameters.

Not always sent; for example, when re-saving a document with the Save command, only the Go message is sent. In this case, the operation uses the parameters from the last time the document was saved.

The data is an AIFileFormatMessage.

#define kSelectorAIGetFilterParameters   "AI Get Parameters"

Sent when the user chooses a filter from the Filter menu.

The filter should get any user parameters, which are returned to Illustrator in the AIFilterMessage structure. You can ignore this selector if the filter does not require user input. You might want to check the artwork state to know whether you can proceed with the Go selector.

#define kSelectorAIGoClipboard   "AI Go"

Execute a clipboard operation.

The option field of the AIClipboardMessage is either kClipboardCopy or kClipboardPaste. Perform the requested operation on the data in the ClipboardData field.

  • For paste, the data in the message is in a format handled by your plug-in. Read the data and convert it to artwork in the current document, but do not delete the data.
  • For copy, convert the data to the format your plug-in handles, and store a pointer to the result in the ClipboardData field of the message.
#define kSelectorAIGoFileFormat   "AI Go"

Sent to file format plug-ins to execute the read or write operation.

  • A read operation creates art according to what is in the specified file
  • A write operation scans the artwork database and writes out appropriately formatted information.

The data is an AIFileFormatMessage.

#define kSelectorAIGoFilter   "AI Go"

Tells your filter to execute.

Do not query for parameters in the processing of this message; parameters are passed in the AIFilterMessage structure.

  • If the user selects the filter from the menu, the parameters are from the immediately preceding response to kSelectorAIGetFilterParameters.
  • If the user chooses to apply the last filter, the parameters are the last ones used.
#define kSelectorAIGoLiveEffect   "AI Live Effect Go Live"
#define kSelectorAIGoMenuItem   "AI Go"

Sent to the plug-in that installed a menu item when the item is selected by the user.

If the plug-in has installed more than one menu item, compare the menu handle in the AIMenuMessage to those it has saved in its globals record.

#define kSelectorAIGoTimer   "AI Go"
#define kSelectorAIInterpolateData   "AI Interpolate Data"

Asks a plug-in group to interpolate plug-in data and dictionary contents when interpolations are made into a blend between plug-in groups.

See also:
kPluginGroupBlendAsPluginGroup

Uses AIPluginGroupMessage::time to indicate what stage of the operation is in progress. Not sent at kCheckOperationTime, but you can use the kBeforeOperationTime message to check whether the operation is allowed.

At all stages, AIPluginGroupMessage::preEditArt is the plug-in group being blended from (the one closest to t=0), and AIPluginGroupMessage::postEditArt is the plug-in group being blended to (the one closest to t=1).

AIPluginGroupMessage::art is only used at kDuringOperationTime.

When the stage is kBeforeOperationTime:

  • If the plug-in returns kRefusePluginGroupReply, the interpolated steps are ordinary groups blending the result groups, just as if the kPluginGroupBlendAsPluginGroup option was off or the plug-in groups were of different classes. No further messages are sent. This lets the plug-in decide whether the two groups are blendable as plug-in groups based on their data or contents.
  • If the plug-in returns kDontCarePluginGroupReply, the edit groups are blended, then the kSelectorAIUpdateArt message is sent. There are no kDuringOperationTime or kAfterOperationTime messages. The intermediate objects are of the same plug-in group class. Their plug-in data and dictionary contents are duplicated from the postEditArt object.
    This reply is meant for plug-in groups that do everything identically for all of their objects and do not need any extra data. It could also be returned when the plug-in determines that the two objects have the same data.

The kBeforeOperationTime message is the time to do anything that you want to do only once per blend, instead of once per step, such as finding and recording the commonalities, differences, and blendable aspects of the two objects. This temporary data can be stored in AIPluginGroupMessage::AIInterruptData, or attached to the preEditArt and postEditArt objects.

The kDuringOperationTime message is sent only when the kBeforeOperationTime message returns either kNoErr or kWantsAfterMsgPluginGroupReply. For each step, Illustrator creates a plug-in group of the same class, blends the edit group contents as if they were ordinary groups, and passes that interpolated object in AIPluginGroupMessage::art (which is used only at this stage).
AIPluginGroupMessage::t indicates which step has been reached. The interpolated objects are created with empty dictionaries and no plug-in data. This is the time for the plug-in to attach any interpolated data.

The kAfterOperationTime message is sent after all the interpolated steps have been created, if kWantsAfterMsgPluginGroupReply was returned from any of the kBeforeOperationTime or kDuringOperationTime notifications. It gives you a chance to release any data you have set up.

Any reply other than these is treated as an error and causes the blend not to be created at all.

#define kSelectorAIInvalAnnotation   "AI Invalidate"

Sent when the plug-in implementing a plug-in annotator should invalidate the regions occupied by its annotations.

#define kSelectorAILiveEffectAdjustColors   "AI Live Effect Adjust Colors"
#define kSelectorAILiveEffectConverColorSpace   "AI Live Effect Convert Color Space"
#define kSelectorAILiveEffectGetSVGFilter   "AI Live Effect Get SVG Filter"
#define kSelectorAILiveEffectHandleMerge   "AI Live Effect Handle Merge"
#define kSelectorAILiveEffectInputType   "AI Live Effect Input Type"
#define kSelectorAILiveEffectInterpolate   "AI Live Effect Interpolate Parameters"
#define kSelectorAILiveEffectIsCompatible   "AI Live Effect Is Compatible"
#define kSelectorAILiveEffectScaleParameters   "AI Live Effect Scale Parameters"
#define kSelectorAINotify   "AI Notify"
#define kSelectorAINotifyEdits   "AI Notify Edits"

Notifies a plug-in group of edits to the edit group.

An AIPluginGroupMessage::code value indicates the type of editing operation being performed. An AIPluginGroupMessage::time value indicates what stage of the operation is in progress.

When the handler returns kNoErr, the plug-in object is marked as "dirty" (in need of kSelectorAIUpdateArt). To prevent this, return kMarkValidPluginGroupReply. If the handler returns kDontCarePluginGroupReply, retains the state of the object, and does not mark it as clean or dirty.

If the handler returns kWantsAfterMsgPluginGroupReply from a kBeforeOperationTime notify-edits message, a single kAfterOperationTime message is sent at the end of the transaction, just before the Undo recording is closed, and before the update message. The code is kChangeOperationCode, regardless of whether a more specific code was sent at kBeforeOperationTime). This is the appropriate place to make any changes to the edit art.

Note:
An edit to children of the edit art does NOT always send a notify-edits message, although every edit sends an update message. Notify-edits is meant for highly structured objects where the different descendants have specific roles to play in the plug-in. Basic edits that are likely to require a specific response from plug-ins trigger the notify-edits message. Changes that are harder to generalize trigger only the update message.

For blend objects, for example, moving a spine point should cause the objects to move onto the spine, but moving a blend component should cause the spine point to move with the art object. Looking only at the post-edit state of the edit art, it would be hard to detect the difference between those two edits, since in both of them the only easily detected discrepancy, without knowing which paths were edited, is that the art elements are off the spine.
#define kSelectorAIPerformCustomHitTest   "AI Plugin Group Perform Custom Hit Test"

Asks a plug-in group to perform a custom hit test.

Sent when AIHitTestSuite::CustomHitTest() is called for a plug-in group, when a hit occurs within the bounds of the plug-in group object.

See AIPluginGroupCustomHitTestData

#define kSelectorAIPopLayerList   "AI Pop Layer List"

Sent to the plug-in owning a layer list when it is popped.

Allows you to clean up the layer lists. Within the scope of the message you can modify both the previous layer list and the one about to be popped.

The data of the message is an AILayerListMessage.

#define kSelectorAIPushLayerList   "AI Push Layer List"

Sent to the plug-in owning a layer list when it is pushed onto the stack.

Allows you to initialize the layer list. Within the scope of the message, you can modify both the previous layer list and the newly pushed list. On return, the previous layer list can no longer be modified.

The data of the message is an AILayerListMessage. The message's data field contains the value passed to AILayerListSuite::Push().

#define kSelectorAIReplaceSymbol   "AI Art Replace Symbol"

Asks a plug-in group to replace symbols used in its dictionary.

Sent to plug-in groups that are selected when user chooses Replace Symbol in the Symbol palette. You are not required to handle this notification, even if the plug-in group uses symbols. The sender does not modify the dictionary. See AIReplaceSymbolMessageData

#define kSelectorAIReselectTool   "AI Reselect"

Sent when an already-selected tool is reselected, with both kAIToolDeselectedNotifier and kAIToolSelectedNotifier.

The message data is an AIToolMessage.

#define kSelectorAISelectTool   "AI Select"

Sent to a plug-in when its tool has been selected, to allow initialization.

The message data is an AIToolMessage.

#define kSelectorAISetFileFormatParameters   "AI Set Parameters"

Sent to file format plug-ins to allow the plug-in to customize import/export based on client provided options.

This is only sent if the client has provided some options to customize import/export and the plugin had registered the file format with the kFileFormatHasExtendedData option.

The data is an AIFileFormatMessage.

#define kSelectorAIShowContents   "AI Plugin Group Show Contents"

Sent to plug-ins where the kPluginGroupAskToShowContents option is set, to request the "Show Contents" mode.

The plug-in should enter a mode where the contents are shown and editable. If this does not make sense for a particular plug-in group, ignore the call.

#define kSelectorAISoftCycleTool   "AI Toolbox Soft Cycle Tool"

Sent to signal a tool soft cycle.

The toolbox and tool fields are valid in the message. If the currently selected tool is not in the message tool's tool set, make the message tool the current tool. If the currently selected tool is in the message tool's tool set, do nothing. See AIToolboxSuite::SetTool().

#define kSelectorAIStartToolbox   "AI Toolbox Start Toolbox"

Sent to signal the start of a series of calls describing tools to be added.

Always followed immediately by kSelectorAIStartToolGroup. The only valid information in the message is the toolbox.

#define kSelectorAIStartToolGroup   "AI Toolbox Start Tool Group"

Sent to signal the start of a tool group.

(See Toolsets and Groups in the Tools Palette) Typically many of these are sent. Always followed immediately by kSelectorAIStartToolSet. The only valid information in the message is the toolbox.

#define kSelectorAIStartToolSet   "AI Toolbox Start Tool Set"

Sent to signal the start of a tool set.

(See Toolsets and Groups in the Tools Palette) Typically many of these are sent. Always followed immediately by kSelectorAIAddTool. The only valid information in the message is the toolbox.

#define kSelectorAIToolDecreaseDiameter   "AI Decrease Diameter"

Sent when shortcut '[' is activated to decrease a diameter.

#define kSelectorAIToolDrawDryInk   "AI Tool Draw Dry Ink"

This can be used to get strokes directly without listening to mouse down, drag and up events.

The message data is an AIToolDryInkMessage that contains the cursor location and modifier key information.

#define kSelectorAIToolIncreaseDiameter   "AI Increase Diameter"

Sent when shortcut ']' is activated to increase a diameter.

#define kSelectorAIToolMouseDown   "AI Mouse Down"

Sent when the mouse button is pressed.

The message data is an AIToolMessage that contains the cursor location and modifier key information.

#define kSelectorAIToolMouseDrag   "AI Mouse Drag"

Sent on drag (cursor move with button down).

The plug-in receives a series of these selectors. The message data is an AIToolMessage that contains the cursor location and modifier key information.

#define kSelectorAIToolMouseUp   "AI Mouse Up"

Either follows the mouse-down selector immediately or ends the mouse-drag selectors.

The message data is an AIToolMessage that contains the cursor location and modifier key information.

#define kSelectorAIToolSelected   "AI Toolbox Tool Selected"

Sent to signal that a tool has been selected.

The toolbox and tool fields are valid in the message.

#define kSelectorAITrackToolCursor   "AI Track Cursor"

Sent when the tool is selected and as the cursor is moved over the artboard with the button up.

The plug-in can set the cursor based on location or some other factor. The message data is an AIToolMessage.

#define kSelectorAITransformAgain   "AI Go"

The transform again selector.

See AITransformAgainSuite.

#define kSelectorAIUpdateArt   "AI Update"

Notifies a plug-in group that the result group needs to be rebuilt.

See AIPluginGroupSuite

#define kSelectorAIUpdateFileFormat   "AI Update AI140"

Obsolete.

Linked raster art is now implemented as placed art. Sent to file format plug-ins to request an update for a linked object in the document. The data is an AIUpdateFileFormatMessage.

Note:
Handle this or the legacy versions, kAI110SelectorAIUpdateFileFormat, kAI130SelectorAIUpdateFileFormat, not both.
#define kSelectorAIUpdateMenuItem   "AI Update"

Sent on mouse down in the menu bar.

Provides an opportunity for a plug-in to change the appearance of a menu before it is displayed. Request this selector by setting kMenuItemWantsUpdateOption. This is the only context in which AIMenuSuite::GetUpdateFlags() returns valid values.

If a plug-in with a menu is unloaded, it must first be reloaded before it can process the update selector. This can cause a noticeable performance lag when the user clicks the menu bar. Unless there is a pressing reason for a custom menu update, use AIMenuSuite::UpdateMenuItemAutomatically() instead of requesting this selector.

#define kSelectorObjectSetChange   "AI Object Set Change"

Object set selector.

Object sets are deprecated in favor of dictionaries, see AIDictionarySuite

#define kSelectorObjectSetChangeIndirect   "AI Object Set Change Indirect"

Object set selector.

Object sets are deprecated in favor of dictionaries, see AIDictionarySuite

#define kSelectorObjectSetCopy   "AI Object Set Copy"

Object set selector.

Object sets are deprecated in favor of dictionaries, see AIDictionarySuite

#define kSelectorObjectSetDisposeContents   "AI Object Set Dispose Contents"

Object set selector.

Object sets are deprecated in favor of dictionaries, see AIDictionarySuite

#define kSelectorObjectSetInitializationDone   "AI Object Set Initialization Done"

Object set selector.

Object sets are deprecated in favor of dictionaries, see AIDictionarySuite

#define kSelectorObjectSetMarkUsage   "AI Object Set Mark Usage"

Object set selector.

Object sets are deprecated in favor of dictionaries, see AIDictionarySuite

#define kSelectorObjectSetPurge   "AI Object Set Purge"

Object set selector.

Object sets are deprecated in favor of dictionaries, see AIDictionarySuite

#define kSelectorObjectSetUpdateExternal   "AI Object Set Update External"

Object set selector.

Object sets are deprecated in favor of dictionaries, see AIDictionarySuite

#define kSelectorObjectSetUpdateInternal   "AI Object Set Update Internal"

Object set selector.

Object sets are deprecated in favor of dictionaries, see AIDictionarySuite

#define kSPAccessReloadSelector   "Reload"

The first message a plug-in receives on startup (whether loaded or reloaded).

Allows you to restore saved state information, before startup initialization. See kSPAccessCaller, SPAccessSuite

#define kSPAccessUnloadSelector   "Unload"

The first message a plug-in receives before being unloaded.

Allows you to save state information See kSPAccessCaller, SPAccessSuite

#define kSPAdaptersDisposeInfoSelector   "Dispose info"

Received by a plug-in with an adapter after a call to SPCachesSuite::SPFlushCaches(), for a final flush of any memory used for private data, including PICA lists and string pools.

See kSPAdaptersCaller, SPAdaptersMessage, SPAdaptersSuite.

#define kSPAdaptersFlushSelector   "Flush"

Received by a plug-in with an adapter when the application frees memory, to allow garbage collection.

See kSPAdaptersCaller, SPAdaptersMessage, SPAdaptersSuite.

#define kSPAdaptersLoadPluginSelector   "Load plugin"

Received by a plug-in with an adapter before it is loaded, to allow the adapter to perform needed translations before the load occurs.

The handler does not need to call the load operation. See kSPAdaptersCaller, SPAdaptersMessage, SPAdaptersSuite.

#define kSPAdaptersRegisterPluginsSelector   "Register plugins"

Received by a plug-in after its initialization, to allow it to register its own adapter.

Get the adapter list from PICA and use SPAdaptersSuite::AddAdapter( ) to register your adapter. For example:

SPAdapterRef oldAPI;
SPAdapterListRef adapterList;
SPErr error;
error = sSPRuntime->GetRuntimeAdapterList( &adapterList);
error = sSPAdapters->AddAdapter( adapterList, message->d.self, "old API adapter", &oldAPI );

See kSPAdaptersCaller, SPAdaptersMessage, SPAdaptersSuite.

#define kSPAdaptersReleasePluginSelector   "Release plugin"

Received by a plug-in with an adapter before it is unloaded, to allow the adapter to perform needed translations before the unload occurs.

The handler does not need to call the unload operation. See kSPAdaptersCaller, SPAdaptersMessage, SPAdaptersSuite.

#define kSPAdaptersSendMessageSelector   "Send message"

Received by a plug-in with an adapter when the application needs to communicate with it.

The adapter should relay the message, performing any required translation. See kSPAdaptersCaller, SPAdaptersMessage, SPAdaptersSuite.

#define kSPAdaptersShutdownSelector   "Shut down"

Received by a plug-in with an adapter on application shutdown, after PICA completes its plug-in shutdown process.

Use for termination cleanup related to the adapter. See kSPAdaptersCaller, SPAdaptersMessage, SPAdaptersSuite.

#define kSPAdaptersStartupSelector   "Start up"

Received by a plug-in with an adapter on application startup, after PICA completes its plug-in startup process.

Use for initialization related to the adapter. See kSPAdaptersCaller, SPAdaptersMessage, SPAdaptersSuite.

#define kSPPluginPurgeCachesSelector   "Plug-in Purge"

Received by plug-in adapters with the PIAcceptsPurgeCachesMessage flag set in the PIConditionalMessages property, when a call has been made to SPCachesSuite::SPFlushCaches().

Accompanied by the SPPurgeCachesMessage.

See also:
SPAdaptersSuite, kSPAdaptersDisposeInfoSelector
#define kSPPropertiesAcquireSelector   "Acquire"

Acquire PICA plug-in properties; sent with SPPropertiesMessage.

See SPPropertiesSuite.

#define kSPPropertiesReleaseSelector   "Release"

Release PICA plug-in properties; sent with SPPropertiesMessage.

See SPPropertiesSuite.



Contents Suites Classes Class Index Member Index
Adobe Solutions Network
 
Copyright © 2016 Adobe Systems Incorporated. All rights reserved.
Terms of Use Online Privacy Policy Adobe and accessibility Avoid software piracy Permissions and Trademarks