1 /////////////////////////////////////////////////////////////////////////////// 2 // File: stedefs.h 3 // Purpose: wxSTEditor definitions, constants and globals 4 // Maintainer: 5 // Created: 2003-04-04 6 // Copyright: (c) John Labenski, Otto Wyss 7 // Licence: wxWidgets licence 8 /////////////////////////////////////////////////////////////////////////////// 9 10 /// @file stedefs.h 11 /// @brief wxWindowIds, pref/style,language enums, and defines. 12 13 #ifndef _STEDEFS_H_ 14 #define _STEDEFS_H_ 15 16 // this include is required for WXDLLEXPORT definition... 17 #include <wx/defs.h> 18 #include <wx/dlimpexp.h> 19 20 // Include wxStyledTextCtrl 21 #include <wx/stc/stc.h> 22 23 #if (wxVERSION_NUMBER >= 2900) 24 // #include <wx/stc/private.h> // wx2stc() has been moved here, but isn't exported 25 #define wx2stc(wxstr) (wxstr).mb_str() 26 #define stc2wx(char_str) wxString(char_str) 27 #endif 28 29 //----------------------------------------------------------------------------- 30 // Include our setup file that includes/excludes the different language 31 // information for the wxSTEditorLangs. 32 //----------------------------------------------------------------------------- 33 34 /// The STE_SETUP_VERSION is simply an integer that is incremented whenever 35 /// wx/stedit/setup0.h is modified in a way that breaks compatibility. 36 #define STE_SETUP_VERSION 2 37 38 /// If you get an error on this line, you probably forgot to copy 39 /// include/wx/stedit/setup0.h to include/wx/stedit/setup.h 40 #if !defined(_STESETUP_H_) 41 #include "wx/stedit/setup.h" 42 #endif // !defined(_STESETUP_H_) 43 44 #ifndef ID_STE__FIRST 45 # error "Your wx/stedit/setup.h file is out of date, please update to wx/stedit/setup0.h." 46 #endif 47 48 //----------------------------------------------------------------------------- 49 /// @name wxStEdit version 50 //----------------------------------------------------------------------------- 51 /// @{ 52 #define STE_MAJOR_VERSION 1 53 #define STE_MINOR_VERSION 6 54 #define STE_RELEASE_VERSION 0 55 #define STE_SUBRELEASE_VERSION 0 56 #define STE_APPNAME wxT("wxstedit") 57 #define STE_APPDISPLAYNAME wxT("wxStEdit") 58 #define STE_VERSION_STRING STE_APPDISPLAYNAME wxT(" 1.6.0") 59 #define STE_WEBSITE "http://wxcode.sourceforge.net/showcomp.php?name=wxStEdit" 60 /// @} 61 62 /// Use the following macro to check if the current version is at least major minor release. 63 #define wxCHECK_STE_VERSION(major, minor, release) \ 64 (STE_MAJOR_VERSION > (major) || \ 65 (STE_MAJOR_VERSION == (major) && STE_MINOR_VERSION > (minor)) || \ 66 (STE_MAJOR_VERSION == (major) && STE_MINOR_VERSION == (minor) && STE_RELEASE_VERSION >= (release))) 67 68 //----------------------------------------------------------------------------- 69 /// @name DLL Import and Export macros (see the contrib libs like wxPlot) 70 //----------------------------------------------------------------------------- 71 /// @{ 72 73 #ifdef WXMAKINGDLL_STEDIT 74 #define WXDLLIMPEXP_STEDIT WXEXPORT 75 #define WXDLLIMPEXP_DATA_STEDIT(type) WXEXPORT type 76 #elif defined(WXUSINGDLL_STEDIT) 77 #define WXDLLIMPEXP_STEDIT WXIMPORT 78 #define WXDLLIMPEXP_DATA_STEDIT(type) WXIMPORT type 79 #else // not making nor using DLL 80 #define WXDLLIMPEXP_STEDIT 81 #define WXDLLIMPEXP_DATA_STEDIT(type) type 82 #endif 83 84 /// Forward declare all wxStEdit classes with this macro 85 #if defined(HAVE_VISIBILITY) || (defined(__WINDOWS__) && defined(__GNUC__)) 86 #define WXDLLIMPEXP_FWD_STEDIT 87 #else 88 #define WXDLLIMPEXP_FWD_STEDIT WXDLLIMPEXP_STEDIT 89 #endif 90 91 /// @} 92 //----------------------------------------------------------------------------- 93 /// @name Generic convenience defines 94 //----------------------------------------------------------------------------- 95 /// @{ 96 97 #define STE_HASBIT(value, bit) (((value) & (bit)) != 0) 98 #define STE_SETBIT(value, bit, set) ((set) ? (value)|(bit) : (value)&(~(bit))) 99 100 #define STE_MM wxSTEditorMenuManager 101 102 #define STE_TextPos wxTextPos 103 //#define STE_TextCoord wxTextCoord // row/col 104 105 /// @} 106 107 //----------------------------------------------------------------------------- 108 // Forward declaration of the wxSTEditor classes 109 //----------------------------------------------------------------------------- 110 111 class WXDLLIMPEXP_FWD_STEDIT wxSTEditor; // stedit.h 112 class WXDLLIMPEXP_FWD_STEDIT wxSTEditorEvent; 113 114 class WXDLLIMPEXP_FWD_STEDIT wxSTEditorSplitter; // stesplit.h 115 116 class WXDLLIMPEXP_FWD_STEDIT wxSTEditorNotebook; // stenoteb.h 117 118 class WXDLLIMPEXP_FWD_STEDIT wxSTEditorFrame; // steframe.h 119 class WXDLLIMPEXP_FWD_STEDIT wxSTEditorFrameFileDropTarget; 120 121 class WXDLLIMPEXP_FWD_STEDIT wxSTEditorOptions; // steopts.h 122 123 class WXDLLIMPEXP_FWD_STEDIT wxSTEditorMenuManager; // stemenum.h 124 125 class WXDLLIMPEXP_FWD_STEDIT wxSTEditorPrefs; // steprefs.h 126 class WXDLLIMPEXP_FWD_STEDIT wxSTEditorStyles; // stestyls.h 127 class WXDLLIMPEXP_FWD_STEDIT wxSTEditorLangs; // stelangs.h 128 129 class WXDLLIMPEXP_FWD_STEDIT wxSTEditorFindReplacePanel; // stefindr.h 130 class WXDLLIMPEXP_FWD_STEDIT wxSTEditorFindReplaceDialog; 131 class WXDLLIMPEXP_FWD_STEDIT wxSTEditorFindReplaceData; 132 class WXDLLIMPEXP_FWD_STEDIT wxSTEditorFindResultsEditor; 133 134 class WXDLLIMPEXP_FWD_STEDIT wxSTEditorPropertiesDialog; // stedlgs.h 135 class WXDLLIMPEXP_FWD_STEDIT wxSTEditorInsertTextDialog; 136 class WXDLLIMPEXP_FWD_STEDIT wxSTEditorPrefDialog; 137 138 class WXDLLIMPEXP_FWD_STEDIT wxSTEditorPrintout; // steprint.h 139 class WXDLLIMPEXP_FWD_STEDIT wxSTEditorPrintOptionsDialog; 140 141 class WXDLLIMPEXP_FWD_STEDIT wxSTEditorTreeCtrl; // stetree.h 142 class WXDLLIMPEXP_FWD_STEDIT wxSTEditorTreeItemData; // stetree.h 143 144 //----------------------------------------------------------------------------- 145 /// @enum STE_StateType The State of the wxSTEditor. 146 /// @see wxSTEditor::GetState() and wxSTEditorEvent::GetStateChange(), wxSTEditorEvent::GetStateValues(). 147 //----------------------------------------------------------------------------- 148 149 enum STE_StateType 150 { 151 STE_MODIFIED = 0x0001, ///< the document has been modified 152 STE_CANCUT = 0x0002, ///< can cut, some text is selected and !readonly 153 STE_CANCOPY = 0x0004, ///< can copy, some text is selected 154 STE_CANPASTE = 0x0008, ///< can paste, text in clipboard and !readonly 155 STE_CANUNDO = 0x0010, ///< possible to undo 156 STE_CANREDO = 0x0020, ///< possible to redo 157 STE_CANSAVE = 0x0040, ///< is modified and has valid filename 158 STE_CANFIND = 0x0080, ///< possible to find, false if previous find failed 159 STE_EDITABLE = 0x0100, ///< the control is not readonly 160 161 STE_FILENAME = 0x0200 ///< not a state, flag for wxSTEditorEvent 162 ///< saying that the editor's filename has changed 163 }; 164 165 //----------------------------------------------------------------------------- 166 /// @enum STE_MarginType Predefined margin types and their number. 167 //----------------------------------------------------------------------------- 168 169 enum STE_MarginType 170 { 171 STE_MARGIN_NUMBER = 0, // line numbers are displayed here 172 STE_MARGIN_MARKER = 1, // bookmark markers and others can be displayed here 173 STE_MARGIN_FOLD = 2, // code folding margin 174 175 STE_MARGIN_0 = 0, // these just make the code a little more readable 176 STE_MARGIN_1 = 1, 177 STE_MARGIN_2 = 2 178 }; 179 180 //----------------------------------------------------------------------------- 181 /// @enum STE_MarkerType Predefined margin marker type. 182 /// 183 /// Markers are a little tricky, here's some sample code. 184 /// @code 185 /// MarkerNext(line, 1<<STE_MARKER_BOOKMARK); 186 /// MarkerPrevious(line, 1<<STE_MARKER_BOOKMARK) 187 /// MarkerDeleteAll(STE_MARKER_BOOKMARK); 188 /// 189 /// if ((MarkerGet(line) & (1<<STE_MARKER_BOOKMARK)) != 0) 190 /// MarkerDelete(line, STE_MARKER_BOOKMARK); 191 /// else 192 /// MarkerAdd(line, STE_MARKER_BOOKMARK); 193 /// @endcode 194 //----------------------------------------------------------------------------- 195 196 enum STE_MarkerType 197 { 198 STE_MARKER_BOOKMARK = 0, // bookmarks use this (0 means at bottom) 199 STE_MARKER__MAX // start your own markers at STE_MARKER__MAX 200 // to avoid any conflicts 201 }; 202 203 //----------------------------------------------------------------------------- 204 /// @enum STE_WindowId_Type IDs of all the menus, toolbar tools, windows. 205 //----------------------------------------------------------------------------- 206 207 /// Max number of pages before menu IDs start to conflict, see usage in STE_WindowId_Type. 208 #define STN_NOTEBOOK_PAGES_MAX 1000 209 210 211 enum STE_WindowId_Type 212 { 213 // ------------------------------------------------------------------------ 214 // IDs of wxSTEditorPrefs menu items, same order as enum STE_PrefType 215 // note: starts at ID_STE__FIRST ends at ID_STE_PREF__LAST 216 // see scintilla/src/ScintillaBase.h need to skip over idcmdCopy... 217 ID_STE_PREF__FIRST = ID_STE__FIRST, 218 ID_STE_PREF_HIGHLIGHT_SYNTAX = ID_STE_PREF__FIRST, 219 ID_STE_PREF_HIGHLIGHT_PREPROC, 220 ID_STE_PREF_HIGHLIGHT_BRACES, 221 ID_STE_PREF_LOAD_INIT_LANG, 222 ID_STE_PREF_LOAD_UNICODE, 223 ID_STE_PREF_WRAP_MODE, 224 ID_STE_PREF_WRAP_VISUALFLAGS, // not a menu item 225 ID_STE_PREF_WRAP_VISUALFLAGSLOC, // not a menu item 226 ID_STE_PREF_WRAP_STARTINDENT, // not a menu item 227 ID_STE_PREF_ZOOM, 228 ID_STE_PREF_VIEW_EOL, 229 ID_STE_PREF_VIEW_WHITESPACE, 230 ID_STE_PREF_INDENT_GUIDES, 231 ID_STE_PREF_EDGE_MODE, 232 ID_STE_PREF_EDGE_COLUMN, 233 ID_STE_PREF_VIEW_LINEMARGIN, 234 ID_STE_PREF_VIEW_MARKERMARGIN, 235 ID_STE_PREF_VIEW_FOLDMARGIN, 236 ID_STE_PREF_USE_TABS, 237 ID_STE_PREF_TAB_INDENTS, 238 ID_STE_PREF_TAB_WIDTH, 239 ID_STE_PREF_INDENT_WIDTH, 240 ID_STE_PREF_BACKSPACE_UNINDENTS, 241 ID_STE_PREF_AUTOINDENT, 242 ID_STE_PREF_CARET_LINE_VISIBLE, // not a menu item 243 ID_STE_PREF_CARET_WIDTH, // not a menu item 244 ID_STE_PREF_CARET_PERIOD, // not a menu item 245 ID_STE_PREF_CARET_POLICY_X, // not a menu item 246 ID_STE_PREF_CARET_POLICY_Y, // not a menu item 247 ID_STE_PREF_CARET_SLOP_X, // not a menu item 248 ID_STE_PREF_CARET_SLOP_Y, // not a menu item 249 ID_STE_PREF_VISIBLE_POLICY, // not a menu item 250 ID_STE_PREF_VISIBLE_SLOP, // not a menu item 251 ID_STE_PREF_EOL_MODE, 252 ID_STE_PREF_SELECTION_MODE, // FIXME unable to have persistent rect sel work w/ GTK 253 ID_STE_PREF_PRINT_MAGNIFICATION, // not a menu item 254 ID_STE_PREF_PRINT_COLOURMODE, // not a menu item 255 ID_STE_PREF_PRINT_WRAPMODE, // not a menu item 256 ID_STE_PREF_PRINT_LINENUMBERS, // not a menu item 257 ID_STE_PREF_FOLD_FLAGS, // not a menu item 258 ID_STE_PREF_FOLD_STYLES, // not a menu item 259 ID_STE_PREF_FOLDMARGIN_STYLE, // not a menu item 260 ID_STE_PREF_BUFFERED_DRAW, // not a menu item 261 ID_STE_PREF_TWOPHASE_DRAW, // not a menu item 262 ID_STE_PREF_LAYOUT_CACHE, // not a menu item 263 ID_STE_PREF_USEANTIALIASING, // not a menu item 264 ID_STE_PREF_SAVE_REMOVE_WHITESP, // not a menu item 265 ID_STE_PREF_SAVE_CONVERT_EOL, // not a menu item 266 267 // non user preferences - these are probably not useful to show to users 268 // but we keep them here to keep in sync with STE_PrefType 269 ID_STE_PREF_HORIZ_SCROLLBAR, 270 ID_STE_PREF_VERT_SCROLLBAR, 271 ID_STE_PREF_MARGIN0_TYPE, 272 ID_STE_PREF_MARGIN1_TYPE, 273 ID_STE_PREF_MARGIN2_TYPE, 274 ID_STE_PREF_MARGIN0_WIDTH, 275 ID_STE_PREF_MARGIN1_WIDTH, 276 ID_STE_PREF_MARGIN2_WIDTH, 277 ID_STE_PREF_MARGIN0_MASK, 278 ID_STE_PREF_MARGIN1_MASK, 279 ID_STE_PREF_MARGIN2_MASK, 280 ID_STE_PREF_MARGIN0_SENSITIVE, 281 ID_STE_PREF_MARGIN1_SENSITIVE, 282 ID_STE_PREF_MARGIN2_SENSITIVE, 283 ID_STE_PREF_BOOKMARK_DCLICK, 284 285 ID_STE_PREF_AUTOC_STOPS, 286 ID_STE_PREF_AUTOC_SEPARATOR, 287 ID_STE_PREF_AUTOC_FILLUPS, 288 ID_STE_PREF_AUTOC_CANCELATSTART, 289 ID_STE_PREF_AUTOC_CHOOSESINGLE, 290 ID_STE_PREF_AUTOC_IGNORECASE, 291 ID_STE_PREF_AUTOC_AUTOHIDE, 292 ID_STE_PREF_AUTOC_DROPRESTOFWORD, 293 ID_STE_PREF_AUTOC_TYPESEPARATOR, 294 295 ID_STE_PREF__LAST = ID_STE_PREF_AUTOC_TYPESEPARATOR, 296 297 // ------------------------------------------------------------------------ 298 // List of IDs for the menu items in the order they're used 299 // See : wxSTEditorMenuManager::CreateXXXMenu() functions and others 300 301 // File menu items -------------------------------------------------------- 302 //wxID_NEW, 303 //wxID_OPEN, 304 //wxID_SAVE, 305 //wxID_SAVEAS, 306 ID_STE_EXPORT, 307 //ID_STN_SAVE_ALL STE_MENU_NOTEBOOK 308 //ID_STN_CLOSE_PAGE, STE_MENU_FRAME 309 //ID_STN_CLOSE_ALL, STE_MENU_FRAME|STE_MENU_NOTEBOOK 310 //ID_STN_CLOSE_ALL_OTHERS, STE_MENU_FRAME|STE_MENU_NOTEBOOK 311 ID_STE_PROPERTIES, 312 //wxID_PRINT, 313 //wxID_PREVIEW, 314 //wxID_PRINT_SETUP, 315 ID_STE_PRINT_PAGE_SETUP, 316 ID_STE_PRINT_OPTIONS, 317 //wxID_EXIT STE_MENU_FRAME 318 // Edit menu items -------------------------------------------------------- 319 //wxID_UNDO, 320 //wxID_REDO, 321 //wxID_CUT, 322 //wxID_COPY, 323 ID_STE_COPY_HTML, 324 ID_STE_COPY_PRIMARY, // unix copy to primary selection 325 //wxID_PASTE, 326 ID_STE_PASTE_NEW, 327 ID_STE_PASTE_RECT, 328 //wxID_CLEAR 329 //ID_STE_PREF_SELECTION_MODE, // rect sel check only 330 //wxID_SELECTALL, 331 ID_STE_READONLY, 332 ID_STE_COMPLETEWORD, 333 ID_STE_COPYPATH, 334 ID_STE_LINE_CUT, 335 ID_STE_LINE_COPY, 336 ID_STE_LINE_DELETE, 337 ID_STE_LINE_TRANSPOSE, 338 ID_STE_LINE_DUPLICATE, 339 // Search menu items ------------------------------------------------------- 340 //wxID_FIND, 341 ID_STE_FIND_NEXT, 342 ID_STE_FIND_PREV, 343 ID_STE_FIND_DOWN, 344 //wxID_REPLACE 345 ID_STE_GOTO_LINE, 346 // Tools menu items ------------------------------------------------------- 347 ID_STE_UPPERCASE, 348 ID_STE_LOWERCASE, 349 ID_STE_INCREASE_INDENT, 350 ID_STE_DECREASE_INDENT, 351 ID_STE_LINES_JOIN, 352 ID_STE_LINES_SPLIT, 353 ID_STE_TABS_TO_SPACES, 354 ID_STE_SPACES_TO_TABS, 355 ID_STE_CONVERT_EOL, 356 ID_STE_TRAILING_WHITESPACE, 357 ID_STE_REMOVE_CHARSAROUND, 358 ID_STE_COLUMNIZE, 359 // Insert menu items ------------------------------------------------------- 360 ID_STE_INSERT_TEXT, 361 ID_STE_INSERT_DATETIME, 362 // View menu items ------------------------------------------------------- 363 //ID_STE_PREF_WRAPLINES 364 ID_STE_VIEW_NONPRINT, 365 //ID_STE_PREF_VIEWEOL 366 //ID_STE_PREF_VIEWWHITESPACE 367 //ID_STE_PREF_INDENTGUIDES 368 //ID_STE_PREF_EDGEMODE 369 //ID_STE_PREF_EDGECOLUMN 370 //ID_STE_PREF_VIEWLINEMARGIN 371 //ID_STE_PREF_VIEWMARKERMARGIN 372 //ID_STE_PREF_VIEWFOLDMARGIN 373 ID_STE_FOLDS_TOGGLE_CURRENT, 374 ID_STE_FOLDS_COLLAPSE_LEVEL, 375 ID_STE_FOLDS_EXPAND_LEVEL, 376 ID_STE_FOLDS_COLLAPSE_ALL, 377 ID_STE_FOLDS_EXPAND_ALL, 378 //ID_STE_PREF_SYNTAXHILIGHT - FIXME this should be removed? 379 //ID_STE_PREF_ZOOM 380 ID_STE_SHOW_FULLSCREEN, 381 // Bookmark menu items --------------------------------------------------- 382 ID_STE_BOOKMARKS, 383 ID_STE_BOOKMARK_TOGGLE, 384 ID_STE_BOOKMARK_FIRST, 385 ID_STE_BOOKMARK_PREVIOUS, 386 ID_STE_BOOKMARK_NEXT, 387 ID_STE_BOOKMARK_LAST, 388 ID_STE_BOOKMARK_CLEAR, 389 // Preference menu items ------------------------------------------------- 390 ID_STE_PREFERENCES, 391 //ID_STE_PREF_USETABS 392 //ID_STE_PREF_TABINDENTS 393 //ID_STE_PREF_BACKSPACEUNINDENTS 394 //ID_STE_PREF_AUTOINDENT 395 //ID_STE_PREF_TABWIDTH 396 //ID_STE_PREF_INDENTWIDTH 397 //ID_STE_PREF_EOLMODE 398 ID_STE_SAVE_PREFERENCES, 399 // Window menu items ----------------------------------------------------- 400 //ID_STS_UNSPLIT, 401 //ID_STS_SPLIT_HORIZ, 402 //ID_STS_SPLIT_VERT, 403 //ID_STF_SHOW_SIDEBAR, 404 //ID_STN_WIN_PREVIOUS, 405 //ID_STN_WIN_NEXT, 406 //ID_STN_WINDOWS, 407 408 // Menu items used by the wxSTEditorSplitter's menu 409 ID_STS_UNSPLIT, 410 ID_STS_SPLIT_HORIZ, 411 ID_STS_SPLIT_VERT, 412 413 // Menu items used for wxSTEditorNotebook's menu 414 ID_STN_SAVE_ALL, 415 ID_STN_CLOSE_PAGE, 416 ID_STN_CLOSE_ALL, 417 ID_STN_CLOSE_ALL_OTHERS, 418 ID_STN_WINDOWS, 419 ID_STN_WIN_PREVIOUS, 420 ID_STN_WIN_NEXT, 421 ID_STN_GOTO_PAGE_START, 422 ID_STN_CLOSE_PAGE_START = ID_STN_GOTO_PAGE_START+STN_NOTEBOOK_PAGES_MAX, 423 424 // Menu items used for wxSTEditorFrame 425 ID_STF_SHOW_SIDEBAR = ID_STN_CLOSE_PAGE_START+STN_NOTEBOOK_PAGES_MAX, 426 427 // Menu items for the insert character menu for dialogs 428 ID_STEDLG_INSERTMENU_TAB, 429 ID_STEDLG_INSERTMENU_CR, 430 ID_STEDLG_INSERTMENU_LF, 431 432 ID_STEDLG_INSERTMENURE_ANYCHAR, 433 ID_STEDLG_INSERTMENURE_RANGE, 434 ID_STEDLG_INSERTMENURE_NOTRANGE, 435 ID_STEDLG_INSERTMENURE_BEGINLINE, 436 ID_STEDLG_INSERTMENURE_ENDLINE, 437 ID_STEDLG_INSERTMENURE_TAGEXPR, 438 ID_STEDLG_INSERTMENURE_0MATCHES, 439 ID_STEDLG_INSERTMENURE_1MATCHES, 440 ID_STEDLG_INSERTMENURE_01MATCHES, 441 ID_STEDLG_INSERTMENURE_GROUP, 442 443 ID_STEDLG_INSERTMENURE_ALPHANUM, 444 ID_STEDLG_INSERTMENURE_ALPHA, 445 ID_STEDLG_INSERTMENURE_NUMERIC, 446 ID_STEDLG_INSERTMENURE_TAB, 447 448 // ------------------------------------------------------------------------ 449 // Non menuitem IDs 450 451 ID_STE_VSCROLLBAR, 452 ID_STE_HSCROLLBAR, 453 ID_STS_VSPLITBUTTON, 454 ID_STS_HSPLITBUTTON, 455 456 ID_STE_TOOLBAR_SEARCHCTRL, 457 ID_STE_TOOLBAR_SEARCHCTRL_MENU0, // The menu items attached to the wxSearchCtrl 458 ID_STE_TOOLBAR_SEARCHCTRL_MENU1, 459 ID_STE_TOOLBAR_SEARCHCTRL_MENU2, 460 ID_STE_TOOLBAR_SEARCHCTRL_MENU3, 461 ID_STE_TOOLBAR_SEARCHCTRL_MENU4, 462 ID_STE_TOOLBAR_SEARCHCTRL_MENU5, 463 ID_STE_TOOLBAR_SEARCHCTRL_MENU6, 464 ID_STE_TOOLBAR_SEARCHCTRL_MENU7, 465 ID_STE_TOOLBAR_SEARCHCTRL_MENU8, 466 ID_STE_TOOLBAR_SEARCHCTRL_MENU9, 467 ID_STE_TOOLBAR_SEARCHCTRL_MENU__LAST, // count = ID_STE_TOOLBAR_SEARCHCTRL_MENU__LAST - ID_STE_TOOLBAR_SEARCHCTRL_MENU0 468 469 ID_STEDLG_PREF_NOTEBOOK, // id of the notebook in the pref dialog 470 471 // ------------------------------------------------------------------------ 472 // wxMenu ID's when attached as a submenu or to a menubar 473 474 ID_STE_MENU_FILE, // id of the File menu 475 ID_STE_MENU_EDIT, // id of the Edit menu 476 ID_STE_MENU_SEARCH, // id of the Search menu 477 ID_STE_MENU_TOOLS, // id of the Tools menu 478 ID_STE_MENU_INSERT, // id of the Insert menu 479 ID_STE_MENU_VIEW, // id of the View menu 480 ID_STE_MENU_BOOKMARK, // id of the Bookmark menu 481 ID_STE_MENU_PREF, // id of the Preferences menu 482 ID_STE_MENU_WINDOW, // id of the Window menu 483 ID_STE_MENU_HELP, // id of the Help menu 484 485 ID_STE_MENU_LINE, // id of the Line Edit submenu in Edit 486 ID_STE_MENU_GUIDES, // id of the Guides submenu in View 487 ID_STE_MENU_MARGINS, // id of the Margins submenu in View 488 ID_STE_MENU_FOLDING, // id of the Folds submenu in View 489 490 // wxMenu ID's for menu's attached to the STN menu 491 ID_STN_MENU_GOTO, // id of the Goto page submenu 492 ID_STN_MENU_CLOSE, // id of the Close page submenu 493 494 // wxMenu ID of the regexp menu on the insert chars menu 495 ID_STEDLG_MENU_INSERTMENURE, 496 497 // ------------------------------------------------------------------------ 498 // Menu IDs for the wxSTEditorTreeCtrl popup menu 499 500 ID_STT_FILE_OPEN, 501 ID_STT_FILE_CLOSE, 502 ID_STT_FILE_PROPERTIES, 503 ID_STT_EXPAND_ALL, 504 ID_STT_COLLAPSE_ALL, 505 ID_STT_SHOW_FILENAME_ONLY, 506 ID_STT_SHOW_FILEPATH_ONLY, 507 ID_STT_SHOW_PATH_THEN_FILENAME, 508 ID_STT_SHOW_ALL_PATHS, 509 510 // ------------------------------------------------------------------------ 511 // Dialog and Window IDs 512 513 // ID of the find replace dialog 514 ID_STE_FINDREPLACE_DIALOG, 515 516 // IDs of child windows of the wxSTEditorFrame 517 ID_STF_SIDE_SPLITTER, 518 ID_STF_SIDE_NOTEBOOK, 519 ID_STF_MAIN_SPLITTER, 520 ID_STF_FILE_TREECTRL, 521 ID_STF_FILE_DIRCTRL, 522 523 // IDs of the editors used in the wxSTEditorPrefDialogPageStyles 524 ID_STEDLG_STYLE_COLOUR_EDITOR, 525 ID_STEDLG_STYLE_STYLE_EDITOR, 526 527 ID_STE__LAST = ID_STEDLG_STYLE_STYLE_EDITOR 528 }; 529 530 //----------------------------------------------------------------------------- 531 /// @enum STE_PrefType Indexes in wxSTEditorPrefs::Get/SetPref(int pref). 532 /// 533 /// The name of the pref enum nearly matches wxStyledTextCtrl's function name 534 /// If you want to be sure what the pref does, @see wxSTEditorPrefs::UpdateEditor. 535 /// 536 /// To permanently add a new pref, see comment before wxSTEditorPrefs, steprefs.h 537 //----------------------------------------------------------------------------- 538 539 enum STE_PrefType 540 { 541 // [default value], [value type and range], description 542 STE_PREF_HIGHLIGHT_SYNTAX = 0, ///< true, bool, turns off lexer 543 STE_PREF_HIGHLIGHT_PREPROC, ///< true, bool, SetProperty("styling.within.preprocessor" 544 STE_PREF_HIGHLIGHT_BRACES, ///< true, bool, code in wxSTEditor 545 STE_PREF_LOAD_INIT_LANG, ///< true, bool, call STE::SetLanguage(filename) on LoadFile 546 STE_PREF_LOAD_UNICODE, ///< STE_LOAD_DEFAULT, int, enum STE_LoadFileType 547 STE_PREF_WRAP_MODE, ///< wxSTC_WRAP_NONE, int wxSTC_WRAP_XXX, see SetWrapMode 548 STE_PREF_WRAP_VISUALFLAGS, ///< wxSTC_WRAPVISUALFLAG_END, int wxSTC_WRAPVISUALFLAG_XXX, see SetWrapVisualFlags 549 STE_PREF_WRAP_VISUALFLAGSLOC, ///< wxSTC_WRAPVISUALFLAGLOC_DEFAULT, int wxSTC_WRAPVISUALFLAGLOC_XXX, see SetWrapVisualFlagsLocation 550 STE_PREF_WRAP_STARTINDENT, ///< 0, int, spaces to indent wrapped lines, see SetWrapStartIndent 551 STE_PREF_ZOOM, ///< 0, int -10...20, see SetZoom 552 STE_PREF_VIEW_EOL, ///< false, bool, see SetViewEOL 553 STE_PREF_VIEW_WHITESPACE, ///< wxSTC_WS_INVISIBLE, int, wxSTC_WS_XXX, see SetViewWhiteSpace 554 STE_PREF_INDENT_GUIDES, ///< true, bool, see SetIndentationGuides 555 STE_PREF_EDGE_MODE, ///< wxSTC_EDGE_LINE, int wxSTC_EDGE_XXX, see SetEdgeMode 556 STE_PREF_EDGE_COLUMN, ///< 80, int 0...?, see SetEdgeColumn 557 STE_PREF_VIEW_LINEMARGIN, ///< false, bool 558 STE_PREF_VIEW_MARKERMARGIN, ///< false, bool 559 STE_PREF_VIEW_FOLDMARGIN, ///< true, bool 560 STE_PREF_USE_TABS, ///< false, bool, see SetUseTabs 561 STE_PREF_TAB_INDENTS, ///< true, bool, see SetTabIndents 562 STE_PREF_TAB_WIDTH, ///< 4, int 0...?, see SetTabWidth 563 STE_PREF_INDENT_WIDTH, ///< 4, int 0...?, see SetIndent 564 STE_PREF_BACKSPACE_UNINDENTS, ///< true, bool, see SetBackSpaceUnIndents 565 STE_PREF_AUTOINDENT, ///< true, bool, implemented in wxSTEditor::OnSTCCharAdded 566 STE_PREF_CARET_LINE_VISIBLE, ///< true, bool, see SetCaretLineVisible 567 STE_PREF_CARET_WIDTH, ///< 1, int 0...3, see SetCaretWidth 568 STE_PREF_CARET_PERIOD, ///< 500, int 0...? ms per blink, see SetCaretPeriod 569 STE_PREF_CARET_POLICY_X, ///< wxSTC_CARET_EVEN|wxSTC_VISIBLE_STRICT|wxSTC_CARET_SLOP, int, wxSTC_CARET_XXX, see SetXCaretPolicy 570 STE_PREF_CARET_POLICY_Y, ///< same as X, see SetYCaretPolicy 571 STE_PREF_CARET_SLOP_X, ///< 1, int, number of pixels, see SetXCaretPolicy 572 STE_PREF_CARET_SLOP_Y, ///< 1, int, number of pixels, see SetYCaretPolicy 573 STE_PREF_VISIBLE_POLICY, ///< wxSTC_VISIBLE_STRICT|wxSTC_VISIBLE_SLOP, int, wxSTC_VISIBLE_XXX, see SetVisiblePolicy 574 STE_PREF_VISIBLE_SLOP, ///< 1, int, number of pixels, see SetVisiblePolicy 575 STE_PREF_EOL_MODE, ///< platform dependent, int wxSTC_EOL_CRLF, wxSTC_EOL_CR, wxSTC_EOL_LF, see SetEOLMode 576 STE_PREF_SELECTION_MODE, ///< -1, int wxSTC_SEL_STREAM, wxSTC_SEL_RECTANGLE, wxSTC_SEL_LINES (note wxSTC::Cancel() is off) 577 STE_PREF_PRINT_MAGNIFICATION, ///< -2, int -20...20, see SetPrintMagnification 578 STE_PREF_PRINT_COLOURMODE, ///< wxSTC_PRINT_COLOURONWHITE, int wxSTC_PRINT_XXX, see SetPrintColourMode 579 STE_PREF_PRINT_WRAPMODE, ///< wxSTC_WRAP_WORD, int wxSTC_WRAP_XXX, see SetPrintWrapMode 580 STE_PREF_PRINT_LINENUMBERS, ///< STE_PRINT_LINENUMBERS_DEFAULT, int, see enum STE_PrintLinenumbersType 581 STE_PREF_FOLD_FLAGS, ///< wxSTC_FOLDFLAG_LINEBEFORE_CONTRACTED|wxSTC_FOLDFLAG_LINEAFTER_CONTRACTED, int, wxSTC_FOLDFLAG_XXX, see SetFoldFlags 582 STE_PREF_FOLD_STYLES, ///< STE_FOLD_STYLE_DEFAULT, int, see STE_FoldStyleType, see SetProperty 583 STE_PREF_FOLDMARGIN_STYLE, ///< STE_FOLDMARGIN_STYLE_SQUARES, int, see STE_FoldMarginStyleType 584 STE_PREF_BUFFERED_DRAW, ///< true, bool, see SetBufferedDraw 585 STE_PREF_TWOPHASE_DRAW, ///< true, bool, see SetTwoPhaseDraw 586 STE_PREF_LAYOUT_CACHE, ///< wxSTC_CACHE_PAGE, int, wxSTC_CACHE_XXX, see SetLayoutCache 587 STE_PREF_USEANTIALIASING, ///< true, bool, see SetUseAntiAliasing 588 STE_PREF_SAVE_REMOVE_WHITESP, ///< false, bool, remove trailing whitespace on save 589 STE_PREF_SAVE_CONVERT_EOL, ///< false, bool, convert all EOL chars to STE_PREF_EOL_MODE 590 591 // non user preferences - these are probably not useful to show to users 592 // and you will probably want to hard code their values at startup 593 594 STE_PREF_HORIZ_SCROLLBAR, ///< true, bool, see SetUseHorizontalScrollBar 595 STE_PREF_VERT_SCROLLBAR, ///< true, bool, see SetUseVerticalScrollBar 596 STE_PREF_MARGIN0_TYPE, ///< wxSTC_MARGIN_NUMBER, int, see SetMarginType 597 STE_PREF_MARGIN1_TYPE, ///< wxSTC_MARGIN_SYMBOL, int, see SetMarginType 598 STE_PREF_MARGIN2_TYPE, ///< wxSTC_MARGIN_SYMBOL, int, see SetMarginType 599 STE_PREF_MARGIN0_WIDTH, ///< -1 (width of "_999999"), int, see SetMarginWidth 600 STE_PREF_MARGIN1_WIDTH, ///< 16 (widths are set to 0 if not shown), int, see SetMarginWidth 601 STE_PREF_MARGIN2_WIDTH, ///< 16, int, see SetMarginWidth 602 STE_PREF_MARGIN0_MASK, ///< 0, int, see SetMarginMask 603 STE_PREF_MARGIN1_MASK, ///< ~wxSTC_MASK_FOLDERS, int, see SetMarginMask 604 STE_PREF_MARGIN2_MASK, ///< wxSTC_MASK_FOLDERS, int, see SetMarginMask 605 STE_PREF_MARGIN0_SENSITIVE, ///< false, bool, see SetMarginSensitive 606 STE_PREF_MARGIN1_SENSITIVE, ///< true, bool, see SetMarginSensitive 607 STE_PREF_MARGIN2_SENSITIVE, ///< true, bool, see SetMarginSensitive 608 609 STE_PREF_BOOKMARK_DCLICK, ///< true, bool if margin 1 is dclicked put a bookmark marker on it 610 611 STE_PREF_AUTOC_STOPS, ///< " ()[]{}<>:;.?", string, see AutoCompStops 612 STE_PREF_AUTOC_SEPARATOR, ///< int(' '), int, see AutoCompSetSeparator 613 STE_PREF_AUTOC_FILLUPS, ///< "", string, see AutoCompSetFillUps 614 STE_PREF_AUTOC_CANCELATSTART, ///< true, bool, see AutoCompSetCancelAtStart 615 STE_PREF_AUTOC_CHOOSESINGLE, ///< true, bool, see AutoCompSetChooseSingle 616 STE_PREF_AUTOC_IGNORECASE, ///< false, bool, see AutoCompSetIgnoreCase 617 STE_PREF_AUTOC_AUTOHIDE, ///< true, bool, see AutoCompSetAutoHide 618 STE_PREF_AUTOC_DROPRESTOFWORD, ///< true, bool, see AutoCompSetDropRestOfWord 619 STE_PREF_AUTOC_TYPESEPARATOR, ///< int('?'), int, see AutoCompSetTypeSeparator 620 621 STE_PREF__MAX ///< number of initial built in preferences 622 }; 623 624 //----------------------------------------------------------------------------- 625 /// @enum STE_PrefFlagType Additional information about the wxSTEditorPrefs. 626 /// For wxSTEditorPrefs::Get/SetPrefFlags, determines what values are stored 627 /// in the pref, though the actual usage is dependent on the pref. 628 //----------------------------------------------------------------------------- 629 630 enum STE_PrefFlagType 631 { 632 STE_PREF_FLAG_STRING = 0x0000, ///< default is a string valued pref 633 STE_PREF_FLAG_INT = 0x0001, ///< pref is an int value 634 STE_PREF_FLAG_BOOL = 0x0002, ///< pref is a bool 0/1 value 635 636 STE_PREF_FLAG_IGNORE = 0x0004, ///< do not set the pref value for editor 637 STE_PREF_FLAG_NOCONFIG = 0x0008, ///< don't load/save this in the wxConfig 638 ///< eg. your program "hard codes" this value 639 }; 640 641 //----------------------------------------------------------------------------- 642 /// @enum STE_LoadFileType Options when loading a file. 643 /// @see wxSTEditor::LoadFile and wxSTEditorPrefs and STE_PREF_LOAD_UNICODE. 644 //----------------------------------------------------------------------------- 645 646 enum STE_LoadFileType 647 { 648 // If a file(stream) starts with 0xfffe as first two chars it's probably unicode. 649 650 STE_LOAD_DEFAULT = 0, ///< load as unicode if it has the header, 651 ///< else load as ascii 652 653 STE_LOAD_QUERY_UNICODE = 0x0001, ///< popup dialog to ask (or rather warn) if to load in unicode 654 ///< if the file starts w/ unicode signature. Flag ignored in Unicode build. 655 STE_LOAD_ASCII = 0x0002, ///< load as ascii in all cases 656 STE_LOAD_UNICODE = 0x0004, ///< load as unicode in all cases 657 658 STE_LOAD_FROM_DISK = 0x0008, ///< The file is/was/will be loaded from disk. 659 660 STE_LOAD_NOERRDLG = 0x0010, ///< never show an error message dialog 661 ///< silent failure, return false 662 ///< this flag can be used with one of the others 663 }; 664 665 //----------------------------------------------------------------------------- 666 /// @enum STE_PrintLinenumbersType Print the line numbers in wxSTEditorPrintout. 667 /// @see wxSTEditorPrefs and STE_PREF_PRINT_LINENUMBERS 668 //----------------------------------------------------------------------------- 669 670 enum STE_PrintLinenumbersType 671 { 672 STE_PRINT_LINENUMBERS_DEFAULT, ///< print linenumbers if shown in editor 673 STE_PRINT_LINENUMBERS_NEVER, ///< never print linenumbers 674 STE_PRINT_LINENUMBERS_ALWAYS ///< always print linenumbers 675 }; 676 677 //----------------------------------------------------------------------------- 678 /// @enum STE_FoldStyleType Different folds that the language supports translated to 679 /// wxSTC::SetProperty(wxT("fold.comment"), 1/0). 680 /// These lexer properties can be set for any lexer, they might not be used. 681 /// For wxSTEditorPrefs STE_PREF_FOLD_STYLES. 682 //----------------------------------------------------------------------------- 683 684 enum STE_FoldStyleType 685 { 686 STE_FOLD_COMPACT = 0x0001, ///< "fold.compact" 687 STE_FOLD_COMMENT = 0x0002, ///< "fold.comment" 688 STE_FOLD_PREPROC = 0x0004, ///< "fold.preprocessor" 689 STE_FOLD_ATELSE = 0x0008, ///< "fold.at.else" c++ only 690 691 STE_FOLD_HTML = 0x0010, ///< "fold.html" 692 STE_FOLD_HTMLPREP = 0x0020, ///< "fold.html.preprocessor" 693 694 STE_FOLD_DIRECTIVE = 0x0040, ///< "fold.directive" 695 STE_FOLD_COMMENTPY = 0x0080, ///< "fold.comment.python" 696 STE_FOLD_QUOTESPY = 0x0100, ///< "fold.quotes.python" 697 STE_FOLD_TABTIMMY = 0x0200, ///< "tab.timmy.whinge.level" python indent check 698 699 // everything set 700 STE_FOLD_STYLE_DEFAULT = STE_FOLD_COMPACT|STE_FOLD_COMMENT|STE_FOLD_PREPROC|STE_FOLD_ATELSE|STE_FOLD_HTML|STE_FOLD_HTMLPREP|STE_FOLD_DIRECTIVE|STE_FOLD_COMMENTPY|STE_FOLD_QUOTESPY|STE_FOLD_TABTIMMY 701 }; 702 703 //----------------------------------------------------------------------------- 704 /// @enum STE_FoldMarginStyleType Different sets of nice looking fold margin symbols. 705 /// For wxSTEditorPrefs STE_PREF_FOLDMARGIN_STYLE 706 //----------------------------------------------------------------------------- 707 708 enum STE_FoldMarginStyleType 709 { 710 STE_FOLDMARGIN_STYLE_UNSET =-1, ///< the fold code won't be run 711 STE_FOLDMARGIN_STYLE_ARROWS = 0, ///< "..." for contracted folders, arrow pointing down for expanded 712 STE_FOLDMARGIN_STYLE_CIRCLES = 1, ///< Like a flattened tree control using circular headers and curved joins 713 STE_FOLDMARGIN_STYLE_SQUARES = 2, ///< Like a flattened tree control using square headers (default) 714 STE_FOLDMARGIN_STYLE_PLUSMINUS = 3, ///< Plus for contracted folders, minus for expanded 715 }; 716 717 //----------------------------------------------------------------------------- 718 /// @enum STE_StyleType Styles for wxSTEditorStyles controlling how different 719 /// text items will appear (not all languages use every one). 720 /// Scintilla uses styles 0-127 with 32-37 having special meaning 721 /// 722 /// These are arbitrarily mapped to the styles that the lexer uses. 723 /// You can have up to STE_STYLE_LANG__MAX (10000) of them, however you 724 /// can only set 128 of them to scintilla, minus the hardcoded ones, at a time. 725 /// See wxSTEditorLangs::GetSciStyle and GetSTEStyle which does the mapping 726 /// per language between the two. 727 /// 728 /// Additional "styles" (GUI colours) are stored after STE_STYLE_GUI_FIRST 729 /// these styles may make use of only some of the information (see below). 730 /// 731 /// Indicators and markers are also stored here. 732 //----------------------------------------------------------------------------- 733 734 enum STE_StyleType 735 { 736 STE_STYLE_DEFAULT = 0, ///< 0 This style is always mapped to Scintilla's #32 default text. 737 STE_STYLE_KEYWORD1, 738 STE_STYLE_KEYWORD2, 739 STE_STYLE_KEYWORD3, 740 STE_STYLE_KEYWORD4, 741 STE_STYLE_KEYWORD5, 742 STE_STYLE_KEYWORD6, 743 STE_STYLE_COMMENT, 744 STE_STYLE_COMMENTDOC, 745 STE_STYLE_COMMENTLINE, 746 STE_STYLE_COMMENTOTHER, ///< 10 other comments line block. 747 STE_STYLE_CHARACTER, 748 STE_STYLE_CHARACTEREOL, 749 STE_STYLE_STRING, 750 STE_STYLE_STRINGEOL, 751 STE_STYLE_DELIMITER, 752 STE_STYLE_PUNCTUATION, 753 STE_STYLE_OPERATOR, 754 STE_STYLE_BRACE, 755 STE_STYLE_COMMAND, 756 STE_STYLE_IDENTIFIER, ///< 20. 757 STE_STYLE_LABEL, 758 STE_STYLE_NUMBER, 759 STE_STYLE_PARAMETER, 760 STE_STYLE_REGEX, 761 STE_STYLE_UUID, 762 STE_STYLE_VALUE, 763 STE_STYLE_PREPROCESSOR, 764 STE_STYLE_SCRIPT, 765 STE_STYLE_ERROR, 766 STE_STYLE_UNDEFINED, ///< 30. 767 //STE_STYLE_UNUSED, // unused, last user style 768 //STE_STYLE_DEFAULT, // 32 = wxSTC_STYLE_DEFAULT, the background 769 770 STE_STYLE_LANG__LAST = STE_STYLE_UNDEFINED, 771 STE_STYLE_LANG__MAX = 10000, 772 773 // ------------------------------------------------------------------------ 774 // Styles that scintilla hardcodes that are always set regardless of lexer 775 776 STE_STYLE_SCINTILLA__FIRST = 10000, 777 STE_STYLE_LINENUMBER = STE_STYLE_SCINTILLA__FIRST, // 33 wxSTC_STYLE_LINENUMBER 778 STE_STYLE_BRACELIGHT, // 34 wxSTC_STYLE_BRACELIGHT 779 STE_STYLE_BRACEBAD, // 35 wxSTC_STYLE_BRACEBAD 780 STE_STYLE_CONTROLCHAR, // 36 wxSTC_STYLE_CONTROLCHAR font no colour 781 STE_STYLE_INDENTGUIDE, // 37 wxSTC_STYLE_INDENTGUIDE fore/back colours 782 STE_STYLE_SCINTILLA__LAST = STE_STYLE_INDENTGUIDE, 783 784 // ------------------------------------------------------------------------ 785 // Extra styles/colours for the GUI are stored here 786 787 STE_STYLE_GUI__FIRST = 20000, 788 STE_STYLE_SELECTION_COLOUR = STE_STYLE_GUI__FIRST,// fore/back colours only 789 STE_STYLE_WHITESPACE_COLOUR, // fore/back colours only 790 STE_STYLE_EDGE_COLOUR, // fore colour only 791 STE_STYLE_CARET_COLOUR, // fore/back colours only 792 STE_STYLE_FOLD_COLOUR, // fore/back colours only 793 STE_STYLE_GUI__LAST = STE_STYLE_FOLD_COLOUR, 794 795 // ------------------------------------------------------------------------ 796 // Styles below have their own accessor functions, use them instead of 797 // the generic style methods. 798 799 // ------------------------------------------------------------------------ 800 // Indicators for hilighting text (only 3) uses fore colour and style only 801 // To change the indicators use wxSTEditorStyles::Get/SetIndicatorXXX 802 // These values are used internally. 803 // note: scintilla uses less styles if indicators are used, 804 // see wxSTC::SetStyleBits, 5 bits = 3 indicators = 2^5 styles, 805 // 6 bits = 2 indicators = 2^6 styles... 806 STE_STYLE_INDIC__FIRST = 30000, 807 STE_STYLE_INDIC_0 = STE_STYLE_INDIC__FIRST, 808 STE_STYLE_INDIC_1, 809 STE_STYLE_INDIC_2, 810 STE_STYLE_INDIC__LAST = STE_STYLE_INDIC_2, 811 812 // ------------------------------------------------------------------------ 813 // Markers for the margins 814 // To change the indicators use wxSTEditorStyles::Get/SetMarkerXXX 815 // These values are used internally. 816 STE_STYLE_MARKER__FIRST = 40000, 817 818 STE_STYLE_MARKER_BOOKMARK = STE_STYLE_MARKER__FIRST, 819 820 STE_STYLE_MARKER_FOLDER = STE_STYLE_MARKER__FIRST + wxSTC_MARKNUM_FOLDER, 821 STE_STYLE_MARKER_FOLDEROPEN = STE_STYLE_MARKER__FIRST + wxSTC_MARKNUM_FOLDEROPEN, 822 STE_STYLE_MARKER_FOLDERSUB = STE_STYLE_MARKER__FIRST + wxSTC_MARKNUM_FOLDERSUB, 823 STE_STYLE_MARKER_FOLDERTAIL = STE_STYLE_MARKER__FIRST + wxSTC_MARKNUM_FOLDERTAIL, 824 STE_STYLE_MARKER_FOLDEREND = STE_STYLE_MARKER__FIRST + wxSTC_MARKNUM_FOLDEREND, 825 STE_STYLE_MARKER_FOLDEROPENMID = STE_STYLE_MARKER__FIRST + wxSTC_MARKNUM_FOLDEROPENMID, 826 STE_STYLE_MARKER_FOLDERMIDTAIL = STE_STYLE_MARKER__FIRST + wxSTC_MARKNUM_FOLDERMIDTAIL, 827 828 STE_STYLE_MARKER__LAST = STE_STYLE_MARKER__FIRST + wxSTC_MARKER_MAX 829 }; 830 831 // ---------------------------------------------------------------------------- 832 /// @enum STE_FontAttrType Font attributes for a style. 833 /// @see wxSTEditorStyle::Get/SetFontAttr(style_n, STE_STYLE_FONT_BOLD|...) 834 835 enum STE_FontAttrType 836 { 837 STE_STYLE_FONT_NONE = 0x0000, 838 STE_STYLE_FONT_BOLD = 0x0001, 839 STE_STYLE_FONT_ITALIC = 0x0002, 840 STE_STYLE_FONT_UNDERLINED = 0x0004, 841 STE_STYLE_FONT_HIDDEN = 0x0008, 842 STE_STYLE_FONT_EOLFILLED = 0x0010, 843 STE_STYLE_FONT_HOTSPOT = 0x0020, 844 // only one of these, (replacements for wxSTC_CASE_MIXED/UPPER/LOWER) 845 STE_STYLE_FONT_CASEMIXED = 0, // default 846 STE_STYLE_FONT_CASEUPPER = 0x0080, 847 STE_STYLE_FONT_CASELOWER = 0x0100, 848 849 STE_STYLE_FONT_MASK = (STE_STYLE_FONT_BOLD|STE_STYLE_FONT_ITALIC|STE_STYLE_FONT_UNDERLINED|STE_STYLE_FONT_HIDDEN|STE_STYLE_FONT_EOLFILLED|STE_STYLE_FONT_HOTSPOT|STE_STYLE_FONT_CASEMIXED|STE_STYLE_FONT_CASEUPPER|STE_STYLE_FONT_CASELOWER) 850 }; 851 852 // ---------------------------------------------------------------------------- 853 /// @enum STE_StyleUseDefaultType Should the default value be used instead of the set one. 854 /// @see wxSTEditorStyle::Get/SetUseDefault(style_n, STE_STYLE_USEDEFAULT_FORECOLOUR|...) 855 /// The styles always contain values, even if the defaults are used to make it 856 /// easy for a user to revert to default and then back to what they set. 857 858 enum STE_StyleUseDefaultType 859 { 860 STE_STYLE_USEDEFAULT_NONE = 0x0000, 861 STE_STYLE_USEDEFAULT_FORECOLOUR = 0x0002, 862 STE_STYLE_USEDEFAULT_BACKCOLOUR = 0x0004, 863 STE_STYLE_USEDEFAULT_FACENAME = 0x0008, 864 STE_STYLE_USEDEFAULT_FONTSIZE = 0x0010, 865 STE_STYLE_USEDEFAULT_FONTSTYLE = 0x0020, 866 867 STE_STYLE_USEDEFAULT_MASK = (STE_STYLE_USEDEFAULT_FORECOLOUR|STE_STYLE_USEDEFAULT_BACKCOLOUR|STE_STYLE_USEDEFAULT_FACENAME|STE_STYLE_USEDEFAULT_FONTSIZE|STE_STYLE_USEDEFAULT_FONTSTYLE), 868 869 // Convenience enums - what default values should be used 870 STE_STYLE_USEDEFAULT_ALL = STE_STYLE_USEDEFAULT_MASK, 871 STE_STYLE_USEDEFAULT_NOFORECOLOUR = (STE_STYLE_USEDEFAULT_MASK & (~STE_STYLE_USEDEFAULT_FORECOLOUR)), 872 STE_STYLE_USEDEFAULT_NOCOLOUR = (STE_STYLE_USEDEFAULT_NOFORECOLOUR & (~STE_STYLE_USEDEFAULT_BACKCOLOUR)), 873 STE_STYLE_USEDEFAULT_NOFONTSTYLE = (STE_STYLE_USEDEFAULT_NOFORECOLOUR & (~STE_STYLE_USEDEFAULT_FONTSTYLE)) 874 }; 875 876 // ---------------------------------------------------------------------------- 877 /// @enum STE_StyleUsesType What parts of the style are actually used. 878 /// @see wxSTEditorStyle::GetStyleUsage(style_n) 879 880 enum STE_StyleUsesType 881 { 882 STE_STYLE_USES_FORECOLOUR = 0x0001, 883 STE_STYLE_USES_BACKCOLOUR = 0x0002, 884 STE_STYLE_USES_FACENAME = 0x0004, 885 STE_STYLE_USES_FONTSIZE = 0x0008, 886 STE_STYLE_USES_FONTSTYLE = 0x0010, 887 STE_STYLE_USES_STYLE = 0x0020, // special for indicators and markers 888 889 STE_STYLE_USES_FONT = (STE_STYLE_USES_FACENAME|STE_STYLE_USES_FONTSIZE|STE_STYLE_USES_FONTSTYLE), 890 STE_STYLE_USES_COLOUR = (STE_STYLE_USES_FORECOLOUR|STE_STYLE_USES_BACKCOLOUR), 891 STE_STYLE_USES_ALL = (STE_STYLE_USES_COLOUR|STE_STYLE_USES_FONT), 892 893 STE_STYLE_USES_MASK = STE_STYLE_USES_ALL 894 }; 895 896 //----------------------------------------------------------------------------- 897 /// @enum STE_LangTypes All of the languages used in the wxSTEditorLangs in order. 898 899 enum STE_LangTypes 900 { 901 STE_LANG_CONTAINER, // 0 902 STE_LANG_NULL, // 1 903 STE_LANG_PYTHON, // 2 904 STE_LANG_CPP, // 3 905 STE_LANG_HTML, // 4 906 STE_LANG_XML, // 5 907 STE_LANG_PERL, // 6 908 STE_LANG_SQL, // 7 909 STE_LANG_VB, // 8 910 STE_LANG_PROPERTIES, // 9 911 STE_LANG_ERRORLIST, // 10 912 STE_LANG_MAKEFILE, // 11 913 STE_LANG_BATCH, // 12 914 STE_LANG_XCODE, // 13 915 STE_LANG_LATEX, // 14 916 STE_LANG_LUA, // 15 917 STE_LANG_DIFF, // 16 918 STE_LANG_CONF, // 17 919 STE_LANG_PASCAL, // 18 920 STE_LANG_AVE, // 19 921 STE_LANG_ADA, // 20 922 STE_LANG_LISP, // 21 923 STE_LANG_RUBY, // 22 924 STE_LANG_EIFFEL, // 23 925 STE_LANG_EIFFELKW, // 24 926 STE_LANG_TCL, // 25 927 STE_LANG_NNCRONTAB, // 26 928 STE_LANG_BULLANT, // 27 929 STE_LANG_VBSCRIPT, // 28 930 STE_LANG_ASP, // 29 931 STE_LANG_PHP, // 30 932 STE_LANG_BAAN, // 31 933 STE_LANG_MATLAB, // 32 934 STE_LANG_SCRIPTOL, // 33 935 STE_LANG_ASM, // 34 936 STE_LANG_CPPNOCASE, // 35 937 STE_LANG_FORTRAN, // 36 938 STE_LANG_F77, // 37 939 STE_LANG_CSS, // 38 940 STE_LANG_POV, // 39 941 STE_LANG_LOUT, // 40 942 STE_LANG_ESCRIPT, // 41 943 STE_LANG_PS, // 42 944 STE_LANG_NSIS, // 43 945 STE_LANG_MMIXAL, // 44 946 STE_LANG_CLW, // 45 947 STE_LANG_CLWNOCASE, // 46 948 STE_LANG_LOT, // 47 949 STE_LANG_YAML, // 48 950 STE_LANG_TEX, // 49 951 STE_LANG_METAPOST, // 50 952 STE_LANG_POWERBASIC, // 51 953 STE_LANG_FORTH, // 52 954 STE_LANG_ERLANG, // 53 955 STE_LANG_OCTAVE, // 54 956 STE_LANG_MSSQL, // 55 957 STE_LANG_VERILOG, // 56 958 STE_LANG_KIX, // 57 959 STE_LANG_GUI4CLI, // 58 960 STE_LANG_SPECMAN, // 59 961 STE_LANG_AU3, // 60 962 STE_LANG_APDL, // 61 963 STE_LANG_BASH, // 62 964 STE_LANG_ASN1, // 63 965 STE_LANG_VHDL, // 64 966 // Derived languages that use a lexer above, but have their own keywords 967 STE_LANG_JAVA, // 65 968 STE_LANG_JAVASCRIPT, // 66 969 STE_LANG_RC, // 67 970 STE_LANG_CS, // 68 971 STE_LANG_D, // 69 972 STE_LANG_IDL, // 70 973 STE_LANG_PLSQL, // 71 974 STE_LANG_SQUIRREL, // 72 975 976 STE_LANG__MAX 977 }; 978 979 //----------------------------------------------------------------------------- 980 /// @enum STE_LangFlagsType Extra flags for wxSTEditorLangs::Get/SetFlags. 981 982 enum STE_LangFlagsType 983 { 984 STE_LANG_FLAG_DONTUSE = 0x0001 ///< ignore this language in the pref dialog 985 }; 986 987 #endif // _STEDEFS_H_ 988