]> git.saurik.com Git - wxWidgets.git/blame - samples/stc/prefs.cpp
Get wxSearchCtrl text events working, and share the text event handler code among...
[wxWidgets.git] / samples / stc / prefs.cpp
CommitLineData
88a8b04e 1//////////////////////////////////////////////////////////////////////////////
f4ec6bd2 2// File: contrib/samples/stc/prefs.cpp
88a8b04e
RD
3// Purpose: STC test Preferences initialization
4// Maintainer: Wyo
5// Created: 2003-09-01
6// RCS-ID: $Id$
7// Copyright: (c) wxGuide
8// Licence: wxWindows licence
9//////////////////////////////////////////////////////////////////////////////
10
11//----------------------------------------------------------------------------
12// headers
13//----------------------------------------------------------------------------
14
f4ec6bd2 15// For compilers that support precompilation, includes "wx/wx.h".
c40691a0 16#include "wx/wxprec.h"
88a8b04e
RD
17
18#ifdef __BORLANDC__
19 #pragma hdrstop
20#endif
21
22// for all others, include the necessary headers (this file is usually all you
be5a51fb 23// need because it includes almost all 'standard' wxWidgets headers)
88a8b04e 24#ifndef WX_PRECOMP
c40691a0 25 #include "wx/wx.h"
88a8b04e
RD
26#endif
27
be5a51fb 28//! wxWidgets headers
88a8b04e 29
be5a51fb 30//! wxWidgets/contrib headers
88a8b04e
RD
31
32//! application headers
33#include "defsext.h" // Additional definitions
34#include "prefs.h" // Preferences
35
36
37//============================================================================
38// declarations
39//============================================================================
40
41//----------------------------------------------------------------------------
42//! language types
43const CommonInfo g_CommonPrefs = {
44 // editor functionality prefs
45 true, // syntaxEnable
46 true, // foldEnable
47 true, // indentEnable
48 // display defaults prefs
49 false, // overTypeInitial
50 false, // readOnlyInitial
51 false, // wrapModeInitial
52 false, // displayEOLEnable
53 false, // IndentGuideEnable
54 true, // lineNumberEnable
55 false, // longLineOnEnable
56 false, // whiteSpaceEnable
57};
58
59//----------------------------------------------------------------------------
60// keywordlists
61// C++
522a028a 62const char* CppWordlist1 =
1153f54c
VZ
63 "asm auto bool break case catch char class const const_cast "
64 "continue default delete do double dynamic_cast else enum explicit "
65 "export extern false float for friend goto if inline int long "
66 "mutable namespace new operator private protected public register "
67 "reinterpret_cast return short signed sizeof static static_cast "
68 "struct switch template this throw true try typedef typeid "
69 "typename union unsigned using virtual void volatile wchar_t "
70 "while";
522a028a 71const char* CppWordlist2 =
1153f54c 72 "file";
522a028a 73const char* CppWordlist3 =
1153f54c
VZ
74 "a addindex addtogroup anchor arg attention author b brief bug c "
75 "class code date def defgroup deprecated dontinclude e em endcode "
76 "endhtmlonly endif endlatexonly endlink endverbatim enum example "
77 "exception f$ f[ f] file fn hideinitializer htmlinclude "
78 "htmlonly if image include ingroup internal invariant interface "
79 "latexonly li line link mainpage name namespace nosubgrouping note "
80 "overload p page par param post pre ref relates remarks return "
81 "retval sa section see showinitializer since skip skipline struct "
82 "subsection test throw todo typedef union until var verbatim "
83 "verbinclude version warning weakgroup $ @ \"\" & < > # { }";
88a8b04e
RD
84
85// Python
522a028a 86const char* PythonWordlist1 =
1153f54c
VZ
87 "and assert break class continue def del elif else except exec "
88 "finally for from global if import in is lambda None not or pass "
89 "print raise return try while yield";
522a028a 90const char* PythonWordlist2 =
1153f54c
VZ
91 "ACCELERATORS ALT AUTO3STATE AUTOCHECKBOX AUTORADIOBUTTON BEGIN "
92 "BITMAP BLOCK BUTTON CAPTION CHARACTERISTICS CHECKBOX CLASS "
93 "COMBOBOX CONTROL CTEXT CURSOR DEFPUSHBUTTON DIALOG DIALOGEX "
94 "DISCARDABLE EDITTEXT END EXSTYLE FONT GROUPBOX ICON LANGUAGE "
95 "LISTBOX LTEXT MENU MENUEX MENUITEM MESSAGETABLE POPUP PUSHBUTTON "
96 "RADIOBUTTON RCDATA RTEXT SCROLLBAR SEPARATOR SHIFT STATE3 "
97 "STRINGTABLE STYLE TEXTINCLUDE VALUE VERSION VERSIONINFO VIRTKEY";
88a8b04e
RD
98
99
100//----------------------------------------------------------------------------
101//! languages
102const LanguageInfo g_LanguagePrefs [] = {
103 // C++
1153f54c
VZ
104 {"C++",
105 "*.c;*.cc;*.cpp;*.cxx;*.cs;*.h;*.hh;*.hpp;*.hxx;*.sma",
88a8b04e
RD
106 wxSTC_LEX_CPP,
107 {{mySTC_TYPE_DEFAULT, NULL},
108 {mySTC_TYPE_COMMENT, NULL},
109 {mySTC_TYPE_COMMENT_LINE, NULL},
110 {mySTC_TYPE_COMMENT_DOC, NULL},
111 {mySTC_TYPE_NUMBER, NULL},
112 {mySTC_TYPE_WORD1, CppWordlist1}, // KEYWORDS
113 {mySTC_TYPE_STRING, NULL},
114 {mySTC_TYPE_CHARACTER, NULL},
115 {mySTC_TYPE_UUID, NULL},
116 {mySTC_TYPE_PREPROCESSOR, NULL},
117 {mySTC_TYPE_OPERATOR, NULL},
118 {mySTC_TYPE_IDENTIFIER, NULL},
119 {mySTC_TYPE_STRING_EOL, NULL},
120 {mySTC_TYPE_DEFAULT, NULL}, // VERBATIM
121 {mySTC_TYPE_REGEX, NULL},
122 {mySTC_TYPE_COMMENT_SPECIAL, NULL}, // DOXY
123 {mySTC_TYPE_WORD2, CppWordlist2}, // EXTRA WORDS
124 {mySTC_TYPE_WORD3, CppWordlist3}, // DOXY KEYWORDS
125 {mySTC_TYPE_ERROR, NULL}, // KEYWORDS ERROR
126 {-1, NULL},
127 {-1, NULL},
128 {-1, NULL},
129 {-1, NULL},
130 {-1, NULL},
131 {-1, NULL},
132 {-1, NULL},
133 {-1, NULL},
134 {-1, NULL},
135 {-1, NULL},
136 {-1, NULL},
137 {-1, NULL},
138 {-1, NULL}},
139 mySTC_FOLD_COMMENT | mySTC_FOLD_COMPACT | mySTC_FOLD_PREPROC},
140 // Python
1153f54c
VZ
141 {"Python",
142 "*.py;*.pyw",
88a8b04e
RD
143 wxSTC_LEX_PYTHON,
144 {{mySTC_TYPE_DEFAULT, NULL},
145 {mySTC_TYPE_COMMENT_LINE, NULL},
146 {mySTC_TYPE_NUMBER, NULL},
147 {mySTC_TYPE_STRING, NULL},
148 {mySTC_TYPE_CHARACTER, NULL},
149 {mySTC_TYPE_WORD1, PythonWordlist1}, // KEYWORDS
150 {mySTC_TYPE_DEFAULT, NULL}, // TRIPLE
151 {mySTC_TYPE_DEFAULT, NULL}, // TRIPLEDOUBLE
152 {mySTC_TYPE_DEFAULT, NULL}, // CLASSNAME
153 {mySTC_TYPE_DEFAULT, PythonWordlist2}, // DEFNAME
154 {mySTC_TYPE_OPERATOR, NULL},
155 {mySTC_TYPE_IDENTIFIER, NULL},
156 {mySTC_TYPE_DEFAULT, NULL}, // COMMENT_BLOCK
157 {mySTC_TYPE_STRING_EOL, NULL},
158 {-1, NULL},
159 {-1, NULL},
160 {-1, NULL},
161 {-1, NULL},
162 {-1, NULL},
163 {-1, NULL},
164 {-1, NULL},
165 {-1, NULL},
166 {-1, NULL},
167 {-1, NULL},
168 {-1, NULL},
169 {-1, NULL},
170 {-1, NULL},
171 {-1, NULL},
172 {-1, NULL},
173 {-1, NULL},
174 {-1, NULL},
175 {-1, NULL}},
176 mySTC_FOLD_COMMENTPY | mySTC_FOLD_QUOTESPY},
177 // * (any)
1153f54c
VZ
178 {wxTRANSLATE(DEFAULT_LANGUAGE),
179 "*.*",
88a8b04e
RD
180 wxSTC_LEX_PROPERTIES,
181 {{mySTC_TYPE_DEFAULT, NULL},
182 {mySTC_TYPE_DEFAULT, NULL},
183 {mySTC_TYPE_DEFAULT, NULL},
184 {mySTC_TYPE_DEFAULT, NULL},
185 {mySTC_TYPE_DEFAULT, NULL},
186 {-1, NULL},
187 {-1, NULL},
188 {-1, NULL},
189 {-1, NULL},
190 {-1, NULL},
191 {-1, NULL},
192 {-1, NULL},
193 {-1, NULL},
194 {-1, NULL},
195 {-1, NULL},
196 {-1, NULL},
197 {-1, NULL},
198 {-1, NULL},
199 {-1, NULL},
200 {-1, NULL},
201 {-1, NULL},
202 {-1, NULL},
203 {-1, NULL},
204 {-1, NULL},
205 {-1, NULL},
206 {-1, NULL},
207 {-1, NULL},
208 {-1, NULL},
209 {-1, NULL},
210 {-1, NULL},
211 {-1, NULL},
212 {-1, NULL}},
213 0},
214 };
215
216const int g_LanguagePrefsSize = WXSIZEOF(g_LanguagePrefs);
217
218//----------------------------------------------------------------------------
219//! style types
220const StyleInfo g_StylePrefs [] = {
221 // mySTC_TYPE_DEFAULT
9a83f860
VZ
222 {wxT("Default"),
223 wxT("BLACK"), wxT("WHITE"),
224 wxT(""), 10, 0, 0},
88a8b04e
RD
225
226 // mySTC_TYPE_WORD1
9a83f860
VZ
227 {wxT("Keyword1"),
228 wxT("BLUE"), wxT("WHITE"),
229 wxT(""), 10, mySTC_STYLE_BOLD, 0},
88a8b04e
RD
230
231 // mySTC_TYPE_WORD2
9a83f860 232 {wxT("Keyword2"),
c50e0cc7 233 wxT("MIDNIGHT BLUE"), wxT("WHITE"),
9a83f860 234 wxT(""), 10, 0, 0},
88a8b04e
RD
235
236 // mySTC_TYPE_WORD3
9a83f860
VZ
237 {wxT("Keyword3"),
238 wxT("CORNFLOWER BLUE"), wxT("WHITE"),
239 wxT(""), 10, 0, 0},
88a8b04e
RD
240
241 // mySTC_TYPE_WORD4
9a83f860
VZ
242 {wxT("Keyword4"),
243 wxT("CYAN"), wxT("WHITE"),
244 wxT(""), 10, 0, 0},
88a8b04e
RD
245
246 // mySTC_TYPE_WORD5
9a83f860
VZ
247 {wxT("Keyword5"),
248 wxT("DARK GREY"), wxT("WHITE"),
249 wxT(""), 10, 0, 0},
88a8b04e
RD
250
251 // mySTC_TYPE_WORD6
9a83f860
VZ
252 {wxT("Keyword6"),
253 wxT("GREY"), wxT("WHITE"),
254 wxT(""), 10, 0, 0},
88a8b04e
RD
255
256 // mySTC_TYPE_COMMENT
9a83f860
VZ
257 {wxT("Comment"),
258 wxT("FOREST GREEN"), wxT("WHITE"),
259 wxT(""), 10, 0, 0},
88a8b04e
RD
260
261 // mySTC_TYPE_COMMENT_DOC
9a83f860
VZ
262 {wxT("Comment (Doc)"),
263 wxT("FOREST GREEN"), wxT("WHITE"),
264 wxT(""), 10, 0, 0},
88a8b04e
RD
265
266 // mySTC_TYPE_COMMENT_LINE
9a83f860
VZ
267 {wxT("Comment line"),
268 wxT("FOREST GREEN"), wxT("WHITE"),
269 wxT(""), 10, 0, 0},
88a8b04e
RD
270
271 // mySTC_TYPE_COMMENT_SPECIAL
9a83f860
VZ
272 {wxT("Special comment"),
273 wxT("FOREST GREEN"), wxT("WHITE"),
274 wxT(""), 10, mySTC_STYLE_ITALIC, 0},
88a8b04e
RD
275
276 // mySTC_TYPE_CHARACTER
9a83f860
VZ
277 {wxT("Character"),
278 wxT("KHAKI"), wxT("WHITE"),
279 wxT(""), 10, 0, 0},
88a8b04e
RD
280
281 // mySTC_TYPE_CHARACTER_EOL
9a83f860
VZ
282 {wxT("Character (EOL)"),
283 wxT("KHAKI"), wxT("WHITE"),
284 wxT(""), 10, 0, 0},
88a8b04e
RD
285
286 // mySTC_TYPE_STRING
9a83f860
VZ
287 {wxT("String"),
288 wxT("BROWN"), wxT("WHITE"),
289 wxT(""), 10, 0, 0},
88a8b04e
RD
290
291 // mySTC_TYPE_STRING_EOL
9a83f860
VZ
292 {wxT("String (EOL)"),
293 wxT("BROWN"), wxT("WHITE"),
294 wxT(""), 10, 0, 0},
88a8b04e
RD
295
296 // mySTC_TYPE_DELIMITER
9a83f860
VZ
297 {wxT("Delimiter"),
298 wxT("ORANGE"), wxT("WHITE"),
299 wxT(""), 10, 0, 0},
88a8b04e
RD
300
301 // mySTC_TYPE_PUNCTUATION
9a83f860
VZ
302 {wxT("Punctuation"),
303 wxT("ORANGE"), wxT("WHITE"),
304 wxT(""), 10, 0, 0},
88a8b04e
RD
305
306 // mySTC_TYPE_OPERATOR
9a83f860
VZ
307 {wxT("Operator"),
308 wxT("BLACK"), wxT("WHITE"),
309 wxT(""), 10, mySTC_STYLE_BOLD, 0},
88a8b04e
RD
310
311 // mySTC_TYPE_BRACE
9a83f860
VZ
312 {wxT("Label"),
313 wxT("VIOLET"), wxT("WHITE"),
314 wxT(""), 10, 0, 0},
88a8b04e
RD
315
316 // mySTC_TYPE_COMMAND
9a83f860
VZ
317 {wxT("Command"),
318 wxT("BLUE"), wxT("WHITE"),
319 wxT(""), 10, 0, 0},
88a8b04e
RD
320
321 // mySTC_TYPE_IDENTIFIER
9a83f860
VZ
322 {wxT("Identifier"),
323 wxT("BLACK"), wxT("WHITE"),
324 wxT(""), 10, 0, 0},
88a8b04e
RD
325
326 // mySTC_TYPE_LABEL
9a83f860
VZ
327 {wxT("Label"),
328 wxT("VIOLET"), wxT("WHITE"),
329 wxT(""), 10, 0, 0},
88a8b04e
RD
330
331 // mySTC_TYPE_NUMBER
9a83f860
VZ
332 {wxT("Number"),
333 wxT("SIENNA"), wxT("WHITE"),
334 wxT(""), 10, 0, 0},
88a8b04e
RD
335
336 // mySTC_TYPE_PARAMETER
9a83f860
VZ
337 {wxT("Parameter"),
338 wxT("VIOLET"), wxT("WHITE"),
339 wxT(""), 10, mySTC_STYLE_ITALIC, 0},
88a8b04e
RD
340
341 // mySTC_TYPE_REGEX
9a83f860
VZ
342 {wxT("Regular expression"),
343 wxT("ORCHID"), wxT("WHITE"),
344 wxT(""), 10, 0, 0},
88a8b04e
RD
345
346 // mySTC_TYPE_UUID
9a83f860
VZ
347 {wxT("UUID"),
348 wxT("ORCHID"), wxT("WHITE"),
349 wxT(""), 10, 0, 0},
88a8b04e
RD
350
351 // mySTC_TYPE_VALUE
9a83f860
VZ
352 {wxT("Value"),
353 wxT("ORCHID"), wxT("WHITE"),
354 wxT(""), 10, mySTC_STYLE_ITALIC, 0},
88a8b04e
RD
355
356 // mySTC_TYPE_PREPROCESSOR
9a83f860
VZ
357 {wxT("Preprocessor"),
358 wxT("GREY"), wxT("WHITE"),
359 wxT(""), 10, 0, 0},
88a8b04e
RD
360
361 // mySTC_TYPE_SCRIPT
9a83f860
VZ
362 {wxT("Script"),
363 wxT("DARK GREY"), wxT("WHITE"),
364 wxT(""), 10, 0, 0},
88a8b04e
RD
365
366 // mySTC_TYPE_ERROR
9a83f860
VZ
367 {wxT("Error"),
368 wxT("RED"), wxT("WHITE"),
369 wxT(""), 10, 0, 0},
88a8b04e
RD
370
371 // mySTC_TYPE_UNDEFINED
9a83f860
VZ
372 {wxT("Undefined"),
373 wxT("ORANGE"), wxT("WHITE"),
374 wxT(""), 10, 0, 0}
88a8b04e
RD
375
376 };
377
378const int g_StylePrefsSize = WXSIZEOF(g_StylePrefs);