X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3c1705d91193010a2dd612dfe050b89da1773e21..472eec8a0391538e4dcf7f7c6c4f4d44c8383616:/include/wx/stc/stc.h diff --git a/include/wx/stc/stc.h b/include/wx/stc/stc.h index 10519a61b7..1217ebace4 100644 --- a/include/wx/stc/stc.h +++ b/include/wx/stc/stc.h @@ -17,22 +17,18 @@ // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// -#ifndef __stc_h__ -#define __stc_h__ +#ifndef _WX_STC_STC_H_ +#define _WX_STC_STC_H_ +#include "wx/defs.h" -#include -#include +#if wxUSE_STC +#include "wx/control.h" +#include "wx/dnd.h" +#include "wx/stopwatch.h" -#ifdef WXMAKINGDLL_STC - #define WXDLLIMPEXP_STC WXEXPORT -#elif defined(WXUSINGDLL) - #define WXDLLIMPEXP_STC WXIMPORT -#else // not making nor using DLL - #define WXDLLIMPEXP_STC -#endif - +class WXDLLIMPEXP_FWD_CORE wxScrollBar; // SWIG can't handle "#if" type of conditionals, only "#ifdef" #ifdef SWIG @@ -106,6 +102,7 @@ #define wxSTC_MARK_DOTDOTDOT 23 #define wxSTC_MARK_ARROWS 24 #define wxSTC_MARK_PIXMAP 25 +#define wxSTC_MARK_FULLRECT 26 #define wxSTC_MARK_CHARACTER 10000 // Markers used for outlining column. @@ -119,15 +116,18 @@ #define wxSTC_MASK_FOLDERS 0xFE000000 #define wxSTC_MARGIN_SYMBOL 0 #define wxSTC_MARGIN_NUMBER 1 +#define wxSTC_MARGIN_BACK 2 +#define wxSTC_MARGIN_FORE 3 -// Styles in range 32..37 are predefined for parts of the UI and are not used as normal styles. -// Styles 38 and 39 are for future use. +// Styles in range 32..38 are predefined for parts of the UI and are not used as normal styles. +// Style 39 is for future use. #define wxSTC_STYLE_DEFAULT 32 #define wxSTC_STYLE_LINENUMBER 33 #define wxSTC_STYLE_BRACELIGHT 34 #define wxSTC_STYLE_BRACEBAD 35 #define wxSTC_STYLE_CONTROLCHAR 36 #define wxSTC_STYLE_INDENTGUIDE 37 +#define wxSTC_STYLE_CALLTIP 38 #define wxSTC_STYLE_LASTPREDEFINED 39 #define wxSTC_STYLE_MAX 127 @@ -144,6 +144,7 @@ #define wxSTC_CHARSET_MAC 77 #define wxSTC_CHARSET_OEM 255 #define wxSTC_CHARSET_RUSSIAN 204 +#define wxSTC_CHARSET_CYRILLIC 1251 #define wxSTC_CHARSET_SHIFTJIS 128 #define wxSTC_CHARSET_SYMBOL 2 #define wxSTC_CHARSET_TURKISH 162 @@ -152,6 +153,7 @@ #define wxSTC_CHARSET_ARABIC 178 #define wxSTC_CHARSET_VIETNAMESE 163 #define wxSTC_CHARSET_THAI 222 +#define wxSTC_CHARSET_8859_15 1000 #define wxSTC_CASE_MIXED 0 #define wxSTC_CASE_UPPER 1 #define wxSTC_CASE_LOWER 2 @@ -163,6 +165,7 @@ #define wxSTC_INDIC_STRIKE 4 #define wxSTC_INDIC_HIDDEN 5 #define wxSTC_INDIC_BOX 6 +#define wxSTC_INDIC_ROUNDBOX 7 #define wxSTC_INDIC0_MASK 0x20 #define wxSTC_INDIC1_MASK 0x40 #define wxSTC_INDIC2_MASK 0x80 @@ -204,6 +207,7 @@ #define wxSTC_TIME_FOREVER 10000000 #define wxSTC_WRAP_NONE 0 #define wxSTC_WRAP_WORD 1 +#define wxSTC_WRAP_CHAR 2 #define wxSTC_WRAPVISUALFLAG_NONE 0x0000 #define wxSTC_WRAPVISUALFLAG_END 0x0001 #define wxSTC_WRAPVISUALFLAG_START 0x0002 @@ -254,6 +258,9 @@ #define wxSTC_SEL_STREAM 0 #define wxSTC_SEL_RECTANGLE 1 #define wxSTC_SEL_LINES 2 +#define wxSTC_ALPHA_TRANSPARENT 0 +#define wxSTC_ALPHA_OPAQUE 255 +#define wxSTC_ALPHA_NOALPHA 256 // Maximum value of keywordSet parameter of SetKeyWords. #define wxSTC_KEYWORDSET_MAX 8 @@ -269,11 +276,13 @@ #define wxSTC_PERFORMED_USER 0x10 #define wxSTC_PERFORMED_UNDO 0x20 #define wxSTC_PERFORMED_REDO 0x40 +#define wxSTC_MULTISTEPUNDOREDO 0x80 #define wxSTC_LASTSTEPINUNDOREDO 0x100 #define wxSTC_MOD_CHANGEMARKER 0x200 #define wxSTC_MOD_BEFOREINSERT 0x400 #define wxSTC_MOD_BEFOREDELETE 0x800 -#define wxSTC_MODEVENTMASKALL 0xF77 +#define wxSTC_MULTILINEUNDOREDO 0x1000 +#define wxSTC_MODEVENTMASKALL 0x1FFF // Symbolic key codes and modifier flags. // ASCII and other printable characters below 256. @@ -295,6 +304,7 @@ #define wxSTC_KEY_ADD 310 #define wxSTC_KEY_SUBTRACT 311 #define wxSTC_KEY_DIVIDE 312 +#define wxSTC_SCMOD_NORM 0 #define wxSTC_SCMOD_SHIFT 1 #define wxSTC_SCMOD_CTRL 2 #define wxSTC_SCMOD_ALT 4 @@ -329,8 +339,6 @@ #define wxSTC_LEX_NNCRONTAB 26 #define wxSTC_LEX_BULLANT 27 #define wxSTC_LEX_VBSCRIPT 28 -#define wxSTC_LEX_ASP 29 -#define wxSTC_LEX_PHP 30 #define wxSTC_LEX_BAAN 31 #define wxSTC_LEX_MATLAB 32 #define wxSTC_LEX_SCRIPTOL 33 @@ -363,6 +371,22 @@ #define wxSTC_LEX_AU3 60 #define wxSTC_LEX_APDL 61 #define wxSTC_LEX_BASH 62 +#define wxSTC_LEX_ASN1 63 +#define wxSTC_LEX_VHDL 64 +#define wxSTC_LEX_CAML 65 +#define wxSTC_LEX_BLITZBASIC 66 +#define wxSTC_LEX_PUREBASIC 67 +#define wxSTC_LEX_HASKELL 68 +#define wxSTC_LEX_PHPSCRIPT 69 +#define wxSTC_LEX_TADS3 70 +#define wxSTC_LEX_REBOL 71 +#define wxSTC_LEX_SMALLTALK 72 +#define wxSTC_LEX_FLAGSHIP 73 +#define wxSTC_LEX_CSOUND 74 +#define wxSTC_LEX_FREEBASIC 75 +#define wxSTC_LEX_INNOSETUP 76 +#define wxSTC_LEX_OPAL 77 +#define wxSTC_LEX_SPICE 78 // When a lexer specifies its language as SCLEX_AUTOMATIC it receives a // value assigned in sequence from SCLEX_AUTOMATIC+1. @@ -383,6 +407,8 @@ #define wxSTC_P_IDENTIFIER 11 #define wxSTC_P_COMMENTBLOCK 12 #define wxSTC_P_STRINGEOL 13 +#define wxSTC_P_WORD2 14 +#define wxSTC_P_DECORATOR 15 // Lexical states for SCLEX_CPP #define wxSTC_C_DEFAULT 0 @@ -406,6 +432,30 @@ #define wxSTC_C_COMMENTDOCKEYWORDERROR 18 #define wxSTC_C_GLOBALCLASS 19 +// Lexical states for SCLEX_TCL +#define wxSTC_TCL_DEFAULT 0 +#define wxSTC_TCL_COMMENT 1 +#define wxSTC_TCL_COMMENTLINE 2 +#define wxSTC_TCL_NUMBER 3 +#define wxSTC_TCL_WORD_IN_QUOTE 4 +#define wxSTC_TCL_IN_QUOTE 5 +#define wxSTC_TCL_OPERATOR 6 +#define wxSTC_TCL_IDENTIFIER 7 +#define wxSTC_TCL_SUBSTITUTION 8 +#define wxSTC_TCL_SUB_BRACE 9 +#define wxSTC_TCL_MODIFIER 10 +#define wxSTC_TCL_EXPAND 11 +#define wxSTC_TCL_WORD 12 +#define wxSTC_TCL_WORD2 13 +#define wxSTC_TCL_WORD3 14 +#define wxSTC_TCL_WORD4 15 +#define wxSTC_TCL_WORD5 16 +#define wxSTC_TCL_WORD6 17 +#define wxSTC_TCL_WORD7 18 +#define wxSTC_TCL_WORD8 19 +#define wxSTC_TCL_COMMENT_BOX 20 +#define wxSTC_TCL_BLOCK_COMMENT 21 + // Lexical states for SCLEX_HTML, SCLEX_XML #define wxSTC_H_DEFAULT 0 #define wxSTC_H_TAG 1 @@ -560,6 +610,7 @@ #define wxSTC_PL_ARRAY 13 #define wxSTC_PL_HASH 14 #define wxSTC_PL_SYMBOLTABLE 15 +#define wxSTC_PL_VARIABLE_INDEXER 16 #define wxSTC_PL_REGEX 17 #define wxSTC_PL_REGSUBST 18 #define wxSTC_PL_LONGQUOTE 19 @@ -574,6 +625,43 @@ #define wxSTC_PL_STRING_QX 28 #define wxSTC_PL_STRING_QR 29 #define wxSTC_PL_STRING_QW 30 +#define wxSTC_PL_POD_VERB 31 + +// Lexical states for SCLEX_RUBY +#define wxSTC_RB_DEFAULT 0 +#define wxSTC_RB_ERROR 1 +#define wxSTC_RB_COMMENTLINE 2 +#define wxSTC_RB_POD 3 +#define wxSTC_RB_NUMBER 4 +#define wxSTC_RB_WORD 5 +#define wxSTC_RB_STRING 6 +#define wxSTC_RB_CHARACTER 7 +#define wxSTC_RB_CLASSNAME 8 +#define wxSTC_RB_DEFNAME 9 +#define wxSTC_RB_OPERATOR 10 +#define wxSTC_RB_IDENTIFIER 11 +#define wxSTC_RB_REGEX 12 +#define wxSTC_RB_GLOBAL 13 +#define wxSTC_RB_SYMBOL 14 +#define wxSTC_RB_MODULE_NAME 15 +#define wxSTC_RB_INSTANCE_VAR 16 +#define wxSTC_RB_CLASS_VAR 17 +#define wxSTC_RB_BACKTICKS 18 +#define wxSTC_RB_DATASECTION 19 +#define wxSTC_RB_HERE_DELIM 20 +#define wxSTC_RB_HERE_Q 21 +#define wxSTC_RB_HERE_QQ 22 +#define wxSTC_RB_HERE_QX 23 +#define wxSTC_RB_STRING_Q 24 +#define wxSTC_RB_STRING_QQ 25 +#define wxSTC_RB_STRING_QX 26 +#define wxSTC_RB_STRING_QR 27 +#define wxSTC_RB_STRING_QW 28 +#define wxSTC_RB_WORD_DEMOTED 29 +#define wxSTC_RB_STDIN 30 +#define wxSTC_RB_STDOUT 31 +#define wxSTC_RB_STDERR 40 +#define wxSTC_RB_UPPER_BOUND 41 // Lexical states for SCLEX_VB, SCLEX_VBSCRIPT, SCLEX_POWERBASIC #define wxSTC_B_DEFAULT 0 @@ -591,6 +679,10 @@ #define wxSTC_B_KEYWORD4 12 #define wxSTC_B_CONSTANT 13 #define wxSTC_B_ASM 14 +#define wxSTC_B_LABEL 15 +#define wxSTC_B_ERROR 16 +#define wxSTC_B_HEXNUMBER 17 +#define wxSTC_B_BINNUMBER 18 // Lexical states for SCLEX_PROPERTIES #define wxSTC_PROPS_DEFAULT 0 @@ -598,6 +690,7 @@ #define wxSTC_PROPS_SECTION 2 #define wxSTC_PROPS_ASSIGNMENT 3 #define wxSTC_PROPS_DEFVAL 4 +#define wxSTC_PROPS_KEY 5 // Lexical states for SCLEX_LATEX #define wxSTC_L_DEFAULT 0 @@ -649,6 +742,7 @@ #define wxSTC_ERR_IFORT 17 #define wxSTC_ERR_ABSF 18 #define wxSTC_ERR_TIDY 19 +#define wxSTC_ERR_JAVA_STACK 20 // Lexical states for SCLEX_BATCH #define wxSTC_BAT_DEFAULT 0 @@ -739,10 +833,14 @@ #define wxSTC_LISP_COMMENT 1 #define wxSTC_LISP_NUMBER 2 #define wxSTC_LISP_KEYWORD 3 +#define wxSTC_LISP_KEYWORD_KW 4 +#define wxSTC_LISP_SYMBOL 5 #define wxSTC_LISP_STRING 6 #define wxSTC_LISP_STRINGEOL 8 #define wxSTC_LISP_IDENTIFIER 9 #define wxSTC_LISP_OPERATOR 10 +#define wxSTC_LISP_SPECIAL 11 +#define wxSTC_LISP_MULTI_COMMENT 12 // Lexical states for SCLEX_EIFFEL and SCLEX_EIFFELKW #define wxSTC_EIFFEL_DEFAULT 0 @@ -863,6 +961,8 @@ #define wxSTC_CSS_DIRECTIVE 12 #define wxSTC_CSS_DOUBLESTRING 13 #define wxSTC_CSS_SINGLESTRING 14 +#define wxSTC_CSS_IDENTIFIER2 15 +#define wxSTC_CSS_ATTRIBUTE 16 // Lexical states for SCLEX_POV #define wxSTC_POV_DEFAULT 0 @@ -944,6 +1044,10 @@ #define wxSTC_NSIS_MACRODEF 12 #define wxSTC_NSIS_STRINGVAR 13 #define wxSTC_NSIS_NUMBER 14 +#define wxSTC_NSIS_SECTIONGROUP 15 +#define wxSTC_NSIS_PAGEEX 16 +#define wxSTC_NSIS_FUNCTIONDEF 17 +#define wxSTC_NSIS_COMMENTBOX 18 // Lexical states for SCLEX_MMIXAL #define wxSTC_MMIXAL_LEADWS 0 @@ -976,11 +1080,13 @@ #define wxSTC_CLW_PICTURE_STRING 7 #define wxSTC_CLW_KEYWORD 8 #define wxSTC_CLW_COMPILER_DIRECTIVE 9 -#define wxSTC_CLW_BUILTIN_PROCEDURES_FUNCTION 10 -#define wxSTC_CLW_STRUCTURE_DATA_TYPE 11 -#define wxSTC_CLW_ATTRIBUTE 12 -#define wxSTC_CLW_STANDARD_EQUATE 13 -#define wxSTC_CLW_ERROR 14 +#define wxSTC_CLW_RUNTIME_EXPRESSIONS 10 +#define wxSTC_CLW_BUILTIN_PROCEDURES_FUNCTION 11 +#define wxSTC_CLW_STRUCTURE_DATA_TYPE 12 +#define wxSTC_CLW_ATTRIBUTE 13 +#define wxSTC_CLW_STANDARD_EQUATE 14 +#define wxSTC_CLW_ERROR 15 +#define wxSTC_CLW_DEPRECATED 16 // Lexical states for SCLEX_LOT #define wxSTC_LOT_DEFAULT 0 @@ -1126,6 +1232,10 @@ #define wxSTC_AU3_VARIABLE 9 #define wxSTC_AU3_SENT 10 #define wxSTC_AU3_PREPROCESSOR 11 +#define wxSTC_AU3_SPECIAL 12 +#define wxSTC_AU3_EXPAND 13 +#define wxSTC_AU3_COMOBJ 14 +#define wxSTC_AU3_UDF 15 // Lexical states for SCLEX_APDL #define wxSTC_APDL_DEFAULT 0 @@ -1133,10 +1243,14 @@ #define wxSTC_APDL_COMMENTBLOCK 2 #define wxSTC_APDL_NUMBER 3 #define wxSTC_APDL_STRING 4 -#define wxSTC_APDL_WORD 5 -#define wxSTC_APDL_COMMAND 6 +#define wxSTC_APDL_OPERATOR 5 +#define wxSTC_APDL_WORD 6 #define wxSTC_APDL_PROCESSOR 7 -#define wxSTC_APDL_FUNCTION 8 +#define wxSTC_APDL_COMMAND 8 +#define wxSTC_APDL_SLASHCOMMAND 9 +#define wxSTC_APDL_STARCOMMAND 10 +#define wxSTC_APDL_ARGUMENT 11 +#define wxSTC_APDL_FUNCTION 12 // Lexical states for SCLEX_BASH #define wxSTC_SH_DEFAULT 0 @@ -1154,6 +1268,250 @@ #define wxSTC_SH_HERE_DELIM 12 #define wxSTC_SH_HERE_Q 13 +// Lexical states for SCLEX_ASN1 +#define wxSTC_ASN1_DEFAULT 0 +#define wxSTC_ASN1_COMMENT 1 +#define wxSTC_ASN1_IDENTIFIER 2 +#define wxSTC_ASN1_STRING 3 +#define wxSTC_ASN1_OID 4 +#define wxSTC_ASN1_SCALAR 5 +#define wxSTC_ASN1_KEYWORD 6 +#define wxSTC_ASN1_ATTRIBUTE 7 +#define wxSTC_ASN1_DESCRIPTOR 8 +#define wxSTC_ASN1_TYPE 9 +#define wxSTC_ASN1_OPERATOR 10 + +// Lexical states for SCLEX_VHDL +#define wxSTC_VHDL_DEFAULT 0 +#define wxSTC_VHDL_COMMENT 1 +#define wxSTC_VHDL_COMMENTLINEBANG 2 +#define wxSTC_VHDL_NUMBER 3 +#define wxSTC_VHDL_STRING 4 +#define wxSTC_VHDL_OPERATOR 5 +#define wxSTC_VHDL_IDENTIFIER 6 +#define wxSTC_VHDL_STRINGEOL 7 +#define wxSTC_VHDL_KEYWORD 8 +#define wxSTC_VHDL_STDOPERATOR 9 +#define wxSTC_VHDL_ATTRIBUTE 10 +#define wxSTC_VHDL_STDFUNCTION 11 +#define wxSTC_VHDL_STDPACKAGE 12 +#define wxSTC_VHDL_STDTYPE 13 +#define wxSTC_VHDL_USERWORD 14 + +// Lexical states for SCLEX_CAML +#define wxSTC_CAML_DEFAULT 0 +#define wxSTC_CAML_IDENTIFIER 1 +#define wxSTC_CAML_TAGNAME 2 +#define wxSTC_CAML_KEYWORD 3 +#define wxSTC_CAML_KEYWORD2 4 +#define wxSTC_CAML_KEYWORD3 5 +#define wxSTC_CAML_LINENUM 6 +#define wxSTC_CAML_OPERATOR 7 +#define wxSTC_CAML_NUMBER 8 +#define wxSTC_CAML_CHAR 9 +#define wxSTC_CAML_STRING 11 +#define wxSTC_CAML_COMMENT 12 +#define wxSTC_CAML_COMMENT1 13 +#define wxSTC_CAML_COMMENT2 14 +#define wxSTC_CAML_COMMENT3 15 + +// Lexical states for SCLEX_HASKELL +#define wxSTC_HA_DEFAULT 0 +#define wxSTC_HA_IDENTIFIER 1 +#define wxSTC_HA_KEYWORD 2 +#define wxSTC_HA_NUMBER 3 +#define wxSTC_HA_STRING 4 +#define wxSTC_HA_CHARACTER 5 +#define wxSTC_HA_CLASS 6 +#define wxSTC_HA_MODULE 7 +#define wxSTC_HA_CAPITAL 8 +#define wxSTC_HA_DATA 9 +#define wxSTC_HA_IMPORT 10 +#define wxSTC_HA_OPERATOR 11 +#define wxSTC_HA_INSTANCE 12 +#define wxSTC_HA_COMMENTLINE 13 +#define wxSTC_HA_COMMENTBLOCK 14 +#define wxSTC_HA_COMMENTBLOCK2 15 +#define wxSTC_HA_COMMENTBLOCK3 16 + +// Lexical states of SCLEX_TADS3 +#define wxSTC_T3_DEFAULT 0 +#define wxSTC_T3_X_DEFAULT 1 +#define wxSTC_T3_PREPROCESSOR 2 +#define wxSTC_T3_BLOCK_COMMENT 3 +#define wxSTC_T3_LINE_COMMENT 4 +#define wxSTC_T3_OPERATOR 5 +#define wxSTC_T3_KEYWORD 6 +#define wxSTC_T3_NUMBER 7 +#define wxSTC_T3_IDENTIFIER 8 +#define wxSTC_T3_S_STRING 9 +#define wxSTC_T3_D_STRING 10 +#define wxSTC_T3_X_STRING 11 +#define wxSTC_T3_LIB_DIRECTIVE 12 +#define wxSTC_T3_MSG_PARAM 13 +#define wxSTC_T3_HTML_TAG 14 +#define wxSTC_T3_HTML_DEFAULT 15 +#define wxSTC_T3_HTML_STRING 16 +#define wxSTC_T3_USER1 17 +#define wxSTC_T3_USER2 18 +#define wxSTC_T3_USER3 19 + +// Lexical states for SCLEX_REBOL +#define wxSTC_REBOL_DEFAULT 0 +#define wxSTC_REBOL_COMMENTLINE 1 +#define wxSTC_REBOL_COMMENTBLOCK 2 +#define wxSTC_REBOL_PREFACE 3 +#define wxSTC_REBOL_OPERATOR 4 +#define wxSTC_REBOL_CHARACTER 5 +#define wxSTC_REBOL_QUOTEDSTRING 6 +#define wxSTC_REBOL_BRACEDSTRING 7 +#define wxSTC_REBOL_NUMBER 8 +#define wxSTC_REBOL_PAIR 9 +#define wxSTC_REBOL_TUPLE 10 +#define wxSTC_REBOL_BINARY 11 +#define wxSTC_REBOL_MONEY 12 +#define wxSTC_REBOL_ISSUE 13 +#define wxSTC_REBOL_TAG 14 +#define wxSTC_REBOL_FILE 15 +#define wxSTC_REBOL_EMAIL 16 +#define wxSTC_REBOL_URL 17 +#define wxSTC_REBOL_DATE 18 +#define wxSTC_REBOL_TIME 19 +#define wxSTC_REBOL_IDENTIFIER 20 +#define wxSTC_REBOL_WORD 21 +#define wxSTC_REBOL_WORD2 22 +#define wxSTC_REBOL_WORD3 23 +#define wxSTC_REBOL_WORD4 24 +#define wxSTC_REBOL_WORD5 25 +#define wxSTC_REBOL_WORD6 26 +#define wxSTC_REBOL_WORD7 27 +#define wxSTC_REBOL_WORD8 28 + +// Lexical states for SCLEX_SQL +#define wxSTC_SQL_DEFAULT 0 +#define wxSTC_SQL_COMMENT 1 +#define wxSTC_SQL_COMMENTLINE 2 +#define wxSTC_SQL_COMMENTDOC 3 +#define wxSTC_SQL_NUMBER 4 +#define wxSTC_SQL_WORD 5 +#define wxSTC_SQL_STRING 6 +#define wxSTC_SQL_CHARACTER 7 +#define wxSTC_SQL_SQLPLUS 8 +#define wxSTC_SQL_SQLPLUS_PROMPT 9 +#define wxSTC_SQL_OPERATOR 10 +#define wxSTC_SQL_IDENTIFIER 11 +#define wxSTC_SQL_SQLPLUS_COMMENT 13 +#define wxSTC_SQL_COMMENTLINEDOC 15 +#define wxSTC_SQL_WORD2 16 +#define wxSTC_SQL_COMMENTDOCKEYWORD 17 +#define wxSTC_SQL_COMMENTDOCKEYWORDERROR 18 +#define wxSTC_SQL_USER1 19 +#define wxSTC_SQL_USER2 20 +#define wxSTC_SQL_USER3 21 +#define wxSTC_SQL_USER4 22 +#define wxSTC_SQL_QUOTEDIDENTIFIER 23 + +// Lexical states for SCLEX_SMALLTALK +#define wxSTC_ST_DEFAULT 0 +#define wxSTC_ST_STRING 1 +#define wxSTC_ST_NUMBER 2 +#define wxSTC_ST_COMMENT 3 +#define wxSTC_ST_SYMBOL 4 +#define wxSTC_ST_BINARY 5 +#define wxSTC_ST_BOOL 6 +#define wxSTC_ST_SELF 7 +#define wxSTC_ST_SUPER 8 +#define wxSTC_ST_NIL 9 +#define wxSTC_ST_GLOBAL 10 +#define wxSTC_ST_RETURN 11 +#define wxSTC_ST_SPECIAL 12 +#define wxSTC_ST_KWSEND 13 +#define wxSTC_ST_ASSIGN 14 +#define wxSTC_ST_CHARACTER 15 +#define wxSTC_ST_SPEC_SEL 16 + +// Lexical states for SCLEX_FLAGSHIP (clipper) +#define wxSTC_FS_DEFAULT 0 +#define wxSTC_FS_COMMENT 1 +#define wxSTC_FS_COMMENTLINE 2 +#define wxSTC_FS_COMMENTDOC 3 +#define wxSTC_FS_COMMENTLINEDOC 4 +#define wxSTC_FS_COMMENTDOCKEYWORD 5 +#define wxSTC_FS_COMMENTDOCKEYWORDERROR 6 +#define wxSTC_FS_KEYWORD 7 +#define wxSTC_FS_KEYWORD2 8 +#define wxSTC_FS_KEYWORD3 9 +#define wxSTC_FS_KEYWORD4 10 +#define wxSTC_FS_NUMBER 11 +#define wxSTC_FS_STRING 12 +#define wxSTC_FS_PREPROCESSOR 13 +#define wxSTC_FS_OPERATOR 14 +#define wxSTC_FS_IDENTIFIER 15 +#define wxSTC_FS_DATE 16 +#define wxSTC_FS_STRINGEOL 17 +#define wxSTC_FS_CONSTANT 18 +#define wxSTC_FS_ASM 19 +#define wxSTC_FS_LABEL 20 +#define wxSTC_FS_ERROR 21 +#define wxSTC_FS_HEXNUMBER 22 +#define wxSTC_FS_BINNUMBER 23 + +// Lexical states for SCLEX_CSOUND +#define wxSTC_CSOUND_DEFAULT 0 +#define wxSTC_CSOUND_COMMENT 1 +#define wxSTC_CSOUND_NUMBER 2 +#define wxSTC_CSOUND_OPERATOR 3 +#define wxSTC_CSOUND_INSTR 4 +#define wxSTC_CSOUND_IDENTIFIER 5 +#define wxSTC_CSOUND_OPCODE 6 +#define wxSTC_CSOUND_HEADERSTMT 7 +#define wxSTC_CSOUND_USERKEYWORD 8 +#define wxSTC_CSOUND_COMMENTBLOCK 9 +#define wxSTC_CSOUND_PARAM 10 +#define wxSTC_CSOUND_ARATE_VAR 11 +#define wxSTC_CSOUND_KRATE_VAR 12 +#define wxSTC_CSOUND_IRATE_VAR 13 +#define wxSTC_CSOUND_GLOBAL_VAR 14 +#define wxSTC_CSOUND_STRINGEOL 15 + +// Lexical states for SCLEX_INNOSETUP +#define wxSTC_INNO_DEFAULT 0 +#define wxSTC_INNO_COMMENT 1 +#define wxSTC_INNO_KEYWORD 2 +#define wxSTC_INNO_PARAMETER 3 +#define wxSTC_INNO_SECTION 4 +#define wxSTC_INNO_PREPROC 5 +#define wxSTC_INNO_PREPROC_INLINE 6 +#define wxSTC_INNO_COMMENT_PASCAL 7 +#define wxSTC_INNO_KEYWORD_PASCAL 8 +#define wxSTC_INNO_KEYWORD_USER 9 +#define wxSTC_INNO_STRING_DOUBLE 10 +#define wxSTC_INNO_STRING_SINGLE 11 +#define wxSTC_INNO_IDENTIFIER 12 + +// Lexical states for SCLEX_OPAL +#define wxSTC_OPAL_SPACE 0 +#define wxSTC_OPAL_COMMENT_BLOCK 1 +#define wxSTC_OPAL_COMMENT_LINE 2 +#define wxSTC_OPAL_INTEGER 3 +#define wxSTC_OPAL_KEYWORD 4 +#define wxSTC_OPAL_SORT 5 +#define wxSTC_OPAL_STRING 6 +#define wxSTC_OPAL_PAR 7 +#define wxSTC_OPAL_BOOL_CONST 8 +#define wxSTC_OPAL_DEFAULT 32 + +// Lexical states for SCLEX_SPICE +#define wxSTC_SPICE_DEFAULT 0 +#define wxSTC_SPICE_IDENTIFIER 1 +#define wxSTC_SPICE_KEYWORD 2 +#define wxSTC_SPICE_KEYWORD2 3 +#define wxSTC_SPICE_KEYWORD3 4 +#define wxSTC_SPICE_NUMBER 5 +#define wxSTC_SPICE_DELIMITER 6 +#define wxSTC_SPICE_VALUE 7 +#define wxSTC_SPICE_COMMENTLINE 8 + //----------------------------------------- // Commands that can be bound to keystrokes @@ -1439,8 +1797,8 @@ struct SCNotification; #ifndef SWIG extern WXDLLIMPEXP_STC const wxChar* wxSTCNameStr; -class WXDLLIMPEXP_STC wxStyledTextCtrl; -class WXDLLIMPEXP_STC wxStyledTextEvent; +class WXDLLIMPEXP_FWD_STC wxStyledTextCtrl; +class WXDLLIMPEXP_FWD_STC wxStyledTextEvent; #endif //---------------------------------------------------------------------- @@ -1468,10 +1826,10 @@ public: #endif - void Create(wxWindow *parent, wxWindowID id=wxID_ANY, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, long style = 0, - const wxString& name = wxSTCNameStr); + bool Create(wxWindow *parent, wxWindowID id=wxID_ANY, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = 0, + const wxString& name = wxSTCNameStr); //---------------------------------------------------------------------- @@ -1640,6 +1998,12 @@ public: // Define a marker from a bitmap void MarkerDefineBitmap(int markerNumber, const wxBitmap& bmp); + // Add a set of markers to a line. + void MarkerAddSet(int line, int set); + + // Set the alpha used for a marker that is drawn in the text area, not the margin. + void MarkerSetAlpha(int markerNumber, int alpha); + // Set a margin to be either numeric or symbolic. void SetMarginType(int margin, int marginType); @@ -1697,9 +2061,6 @@ public: // Set a style to be mixed case, or to force upper or lower case. void StyleSetCase(int style, int caseForce); - // Set the character set of the font in a style. - void StyleSetCharacterSet(int style, int characterSet); - // Set a style to be a hotspot or not. void StyleSetHotSpot(int style, bool hotspot); @@ -1709,6 +2070,12 @@ public: // Set the background colour of the selection and whether to use this setting. void SetSelBackground(bool useSetting, const wxColour& back); + // Get the alpha of the selection. + int GetSelAlpha(); + + // Set the alpha of the selection. + void SetSelAlpha(int alpha); + // Set the foreground colour of the caret. void SetCaretForeground(const wxColour& fore); @@ -1786,10 +2153,10 @@ public: void SetCaretLineVisible(bool show); // Get the colour of the background of the line containing the caret. - wxColour GetCaretLineBack(); + wxColour GetCaretLineBackground(); // Set the colour of the background of the line containing the caret. - void SetCaretLineBack(const wxColour& back); + void SetCaretLineBackground(const wxColour& back); // Set a style to be changeable or not (read only). // Experimental feature, currently buggy. @@ -1878,6 +2245,20 @@ public: // Default is '?' but can be changed if items contain '?'. void AutoCompSetTypeSeparator(int separatorCharacter); + // Set the maximum width, in characters, of auto-completion and user lists. + // Set to 0 to autosize to fit longest item, which is the default. + void AutoCompSetMaxWidth(int characterCount); + + // Get the maximum width, in characters, of auto-completion and user lists. + int AutoCompGetMaxWidth(); + + // Set the maximum height, in rows, of auto-completion and user lists. + // The default is 5 rows. + void AutoCompSetMaxHeight(int rowCount); + + // Set the maximum height, in rows, of auto-completion and user lists. + int AutoCompGetMaxHeight(); + // Set the number of spaces used for one level of indentation. void SetIndent(int indentSize); @@ -2134,12 +2515,18 @@ public: // Set the foreground colour for the highlighted part of the call tip. void CallTipSetForegroundHighlight(const wxColour& fore); + // Enable use of STYLE_CALLTIP and set call tip tab size in pixels. + void CallTipUseStyle(int tabSize); + // Find the display line of a document line taking hidden lines into account. int VisibleFromDocLine(int line); // Find the document line of a display line taking hidden lines into account. int DocLineFromVisible(int lineDisplay); + // The number of display lines needed to wrap a document line + int WrapCount(int line); + // Set the fold level of a line. // This encodes an integer level along with flags indicating whether the // line is a header and whether it is effectively white space. @@ -2254,7 +2641,7 @@ public: // Retrieve whether the maximum scroll position has the last // line at the bottom of the view. - int GetEndAtLastLine(); + bool GetEndAtLastLine(); // Retrieve the height of a particular line of text in pixels. int TextHeight(int line); @@ -2266,7 +2653,7 @@ public: bool GetUseVerticalScrollBar(); // Append a string to the end of the document without changing the selection. - void AppendText(int length, const wxString& text); + void AppendText(const wxString& text); // Is drawing done in two phases with backgrounds drawn before foregrounds? bool GetTwoPhaseDraw(); @@ -2737,6 +3124,34 @@ public: // Enlarge the document to a particular size of text bytes. void Allocate(int bytes); + // Find the position of a column on a line taking into account tabs and + // multi-byte characters. If beyond end of line, return line end position. + int FindColumn(int line, int column); + + // Can the caret preferred x position only be changed by explicit movement commands? + bool GetCaretSticky(); + + // Stop the caret preferred x position changing when the user types. + void SetCaretSticky(bool useCaretStickyBehaviour); + + // Switch between sticky and non-sticky: meant to be bound to a key. + void ToggleCaretSticky(); + + // Enable/Disable convert-on-paste for line endings + void SetPasteConvertEndings(bool convert); + + // Get convert-on-paste setting + bool GetPasteConvertEndings(); + + // Duplicate the selection. If selection empty duplicate the line containing the caret. + void SelectionDuplicate(); + + // Set background alpha of the caret line. + void SetCaretLineBackAlpha(int alpha); + + // Get the background alpha of the caret line. + int GetCaretLineBackAlpha(); + // Start notifying the container of all key presses and commands. void StartRecord(); @@ -2761,6 +3176,20 @@ public: // Set the lexing language of the document based on string name. void SetLexerLanguage(const wxString& language); + // Retrieve a 'property' value previously set with SetProperty. + wxString GetProperty(const wxString& key); + + // Retrieve a 'property' value previously set with SetProperty, + // with '$()' variable replacement on returned buffer. + wxString GetPropertyExpanded(const wxString& key); + + // Retrieve a 'property' value previously set with SetProperty, + // interpreted as an int AFTER any '$()' variable replacement. + int GetPropertyInt(const wxString& key); + + // Retrieve the number of bits the current lexer needs for styling. + int GetStyleBitsNeeded(); + // END of generated section //---------------------------------------------------------------------- // Others... @@ -2795,15 +3224,22 @@ public: void StyleSetFontAttr(int styleNum, int size, const wxString& faceName, bool bold, bool italic, - bool underline); + bool underline, + wxFontEncoding encoding=wxFONTENCODING_DEFAULT); + // Set the character set of the font in a style. Converts the Scintilla + // character set values to a wxFontEncoding. + void StyleSetCharacterSet(int style, int characterSet); + + // Set the font encoding to be used by a style. + void StyleSetFontEncoding(int style, wxFontEncoding encoding); + // Perform one of the operations defined by the wxSTC_CMD_* constants. void CmdKeyExecute(int cmd); - // Set the left and right margin in the edit area, measured in pixels. void SetMargins(int left, int right); @@ -2865,11 +3301,53 @@ public: bool GetUseAntiAliasing(); + + // The following methods are nearly equivallent to their similarly named + // cousins above. The difference is that these methods bypass wxString + // and always use a char* even if used in a unicode build of wxWidgets. + // In that case the character data will be utf-8 encoded since that is + // what is used internally by Scintilla in unicode builds. + + // Add text to the document at current position. + void AddTextRaw(const char* text); + + // Insert string at a position. + void InsertTextRaw(int pos, const char* text); + + // Retrieve the text of the line containing the caret. + // Returns the index of the caret on the line. +#ifdef SWIG + wxCharBuffer GetCurLineRaw(int* OUTPUT); +#else + wxCharBuffer GetCurLineRaw(int* linePos=NULL); +#endif + + // Retrieve the contents of a line. + wxCharBuffer GetLineRaw(int line); + + // Retrieve the selected text. + wxCharBuffer GetSelectedTextRaw(); + + // Retrieve a range of text. + wxCharBuffer GetTextRangeRaw(int startPos, int endPos); + + // Replace the contents of the document with the argument text. + void SetTextRaw(const char* text); + + // Retrieve all the text in the document. + wxCharBuffer GetTextRaw(); + + // Append a string to the end of the document without changing the selection. + void AppendTextRaw(const char* text); + +#ifdef SWIG + %pythoncode "_stc_utf8_methods.py" +#endif //---------------------------------------------------------------------- #ifndef SWIG -private: +protected: // Event handlers void OnPaint(wxPaintEvent& evt); void OnScrollWin(wxScrollWinEvent& evt); @@ -2898,6 +3376,7 @@ private: void NotifyChange(); void NotifyParent(SCNotification* scn); +private: DECLARE_EVENT_TABLE() DECLARE_DYNAMIC_CLASS(wxStyledTextCtrl) @@ -3041,6 +3520,7 @@ BEGIN_DECLARE_EVENT_TYPES() DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_STC, wxEVT_STC_HOTSPOT_CLICK, 1673) DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_STC, wxEVT_STC_HOTSPOT_DCLICK, 1674) DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_STC, wxEVT_STC_CALLTIP_CLICK, 1675) + DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_STC, wxEVT_STC_AUTOCOMP_SELECTION, 1676) END_DECLARE_EVENT_TYPES() #else enum { @@ -3068,7 +3548,8 @@ END_DECLARE_EVENT_TYPES() wxEVT_STC_ZOOM, wxEVT_STC_HOTSPOT_CLICK, wxEVT_STC_HOTSPOT_DCLICK, - wxEVT_STC_CALLTIP_CLICK + wxEVT_STC_CALLTIP_CLICK, + wxEVT_STC_AUTOCOMP_SELECTION }; #endif @@ -3102,35 +3583,9 @@ typedef void (wxEvtHandler::*wxStyledTextEventFunction)(wxStyledTextEvent&); #define EVT_STC_HOTSPOT_CLICK(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_HOTSPOT_CLICK, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), #define EVT_STC_HOTSPOT_DCLICK(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_HOTSPOT_DCLICK, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), #define EVT_STC_CALLTIP_CLICK(id, fn)) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_CALLTIP_CLICK id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), - -#endif - -//---------------------------------------------------------------------- -// Utility functions used within wxSTC - -#ifndef SWIG -#if wxUSE_UNICODE - -wxString stc2wx(const char* str); -wxString stc2wx(const char* str, size_t len); -const wxWX2MBbuf wx2stc(const wxString& str); - -#else // not UNICODE - -inline wxString stc2wx(const char* str) { - return wxString(str); -} -inline wxString stc2wx(const char* str, size_t len) { - return wxString(str, len); -} -inline const wxWX2MBbuf wx2stc(const wxString& str) { - return str.mbc_str(); -} - -#endif // UNICODE -#endif // SWIG - -//---------------------------------------------------------------------- +#define EVT_STC_AUTOCOMP_SELECTION(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_AUTOCOMP_SELECTION id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), #endif +#endif // wxUSE_STC +#endif // _WX_STC_STC_H_