4#ifndef __UserConfigCommands_h__
5#define __UserConfigCommands_h__ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
12#include "Stroika/Frameworks/Led/Platform/ATL.h"
13#include "Stroika/Frameworks/Led/TextInteractor.h"
15#include "ActiveLedItConfig.h"
18#include "ActiveLedIt_h.h"
21using namespace Stroika::Frameworks;
22using namespace Stroika::Frameworks::Led;
24class UserCommandNameNumberRegistry {
26 static UserCommandNameNumberRegistry& Get ();
29 static UserCommandNameNumberRegistry* sThis;
32 UserCommandNameNumberRegistry ();
35 nonvirtual UINT Enter (
const wstring& internalName);
36 nonvirtual
bool Lookup (UINT cmdNum, wstring* internalName);
37 nonvirtual
bool Lookup (
const wstring& internalName, UINT* cmdNum);
38 nonvirtual wstring Lookup (UINT cmdNum);
41 map<wstring, UINT> fName2Num;
42 map<UINT, wstring> fNum2Name;
46struct BuiltinCmdSpec {
47 BuiltinCmdSpec (UINT cmdNum,
const char* cmdName)
50 , fInternalCmdName (cmdName)
53 BuiltinCmdSpec (UINT cmdNum,
const char* cmdName,
const char* internalCmdName)
56 , fInternalCmdName (internalCmdName)
62 const char* fInternalCmdName;
65const BuiltinCmdSpec kCmd_Separator = BuiltinCmdSpec (0,
"");
66const BuiltinCmdSpec kCmd_Undo = BuiltinCmdSpec (ID_EDIT_UNDO,
"Undo");
67const BuiltinCmdSpec kCmd_Redo = BuiltinCmdSpec (ID_EDIT_REDO,
"Redo");
68const BuiltinCmdSpec kCmd_Cut = BuiltinCmdSpec (ID_EDIT_CUT,
"Cut");
69const BuiltinCmdSpec kCmd_Copy = BuiltinCmdSpec (ID_EDIT_COPY,
"Copy");
70const BuiltinCmdSpec kCmd_Paste = BuiltinCmdSpec (ID_EDIT_PASTE,
"Paste");
71const BuiltinCmdSpec kCmd_PasteText = BuiltinCmdSpec (kPasteFormatTextCmdID,
"Paste Text");
72const BuiltinCmdSpec kCmd_Clear = BuiltinCmdSpec (ID_EDIT_CLEAR,
"Clear");
73const BuiltinCmdSpec kCmd_SelectWord = BuiltinCmdSpec (kSelectWordCmd,
"Select Word(s)");
74const BuiltinCmdSpec kCmd_SelectTextRow = BuiltinCmdSpec (kSelectTextRowCmd,
"Select Text Row(s)");
75const BuiltinCmdSpec kCmd_SelectParagraph = BuiltinCmdSpec (kSelectParagraphCmd,
"Select Paragraph(s)");
76const BuiltinCmdSpec kCmd_SelectTableIntraCellAll = BuiltinCmdSpec (kSelectTableIntraCellAllCmd,
"Select All in Cell");
77const BuiltinCmdSpec kCmd_SelectTableCell = BuiltinCmdSpec (kSelectTableCellCmd,
"Select Table Cell");
78const BuiltinCmdSpec kCmd_SelectTableRow = BuiltinCmdSpec (kSelectTableRowCmd,
"Select Table Row(s)");
79const BuiltinCmdSpec kCmd_SelectTableColumn = BuiltinCmdSpec (kSelectTableColumnCmd,
"Select Table Column(s)");
80const BuiltinCmdSpec kCmd_SelectTable = BuiltinCmdSpec (kSelectTableCmd,
"Select Table");
81const BuiltinCmdSpec kCmd_SelectAll = BuiltinCmdSpec (ID_EDIT_SELECT_ALL,
"Select All");
82const BuiltinCmdSpec kCmd_Find = BuiltinCmdSpec (kFindCmd,
"Find...");
83const BuiltinCmdSpec kCmd_FindAgain = BuiltinCmdSpec (kFindAgainCmd,
"Find Again");
84const BuiltinCmdSpec kCmd_EnterFindString = BuiltinCmdSpec (kEnterFindStringCmd,
"Enter 'Find' String");
85const BuiltinCmdSpec kCmd_Replace = BuiltinCmdSpec (kReplaceCmd,
"Replace...");
86const BuiltinCmdSpec kCmd_ReplaceAgain = BuiltinCmdSpec (kReplaceAgainCmd,
"Replace Again");
87const BuiltinCmdSpec kCmd_CheckSpelling = BuiltinCmdSpec (kSpellCheckCmd,
"Check Spelling...");
88const BuiltinCmdSpec kCmd_InsertTable = BuiltinCmdSpec (kInsertTableCmd,
"Insert Table...");
89const BuiltinCmdSpec kCmd_InsertTableRowAbove = BuiltinCmdSpec (kInsertTableRowAboveCmd,
"Insert Table Row Above");
90const BuiltinCmdSpec kCmd_InsertTableRowBelow = BuiltinCmdSpec (kInsertTableRowBelowCmd,
"Insert Table Row Below");
91const BuiltinCmdSpec kCmd_InsertTableColBefore = BuiltinCmdSpec (kInsertTableColBeforeCmd,
"Insert Table Column Before");
92const BuiltinCmdSpec kCmd_InsertTableColAfter = BuiltinCmdSpec (kInsertTableColAfterCmd,
"Insert Table Column After");
93const BuiltinCmdSpec kCmd_InsertURL = BuiltinCmdSpec (kInsertURLCmd,
"Insert URL...");
94const BuiltinCmdSpec kCmd_InsertSymbol = BuiltinCmdSpec (kInsertSymbolCmd,
"Insert Symbol...");
95const BuiltinCmdSpec kCmd_RemoveTableRows = BuiltinCmdSpec (kRemoveTableRowsCmd,
"Remove Rows");
96const BuiltinCmdSpec kCmd_RemoveTableColumns = BuiltinCmdSpec (kRemoveTableColumnsCmd,
"Remove Columns");
97const BuiltinCmdSpec kCmd_FontStylePlain = BuiltinCmdSpec (kFontStylePlainCmd,
"Plain");
98const BuiltinCmdSpec kCmd_FontStyleBold = BuiltinCmdSpec (kFontStyleBoldCmd,
"Bold");
99const BuiltinCmdSpec kCmd_FontStyleItalic = BuiltinCmdSpec (kFontStyleItalicCmd,
"Italic");
100const BuiltinCmdSpec kCmd_FontStyleUnderline = BuiltinCmdSpec (kFontStyleUnderlineCmd,
"Underline");
101const BuiltinCmdSpec kCmd_FontStyleStrikeout = BuiltinCmdSpec (kFontStyleStrikeoutCmd,
"Strikeout");
102const BuiltinCmdSpec kCmd_SubScript = BuiltinCmdSpec (kSubScriptCmd,
"Subscript");
103const BuiltinCmdSpec kCmd_SuperScript = BuiltinCmdSpec (kSuperScriptCmd,
"Superscript");
104const BuiltinCmdSpec kCmd_FontSize9 = BuiltinCmdSpec (kFontSize9Cmd,
"9 pt");
105const BuiltinCmdSpec kCmd_FontSize10 = BuiltinCmdSpec (kFontSize10Cmd,
"10 pt");
106const BuiltinCmdSpec kCmd_FontSize12 = BuiltinCmdSpec (kFontSize12Cmd,
"12 pt");
107const BuiltinCmdSpec kCmd_FontSize14 = BuiltinCmdSpec (kFontSize14Cmd,
"14 pt");
108const BuiltinCmdSpec kCmd_FontSize18 = BuiltinCmdSpec (kFontSize18Cmd,
"18 pt");
109const BuiltinCmdSpec kCmd_FontSize24 = BuiltinCmdSpec (kFontSize24Cmd,
"24 pt");
110const BuiltinCmdSpec kCmd_FontSize36 = BuiltinCmdSpec (kFontSize36Cmd,
"36 pt");
111const BuiltinCmdSpec kCmd_FontSize48 = BuiltinCmdSpec (kFontSize48Cmd,
"48 pt");
112const BuiltinCmdSpec kCmd_FontSize72 = BuiltinCmdSpec (kFontSize72Cmd,
"72 pt");
113const BuiltinCmdSpec kCmd_FontSizeSmaller = BuiltinCmdSpec (kFontSizeSmallerCmd,
"Smaller");
114const BuiltinCmdSpec kCmd_FontSizeLarger = BuiltinCmdSpec (kFontSizeLargerCmd,
"Larger");
115const BuiltinCmdSpec kCmd_FontSizeOther = BuiltinCmdSpec (kFontSizeOtherCmd,
"Other...",
"FontSizeOther");
116const BuiltinCmdSpec kCmd_BlackColor = BuiltinCmdSpec (kBlackColorCmd,
"Black");
117const BuiltinCmdSpec kCmd_MaroonColor = BuiltinCmdSpec (kMaroonColorCmd,
"Maroon");
118const BuiltinCmdSpec kCmd_GreenColor = BuiltinCmdSpec (kGreenColorCmd,
"Green");
119const BuiltinCmdSpec kCmd_OliveColor = BuiltinCmdSpec (kOliveColorCmd,
"Olive");
120const BuiltinCmdSpec kCmd_NavyColor = BuiltinCmdSpec (kNavyColorCmd,
"Navy");
121const BuiltinCmdSpec kCmd_PurpleColor = BuiltinCmdSpec (kPurpleColorCmd,
"Purple");
122const BuiltinCmdSpec kCmd_TealColor = BuiltinCmdSpec (kTealColorCmd,
"Teal");
123const BuiltinCmdSpec kCmd_GrayColor = BuiltinCmdSpec (kGrayColorCmd,
"Gray");
124const BuiltinCmdSpec kCmd_SilverColor = BuiltinCmdSpec (kSilverColorCmd,
"Silver");
125const BuiltinCmdSpec kCmd_RedColor = BuiltinCmdSpec (kRedColorCmd,
"Red");
126const BuiltinCmdSpec kCmd_LimeColor = BuiltinCmdSpec (kLimeColorCmd,
"Lime");
127const BuiltinCmdSpec kCmd_YellowColor = BuiltinCmdSpec (kYellowColorCmd,
"Yellow");
128const BuiltinCmdSpec kCmd_BlueColor = BuiltinCmdSpec (kBlueColorCmd,
"Blue");
129const BuiltinCmdSpec kCmd_FuchsiaColor = BuiltinCmdSpec (kFuchsiaColorCmd,
"Fuchsia");
130const BuiltinCmdSpec kCmd_AquaColor = BuiltinCmdSpec (kAquaColorCmd,
"Aqua");
131const BuiltinCmdSpec kCmd_WhiteColor = BuiltinCmdSpec (kWhiteColorCmd,
"White");
132const BuiltinCmdSpec kCmd_OtherColor = BuiltinCmdSpec (kFontColorOtherCmd,
"Other...",
"FontColorOther");
133const BuiltinCmdSpec kCmd_ChooseFontDialog = BuiltinCmdSpec (kChooseFontDialogCmd,
"Choose Font Dialog...");
134const BuiltinCmdSpec kCmd_JustifyLeft = BuiltinCmdSpec (kJustifyLeftCmd,
"Left",
"JustifyLeft");
135const BuiltinCmdSpec kCmd_JustifyCenter = BuiltinCmdSpec (kJustifyCenterCmd,
"Center",
"JustifyCenter");
136const BuiltinCmdSpec kCmd_JustifyRight = BuiltinCmdSpec (kJustifyRightCmd,
"Right",
"JustifyRight");
137const BuiltinCmdSpec kCmd_JustifyFull = BuiltinCmdSpec (kJustifyFullCmd,
"Full",
"JustifyFull");
138const BuiltinCmdSpec kCmd_ParagraphIndents = BuiltinCmdSpec (kParagraphIndentsCmd,
"Paragraph Indents...");
139const BuiltinCmdSpec kCmd_ParagraphSpacing = BuiltinCmdSpec (kParagraphSpacingCmd,
"Paragraph Spacing...");
140const BuiltinCmdSpec kCmd_ListStyle_None = BuiltinCmdSpec (kListStyle_NoneCmd,
"None",
"ListStyle_None");
141const BuiltinCmdSpec kCmd_ListStyle_Bullet = BuiltinCmdSpec (kListStyle_BulletCmd,
"Bullet",
"ListStyle_Bullet");
142const BuiltinCmdSpec kCmd_IncreaseIndent = BuiltinCmdSpec (kIncreaseIndentCmd,
"Increase List Indent");
143const BuiltinCmdSpec kCmd_DescreaseIndent = BuiltinCmdSpec (kDecreaseIndentCmd,
"Decrease List Indent");
144const BuiltinCmdSpec kCmd_PropertiesForSelection = BuiltinCmdSpec (kPropertiesForSelectionCmd,
"Properties");
145const BuiltinCmdSpec kCmd_OpenEmbedding = BuiltinCmdSpec (kFirstPrivateEmbeddingCmd,
"Open Embedding");
146const BuiltinCmdSpec kCmd_Print = BuiltinCmdSpec (ID_FILE_PRINT,
"Print...");
147const BuiltinCmdSpec kCmd_PrintSetup = BuiltinCmdSpec (ID_FILE_PRINT_SETUP,
"Print Setup...");
148const BuiltinCmdSpec kCmd_BrowseOnlineHelp = BuiltinCmdSpec (ID_HELP_FINDER,
"Browse Online Help");
149const BuiltinCmdSpec kCmd_CheckForUpdatesOnWeb = BuiltinCmdSpec (kCheckForUpdatesWebPageCmdID,
"Check for ActiveLedIt! Web Updates");
150const BuiltinCmdSpec kCmd_About = BuiltinCmdSpec (ID_APP_ABOUT,
"About ActiveLedIt!...");
151const BuiltinCmdSpec kCmd_Help = BuiltinCmdSpec (ID_HELP,
"Help");
152const BuiltinCmdSpec kCmd_ContextHelp = BuiltinCmdSpec (ID_CONTEXT_HELP,
"Context Help");
154const BuiltinCmdSpec kAllCmds[] = {
164 kCmd_SelectParagraph,
165 kCmd_SelectTableIntraCellAll,
166 kCmd_SelectTableCell,
168 kCmd_SelectTableColumn,
173 kCmd_EnterFindString,
178 kCmd_InsertTableRowAbove,
179 kCmd_InsertTableRowBelow,
180 kCmd_InsertTableColBefore,
181 kCmd_InsertTableColAfter,
184 kCmd_RemoveTableRows,
185 kCmd_RemoveTableColumns,
188 kCmd_FontStyleItalic,
189 kCmd_FontStyleUnderline,
190 kCmd_FontStyleStrikeout,
202 kCmd_FontSizeSmaller,
222 kCmd_ChooseFontDialog,
227 kCmd_ParagraphIndents,
228 kCmd_ParagraphSpacing,
230 kCmd_ListStyle_Bullet,
232 kCmd_DescreaseIndent,
233 kCmd_PropertiesForSelection,
237 kCmd_BrowseOnlineHelp,
238 kCmd_CheckForUpdatesOnWeb,
244class ATL_NO_VTABLE ActiveLedIt_CurrentEventArguments
245 :
public CComObjectRootEx<CComSingleThreadModel>,
246 public CComCoClass<ActiveLedIt_CurrentEventArguments>,
247 public IDispatchImpl<IALCurrentEventArguments, &IID_IALCurrentEventArguments, &LIBID_ACTIVELEDITLib, qActiveLedIt_MajorVersion, qActiveLedIt_MinorVersion> {
249 ActiveLedIt_CurrentEventArguments ();
250 virtual ~ActiveLedIt_CurrentEventArguments ();
253 DECLARE_NO_REGISTRY ()
256 BEGIN_COM_MAP (ActiveLedIt_CurrentEventArguments)
257 COM_INTERFACE_ENTRY (IALCurrentEventArguments)
258 COM_INTERFACE_ENTRY (IDispatch)
262 STDMETHOD (get_InternalCommandName)
264 STDMETHOD (put_InternalCommandName)
266 STDMETHOD (get_Enabled)
267 (VARIANT_BOOL* pVal);
268 STDMETHOD (put_Enabled)
270 STDMETHOD (get_Checked)
271 (VARIANT_BOOL* pVal);
272 STDMETHOD (put_Checked)
280 DECLARE_PROTECT_FINAL_CONSTRUCT ()
283 HRESULT FinalConstruct ();
284 void FinalRelease ();
287 wstring fInternalName;
293class ATL_NO_VTABLE AL_CommandHelper
294 : public IDispatchImpl<IALCommand, &IID_IALCommand, &LIBID_ACTIVELEDITLib, qActiveLedIt_MajorVersion, qActiveLedIt_MinorVersion> {
297 virtual ~AL_CommandHelper ();
302 STDMETHOD (get_InternalName)
304 STDMETHOD (AppendSelfToMenu)
305 (HMENU menu, IDispatch* acceleratorTable);
309 wstring fInternalName;
313class ATL_NO_VTABLE AL_UserCommandHelper
314 :
public IDispatchImpl<IALUserCommand, &IID_IALUserCommand, &LIBID_ACTIVELEDITLib, qActiveLedIt_MajorVersion, qActiveLedIt_MinorVersion>,
315 public AL_CommandHelper {
317 AL_UserCommandHelper ();
318 virtual ~AL_UserCommandHelper ();
323 STDMETHOD (put_InternalName)
332 return AL_CommandHelper::get_Name (pVal);
334 STDMETHOD (get_InternalName)
337 return AL_CommandHelper::get_InternalName (pVal);
339 STDMETHOD (AppendSelfToMenu)
340 (HMENU menu, IDispatch* acceleratorTable)
342 return AL_CommandHelper::AppendSelfToMenu (menu, acceleratorTable);
346class ATL_NO_VTABLE AL_CommandListHelper
347 :
public IDispatchImpl<IALCommandList, &IID_IALCommandList, &LIBID_ACTIVELEDITLib, qActiveLedIt_MajorVersion, qActiveLedIt_MinorVersion> {
349 AL_CommandListHelper ();
350 virtual ~AL_CommandListHelper ();
353 STDMETHOD (GeneratePopupMenu)
354 (IDispatch* acceleratorTable, HMENU* val);
355 STDMETHOD (LookupCommand)
356 (BSTR internalName, IDispatch** val);
358 (VARIANT internalNameOrObject, UINT* val);
359 STDMETHOD (get__NewEnum)
362 (
long Index, IDispatch** pVal);
363 STDMETHOD (get_Count)
367 nonvirtual
void AppendBuiltinCmd (
const BuiltinCmdSpec& cmdSpec);
368 nonvirtual
void AppendBuiltinCmds (
const BuiltinCmdSpec* cmdSpecsStart,
const BuiltinCmdSpec* cmdSpecsEnd);
371 vector<CComPtr<IDispatch>> fOwnedItems;
374class ATL_NO_VTABLE AL_UserCommandListHelper
375 :
public AL_CommandListHelper,
376 public IDispatchImpl<IALUserCommandList, &IID_IALUserCommandList, &LIBID_ACTIVELEDITLib, qActiveLedIt_MajorVersion, qActiveLedIt_MinorVersion> {
378 AL_UserCommandListHelper ();
379 virtual ~AL_UserCommandListHelper ();
383 STDMETHOD (GeneratePopupMenu)
384 (IDispatch* acceleratorTable, HMENU* val)
386 return AL_CommandListHelper::GeneratePopupMenu (acceleratorTable, val);
388 STDMETHOD (LookupCommand)
389 (BSTR internalName, IDispatch** val)
391 return AL_CommandListHelper::LookupCommand (internalName, val);
394 (VARIANT internalNameOrObject, UINT* val)
396 return AL_CommandListHelper::IndexOf (internalNameOrObject, val);
398 STDMETHOD (get__NewEnum)
401 return AL_CommandListHelper::get__NewEnum (ppUnk);
404 (
long Index, IDispatch** pVal)
406 return AL_CommandListHelper::get_Item (Index, pVal);
408 STDMETHOD (get_Count)
411 return AL_CommandListHelper::get_Count (pVal);
416 (IDispatch* newElt, UINT afterElt =
static_cast<UINT
> (-1));
418 (VARIANT eltIntNameOrIndex);
424class ATL_NO_VTABLE ActiveLedIt_BuiltinCommand :
public CComObjectRootEx<CComSingleThreadModel>,
425 public CComCoClass<ActiveLedIt_BuiltinCommand>,
426 public AL_CommandHelper {
428 ActiveLedIt_BuiltinCommand ();
429 virtual ~ActiveLedIt_BuiltinCommand ();
432 static ActiveLedIt_BuiltinCommand* mk (
const BuiltinCmdSpec& cmdSpec);
433 void SetName (
const wstring& name)
439 DECLARE_NO_REGISTRY ()
442 BEGIN_COM_MAP (ActiveLedIt_BuiltinCommand)
443 COM_INTERFACE_ENTRY (IALCommand)
444 COM_INTERFACE_ENTRY (IDispatch)
448 DECLARE_PROTECT_FINAL_CONSTRUCT ()
451 HRESULT FinalConstruct ();
452 void FinalRelease ();
455class ATL_NO_VTABLE ActiveLedIt_UserCommand
456 : public CComObjectRootEx<CComSingleThreadModel>,
457 public CComCoClass<ActiveLedIt_BuiltinCommand>,
458 public IDispatchImpl<IALUserCommand, &IID_IALUserCommand, &LIBID_ACTIVELEDITLib, qActiveLedIt_MajorVersion, qActiveLedIt_MinorVersion>,
459 public AL_CommandHelper {
461 ActiveLedIt_UserCommand ();
462 virtual ~ActiveLedIt_UserCommand ();
465 DECLARE_NO_REGISTRY ()
468 BEGIN_COM_MAP (ActiveLedIt_UserCommand)
469 COM_INTERFACE_ENTRY (IALUserCommand)
470 COM_INTERFACE_ENTRY2 (IALCommand, AL_CommandHelper)
471 COM_INTERFACE_ENTRY2 (IDispatch, IALUserCommand)
478 return AL_CommandHelper::get_Name (pVal);
480 STDMETHOD (get_InternalName)
483 return AL_CommandHelper::get_InternalName (pVal);
485 STDMETHOD (AppendSelfToMenu)
486 (HMENU menu, IDispatch* acceleratorTable)
488 return AL_CommandHelper::AppendSelfToMenu (menu, acceleratorTable);
494 STDMETHOD (put_InternalName)
498 DECLARE_PROTECT_FINAL_CONSTRUCT ()
501 HRESULT FinalConstruct ();
502 void FinalRelease ();
505class ATL_NO_VTABLE ActiveLedIt_AcceleratorElement
506 : public CComObjectRootEx<CComSingleThreadModel>,
507 public CComCoClass<ActiveLedIt_AcceleratorElement>,
508 public IDispatchImpl<IALAcceleratorElement, &IID_IALAcceleratorElement, &LIBID_ACTIVELEDITLib, qActiveLedIt_MajorVersion, qActiveLedIt_MinorVersion> {
510 ActiveLedIt_AcceleratorElement ();
511 virtual ~ActiveLedIt_AcceleratorElement () =
default;
514 DECLARE_NO_REGISTRY ()
517 BEGIN_COM_MAP (ActiveLedIt_AcceleratorElement)
518 COM_INTERFACE_ENTRY (IALAcceleratorElement)
519 COM_INTERFACE_ENTRY (IDispatch)
523 DECLARE_PROTECT_FINAL_CONSTRUCT ()
526 STDMETHOD (get_CommandInternalName)
528 STDMETHOD (put_CommandInternalName)
530 STDMETHOD (get_ModifierFlag)
531 (AcceleratorModifierFlag* pVal);
532 STDMETHOD (put_ModifierFlag)
533 (AcceleratorModifierFlag val);
540 HRESULT FinalConstruct ();
541 void FinalRelease ();
544 wstring fCommandInternalName;
545 AcceleratorModifierFlag fAcceleratorModifierFlag;
549class ATL_NO_VTABLE ActiveLedIt_AcceleratorTable
550 : public CComObjectRootEx<CComSingleThreadModel>,
551 public CComCoClass<ActiveLedIt_AcceleratorTable>,
552 public IDispatchImpl<IALAcceleratorTable, &IID_IALAcceleratorTable, &LIBID_ACTIVELEDITLib, qActiveLedIt_MajorVersion, qActiveLedIt_MinorVersion> {
554 ActiveLedIt_AcceleratorTable ();
555 virtual ~ActiveLedIt_AcceleratorTable ();
558 DECLARE_NO_REGISTRY ()
561 BEGIN_COM_MAP (ActiveLedIt_AcceleratorTable)
562 COM_INTERFACE_ENTRY (IALAcceleratorTable)
563 COM_INTERFACE_ENTRY (IDispatch)
567 DECLARE_PROTECT_FINAL_CONSTRUCT ()
570 nonvirtual
void AppendACCEL (const
char* internalCmdName, AcceleratorModifierFlag modifierFlag, WORD key);
573 STDMETHOD (get__NewEnum)
576 (
long Index, IDispatch** pVal);
577 STDMETHOD (get_Count)
580 (BSTR cmdInternalName, IDispatch** pVal);
582 (IDispatch* newElt, UINT atIndex = 0xffffffff);
584 (VARIANT eltIntNameOrIndex);
587 STDMETHOD (GenerateWin32AcceleratorTable)
591 HRESULT FinalConstruct ();
592 void FinalRelease ();
595 vector<CComPtr<IDispatch>> fAccelerators;
599class ATL_NO_VTABLE ActiveLedIt_StaticCommandList : public CComObjectRootEx<CComSingleThreadModel>,
600 public CComCoClass<ActiveLedIt_StaticCommandList>,
601 public AL_CommandListHelper {
603 ActiveLedIt_StaticCommandList ();
604 virtual ~ActiveLedIt_StaticCommandList ();
607 DECLARE_NO_REGISTRY ()
610 BEGIN_COM_MAP (ActiveLedIt_StaticCommandList)
611 COM_INTERFACE_ENTRY (IALCommandList)
612 COM_INTERFACE_ENTRY (IDispatch)
616 DECLARE_PROTECT_FINAL_CONSTRUCT ()
619 nonvirtual
void Append (IDispatch* p);
622 HRESULT FinalConstruct ();
623 void FinalRelease ();
627class ATL_NO_VTABLE ActiveLedIt_UserCommandList : public CComObjectRootEx<CComSingleThreadModel>,
628 public CComCoClass<ActiveLedIt_UserCommandList>,
629 public AL_UserCommandListHelper {
631 ActiveLedIt_UserCommandList ();
632 virtual ~ActiveLedIt_UserCommandList ();
635 DECLARE_NO_REGISTRY ()
638 BEGIN_COM_MAP (ActiveLedIt_UserCommandList)
639 COM_INTERFACE_ENTRY (IALUserCommandList)
640 COM_INTERFACE_ENTRY2 (IALCommandList, IALUserCommandList)
641 COM_INTERFACE_ENTRY2 (IDispatch, IALUserCommandList)
645 DECLARE_PROTECT_FINAL_CONSTRUCT ()
649 STDMETHOD (GeneratePopupMenu)
650 (IDispatch* acceleratorTable, HMENU* val)
652 return AL_UserCommandListHelper::GeneratePopupMenu (acceleratorTable, val);
654 STDMETHOD (LookupCommand)
655 (BSTR internalName, IDispatch** val)
657 return AL_UserCommandListHelper::LookupCommand (internalName, val);
660 (VARIANT internalNameOrObject, UINT* val)
662 return AL_UserCommandListHelper::IndexOf (internalNameOrObject, val);
664 STDMETHOD (get__NewEnum)
667 return AL_UserCommandListHelper::get__NewEnum (ppUnk);
670 (
long Index, IDispatch** pVal)
672 return AL_UserCommandListHelper::get_Item (Index, pVal);
674 STDMETHOD (get_Count)
677 return AL_UserCommandListHelper::get_Count (pVal);
681 HRESULT FinalConstruct ();
682 void FinalRelease ();
685class ATL_NO_VTABLE ActiveLedIt_MenuItemPopup
686 :
public CComObjectRootEx<CComSingleThreadModel>,
687 public CComCoClass<ActiveLedIt_MenuItemPopup, &CLSID_ActiveLedIt_MenuItemPopup>,
688 public IDispatchImpl<IALMenuItemPopup, &IID_IALMenuItemPopup, &LIBID_ACTIVELEDITLib, qActiveLedIt_MajorVersion, qActiveLedIt_MinorVersion>,
689 public AL_CommandListHelper,
690 public AL_UserCommandHelper {
692 ActiveLedIt_MenuItemPopup ();
693 virtual ~ActiveLedIt_MenuItemPopup ();
696 DECLARE_NO_REGISTRY ()
700 STDMETHOD (GeneratePopupMenu)
701 (IDispatch* acceleratorTable, HMENU* val)
703 return AL_CommandListHelper::GeneratePopupMenu (acceleratorTable, val);
705 STDMETHOD (LookupCommand)
706 (BSTR internalName, IDispatch** val)
708 return AL_CommandListHelper::LookupCommand (internalName, val);
711 (VARIANT internalNameOrObject, UINT* val)
713 return AL_CommandListHelper::IndexOf (internalNameOrObject, val);
715 STDMETHOD (get__NewEnum)
718 return AL_CommandListHelper::get__NewEnum (ppUnk);
721 (
long Index, IDispatch** pVal)
723 return AL_CommandListHelper::get_Item (Index, pVal);
725 STDMETHOD (get_Count)
728 return AL_CommandListHelper::get_Count (pVal);
735 return AL_CommandHelper::get_Name (pVal);
737 STDMETHOD (get_InternalName)
740 return AL_CommandHelper::get_InternalName (pVal);
742 STDMETHOD (AppendSelfToMenu)
743 (HMENU menu, IDispatch* acceleratorTable);
749 return AL_UserCommandHelper::put_Name (val);
751 STDMETHOD (put_InternalName)
754 return AL_UserCommandHelper::put_InternalName (val);
759 (IDispatch*, UINT =
static_cast<UINT
> (-1));
761 (VARIANT eltIntNameOrIndex);
766 BEGIN_COM_MAP (ActiveLedIt_MenuItemPopup)
767 COM_INTERFACE_ENTRY (IALMenuItemPopup)
768 COM_INTERFACE_ENTRY2 (IALCommandList, IALMenuItemPopup)
769 COM_INTERFACE_ENTRY (IALUserCommand)
770 COM_INTERFACE_ENTRY2 (IALCommand, AL_CommandHelper)
771 COM_INTERFACE_ENTRY2 (IDispatch, IALMenuItemPopup)
775 DECLARE_PROTECT_FINAL_CONSTRUCT ()
778 HRESULT FinalConstruct ();
779 void FinalRelease ();
782string mkFontNameCMDName (const SDKString& fName);
784CComPtr<IDispatch> GenerateBuiltinCommandsObject ();
786UINT CmdObjOrName2Num (const VARIANT& cmdObjOrName);
787wstring CmdNum2Name (UINT cmdNum);