1 // DotXkeymacs.h: interface for the CDotXkeymacs class.
\r
3 //////////////////////////////////////////////////////////////////////
\r
5 #if !defined(AFX_DOTXKEYMACS_H__0538C427_5733_47DA_B2C6_2E957EEFC59D__INCLUDED_)
\r
6 #define AFX_DOTXKEYMACS_H__0538C427_5733_47DA_B2C6_2E957EEFC59D__INCLUDED_
\r
10 #endif // _MSC_VER > 1000
\r
12 typedef struct Language
\r
18 static const Language_t Languages[] = {
\r
19 { 0x0001, _T("Arabic") },
\r
20 { 0x0004, _T("Chinese") },
\r
21 { 0x0009, _T("English") },
\r
22 { 0x0401, _T("Arabic (Saudi Arabia)") },
\r
23 { 0x0402, _T("Bulgarian") },
\r
24 { 0x0403, _T("Catalan") },
\r
25 { 0x0404, _T("Chinese (Taiwan)") },
\r
26 { 0x0405, _T("Czech") },
\r
27 { 0x0406, _T("Danish") },
\r
28 { 0x0407, _T("German (Germany)") },
\r
29 { 0x0408, _T("Greek") },
\r
30 { 0x0409, _T("English (United States)") },
\r
31 { 0x040A, _T("Spanish (Traditional Sort)") },
\r
32 { 0x040B, _T("Finnish") },
\r
33 { 0x040C, _T("French (France)") },
\r
34 { 0x040D, _T("Hebrew") },
\r
35 { 0x040E, _T("Hungarian") },
\r
36 { 0x040F, _T("Icelandic") },
\r
37 { 0x0410, _T("Italian (Italy)") },
\r
38 { 0x0411, _T("Japanese") },
\r
39 { 0x0412, _T("Korean") },
\r
40 { 0x0413, _T("Dutch (Netherlands)") },
\r
41 { 0x0414, _T("Norwegian (Bokmal)") },
\r
42 { 0x0415, _T("Polish") },
\r
43 { 0x0416, _T("Portuguese (Brazil)") },
\r
44 { 0x0417, _T("Rhaeto-Romanic") },
\r
45 { 0x0418, _T("Romanian") },
\r
46 { 0x0419, _T("Russian") },
\r
47 { 0x041A, _T("Croatian") },
\r
48 { 0x041B, _T("Slovak") },
\r
49 { 0x041C, _T("Albanian") },
\r
50 { 0x041D, _T("Swedish") },
\r
51 { 0x041E, _T("Thai") },
\r
52 { 0x041F, _T("Turkish") },
\r
53 { 0x0420, _T("Urdu") },
\r
54 { 0x0421, _T("Indonesian") },
\r
55 { 0x0422, _T("Ukrainian") },
\r
56 { 0x0423, _T("Belarusian") },
\r
57 { 0x0424, _T("Slovenian") },
\r
58 { 0x0425, _T("Estonian") },
\r
59 { 0x0426, _T("Latvian") },
\r
60 { 0x0427, _T("Lithuanian") },
\r
61 { 0x0428, _T("Tajik") },
\r
62 { 0x0429, _T("Farsi") },
\r
63 { 0x042A, _T("Vietnamese") },
\r
64 { 0x042B, _T("Armenian") },
\r
65 { 0x042C, _T("Azeri (Latin)") },
\r
66 { 0x042D, _T("Basque") },
\r
67 { 0x042E, _T("Sorbian") },
\r
68 { 0x042F, _T("Macedonian (FYROM)") },
\r
69 { 0x0430, _T("Sutu") },
\r
70 { 0x0431, _T("Tsonga") },
\r
71 { 0x0432, _T("Tswana") },
\r
72 { 0x0434, _T("Xhosa") },
\r
73 { 0x0435, _T("Zulu") },
\r
74 { 0x0436, _T("Afrikaans") },
\r
75 { 0x0437, _T("Georgian") },
\r
76 { 0x0438, _T("Faeroese") },
\r
77 { 0x0439, _T("Hindi") },
\r
78 { 0x043A, _T("Maltese") },
\r
79 { 0x043C, _T("Gaelic") },
\r
80 { 0x043D, _T("Yiddish") },
\r
81 { 0x043E, _T("Malay (Malaysia)") },
\r
82 { 0x043F, _T("Kazakh") },
\r
83 { 0x0440, _T("Kyrgyz") },
\r
84 { 0x0441, _T("Swahili") },
\r
85 { 0x0442, _T("Turkmen") },
\r
86 { 0x0443, _T("Uzbek (Latin)") },
\r
87 { 0x0444, _T("Tatar") },
\r
88 { 0x0445, _T("Bengali") },
\r
89 { 0x0446, _T("Punjabi") },
\r
90 { 0x0447, _T("Gujarati") },
\r
91 { 0x0448, _T("Oriya") },
\r
92 { 0x0449, _T("Tamil") },
\r
93 { 0x044A, _T("Telugu") },
\r
94 { 0x044B, _T("Kannada") },
\r
95 { 0x044C, _T("Malayalam") },
\r
96 { 0x044D, _T("Assamese") },
\r
97 { 0x044E, _T("Marathi") },
\r
98 { 0x044F, _T("Sanskrit") },
\r
99 { 0x0450, _T("Mongolian") },
\r
100 { 0x0456, _T("Galician") },
\r
101 { 0x0457, _T("Konkani") },
\r
102 { 0x0458, _T("Manipuri") },
\r
103 { 0x0459, _T("Sindhi") },
\r
104 { 0x045A, _T("Syriac") },
\r
105 { 0x045B, _T("Sinhalese") },
\r
106 { 0x045C, _T("Cherokee") },
\r
107 { 0x045D, _T("Inuktitut") },
\r
108 { 0x045E, _T("Amharic") },
\r
109 { 0x045F, _T("Tamazight (Berber/Arabic)") },
\r
110 { 0x0460, _T("Kashmiri (Arabic)") },
\r
111 { 0x0461, _T("Nepali") },
\r
112 { 0x0462, _T("Frisian") },
\r
113 { 0x0463, _T("Pashto") },
\r
114 { 0x0464, _T("Filipino") },
\r
115 { 0x0465, _T("Dhivehi") },
\r
116 { 0x0466, _T("Edo") },
\r
117 { 0x0467, _T("Fulfulde") },
\r
118 { 0x0468, _T("Hausa") },
\r
119 { 0x0469, _T("Ibibio") },
\r
120 { 0x046A, _T("Yoruba") },
\r
121 { 0x0470, _T("Igbo") },
\r
122 { 0x0471, _T("Kanuri") },
\r
123 { 0x0472, _T("Oromo") },
\r
124 { 0x0473, _T("Tigrigna (Ethiopia)") },
\r
125 { 0x0475, _T("Hawaiian") },
\r
126 { 0x0476, _T("Latin") },
\r
127 { 0x0477, _T("Somali") },
\r
128 { 0x0478, _T("Yi") },
\r
129 { 0x0801, _T("Arabic (Iraq)") },
\r
130 { 0x0804, _T("Chinese (PRC)") },
\r
131 { 0x0807, _T("German (Switzerland)") },
\r
132 { 0x0809, _T("English (United Kingdom)") },
\r
133 { 0x080A, _T("Spanish (Mexico)") },
\r
134 { 0x080C, _T("French (Belgium)") },
\r
135 { 0x0810, _T("Italian (Switzerland)") },
\r
136 { 0x0813, _T("Dutch (Belgium)") },
\r
137 { 0x0814, _T("Norwegian (Nynorsk)") },
\r
138 { 0x0816, _T("Portuguese (Portugal)") },
\r
139 { 0x0818, _T("Romanian (Moldova)") },
\r
140 { 0x0819, _T("Russian (Moldova)") },
\r
141 { 0x081A, _T("Serbian (Latin)") },
\r
142 { 0x081D, _T("Swedish (Finland)") },
\r
143 { 0x082C, _T("Azeri (Cyrillic)") },
\r
144 { 0x0843, _T("Uzbek (Cyrillic)") },
\r
145 { 0x085F, _T("Tamazight (Latin)") },
\r
146 { 0x0873, _T("Tigrigna (Eritrea)") },
\r
147 { 0x0C01, _T("Arabic (Egypt)") },
\r
148 { 0x0C04, _T("Chinese (Hong Kong SAR)") },
\r
149 { 0x0C07, _T("German (Austria)") },
\r
150 { 0x0C09, _T("English (Australia)") },
\r
151 { 0x0C0A, _T("Spanish (International Sort)") },
\r
152 { 0x0C0C, _T("French (Canada)") },
\r
153 { 0x0C1A, _T("Serbian (Cyrillic)") },
\r
154 { 0x1001, _T("Arabic (Libya)") },
\r
155 { 0x1004, _T("Chinese (Singapore)") },
\r
156 { 0x1007, _T("German (Luxembourg)") },
\r
157 { 0x1009, _T("English (Canada)") },
\r
158 { 0x100A, _T("Spanish (Guatemala)") },
\r
159 { 0x100C, _T("French (Switzerland)") },
\r
160 { 0x1401, _T("Arabic (Algeria)") },
\r
161 { 0x1407, _T("German (Liechtenstein)") },
\r
162 { 0x1409, _T("English (New Zealand)") },
\r
163 { 0x140A, _T("Spanish (Costa Rica)") },
\r
164 { 0x140C, _T("French (Luxembourg)") },
\r
165 { 0x1801, _T("Arabic (Morocco)") },
\r
166 { 0x1809, _T("English (Ireland)") },
\r
167 { 0x180A, _T("Spanish (Panama)") },
\r
168 { 0x1C01, _T("Arabic (Tunisia)") },
\r
169 { 0x1C09, _T("English (South Africa)") },
\r
170 { 0x1C0A, _T("Spanish (Dominican Republic)") },
\r
171 { 0x2001, _T("Arabic (Oman)") },
\r
172 { 0x2009, _T("English (Jamaica)") },
\r
173 { 0x200A, _T("Spanish (Venezuela)") },
\r
174 { 0x2401, _T("Arabic (Yemen)") },
\r
175 { 0x240A, _T("Spanish (Colombia)") },
\r
176 { 0x2801, _T("Arabic (Syria)") },
\r
177 { 0x2809, _T("English (Belize)") },
\r
178 { 0x280A, _T("Spanish (Peru)") },
\r
179 { 0x2C01, _T("Arabic (Jordan)") },
\r
180 { 0x2C09, _T("English (Trinidad)") },
\r
181 { 0x2C0A, _T("Spanish (Argentina)") },
\r
182 { 0x3001, _T("Arabic (Lebanon)") },
\r
183 { 0x300A, _T("Spanish (Ecuador)") },
\r
184 { 0x3401, _T("Arabic (Kuwait)") },
\r
185 { 0x340A, _T("Spanish (Chile)") },
\r
186 { 0x3801, _T("Arabic (U.A.E.)") },
\r
187 { 0x380A, _T("Spanish (Uruguay)") },
\r
188 { 0x3C01, _T("Arabic (Bahrain)") },
\r
189 { 0x3C0A, _T("Spanish (Paraguay)") },
\r
190 { 0x4001, _T("Arabic (Qatar)") },
\r
191 { 0x400A, _T("Spanish (Bolivia)") },
\r
192 { 0x440A, _T("Spanish (El Salvador)") },
\r
193 { 0x480A, _T("Spanish (Honduras)") },
\r
194 { 0x4C0A, _T("Spanish (Nicaragua)") },
\r
195 { 0x500A, _T("Spanish (Puerto Rico)") },
\r
198 class CDotXkeymacs
\r
201 static void RemoveKey(const int nApplicationID, const int nCommandType, const int nKey);
\r
202 static void RemoveKey(const int nIndex, const int nApplicationID, const int nCommandType, const int nKey);
\r
203 static CString GetFunctionDefinition(int nIndex);
\r
204 static int GetIndex(int nApplicationID, int nCommandType, int nKey);
\r
205 static void GetKey(int nIndex, int nApplicationID, int nKeyID, int *pCommandType, int *pKey);
\r
206 static int GetKeyNumber(int nIndex, int nApplicationID);
\r
207 static int GetIndex(CString szSymbol);
\r
208 static void SetKey(int nIndex, int nApplicationID, int nCommandType, int nKey);
\r
209 static void ClearKey(int nIndex, int nApplicationID);
\r
210 static CString GetFunctionDefinition(CString szSymbol);
\r
211 static CString GetFunctionSymbol(int nIndex);
\r
212 static int GetFunctionNumber();
\r
213 static void Load();
\r
215 virtual ~CDotXkeymacs();
\r
218 static LPCTSTR GetLanguage();
\r
219 static const TCHAR m_szExt[];
\r
220 static int m_nIndex[MAX_APP][MAX_COMMAND_TYPE][MAX_KEY];
\r
221 static void ClearFunctionDefinition();
\r
222 static CString GetDefinition(CString szFunctionDefinition);
\r
223 static CString GetSymbol(CString szFunctionDefinition);
\r
224 static BOOL IsFunctionDefinition(CString szFunctionDefinition);
\r
225 static CObList m_oFunctionDefinition;
\r
226 static void LoadUserData(LPCTSTR lpszFileName);
\r
227 static void LoadMainData(LPCTSTR lpszFileName);
\r
228 static void Load(LPCTSTR lpszFileName);
\r
231 #endif // !defined(AFX_DOTXKEYMACS_H__0538C427_5733_47DA_B2C6_2E957EEFC59D__INCLUDED_)
\r