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 _PIUnits
00077 #define _PIUnits
00078 
00079 enum {
00080     // The Photoshop APIs also define these constants. If a plug-in includes both
00081     // the Photoshop APIs and the Illustrator APIs then there would be compilation
00082     // problems. We let the Photoshop definitions win.
00083 
00085     unitNone =        '#Nne',
00087     unitDistance =    '#Rlt',
00089     unitAngle =        '#Ang',
00091     unitDensity =    '#Rsl',
00093     unitPoints =    '#Pxl',
00095     unitPercent =    '#Prc'
00096 
00097 };
00098 #endif
00099 
00101 typedef ai::uint32      ActionParamKeyID;
00102 
00104 typedef struct ActionParamType *AIActionParamTypeRef;
00105 
00107 typedef struct ActionParamValue *AIActionParamValueRef;
00108 
00110 typedef void *AIActionUserData;
00111 
00113 typedef ASErr (*AIActionCallbackProc)(AIActionParamValueRef parameter,
00114                                                                          AIActionUserData userData,
00115                                                                          AIBoolean showDialog);
00116 
00118 typedef void (*AIActionIdleProc)(void);
00119 
00123 typedef enum _ActionDialogStatus
00124 { 
00125         kDialogNone,
00127         kDialogOn,
00129         kDialogPartialOn,
00131         kDialogOff
00132 } ActionDialogStatus;
00133 
00135 typedef enum _ActionValueVisibility
00136 { 
00137         kDependOnParamType = -1,
00139         kHideInPalette,
00141         kShowInPalette
00142 } ActionValueVisibility;
00143 
00144 
00147 #define kActionCaller   "Action Manager"
00148 
00151 #define kDoActionSelector       "Do Action"
00152 
00155 typedef struct
00156 {
00158         SPMessageData d;
00160         AIActionUserData userData;
00162         AIBoolean showDialog;
00164         AIActionParamValueRef param;
00165 } DoActionMessage;
00166 
00167 
00196 struct AIActionManagerSuite
00197 {
00231         ASErr ASAPI (*RegisterActionEvent)(const char *eventName, const char *localizedName,
00232                 ai::int32 version, ai::int32 flag,
00233                                                                            AIActionCallbackProc callback,
00234                                                                            SPPluginRef plugin,
00235                                                                            AIActionUserData userData,
00236                                                                            AIActionParamTypeRef parameters);
00237 
00238 
00246         AIBoolean ASAPI (*IsActionEventRegistered)(const char *eventName);
00247 
00255         ASErr ASAPI (*GetActionEventLocalizedName)(const char *eventName, char *localizedName);
00262         ASErr ASAPI (*GetActionEventVersion)(const char *eventName, ai::int32 *version);
00264         ASErr ASAPI (*GetActionEventFlag)(const char *eventName, ai::int32 *flag);
00271         ASErr ASAPI (*GetActionEventCallbackProc)(const char *eventName, AIActionCallbackProc *callback);
00278         ASErr ASAPI (*GetActionEventPluginRef)(const char *eventName, SPPluginRef *pluginRef);
00285         ASErr ASAPI (*GetActionEventUserData)(const char *eventName, AIActionUserData *userData);
00292         ASErr ASAPI (*SetActionEventUserData)(const char *eventName, AIActionUserData userData);
00299         ASErr ASAPI (*GetActionEventParamType)(const char *eventName, AIActionParamTypeRef *param);
00300 
00302         ASErr ASAPI (*Idle)(void);
00309         ASErr ASAPI (*SetActionIdleProc)(AIActionIdleProc idleProc);
00314         ASErr ASAPI (*GetActionIdleProc)(AIActionIdleProc *idleProc);
00315 
00335         ASErr ASAPI (*AINewActionParamType)(AIActionParamTypeRef *param);
00342         ASErr ASAPI (*AIDeleteActionParamType)(AIActionParamTypeRef param);
00343 
00360         ASErr ASAPI (*AIActionGetTypeKey)(AIActionParamTypeRef param, ai::uint32 index, ActionParamKeyID *key);
00361 
00370         ASErr ASAPI (*AIActionHasTypeKey)(AIActionParamTypeRef param, ActionParamKeyID key, AIBoolean *hasKey);
00371 
00379         ASErr ASAPI (*AIActionGetTypeCount)(AIActionParamTypeRef param, ai::uint32 *count);
00380 
00394         ASErr ASAPI (*AIActionSetTypeKey)(AIActionParamTypeRef param, ActionParamKeyID key, const char* name, ActionParamTypeID type, AIBoolean show);
00395 
00404         ASErr ASAPI (*AIActionGetName)(AIActionParamTypeRef param, ActionParamKeyID key, char* value);
00405 
00413         ASErr ASAPI (*AIActionGetType)(AIActionParamTypeRef param, ActionParamKeyID key, ActionParamTypeID* value);
00414 
00423         AIBoolean ASAPI (*AIActionTypeIsShow)(AIActionParamTypeRef param, ActionParamKeyID key);
00424 
00426         ASErr ASAPI (*AcquirePalette)(void);
00428         ASErr ASAPI (*ReleasePalette)(void);
00429 
00456         ASErr ASAPI (*RecordActionEvent)(const char *eventName, ActionDialogStatus dialogStatus, AIActionParamValueRef parameters);
00457 
00481         ASErr ASAPI (*PlayActionEvent)(const char *eventName, ActionDialogStatus dialogStatus, AIActionParamValueRef parameters);
00482 
00508         AIBoolean ASAPI (*InRecordMode)(void);
00509 
00511         AIBoolean ASAPI (*InInsertMenuItemState)(void);
00512 
00514         ASErr ASAPI (*ActivateInsertMennuItemDialog)(void);
00515 
00517         ASErr ASAPI (*SetCurrentCommandLocalizedName)(const char *localizedName);
00518 
00520         ASErr ASAPI (*DoFunctionKey)(ai::int32 fkey, ai::uint32 modifier);
00521 
00540         ASErr ASAPI (*AINewActionParamValue)(AIActionParamValueRef *param);
00541 
00547         ASErr ASAPI (*AIDeleteActionParamValue)(AIActionParamValueRef param);
00548 
00567         ASErr ASAPI (*AIActionGetValueKey)(AIActionParamValueRef param, ai::uint32 index, ActionParamKeyID *key);
00568 
00576         ASErr ASAPI (*AIActionHasValueKey)(AIActionParamValueRef param, ActionParamKeyID key, AIBoolean *hasKey);
00577 
00584         ASErr ASAPI (*AIActionGetValueCount)(AIActionParamValueRef param, ai::uint32 *count);
00585 
00586         /* Retrieves the data type of the value associated with a key.
00587 
00588                 @param param [in] The value parameter block (VPB), as created by \c #AINewActionParamValue().
00589                 @param key [in] The parameter type key, a 4-character \c long. See \c #AIActionGetValueKey().
00590                 @param  value [out] A buffer in which to return the data type. An \c ::ActionParamTypeID value.
00591                 */
00592         ASErr ASAPI (*AIActionGetValueType)(AIActionParamValueRef param, ActionParamKeyID key, ActionParamTypeID *type);
00593 
00600         ASErr ASAPI (*AIActionGetInteger)(AIActionParamValueRef param, ActionParamKeyID key, ai::int32* value);
00607         ASErr ASAPI (*AIActionSetInteger)(AIActionParamValueRef param, ActionParamKeyID key, ai::int32 value);
00608 
00615         ASErr ASAPI (*AIActionGetReal)(AIActionParamValueRef param, ActionParamKeyID key, AIReal* value);
00622         ASErr ASAPI (*AIActionSetReal)(AIActionParamValueRef param, ActionParamKeyID key, AIReal value);
00623 
00631         ASErr ASAPI (*AIActionGetUnitReal)(AIActionParamValueRef param, ActionParamKeyID key, ActionParamUnitID* unit, AIReal* value);
00639         ASErr ASAPI (*AIActionSetUnitReal)(AIActionParamValueRef param, ActionParamKeyID key, ActionParamUnitID unit, AIReal value);
00640 
00647         ASErr ASAPI (*AIActionGetString)(AIActionParamValueRef param, ActionParamKeyID key, char* value);
00654         ASErr ASAPI (*AIActionSetString)(AIActionParamValueRef param, ActionParamKeyID key, const char* value);
00655 
00662         ASErr ASAPI (*AIActionGetBoolean)(AIActionParamValueRef param, ActionParamKeyID key, AIBoolean* value);
00668         ASErr ASAPI (*AIActionSetBoolean)(AIActionParamValueRef param, ActionParamKeyID key, ASBoolean value);
00669 
00677         ASErr ASAPI (*AIActionGetEnumerated)(AIActionParamValueRef param, ActionParamKeyID key,  char* name, ai::int32* value);
00685         ASErr ASAPI (*AIActionSetEnumerated)(AIActionParamValueRef param, ActionParamKeyID key,  const char* name, ai::int32 value);
00686 
00694         ASErr ASAPI (*AIActionSetRawDataBytes)(AIActionParamValueRef param, ActionParamKeyID key,  ai::uint32 size, const char* value);
00695 
00702         ASErr ASAPI (*AIActionGetRawDataSize)(AIActionParamValueRef param, ActionParamKeyID key,  ai::uint32* size);
00710         ASErr ASAPI (*AIActionGetRawData)(AIActionParamValueRef param, ActionParamKeyID key, char* value);
00711 
00719         ActionValueVisibility ASAPI (*AIActionValueGetVisibility)(AIActionParamValueRef param, ActionParamKeyID key);
00720 
00727         ASErr ASAPI (*AIActionValueSetVisibility)(AIActionParamValueRef param, ActionParamKeyID key, ActionValueVisibility value);
00728 
00730         ASErr ASAPI (*UndoLastTransaction)();
00731 
00733         ASErr ASAPI (*RedoLastTransaction)();
00734 
00736         ASErr ASAPI (*IgnoreRecording)(AIBoolean ignore);
00737 
00738 
00742         ASErr ASAPI (*RegisterActionEventUS)(const char *eventName, const ai::UnicodeString& localizedName,
00743                                                                            ai::int32 version, ai::int32 flag,
00744                                                                            AIActionCallbackProc callback,
00745                                                                            SPPluginRef plugin,
00746                                                                            AIActionUserData userData,
00747                                                                            AIActionParamTypeRef parameters);
00748 
00751         ASErr ASAPI (*GetActionEventLocalizedNameUS)(const char *eventName, ai::UnicodeString& localizedName);
00752 
00755         ASErr ASAPI (*AIActionSetTypeKeyUS)(AIActionParamTypeRef param, ActionParamKeyID key, const ai::UnicodeString& name, ActionParamTypeID type, AIBoolean show);
00756 
00759         ASErr ASAPI (*AIActionGetNameUS)(AIActionParamTypeRef param, ActionParamKeyID key, ai::UnicodeString& value);
00760 
00763         ASErr ASAPI (*SetCurrentCommandLocalizedNameUS)(const ai::UnicodeString& localizedName);
00764 
00767         ASErr ASAPI (*AIActionGetStringUS)(AIActionParamValueRef param, ActionParamKeyID key, ai::UnicodeString& value);
00768 
00771         ASErr ASAPI (*AIActionSetStringUS)(AIActionParamValueRef param, ActionParamKeyID key, const ai::UnicodeString& value);
00772 
00775         ASErr ASAPI (*AIActionGetEnumeratedUS)(AIActionParamValueRef param, ActionParamKeyID key,  ai::UnicodeString& name, ai::int32* value);
00776 
00779         ASErr ASAPI (*AIActionSetEnumeratedUS)(AIActionParamValueRef param, ActionParamKeyID key,  const ai::UnicodeString& name, ai::int32 value);
00780 };
00781 
00782 
00783 #include "AIHeaderEnd.h"
00784 
00785 #endif


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