InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IShortcutManager.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: lance bushore
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //========================================================================================
23 
24 #ifndef __IShortcutManager__
25 #define __IShortcutManager__
26 
27 #include "IPMUnknown.h"
28 #include "VirtualKey.h"
29 #include "PMString.h"
30 #include "ActionID.h"
31 #include "IKBSCSetsManager.h"
32 
33 class IShortcutContext;
40 {
41  public:
42  enum { kDefaultIID = IID_ISHORTCUTMANAGER };
43 
50  virtual void AddShortcut(ActionID actionToAddTo, const PMString & contextStr, const VirtualKey& key, int16 mods) = 0;
51 
55  virtual void RemoveAllShortcutsForAction(ActionID id) = 0;
56 
62  virtual void RemoveShortcut(const PMString& context, const VirtualKey& key, int16 mods) = 0;
63 
70  virtual void PerformShortcut(const IShortcutContext* context, const VirtualKey& key, int16 mods) = 0;
71 
79  virtual bool16 IsEnabledShortcut(const IShortcutContext* context, const VirtualKey& key, int16 mods) = 0;
80 
88  virtual ActionID GetActionIDOfShortcut(const PMString& contextString, const VirtualKey& key, int16 mods) const = 0;
89 
98  virtual ActionID GetActionIDInContextChain(const IShortcutContext* context, const VirtualKey& key, int16 mods) const = 0;
99 
101  virtual void ClearShortcuts() = 0;
102 
107  virtual int32 GetNumShortcutsForAction(ActionID actionID) const = 0;
108 
118  virtual void GetNthShortcutForAction(ActionID actionID, int32 index, PMString* contextStrOut, VirtualKey* keyOut, int16* modsOut) const = 0;
119 
123  virtual int32 GetNumShortcutContexts() const = 0;
124 
128  virtual IShortcutContext* QueryNthShortcutContext(int32 index) const = 0;
129 
134  virtual IShortcutContext* QueryShortcutContextByName(const PMString& contextName) const = 0;
135 
139  virtual PMString GetShortcutSetFilename() const = 0;
140 
144  virtual IKBSCSetsManager::KBSCArea GetShortcutKBSCArea() const = 0;
145 
146  typedef enum {
160 
165  virtual ShortcutFileError ChangeShortcutSetFile(const PMString& filename, IKBSCSetsManager::KBSCArea area) = 0;
166 
171 
176  virtual ShortcutFileError LoadDefaultShortcutSetFile(const PMLocaleId& locale) = 0;
177 
185  virtual void GetCurrentShortcut(PMString* contextOut, VirtualKey* keyOut, int16* modsOut) const = 0;
186 
196  virtual const PMString& GetPersistedActionName( const ActionID& actionID ) const = 0 ;
197 
199  virtual bool16 Startup(const PMLocaleId& locale) = 0;
200 
202  virtual void Shutdown(const PMLocaleId& locale) = 0;
203 
204 #ifdef DEBUG
205  typedef enum { contextInfo, allShortcutInfo, shortcutsMissingActions} ShortcutInfoType;
207  virtual void DumpShortcutInfo(ShortcutInfoType infoType) = 0;
209  virtual void RemoveAllShortcutsForUnregisteredActionIDs() = 0;
210 #endif
211 };
212 
213 #endif // __IShortcutManager__