Adobe.com
Contents Suites Classes Class Index Member Index

AIMenu.h File Reference

#include "AITypes.h"
#include "AIPlugin.h"
#include "ASHelp.h"
#include "IAIUnicodeString.h"
#include "AIHeaderBegin.h"
#include "AIHeaderEnd.h"

Go to the source code of this file.

Classes

struct  AIPlatformAddMenuItemDataUS
 Menu item definition data. More...
struct  AIPlatformMenuItem
 A platform-specific menu structure corresponding to an Illustrator menu item. More...
struct  AIMenuMessage
 Message sent with menu selectors. More...
struct  AIMenuSuite
 This suite provides functions that allow you to add menu items to the Illustrator menu structure. More...

Defines

#define kAIMenuSuite   "AI Menu Suite"
#define kAIMenuVersion11   AIAPI_VERSION(11)
#define kAIMenuSuiteVersion   kAIMenuVersion11
#define kAIMenuVersion   kAIMenuSuiteVersion
#define kAIMenuChangedNotifier   "AI Menu Changed Notifier"
 Sent when a menu item is modified using AIMenuSuite functions.
#define kCallerAIMenu   "AI Menu"
 Menu caller, see AIMenuSuite.
#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 kMacIfPlugin   kIfPluginArt
 For pre-AI14 compatibility.
#define kTooManyMenuItemsErr   '>MIT'

Typedefs

typedef ai::int32 AIMenuItemOption
 Option flags that control the behavior of a menu item.
typedef ai::int32 AIMenuGroupOption
 Option flags that control the behavior of a menu group.
typedef struct
_t_AIMenuItemOpaque * 
AIMenuItemHandle
 Opaque reference to a menu item.
typedef struct _t_MenuGroupOpaque * AIMenuGroup
 Opaque reference to a menu group.

Enumerations

enum  {
  kMenuItemNoOptions = 0, kMenuItemWantsUpdateOption = (1<<0), kMenuItemAlwaysEnabled = (1<<1), kMenuItemIsSeparator = (1<<2),
  kMenuItemIsGroupHeader = (1<<3), kMenuItemIgnoreSort = (1<<4)
}
 

Bit flags for AIMenuItemOption.

More...
enum  {
  kMenuGroupNoOptions = 0, kMenuGroupSortedAlphabeticallyOption = (1<<0), kMenuGroupSeparatorOption = (1<<1), kMenuGroupSeparatorBelowOption = (1<<2),
  kMenuGroupHasHeader = (1<<3), kMenuGroupAddAboveNearGroup = (1<<4)
}
 

Bit flags for AIMenuGroupOption.

More...
enum  AIAutoMenuUpdateAction { kAutoEnableMenuItemAction = (1<<0), kAutoCheckMenuItemAction = (1<<1) }
 

The update action to be performed when all criteria are met.

More...
enum  AIAutoMenuUpdateObjectCriteria {
  kIfGroup = (1<<0), kIfPath = (1<<1), kIfPostscript = (1<<2), kIfPlaced = (1<<3),
  kIfText = (1<<4), kIfTextPath = (1<<5), kIfTextFlow = (1<<6), kIfTextRun = (1<<7),
  kIfGuide = (1<<8), kIfGraphData = (1<<9), kIfMask = (1<<10), kIfEndMask = (1<<11),
  kIfNormalGroup = (1<<12), kIfCompoundGroup = (1<<13), kIfWrapAroundGroup = (1<<14), kIfClipGroup = (1<<15),
  kIfPointText = (1<<16), kIfInPathText = (1<<17), kIfOnPathText = (1<<18), kIfThreadedText = (1<<19),
  kIfRaster = (1<<20), kIfPluginArt = (1<<21), kIfMesh = (1<<22), kIfHasStyledArt = (1<<23),
  kIfSymbol = (1<<24), kIfForeignArt = (1<<25), kIfLegacyTextArt = (1<<26), kIfClassicPath = (1<<27),
  kIfPlanarPath = (1<<28), kIfNonTextPath = (1<<29), kIfChartArt = (1<<30), kIfAnyArt = (0xFFFFFFFF)
}
 

Types of art objects whose appearance in a document or selection can be considered for automatic menu update.

More...
enum  AIAutoMenuUpdatePropertyCriteria {
  kIfCurrentLayerIsEditable = (1<<0), kIfOpenTextEdit = (1<<1), kIfAnyPrintingChars = (1<<2), kIfAnyHiddenObjects = (1<<3),
  kIfAnyLockedObjects = (1<<4), kIfAnyClipPaths = (1<<5), kIfOpenDocument = (1<<6), kIfCMYKDocument = (1<<7),
  kIfRGBDocument = (1<<8), kIfCurrentArtStyleIsNamed = (1<<9), kIfHasPluginSelection = (1<<10)
}
 

Document properties that can be considered for automatic menu update.

More...
enum  AIMenuItemModifier { kMenuItemCmdShiftModifier = 1, kMenuItemCmdOptionModifier = 2, kMenuItemCmdControlModifier = 4 }
 

Modifier keys for command characters (keyboard shortcuts).

More...

Detailed Description


Define Documentation

