prefs.cpp 10 KB

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