Adobe.com
Contents Suites Classes Class Index Member Index

AIToolbox.h

Go to the documentation of this file.
00001 #ifndef __AIToolbox__
00002 #define __AIToolbox__
00003 
00004 /*
00005  *        Name: AIToolbox.h
00006  *   $Revision: 14 $
00007  *      Author: Paul Asente
00008  *        Date: 3/19/96
00009  *     Purpose: Adobe Illustrator Toolbox 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 
00024 /*******************************************************************************
00025  **
00026  **     Imports
00027  **
00028  **/
00029 
00030 
00031 #ifndef __AITypes__
00032 #include "AITypes.h"
00033 #endif
00034 
00035 #ifndef __AIPlugin__
00036 #include "AIPlugin.h"
00037 #endif
00038 
00039 #ifndef __AITool__
00040 #include "AITool.h"
00041 #endif
00042 
00043 #include "AIHeaderBegin.h"
00044 
00048 /*******************************************************************************
00049  **
00050  ** Constants
00051  **
00052  **/
00053 
00054 #define kAIToolboxSuite                 "AI Toolbox Suite"
00055 #define kAIToolboxVersion7              AIAPI_VERSION(7)
00056 #define kAIToolboxVersion               kAIToolboxVersion7
00057 #define kAIToolboxSuiteVersion  kAIToolboxVersion
00058 
00061 #define kCallerAIToolbox                                "AI Toolbox"
00062 
00068 #define kSelectorAIStartToolbox                 "AI Toolbox Start Toolbox"
00069 
00073 #define kSelectorAIEndToolbox                   "AI Toolbox End Toolbox"
00074 
00079 #define kSelectorAIStartToolGroup               "AI Toolbox Start Tool Group"
00080 
00084 #define kSelectorAIEndToolGroup                 "AI Toolbox End Tool Group"
00085 
00090 #define kSelectorAIStartToolSet                 "AI Toolbox Start Tool Set"
00091 
00095 #define kSelectorAIEndToolSet                   "AI Toolbox End Tool Set"
00096 
00100 #define kSelectorAIAddTool                              "AI Toolbox Add Tool"
00101 
00105 #define kSelectorAIAddRollover                  "AI Toolbox Add Rollover"
00106 
00110 #define kSelectorAIToolSelected                 "AI Toolbox Tool Selected"
00111 
00115 #define kSelectorAIAlternateToolActionSelected "AI Toolbox Alternate Tool Action Selected"
00116 
00121 #define kSelectorAICycleTool                    "AI Toolbox Cycle Tool"
00122 
00128 #define kSelectorAISoftCycleTool                "AI Toolbox Soft Cycle Tool"
00129 
00134 /*******************************************************************************
00135  **
00136  ** Types
00137  **
00138  **/
00139 
00141 typedef struct _t_AIToolboxOpaque *AIToolboxHandle;
00142 
00145 enum AIBuiltInToolBox : ai::int16
00146 {
00147     /* Basic Toolbox. */
00148     kAIBasicToolbox               =        0,
00149     /* Advanced Toolbox. */
00150     kAIAdvancedToolbox            =        1,
00151 };
00152 
00153 
00156 struct AIToolboxMessage{
00158         SPMessageData d = {};
00160         AIToolboxHandle toolbox = {};
00162         AIToolType tool = 0;
00164         AIDataStackRef iconResourceDictionary;
00166     char *name = nullptr;
00168     char *title_deprecated = nullptr;
00170     char *tooltip_deprecated = nullptr;
00172     ASHelpID helpID_deprecated = 0;
00173         
00174         /* Specifies the type of the incoming icons 
00175                 enum IconType in AITypes.h*/
00176         ai::IconType iconType = ai::IconType::kInvalid;
00178     AIToolType      sameGroupAs =0 ;
00180     AIToolType      sameSetAs = 0;
00182     bool            isThirdPartyPlugin = false;
00184     ai::UnicodeString title;
00186     ai::UnicodeString tooltip;
00187 };
00188 
00189 /*******************************************************************************
00190  **
00191  **     Suite
00192  **
00193  **/
00194 
00225 struct AIToolboxSuite {
00234         AIAPI AIErr (*AddToolbox) (SPPluginRef self, const char *name,
00235                                                            AIToolboxHandle *toolbox);
00236 
00241         AIAPI AIErr (*SetTool) (AIToolboxHandle toolbox, AIToolType tool);
00242 
00248         AIAPI AIErr (*AlternateAction) (AIToolboxHandle toolbox, AIToolType tool );
00249 
00254         AIAPI AIErr (*CycleTool) (AIToolboxHandle toolbox, AIToolType tool);
00255 
00260         AIAPI AIErr (*CountToolboxes) (ai::int32 *count);
00261 
00267         AIAPI AIErr (*GetNthToolbox) (ai::int32 n, AIToolboxHandle *toolbox);
00268 
00274         AIAPI AIErr (*GetCurrentToolType) (AIToolType *toolNum);
00275 
00281     AIAPI AIErr (*GetBuiltInToolboxVisibility) (ai::int16 toolBox, AIBoolean& visible);
00282     
00283 };
00284 
00285 
00286 #include "AIHeaderEnd.h"
00287 
00288 
00289 #endif
00290 


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