#define kAIMenuSuite   "AI Menu Suite"
#define kAIMenuSuiteVersion   kAIMenuVersion11
#define kAIMenuVersion   kAIMenuSuiteVersion
#define kAIMenuVersion11   AIAPI_VERSION(11)
#define kMacIfPlugin   kIfPluginArt

For pre-AI14 compatibility.


Typedef Documentation

typedef struct _t_MenuGroupOpaque* AIMenuGroup

Opaque reference to a menu group.

Never dereferenced. Access with AIMenuSuite functions.

Option flags that control the behavior of a menu group.

See kMenuGroupNoOptions and following.

typedef struct _t_AIMenuItemOpaque* AIMenuItemHandle

Opaque reference to a menu item.

Never dereferenced. Access with AIMenuSuite functions.

Option flags that control the behavior of a menu item.

See kMenuItemNoOptions and following.


Enumeration Type Documentation

anonymous enum

Bit flags for AIMenuItemOption.

Enumerator:
kMenuItemNoOptions 

Turn off all options.

kMenuItemWantsUpdateOption 

Set to receive the kSelectorAIUpdateMenuItem selector.

kMenuItemAlwaysEnabled 

Set to disallow disabling (graying) of item.

kMenuItemIsSeparator 

Set to create a separator.

Pass NULL for AIPlatformAddMenuItemDataUS::itemText.

kMenuItemIsGroupHeader 

Not for item creation.

Identifies a group header when iterating through items. See AIMenuSuite::SetMenuGroupHeader().

kMenuItemIgnoreSort 

Set to ignore the parent group's kMenuGroupSortedAlphabeticallyOption state.

anonymous enum

Bit flags for AIMenuGroupOption.

Enumerator:
kMenuGroupNoOptions 

Turn off all options.

kMenuGroupSortedAlphabeticallyOption 

Set to sort menu items in the group alphabetically.

By default, menu items appear in the order in which they are added.

kMenuGroupSeparatorOption 

Set to create a separator above the group.

kMenuGroupSeparatorBelowOption 

Set to create a separator below the group.

kMenuGroupHasHeader 

Not for group creation.

Identifies a group with a header when iterating through groups. See AIMenuSuite::SetMenuGroupHeader().

kMenuGroupAddAboveNearGroup 

Option for adding a group with AIMenuSuite::AddMenuGroup().

The update action to be performed when all criteria are met.

Specify only one action. See AIMenuSuite::UpdateMenuItemAutomatically().

Enumerator:
kAutoEnableMenuItemAction 

Enables the item if the criteria evaluate to true, disables it otherwise.

kAutoCheckMenuItemAction 

Puts a check mark by the item if the criteria evaluate to true, removes the check otherwise.

Types of art objects whose appearance in a document or selection can be considered for automatic menu update.

See AIMenuSuite::UpdateMenuItemAutomatically().

Enumerator:
kIfGroup 

Any type of group.

kIfPath 

Any type of path.

kIfPostscript 

An internal object type unavailable to users and plug-ins.

kIfPlaced 

A placed object.

kIfText 

Any type of text.

kIfTextPath 

A path that has text in or on it.

Can be set even if kIfText is off, when a text path is direct-selected.

kIfTextFlow 

Obsolete.

kIfTextRun 

Obsolete.

kIfGuide 

Art used as a guide.

kIfGraphData 

A graph object.

kIfMask 

Art used as a clipping mask.

kIfEndMask 

Obsolete.

kIfNormalGroup 

A simple group.

kIfCompoundGroup 

A group that is a compound path.

kIfWrapAroundGroup 

Obsolete.

Do not use.

kIfClipGroup 

A group with a clipping path.

kIfPointText 

Point text.

kIfInPathText 

Text in a path.

kIfOnPathText 

Text on a path.

kIfThreadedText 

Threaded text.

kIfRaster 

Raster art.

kIfPluginArt 

Plug-in group (for any platform).

kIfMesh 

Mesh art.

kIfHasStyledArt 

Styled art.

kIfSymbol 

Symbol.

kIfForeignArt 

Foreign object.

kIfLegacyTextArt 

Legacy text.

kIfClassicPath 

Path that is not inside a planar group.

kIfPlanarPath 

Path that is inside a planar group.

See AIPlanarObjectSuite.

kIfNonTextPath 

A path that does not have text in or on it.

kIfChartArt 

Chart.

kIfAnyArt 

Any art.

Document properties that can be considered for automatic menu update.

See AIMenuSuite::UpdateMenuItemAutomatically().

Enumerator:
kIfCurrentLayerIsEditable 
kIfOpenTextEdit 
kIfAnyPrintingChars 
kIfAnyHiddenObjects 
kIfAnyLockedObjects 
kIfAnyClipPaths 
kIfOpenDocument 
kIfCMYKDocument 
kIfRGBDocument 
kIfCurrentArtStyleIsNamed 
kIfHasPluginSelection 

Modifier keys for command characters (keyboard shortcuts).

See AIMenuSuite::SetItemCmd() and AIMenuSuite::GetItemCmd().

Enumerator:
kMenuItemCmdShiftModifier 

Shift key.

kMenuItemCmdOptionModifier 

Option key in Mac OS, Alt key in Windows.

kMenuItemCmdControlModifier 

Command key in Mac OS, Ctrl key in Windows.



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