Adobe.com
Contents Suites Classes Class Index Member Index

AIActionManager.h

Go to the documentation of this file.
00001 #ifndef __AIActionManager_h__
00002 #define __AIActionManager_h__
00003 
00004 /*
00005  *        Name: AIActionManager.h
00006  *   $Revision: 22 $
00007  *      Author: Grace Ge
00008  *        Date: 10/14/97
00009  *     Purpose: AI Action Manager Suite.
00010  *
00011  * ADOBE SYSTEMS INCORPORATED
00012  * Copyright 1986-2007 Adobe Systems Incorporated.
00013  * All rights reserved.
00014  *
00015  * NOTICE:  Adobe permits you to use, modify, and distribute this file 
00016  * in accordance with the terms of the Adobe license agreement 
00017  * accompanying it. If you have received this file from a source other 
00018  * than Adobe, then your use, modification, or distribution of it 
00019  * requires the prior written permission of Adobe.
00020  *
00021  */
00022 
00023 #include "AITypes.h"
00024 #include "SPPlugs.h"
00025 #include "AIUnicodeString.h"
00026 
00027 #include "AIHeaderBegin.h"
00028 
00031 /*
00032  * Constants
00033  */
00034 
00035 #define kAIActionManagerSuite                   "AI Action Manager Suite"
00036 #define kAIActionManagerSuiteVersion5   AIAPI_VERSION(5)
00037 #define kAIActionManagerSuiteVersion    kAIActionManagerSuiteVersion5
00038 #define kAIActionManagerVersion                 kAIActionManagerSuiteVersion
00039 
00043 #define kAIActionManagerPlayActionEventDoneNotifier     "AI Action Manager PlayActionEvent Done Notifier"
00044 #define kAIActionActualExecutionFinishedNotifier "AI Action Actual Execution Finished Notifier"
00045 /*
00046  *      Types
00047  */
00048 
00050 typedef ai::uint32      ActionParamTypeID;
00051 
00053 enum {
00055         actionTypeInteger = 'long',
00057         actionTypeReal =        'real',
00059         actionTypeBoolean =     'bool',
00061         actionTypeEnum =        'enum',
00063         actionTypeString =      'strn',
00065         actionTypeUnitReal ='utrl',
00067         actionTypeRawData =     'rwdt',
00069         actionTypeNull =        'null'
00070 };
00071 
00074 typedef ai::uint32      ActionParamUnitID;
00075 
00076 #ifndef unitNone
00077 
00078 enum {
00079         // The Photoshop APIs also define these constants. If a plug-in includes both
00080         // the Photoshop APIs and the Illustrator APIs then there would be compilation
00081         // problems. We let the Photoshop definitions win.
00082 
00084         unitNone =              '#Nne',
00086         unitDistance =  '#Rlt',
00088         unitAngle =             '#Ang',
00090         unitDensity =   '#Rsl',
00092         unitPoints =    '#Pxl',
00094         unitPercent =   '#Prc'
00095 
00096 };
00097 #endif
00098 
00100 typedef ai::uint32      ActionParamKeyID;
00101 
00103 typedef struct ActionParamType *AIActionParamTypeRef;
00104 
00106 typedef struct ActionParamValue *AIActionParamValueRef;
00107 
00109 typedef void *AIActionUserData;
00110 
00112 typedef ASErr (*AIActionCallbackProc)(AIActionParamValueRef parameter,
00113                                                                          AIActionUserData userData,
00114                                                                          AIBoolean showDialog);
00115 
00117 typedef void (*AIActionIdleProc)(void);
00118 
00122 typedef enum _ActionDialogStatus
00123 { 
00124         kDialogNone,
00126         kDialogOn,
00128         kDialogPartialOn,
00130         kDialogOff
00131 } ActionDialogStatus;
00132 
00134 typedef enum _ActionValueVisibility
00135 { 
00136         kDependOnParamType = -1,
00138         kHideInPalette,
00140         kShowInPalette
00141 } ActionValueVisibility;
00142 
00143 
00146 #define kActionCaller   "Action Manager"
00147 
00150 #define kDoActionSelector       "Do Action"
00151 
00154 typedef struct
00155 {
00157         SPMessageData d;
00159         AIActionUserData userData;
00161         AIBoolean showDialog;
00163         AIActionParamValueRef param;
00164 } DoActionMessage;
00165 
00166 
00195 struct AIActionManagerSuite
00196 {
00230         ASErr ASAPI (*RegisterActionEvent)(const char *eventName, const char *localizedName,
00231                 ai::int32 version, ai::int32 flag,
00232                                                                            AIActionCallbackProc callback,
00233                                                                            SPPluginRef plugin,
00234                                                                            AIActionUserData userData,
00235                                                                            AIActionParamTypeRef parameters);
00236 
00237 
00245         AIBoolean ASAPI (*IsActionEventRegistered)(const char *eventName);
00246 
00254         ASErr ASAPI (*GetActionEventLocalizedName)(const char *eventName, char *localizedName);
00261         ASErr ASAPI (*GetActionEventVersion)(const char *eventName, ai::int32 *version);
00263         ASErr ASAPI (*GetActionEventFlag)(const char *eventName, ai::int32 *flag);
00270         ASErr ASAPI (*GetActionEventCallbackProc)(const char *eventName, AIActionCallbackProc *callback);
00277         ASErr ASAPI (*GetActionEventPluginRef)(const char *eventName, SPPluginRef *pluginRef);
00284         ASErr ASAPI (*GetActionEventUserData)(const char *eventName, AIActionUserData *userData);
00291         ASErr ASAPI (*SetActionEventUserData)(const char *eventName, AIActionUserData userData);
00298         ASErr ASAPI (*GetActionEventParamType)(const char *eventName, AIActionParamTypeRef *param);
00299 
00301         ASErr ASAPI (*Idle)(void);
00308         ASErr ASAPI (*SetActionIdleProc)(AIActionIdleProc idleProc);
00313         ASErr ASAPI (*GetActionIdleProc)(AIActionIdleProc *idleProc);
00314 
00334         ASErr ASAPI (*AINewActionParamType)(AIActionParamTypeRef *param);
00341         ASErr ASAPI (*AIDeleteActionParamType)(AIActionParamTypeRef param);
00342 
00359         ASErr ASAPI (*AIActionGetTypeKey)(AIActionParamTypeRef param, ai::uint32 index, ActionParamKeyID *key);
00360 
00369         ASErr ASAPI (*AIActionHasTypeKey)(AIActionParamTypeRef param, ActionParamKeyID key, AIBoolean *hasKey);
00370 
00378         ASErr ASAPI (*AIActionGetTypeCount)(AIActionParamTypeRef param, ai::uint32 *count);
00379 
00393         ASErr ASAPI (*AIActionSetTypeKey)(AIActionParamTypeRef param, ActionParamKeyID key, const char* name, ActionParamTypeID type, AIBoolean show);
00394 
00403         ASErr ASAPI (*AIActionGetName)(AIActionParamTypeRef param, ActionParamKeyID key, char* value);
00404 
00412         ASErr ASAPI (*AIActionGetType)(AIActionParamTypeRef param, ActionParamKeyID key, ActionParamTypeID* value);
00413 
00422         AIBoolean ASAPI (*AIActionTypeIsShow)(AIActionParamTypeRef param, ActionParamKeyID key);
00423 
00425         ASErr ASAPI (*AcquirePalette)(void);
00427         ASErr ASAPI (*ReleasePalette)(void);
00428 
00455         ASErr ASAPI (*RecordActionEvent)(const char *eventName, ActionDialogStatus dialogStatus, AIActionParamValueRef parameters);
00456 
00480         ASErr ASAPI (*PlayActionEvent)(const char *eventName, ActionDialogStatus dialogStatus, AIActionParamValueRef parameters);
00481 
00507         AIBoolean ASAPI (*InRecordMode)(void);
00508 
00510         AIBoolean ASAPI (*InInsertMenuItemState)(void);
00511 
00513         ASErr ASAPI (*ActivateInsertMennuItemDialog)(void);
00514 
00516         ASErr ASAPI (*SetCurrentCommandLocalizedName)(const char *localizedName);
00517 
00519         ASErr ASAPI (*DoFunctionKey)(ai::int32 fkey, ai::uint32 modifier);
00520 
00539         ASErr ASAPI (*AINewActionParamValue)(AIActionParamValueRef *param);
00540 
00546         ASErr ASAPI (*AIDeleteActionParamValue)(AIActionParamValueRef param);
00547 
00566         ASErr ASAPI (*AIActionGetValueKey)(AIActionParamValueRef param, ai::uint32 index, ActionParamKeyID *key);
00567 
00575         ASErr ASAPI (*AIActionHasValueKey)(AIActionParamValueRef param, ActionParamKeyID key, AIBoolean *hasKey);
00576 
00583         ASErr ASAPI (*AIActionGetValueCount)(AIActionParamValueRef param, ai::uint32 *count);
00584 
00585         /* Retrieves the data type of the value associated with a key.
00586 
00587                 @param param [in] The value parameter block (VPB), as created by \c #AINewActionParamValue().
00588                 @param key [in] The parameter type key, a 4-character \c long. See \c #AIActionGetValueKey().
00589                 @param  value [out] A buffer in which to return the data type. An \c ::ActionParamTypeID value.
00590                 */
00591         ASErr ASAPI (*AIActionGetValueType)(AIActionParamValueRef param, ActionParamKeyID key, ActionParamTypeID *type);
00592 
00599         ASErr ASAPI (*AIActionGetInteger)(AIActionParamValueRef param, ActionParamKeyID key, ai::int32* value);
00606         ASErr ASAPI (*AIActionSetInteger)(AIActionParamValueRef param, ActionParamKeyID key, ai::int32 value);
00607 
00614         ASErr ASAPI (*AIActionGetReal)(AIActionParamValueRef param, ActionParamKeyID key, AIReal* value);
00621         ASErr ASAPI (*AIActionSetReal)(AIActionParamValueRef param, ActionParamKeyID key, AIReal value);
00622 
00630         ASErr ASAPI (*AIActionGetUnitReal)(AIActionParamValueRef param, ActionParamKeyID key, ActionParamUnitID* unit, AIReal* value);
00638         ASErr ASAPI (*AIActionSetUnitReal)(AIActionParamValueRef param, ActionParamKeyID key, ActionParamUnitID unit, AIReal value);
00639 
00646         ASErr ASAPI (*AIActionGetString)(AIActionParamValueRef param, ActionParamKeyID key, char* value);
00653         ASErr ASAPI (*AIActionSetString)(AIActionParamValueRef param, ActionParamKeyID key, const char* value);
00654 
00661         ASErr ASAPI (*AIActionGetBoolean)(AIActionParamValueRef param, ActionParamKeyID key, AIBoolean* value);
00667         ASErr ASAPI (*AIActionSetBoolean)(AIActionParamValueRef param, ActionParamKeyID key, ASBoolean value);
00668 
00676         ASErr ASAPI (*AIActionGetEnumerated)(AIActionParamValueRef param, ActionParamKeyID key,  char* name, ai::int32* value);
00684         ASErr ASAPI (*AIActionSetEnumerated)(AIActionParamValueRef param, ActionParamKeyID key,  const char* name, ai::int32 value);
00685 
00693         ASErr ASAPI (*AIActionSetRawDataBytes)(AIActionParamValueRef param, ActionParamKeyID key,  ai::uint32 size, const char* value);
00694 
00701         ASErr ASAPI (*AIActionGetRawDataSize)(AIActionParamValueRef param, ActionParamKeyID key,  ai::uint32* size);
00709         ASErr ASAPI (*AIActionGetRawData)(AIActionParamValueRef param, ActionParamKeyID key, char* value);
00710 
00718         ActionValueVisibility ASAPI (*AIActionValueGetVisibility)(AIActionParamValueRef param, ActionParamKeyID key);
00719 
00726         ASErr ASAPI (*AIActionValueSetVisibility)(AIActionParamValueRef param, ActionParamKeyID key, ActionValueVisibility value);
00727 
00729         ASErr ASAPI (*UndoLastTransaction)();
00730 
00732         ASErr ASAPI (*RedoLastTransaction)();
00733 
00735         ASErr ASAPI (*IgnoreRecording)(AIBoolean ignore);
00736 
00737 
00741         ASErr ASAPI (*RegisterActionEventUS)(const char *eventName, const ai::UnicodeString& localizedName,
00742                                                                            ai::int32 version, ai::int32 flag,
00743                                                                            AIActionCallbackProc callback,
00744                                                                            SPPluginRef plugin,
00745                                                                            AIActionUserData userData,
00746                                                                            AIActionParamTypeRef parameters);
00747 
00750         ASErr ASAPI (*GetActionEventLocalizedNameUS)(const char *eventName, ai::UnicodeString& localizedName);
00751 
00754         ASErr ASAPI (*AIActionSetTypeKeyUS)(AIActionParamTypeRef param, ActionParamKeyID key, const ai::UnicodeString& name, ActionParamTypeID type, AIBoolean show);
00755 
00758         ASErr ASAPI (*AIActionGetNameUS)(AIActionParamTypeRef param, ActionParamKeyID key, ai::UnicodeString& value);
00759 
00762         ASErr ASAPI (*SetCurrentCommandLocalizedNameUS)(const ai::UnicodeString& localizedName);
00763 
00766         ASErr ASAPI (*AIActionGetStringUS)(AIActionParamValueRef param, ActionParamKeyID key, ai::UnicodeString& value);
00767 
00770         ASErr ASAPI (*AIActionSetStringUS)(AIActionParamValueRef param, ActionParamKeyID key, const ai::UnicodeString& value);
00771 
00774         ASErr ASAPI (*AIActionGetEnumeratedUS)(AIActionParamValueRef param, ActionParamKeyID key,  ai::UnicodeString& name, ai::int32* value);
00775 
00778         ASErr ASAPI (*AIActionSetEnumeratedUS)(AIActionParamValueRef param, ActionParamKeyID key,  const ai::UnicodeString& name, ai::int32 value);
00779 };
00780 
00781 
00782 #include "AIHeaderEnd.h"
00783 
00784 #endif


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