1 // Commands.h: interface of the CCommands class
\r
3 //////////////////////////////////////////////////////////////////////
\r
5 #if !defined(AFX_COMMANDS_H__3AD9D537_AB40_40BB_9697_35F1BB0CA431__INCLUDED_)
\r
6 #define AFX_COMMANDS_H__3AD9D537_AB40_40BB_9697_35F1BB0CA431__INCLUDED_
\r
10 #endif // _MSC_VER > 1000
\r
14 #include "ClipboardSnap.h"
\r
16 enum SEARCH_DIRECTION { NA, FORWARD, BACKWARD, AGAIN };
\r
17 enum MAXIMIZE_DIRECTION { VERTICAL, HORIZONTAL, ROLL_UP_UNROLL, MAX_MAXIMIZE_DIRECTION };
\r
18 enum INPUT_METHOD_OPEN_STATUS {CLOSE_INPUT_METHOD, OPEN_INPUT_METHOD, TOGGLE_INPUT_METHOD};
\r
19 enum CONSOLE_MENU_EDIT { CMD_MARK = 1, CMD_COPY, CMD_PASTE, CMD_SELECT_ALL, CMD_SCROLL, CMD_FIND };
\r
20 enum CONSOLE_MENU { CMD_RESTORE = 1, CMD_MOVE, CMD_SIZE, CMD_MINIMIZE, CMD_MAXIMIZE, CMD_CLOSE, CMD_EDIT, CMD_DEFAULTS, CMD_PROPERTIES };
\r
21 enum CASE_WORD { DOWNCASE, UPCASE, CAPITALIZE };
\r
22 const int MAX_WINDOW = 64;
\r
24 struct OriginalWindowPosition
\r
27 BOOL bMax[MAX_MAXIMIZE_DIRECTION];
\r
28 int nOriginalX; // for HORIZONTAL
\r
29 int nOriginalY; // for VERTICAL
\r
30 int nOriginalWidth; // for HORIZONTAL
\r
31 int nOriginalHeight; // for VERTICAL
\r
34 class AFX_EXT_CLASS CCommands
\r
37 static int ExecuteExtendedCommand();
\r
38 static int CapitalizeWord();
\r
39 static int UpcaseWord();
\r
40 static int DowncaseWord();
\r
41 static int FillParagraph();
\r
42 static int TransposeWords();
\r
43 static int CycleItemsInversely();
\r
44 static int CycleItems();
\r
45 static int OneShotModifierAltRepeat();
\r
46 static int OneShotModifierAlt();
\r
47 static int OneShotModifierCtrlRepeat();
\r
48 static int OneShotModifierCtrl();
\r
49 static int OneShotModifierShiftRepeat();
\r
50 static int OneShotModifierShift();
\r
52 static int RollUpUnroll();
\r
53 static int Underscore();
\r
54 static int CapsLock();
\r
55 static int DisableXKeymacs();
\r
56 static int EnableXKeymacs();
\r
57 static int BackwardKillWord();
\r
58 static int KillLineForAllFormat();
\r
59 static int TransposeLines();
\r
60 static int FindNext();
\r
67 static void SetTemporarilyDisableXKeymacs(BOOL bTemporarilyDisableXKeymacs);
\r
68 static BOOL IsTemporarilyDisableXKeymacs();
\r
69 static int TemporarilyDisableXKeymacs();
\r
71 static int PassThrough();
\r
72 static GOTO MoveCaret(BYTE bVk, BOOL bCtrl = FALSE);
\r
73 static int MaximizeHorizontally();
\r
74 static int MaximizeVertically();
\r
75 static int Maximize();
\r
76 static int Minimize();
\r
79 static int Restore();
\r
80 static void SetMark(BOOL bSetMark);
\r
81 static BOOL IsSetMark();
\r
82 static int BackQuote();
\r
84 static int Escape();
\r
85 static int C_Eisu();
\r
87 static int SwitchToBuffer();
\r
88 static int SwitchBetweenInputLocales();
\r
89 static int CallLastKbdMacro();
\r
90 static int EndKbdMacro();
\r
91 static int StartKbdMacro();
\r
92 static int SelectAll();
\r
93 static int MarkWholeBuffer();
\r
94 static int KillWord();
\r
95 static void SetLastCommand(int (*LastCommand)());
\r
96 static int KillBuffer();
\r
97 static int Reset(int rc);
\r
98 static int CloseInputMethod();
\r
99 static int CompleteCloseInputMethod();
\r
100 static int OpenInputMethod();
\r
101 static int NumericArgument(int n);
\r
102 static void ClearNumericArgument();
\r
103 static int GetNumericArgument();
\r
104 static int EnableOrDisableXKeymacs();
\r
105 static int IsearchForward();
\r
106 static int IsearchBackward();
\r
107 static int TransposeChars();
\r
108 static int Recenter();
\r
109 static int Repeat(BYTE bVk);
\r
110 static void bC_u(BOOL b);
\r
111 static BOOL bC_u();
\r
112 static int UniversalArgument();
\r
113 static int NumericArgumentMinus();
\r
114 static int NumericArgument9();
\r
115 static int NumericArgument8();
\r
116 static int NumericArgument7();
\r
117 static int NumericArgument6();
\r
118 static int NumericArgument5();
\r
119 static int NumericArgument4();
\r
120 static int NumericArgument3();
\r
121 static int NumericArgument2();
\r
122 static int NumericArgument1();
\r
123 static int NumericArgument0();
\r
124 static int MetaAlt();
\r
125 static int MetaEscape();
\r
127 static void bM_(BOOL b);
\r
129 static int Ignore();
\r
130 static int ShellCommand();
\r
131 static int YankPop();
\r
133 static int KillRingSave();
\r
134 static int KillRegion();
\r
135 static int WriteFile();
\r
137 static void Reset();
\r
138 static void bC_(BOOL b);
\r
140 static void bC_x(BOOL b);
\r
141 static BOOL bC_x();
\r
142 static void bM_x(BOOL b);
\r
143 static BOOL bM_x();
\r
144 static int ScrollDown();
\r
145 static int ScrollUp();
\r
146 static int SaveBuffer();
\r
147 static int MarkPage();
\r
148 static int Newline();
\r
149 static int TabToTabStop();
\r
150 static int FindFile();
\r
151 static int KeyboardQuit();
\r
152 static int SetMarkCommand();
\r
153 static int IconifyOrDeiconifyFrame();
\r
154 static int SaveBuffersKillEmacs();
\r
156 static int KillLine();
\r
157 static int DeleteChar();
\r
158 static int DeleteBackwardChar();
\r
159 static int EndOfBuffer();
\r
160 static int BeginningOfBuffer();
\r
161 static int QueryReplaceRegexp();
\r
162 static int QueryReplace();
\r
163 static int ToggleInputMethod();
\r
164 static int CompleteToggleInputMethod();
\r
165 static int OpenLine();
\r
166 static int PreviousLine();
\r
167 static int NextLine();
\r
168 static int BackwardWord();
\r
169 static int ForwardWord();
\r
170 static int EndOfLine();
\r
171 static int BackwardChar();
\r
172 static int BeginningOfLine();
\r
173 static int ForwardChar();
\r
174 static LPCSTR GetCommandName(int nComID);
\r
175 static int GetCategoryID(int nComID);
\r
176 static int GetDescriptionID(int nComID);
\r
177 static int GetToolTipID(int nComID);
\r
178 static int GetDefaultCommandType(int nComID, int nIndex);
\r
179 static int GetDefaultCommandKey(int nComID, int nIndex);
\r
180 static int GetDefaultControlID(int nComID, int nIndex);
\r
183 static BOOL CutFollowingWord();
\r
184 static int CaseWord(CASE_WORD nCase);
\r
185 static BOOL CopyCurrentLine();
\r
186 static BOOL CopyPreviousLine();
\r
187 static LRESULT VScroll(UINT nSBCode, int nTimes = 1);
\r
188 static BOOL IsKillCommand(int (*nFunctionPointer)());
\r
189 static void PrintFunctionName(int (*nFunctionPointer)());
\r
190 static OriginalWindowPosition* GetOriginalWindowPosition(HWND hWnd);
\r
191 static OriginalWindowPosition m_OriginalWindowPosition[MAX_WINDOW];
\r
192 static int KillLine(BOOL bAllFormat, int (*pCommand)() = KillLine);
\r
193 static BOOL IsEmptyClipboardData(const int nID = 0);
\r
194 static int FindReturnFromClipboardData(const int nID = 0);
\r
195 static void Cut_();
\r
196 static void RestoreClipboardData(const int nID = 0);
\r
197 static void CaptureClipboardData(const int nID = 0, const BOOL bTextOnly = FALSE);
\r
198 static CArray<CClipboardSnap *, CClipboardSnap *> m_oClipboardData;
\r
199 static int SystemMenuEdit(const CONSOLE_MENU_EDIT nDown);
\r
200 static int Click(const POINT* const pClickPoint);
\r
201 static int SystemMenu(const CONSOLE_MENU nDown);
\r
202 static BOOL m_bTemporarilyDisableXKeymacs;
\r
203 static int Maximize(MAXIMIZE_DIRECTION direction);
\r
204 static DWORD DeactivateMark();
\r
205 static BOOL m_bFirstFindDialog;
\r
206 static void Copy_();
\r
207 static BYTE GetDirectionBackwardKey();
\r
208 static BYTE GetDirectionForwardKey();
\r
209 static BYTE GetSearchOptionKey();
\r
210 static BYTE GetFindWhatKey();
\r
211 static void OpenFindDialog();
\r
213 static void CdSdKduSuCu(BYTE bVk);
\r
214 static int (*m_LastKillCommand)();
\r
215 static int (*m_LastCommand)();
\r
216 static void SetInputMethodOpenStatus(INPUT_METHOD_OPEN_STATUS status, BOOL isComplete = FALSE);
\r
217 static void SetSearchDirection(SEARCH_DIRECTION direction = m_SearchDirection);
\r
218 static SEARCH_DIRECTION m_SearchDirection;
\r
219 static int Search(SEARCH_DIRECTION direction);
\r
220 static void DecreaseNumericArgument();
\r
221 static BOOL CopyBackCharacter();
\r
222 static BOOL CopyNextCharacter();
\r
223 static BOOL m_bC_u;
\r
224 static BOOL m_bNegativeNumericArgument;
\r
225 static BOOL m_bDefaultNumericArgument;
\r
226 static BOOL m_bM_x;
\r
228 static BOOL m_bC_x;
\r
229 static DWORD ClickCaret();
\r
230 static BOOL m_bSetMark;
\r
231 static void ReleaseKey(BYTE bVk);
\r
232 static void DepressKey(BYTE bVk);
\r
233 static void SdKduSu(BYTE bVk1, BYTE bVk2 = 0, BYTE bVk3 = 0, BYTE bVk4 = 0);
\r
234 static void AdSdKduSuAu(BYTE bVk1);
\r
235 static void AdKduAu(BYTE bVk1, BYTE bVk2 = 0, BYTE bVk3 = 0);
\r
236 static void CdKduCu(BYTE bVk1, BYTE bVk2 = 0);
\r
237 static void AdCdKduCuAu(BYTE bVk);
\r
238 static void Kdu(BYTE bVk1, BYTE bVk2 = 0, BYTE bVk3 = 0, BYTE bVk4 = 0);
\r
239 static DWORD m_nNumericArgument;
\r
241 static BOOL m_bIsSu;
\r
244 const int MAX_KEY_BIND = 8;
\r
248 LPCTSTR szCommandName;
\r
250 int nDescriptionID;
\r
253 KeyBind keybind[MAX_KEY_BIND];
\r
256 const int MAX_COMMAND = 115;
\r
257 extern AFX_EXT_DATA const Command Commands[MAX_COMMAND];
\r
259 #endif // !defined(AFX_COMMANDS_H__3AD9D537_AB40_40BB_9697_35F1BB0CA431__INCLUDED_)
\r