X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/06b2f04bb7da4bcabf73574a189ace1cbe1ec71b..1d12c6e2be99ae9e7d9a75ba2540ebec7449c92e:/include/wx/stc/stc.h?ds=inline diff --git a/include/wx/stc/stc.h b/include/wx/stc/stc.h index 539857865b..288bf35528 100644 --- a/include/wx/stc/stc.h +++ b/include/wx/stc/stc.h @@ -1,5 +1,5 @@ //////////////////////////////////////////////////////////////////////////// -// Name: stc.h +// Name: wx/stc/stc.h // Purpose: A wxWidgets implementation of Scintilla. This class is the // one meant to be used directly by wx applications. It does not // derive directly from the Scintilla classes, and in fact there @@ -14,9 +14,20 @@ // Created: 13-Jan-2000 // RCS-ID: $Id$ // Copyright: (c) 2000 by Total Control Software -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// +/* + IMPORTANT: include/wx/stc/stc.h is generated by src/stc/gen_iface.py from + src/stc/stc.h.in, don't edit stc.h file as your changes will be + lost after the next regeneration, edit stc.h.in and rerun the + gen_iface.py script instead! + + Parts of this file generated by the script are found in between + the special "{{{" and "}}}" markers, the rest of it is copied + verbatim from src.h.in. + */ + #ifndef _WX_STC_STC_H_ #define _WX_STC_STC_H_ @@ -28,6 +39,11 @@ #include "wx/dnd.h" #include "wx/stopwatch.h" +#include "wx/textentry.h" +#if wxUSE_TEXTCTRL + #include "wx/textctrl.h" +#endif // wxUSE_TEXTCTRL + class WXDLLIMPEXP_FWD_CORE wxScrollBar; // SWIG can't handle "#if" type of conditionals, only "#ifdef" @@ -41,9 +57,7 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar; //---------------------------------------------------------------------- -// BEGIN generated section. The following code is automatically generated -// by gen_iface.py. Do not edit this file. Edit stc.h.in instead -// and regenerate +// STC constants generated section {{{ #define wxSTC_INVALID_POSITION -1 @@ -97,6 +111,9 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar; #define wxSTC_MARK_ARROWS 24 #define wxSTC_MARK_PIXMAP 25 #define wxSTC_MARK_FULLRECT 26 +#define wxSTC_MARK_LEFTRECT 27 +#define wxSTC_MARK_AVAILABLE 28 +#define wxSTC_MARK_UNDERLINE 29 #define wxSTC_MARK_CHARACTER 10000 // Markers used for outlining column. @@ -112,6 +129,8 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar; #define wxSTC_MARGIN_NUMBER 1 #define wxSTC_MARGIN_BACK 2 #define wxSTC_MARGIN_FORE 3 +#define wxSTC_MARGIN_TEXT 4 +#define wxSTC_MARGIN_RTEXT 5 // 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. @@ -194,17 +213,12 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar; #define wxSTC_FOLDLEVELBASE 0x400 #define wxSTC_FOLDLEVELWHITEFLAG 0x1000 #define wxSTC_FOLDLEVELHEADERFLAG 0x2000 -#define wxSTC_FOLDLEVELBOXHEADERFLAG 0x4000 -#define wxSTC_FOLDLEVELBOXFOOTERFLAG 0x8000 -#define wxSTC_FOLDLEVELCONTRACTED 0x10000 -#define wxSTC_FOLDLEVELUNINDENT 0x20000 #define wxSTC_FOLDLEVELNUMBERMASK 0x0FFF #define wxSTC_FOLDFLAG_LINEBEFORE_EXPANDED 0x0002 #define wxSTC_FOLDFLAG_LINEBEFORE_CONTRACTED 0x0004 #define wxSTC_FOLDFLAG_LINEAFTER_EXPANDED 0x0008 #define wxSTC_FOLDFLAG_LINEAFTER_CONTRACTED 0x0010 #define wxSTC_FOLDFLAG_LEVELNUMBERS 0x0040 -#define wxSTC_FOLDFLAG_BOX 0x0001 #define wxSTC_TIME_FOREVER 10000000 #define wxSTC_WRAP_NONE 0 #define wxSTC_WRAP_WORD 1 @@ -215,13 +229,26 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar; #define wxSTC_WRAPVISUALFLAGLOC_DEFAULT 0x0000 #define wxSTC_WRAPVISUALFLAGLOC_END_BY_TEXT 0x0001 #define wxSTC_WRAPVISUALFLAGLOC_START_BY_TEXT 0x0002 +#define wxSTC_WRAPINDENT_FIXED 0 +#define wxSTC_WRAPINDENT_SAME 1 +#define wxSTC_WRAPINDENT_INDENT 2 #define wxSTC_CACHE_NONE 0 #define wxSTC_CACHE_CARET 1 #define wxSTC_CACHE_PAGE 2 #define wxSTC_CACHE_DOCUMENT 3 + +// Control font anti-aliasing. +#define wxSTC_EFF_QUALITY_MASK 0xF +#define wxSTC_EFF_QUALITY_DEFAULT 0 +#define wxSTC_EFF_QUALITY_NON_ANTIALIASED 1 +#define wxSTC_EFF_QUALITY_ANTIALIASED 2 +#define wxSTC_EFF_QUALITY_LCD_OPTIMIZED 3 #define wxSTC_EDGE_NONE 0 #define wxSTC_EDGE_LINE 1 #define wxSTC_EDGE_BACKGROUND 2 +#define wxSTC_STATUS_OK 0 +#define wxSTC_STATUS_FAILURE 1 +#define wxSTC_STATUS_BADALLOC 2 #define wxSTC_CURSORNORMAL -1 #define wxSTC_CURSORWAIT 4 @@ -254,19 +281,23 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar; // This way, we favour the displaying of useful information: the begining of lines, // where most code reside, and the lines after the caret, eg. the body of a function. #define wxSTC_CARET_EVEN 0x08 - -// Selection Modes #define wxSTC_SEL_STREAM 0 #define wxSTC_SEL_RECTANGLE 1 #define wxSTC_SEL_LINES 2 +#define wxSTC_SEL_THIN 3 #define wxSTC_ALPHA_TRANSPARENT 0 #define wxSTC_ALPHA_OPAQUE 255 #define wxSTC_ALPHA_NOALPHA 256 - -// Caret Styles #define wxSTC_CARETSTYLE_INVISIBLE 0 #define wxSTC_CARETSTYLE_LINE 1 #define wxSTC_CARETSTYLE_BLOCK 2 +#define wxSTC_ANNOTATION_HIDDEN 0 +#define wxSTC_ANNOTATION_STANDARD 1 +#define wxSTC_ANNOTATION_BOXED 2 +#define wxSTC_UNDO_MAY_COALESCE 1 +#define wxSTC_SCVS_NONE 0 +#define wxSTC_SCVS_RECTANGULARSELECTION 1 +#define wxSTC_SCVS_USERACCESSIBLE 2 // Maximum value of keywordSet parameter of SetKeyWords. #define wxSTC_KEYWORDSET_MAX 8 @@ -291,7 +322,10 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar; #define wxSTC_STARTACTION 0x2000 #define wxSTC_MOD_CHANGEINDICATOR 0x4000 #define wxSTC_MOD_CHANGELINESTATE 0x8000 -#define wxSTC_MODEVENTMASKALL 0xFFFF +#define wxSTC_MOD_CHANGEMARGIN 0x10000 +#define wxSTC_MOD_CHANGEANNOTATION 0x20000 +#define wxSTC_MOD_CONTAINER 0x40000 +#define wxSTC_MODEVENTMASKALL 0x7FFFF // Symbolic key codes and modifier flags. // ASCII and other printable characters below 256. @@ -320,6 +354,7 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar; #define wxSTC_SCMOD_SHIFT 1 #define wxSTC_SCMOD_CTRL 2 #define wxSTC_SCMOD_ALT 4 +#define wxSTC_SCMOD_SUPER 8 // For SciLexer.h #define wxSTC_LEX_CONTAINER 0 @@ -407,6 +442,18 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar; #define wxSTC_LEX_ABAQUS 84 #define wxSTC_LEX_ASYMPTOTE 85 #define wxSTC_LEX_R 86 +#define wxSTC_LEX_MAGIK 87 +#define wxSTC_LEX_POWERSHELL 88 +#define wxSTC_LEX_MYSQL 89 +#define wxSTC_LEX_PO 90 +#define wxSTC_LEX_TAL 91 +#define wxSTC_LEX_COBOL 92 +#define wxSTC_LEX_TACL 93 +#define wxSTC_LEX_SORCUS 94 +#define wxSTC_LEX_POWERPRO 95 +#define wxSTC_LEX_NIMROD 96 +#define wxSTC_LEX_SML 97 +#define wxSTC_LEX_MARKDOWN 98 // When a lexer specifies its language as SCLEX_AUTOMATIC it receives a // value assigned in sequence from SCLEX_AUTOMATIC+1. @@ -471,6 +518,11 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar; #define wxSTC_D_COMMENTLINEDOC 15 #define wxSTC_D_COMMENTDOCKEYWORD 16 #define wxSTC_D_COMMENTDOCKEYWORDERROR 17 +#define wxSTC_D_STRINGB 18 +#define wxSTC_D_STRINGR 19 +#define wxSTC_D_WORD5 20 +#define wxSTC_D_WORD6 21 +#define wxSTC_D_WORD7 22 // Lexical states for SCLEX_TCL #define wxSTC_TCL_DEFAULT 0 @@ -815,6 +867,7 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar; #define wxSTC_DIFF_POSITION 4 #define wxSTC_DIFF_DELETED 5 #define wxSTC_DIFF_ADDED 6 +#define wxSTC_DIFF_CHANGED 7 // Lexical states for SCLEX_CONF (Apache Configuration Files Lexer) #define wxSTC_CONF_DEFAULT 0 @@ -1007,6 +1060,11 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar; #define wxSTC_CSS_SINGLESTRING 14 #define wxSTC_CSS_IDENTIFIER2 15 #define wxSTC_CSS_ATTRIBUTE 16 +#define wxSTC_CSS_IDENTIFIER3 17 +#define wxSTC_CSS_PSEUDOELEMENT 18 +#define wxSTC_CSS_EXTENDED_IDENTIFIER 19 +#define wxSTC_CSS_EXTENDED_PSEUDOCLASS 20 +#define wxSTC_CSS_EXTENDED_PSEUDOELEMENT 21 // Lexical states for SCLEX_POV #define wxSTC_POV_DEFAULT 0 @@ -1181,8 +1239,19 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar; #define wxSTC_ERLANG_CHARACTER 9 #define wxSTC_ERLANG_MACRO 10 #define wxSTC_ERLANG_RECORD 11 -#define wxSTC_ERLANG_SEPARATOR 12 +#define wxSTC_ERLANG_PREPROC 12 #define wxSTC_ERLANG_NODE_NAME 13 +#define wxSTC_ERLANG_COMMENT_FUNCTION 14 +#define wxSTC_ERLANG_COMMENT_MODULE 15 +#define wxSTC_ERLANG_COMMENT_DOC 16 +#define wxSTC_ERLANG_COMMENT_DOC_MACRO 17 +#define wxSTC_ERLANG_ATOM_QUOTED 18 +#define wxSTC_ERLANG_MACRO_QUOTED 19 +#define wxSTC_ERLANG_RECORD_QUOTED 20 +#define wxSTC_ERLANG_NODE_NAME_QUOTED 21 +#define wxSTC_ERLANG_BIFS 22 +#define wxSTC_ERLANG_MODULES 23 +#define wxSTC_ERLANG_MODULES_ATT 24 #define wxSTC_ERLANG_UNKNOWN 31 // Lexical states for SCLEX_OCTAVE are identical to MatLab @@ -1354,6 +1423,7 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar; #define wxSTC_CAML_OPERATOR 7 #define wxSTC_CAML_NUMBER 8 #define wxSTC_CAML_CHAR 9 +#define wxSTC_CAML_WHITE 10 #define wxSTC_CAML_STRING 11 #define wxSTC_CAML_COMMENT 12 #define wxSTC_CAML_COMMENT1 13 @@ -1527,7 +1597,7 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar; #define wxSTC_INNO_PARAMETER 3 #define wxSTC_INNO_SECTION 4 #define wxSTC_INNO_PREPROC 5 -#define wxSTC_INNO_PREPROC_INLINE 6 +#define wxSTC_INNO_INLINE_EXPANSION 6 #define wxSTC_INNO_COMMENT_PASCAL 7 #define wxSTC_INNO_KEYWORD_PASCAL 8 #define wxSTC_INNO_KEYWORD_USER 9 @@ -1676,9 +1746,167 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar; #define wxSTC_R_INFIX 10 #define wxSTC_R_INFIXEOL 11 +// Lexical state for SCLEX_MAGIKSF +#define wxSTC_MAGIK_DEFAULT 0 +#define wxSTC_MAGIK_COMMENT 1 +#define wxSTC_MAGIK_HYPER_COMMENT 16 +#define wxSTC_MAGIK_STRING 2 +#define wxSTC_MAGIK_CHARACTER 3 +#define wxSTC_MAGIK_NUMBER 4 +#define wxSTC_MAGIK_IDENTIFIER 5 +#define wxSTC_MAGIK_OPERATOR 6 +#define wxSTC_MAGIK_FLOW 7 +#define wxSTC_MAGIK_CONTAINER 8 +#define wxSTC_MAGIK_BRACKET_BLOCK 9 +#define wxSTC_MAGIK_BRACE_BLOCK 10 +#define wxSTC_MAGIK_SQBRACKET_BLOCK 11 +#define wxSTC_MAGIK_UNKNOWN_KEYWORD 12 +#define wxSTC_MAGIK_KEYWORD 13 +#define wxSTC_MAGIK_PRAGMA 14 +#define wxSTC_MAGIK_SYMBOL 15 + +// Lexical state for SCLEX_POWERSHELL +#define wxSTC_POWERSHELL_DEFAULT 0 +#define wxSTC_POWERSHELL_COMMENT 1 +#define wxSTC_POWERSHELL_STRING 2 +#define wxSTC_POWERSHELL_CHARACTER 3 +#define wxSTC_POWERSHELL_NUMBER 4 +#define wxSTC_POWERSHELL_VARIABLE 5 +#define wxSTC_POWERSHELL_OPERATOR 6 +#define wxSTC_POWERSHELL_IDENTIFIER 7 +#define wxSTC_POWERSHELL_KEYWORD 8 +#define wxSTC_POWERSHELL_CMDLET 9 +#define wxSTC_POWERSHELL_ALIAS 10 + +// Lexical state for SCLEX_MYSQL +#define wxSTC_MYSQL_DEFAULT 0 +#define wxSTC_MYSQL_COMMENT 1 +#define wxSTC_MYSQL_COMMENTLINE 2 +#define wxSTC_MYSQL_VARIABLE 3 +#define wxSTC_MYSQL_SYSTEMVARIABLE 4 +#define wxSTC_MYSQL_KNOWNSYSTEMVARIABLE 5 +#define wxSTC_MYSQL_NUMBER 6 +#define wxSTC_MYSQL_MAJORKEYWORD 7 +#define wxSTC_MYSQL_KEYWORD 8 +#define wxSTC_MYSQL_DATABASEOBJECT 9 +#define wxSTC_MYSQL_PROCEDUREKEYWORD 10 +#define wxSTC_MYSQL_STRING 11 +#define wxSTC_MYSQL_SQSTRING 12 +#define wxSTC_MYSQL_DQSTRING 13 +#define wxSTC_MYSQL_OPERATOR 14 +#define wxSTC_MYSQL_FUNCTION 15 +#define wxSTC_MYSQL_IDENTIFIER 16 +#define wxSTC_MYSQL_QUOTEDIDENTIFIER 17 +#define wxSTC_MYSQL_USER1 18 +#define wxSTC_MYSQL_USER2 19 +#define wxSTC_MYSQL_USER3 20 +#define wxSTC_MYSQL_HIDDENCOMMAND 21 + +// Lexical state for SCLEX_PO +#define wxSTC_PO_DEFAULT 0 +#define wxSTC_PO_COMMENT 1 +#define wxSTC_PO_MSGID 2 +#define wxSTC_PO_MSGID_TEXT 3 +#define wxSTC_PO_MSGSTR 4 +#define wxSTC_PO_MSGSTR_TEXT 5 +#define wxSTC_PO_MSGCTXT 6 +#define wxSTC_PO_MSGCTXT_TEXT 7 +#define wxSTC_PO_FUZZY 8 + +// Lexical states for SCLEX_PASCAL +#define wxSTC_PAS_DEFAULT 0 +#define wxSTC_PAS_IDENTIFIER 1 +#define wxSTC_PAS_COMMENT 2 +#define wxSTC_PAS_COMMENT2 3 +#define wxSTC_PAS_COMMENTLINE 4 +#define wxSTC_PAS_PREPROCESSOR 5 +#define wxSTC_PAS_PREPROCESSOR2 6 +#define wxSTC_PAS_NUMBER 7 +#define wxSTC_PAS_HEXNUMBER 8 +#define wxSTC_PAS_WORD 9 +#define wxSTC_PAS_STRING 10 +#define wxSTC_PAS_STRINGEOL 11 +#define wxSTC_PAS_CHARACTER 12 +#define wxSTC_PAS_OPERATOR 13 +#define wxSTC_PAS_ASM 14 + +// Lexical state for SCLEX_SORCUS +#define wxSTC_SORCUS_DEFAULT 0 +#define wxSTC_SORCUS_COMMAND 1 +#define wxSTC_SORCUS_PARAMETER 2 +#define wxSTC_SORCUS_COMMENTLINE 3 +#define wxSTC_SORCUS_STRING 4 +#define wxSTC_SORCUS_STRINGEOL 5 +#define wxSTC_SORCUS_IDENTIFIER 6 +#define wxSTC_SORCUS_OPERATOR 7 +#define wxSTC_SORCUS_NUMBER 8 +#define wxSTC_SORCUS_CONSTANT 9 + +// Lexical state for SCLEX_POWERPRO +#define wxSTC_POWERPRO_DEFAULT 0 +#define wxSTC_POWERPRO_COMMENTBLOCK 1 +#define wxSTC_POWERPRO_COMMENTLINE 2 +#define wxSTC_POWERPRO_NUMBER 3 +#define wxSTC_POWERPRO_WORD 4 +#define wxSTC_POWERPRO_WORD2 5 +#define wxSTC_POWERPRO_WORD3 6 +#define wxSTC_POWERPRO_WORD4 7 +#define wxSTC_POWERPRO_DOUBLEQUOTEDSTRING 8 +#define wxSTC_POWERPRO_SINGLEQUOTEDSTRING 9 +#define wxSTC_POWERPRO_LINECONTINUE 10 +#define wxSTC_POWERPRO_OPERATOR 11 +#define wxSTC_POWERPRO_IDENTIFIER 12 +#define wxSTC_POWERPRO_STRINGEOL 13 +#define wxSTC_POWERPRO_VERBATIM 14 +#define wxSTC_POWERPRO_ALTQUOTE 15 +#define wxSTC_POWERPRO_FUNCTION 16 + +// Lexical states for SCLEX_SML +#define wxSTC_SML_DEFAULT 0 +#define wxSTC_SML_IDENTIFIER 1 +#define wxSTC_SML_TAGNAME 2 +#define wxSTC_SML_KEYWORD 3 +#define wxSTC_SML_KEYWORD2 4 +#define wxSTC_SML_KEYWORD3 5 +#define wxSTC_SML_LINENUM 6 +#define wxSTC_SML_OPERATOR 7 +#define wxSTC_SML_NUMBER 8 +#define wxSTC_SML_CHAR 9 +#define wxSTC_SML_STRING 11 +#define wxSTC_SML_COMMENT 12 +#define wxSTC_SML_COMMENT1 13 +#define wxSTC_SML_COMMENT2 14 +#define wxSTC_SML_COMMENT3 15 + +// Lexical state for SCLEX_MARKDOWN +#define wxSTC_MARKDOWN_DEFAULT 0 +#define wxSTC_MARKDOWN_LINE_BEGIN 1 +#define wxSTC_MARKDOWN_STRONG1 2 +#define wxSTC_MARKDOWN_STRONG2 3 +#define wxSTC_MARKDOWN_EM1 4 +#define wxSTC_MARKDOWN_EM2 5 +#define wxSTC_MARKDOWN_HEADER1 6 +#define wxSTC_MARKDOWN_HEADER2 7 +#define wxSTC_MARKDOWN_HEADER3 8 +#define wxSTC_MARKDOWN_HEADER4 9 +#define wxSTC_MARKDOWN_HEADER5 10 +#define wxSTC_MARKDOWN_HEADER6 11 +#define wxSTC_MARKDOWN_PRECHAR 12 +#define wxSTC_MARKDOWN_ULIST_ITEM 13 +#define wxSTC_MARKDOWN_OLIST_ITEM 14 +#define wxSTC_MARKDOWN_BLOCKQUOTE 15 +#define wxSTC_MARKDOWN_STRIKEOUT 16 +#define wxSTC_MARKDOWN_HRULE 17 +#define wxSTC_MARKDOWN_LINK 18 +#define wxSTC_MARKDOWN_CODE 19 +#define wxSTC_MARKDOWN_CODE2 20 +#define wxSTC_MARKDOWN_CODEBK 21 + +//}}} +//---------------------------------------------------------------------- -//----------------------------------------- -// Commands that can be bound to keystrokes +//---------------------------------------------------------------------- +// Commands that can be bound to keystrokes section {{{ // Redoes the next action on the undo history. @@ -1954,8 +2182,7 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar; // Move caret right one word, position cursor at end of word, extending selection to new caret position. #define wxSTC_CMD_WORDRIGHTENDEXTEND 2442 - -// END of generated section +//}}} //---------------------------------------------------------------------- class ScintillaWX; // forward declare @@ -1963,14 +2190,19 @@ class WordList; struct SCNotification; #ifndef SWIG -extern WXDLLIMPEXP_STC const wxChar* wxSTCNameStr; +extern WXDLLIMPEXP_DATA_STC(const char) wxSTCNameStr[]; class WXDLLIMPEXP_FWD_STC wxStyledTextCtrl; class WXDLLIMPEXP_FWD_STC wxStyledTextEvent; #endif //---------------------------------------------------------------------- -class WXDLLIMPEXP_STC wxStyledTextCtrl : public wxControl +class WXDLLIMPEXP_STC wxStyledTextCtrl : public wxControl, +#if wxUSE_TEXTCTRL + public wxTextCtrlIface +#else // !wxUSE_TEXTCTRL + public wxTextEntryBase +#endif // wxUSE_TEXTCTRL/!wxUSE_TEXTCTRL { public: @@ -2000,10 +2232,8 @@ public: const wxString& name = wxSTCNameStr); -//---------------------------------------------------------------------- -// BEGIN generated section. The following code is automatically generated -// by gen_iface.py. Do not edit this file. Edit stc.h.in instead -// and regenerate + //---------------------------------------------------------------------- + // Generated method declaration section {{{ // Add text to the document at current position. @@ -2021,7 +2251,7 @@ public: // Set all style bytes to 0, remove all folding information. void ClearDocumentStyle(); - // Returns the number of characters in the document. + // Returns the number of bytes in the document. int GetLength() const; // Returns the character byte at the position. @@ -2054,7 +2284,7 @@ public: wxMemoryBuffer GetStyledText(int startPos, int endPos); // Are there any redoable actions in the undo history? - bool CanRedo(); + bool CanRedo() const; // Retrieve the line number at which a particular marker is located. int MarkerLineFromHandle(int handle); @@ -2073,7 +2303,7 @@ public: void SetViewWhiteSpace(int viewWS); // Find the position from a point within the window. - int PositionFromPoint(wxPoint pt); + int PositionFromPoint(wxPoint pt) const; // Find the position from a point within the window but return // INVALID_POSITION if not close to text. @@ -2272,10 +2502,10 @@ public: // Set a style to be a hotspot or not. void StyleSetHotSpot(int style, bool hotspot); - // Set the foreground colour of the selection and whether to use this setting. + // Set the foreground colour of the main and additional selections and whether to use this setting. void SetSelForeground(bool useSetting, const wxColour& fore); - // Set the background colour of the selection and whether to use this setting. + // Set the background colour of the main and additional selections and whether to use this setting. void SetSelBackground(bool useSetting, const wxColour& back); // Get the alpha of the selection. @@ -2315,7 +2545,7 @@ public: void SetCaretPeriod(int periodMilliseconds); // Set the set of characters making up words for when moving or selecting by word. - // First sets deaults like SetCharsDefault. + // First sets defaults like SetCharsDefault. void SetWordChars(const wxString& characters); // Start a sequence of actions that is undone and redone as a unit. @@ -2349,6 +2579,12 @@ public: // Set the background colour of all whitespace and whether to use this setting. void SetWhitespaceBackground(bool useSetting, const wxColour& back); + // Set the size of the dots used to mark space characters. + void SetWhitespaceSize(int size); + + // Get the size of the dots used to mark space characters. + int GetWhitespaceSize() const; + // Divide each styling byte into lexical class bits (default: 5) and indicator // bits (default: 3). If a lexer requires more than 32 lexical states, then this // is used to expand the possible states. @@ -2570,7 +2806,7 @@ public: int startPos, int endPos, wxDC* draw, - wxDC* target, + wxDC* target, wxRect renderRect, wxRect pageRect); @@ -2578,7 +2814,7 @@ public: int GetFirstVisibleLine() const; // Retrieve the contents of a line. - wxString GetLine(int line); + wxString GetLine(int line) const; // Returns the number of lines in the document. There is always at least one. int GetLineCount() const; @@ -2598,9 +2834,6 @@ public: // Is the document different from when it was last saved? bool GetModify() const; - // Select a range of text. - void SetSelection(int start, int end); - // Retrieve the selected text. wxString GetSelectedText(); @@ -2611,10 +2844,10 @@ public: void HideSelection(bool normal); // Retrieve the line containing a position. - int LineFromPosition(int pos); + int LineFromPosition(int pos) const; // Retrieve the position at the start of a line. - int PositionFromLine(int line); + int PositionFromLine(int line) const; // Scroll horizontally and vertically. void LineScroll(int columns, int lines); @@ -2629,10 +2862,10 @@ public: void SetReadOnly(bool readOnly); // Will a paste succeed? - bool CanPaste(); + bool CanPaste() const; // Are there any undoable actions in the undo history? - bool CanUndo(); + bool CanUndo() const; // Delete the undo history. void EmptyUndoBuffer(); @@ -2656,7 +2889,7 @@ public: void SetText(const wxString& text); // Retrieve all the text in the document. - wxString GetText(); + wxString GetText() const; // Retrieve the number of characters in the document. int GetTextLength() const; @@ -2837,6 +3070,12 @@ public: // Retrive the start indent for wrapped lines. int GetWrapStartIndent() const; + // Sets how wrapped sublines are placed. Default is fixed. + void SetWrapIndentMode(int mode); + + // Retrieve how wrapped sublines are placed. Default is fixed. + int GetWrapIndentMode() const; + // Sets the degree of caching of layout information. void SetLayoutCache(int mode); @@ -2888,6 +3127,9 @@ public: // and then the foreground. This avoids chopping off characters that overlap the next run. void SetTwoPhaseDraw(bool twoPhase); + // Scroll so that a display line is at the top of the display. + void SetFirstVisibleLine(int lineDisplay); + // Make the target range start and end be the same as the selection range start and end. void TargetFromSelection(); @@ -3078,8 +3320,8 @@ public: // Move the caret inside current view if it's not there already. void MoveCaretInsideView(); - // How many characters are on a line, not including end of line characters? - int LineLength(int line); + // How many characters are on a line, including end of line characters? + int LineLength(int line) const; // Highlight the characters at two positions. void BraceHighlight(int pos1, int pos2); @@ -3286,7 +3528,7 @@ public: // Copy argument text to the clipboard. void CopyText(int length, const wxString& text); - // Set the selection mode to stream (SC_SEL_STREAM) or rectangular (SC_SEL_RECTANGLE) or + // Set the selection mode to stream (SC_SEL_STREAM) or rectangular (SC_SEL_RECTANGLE/SC_SEL_THIN) or // by lines (SC_SEL_LINES). void SetSelectionMode(int mode); @@ -3435,6 +3677,217 @@ public: // How many entries are allocated to the position cache? int GetPositionCacheSize() const; + // Copy the selection, if selection empty copy the line with the caret + void CopyAllowLine(); + + // Compact the document buffer and return a read-only pointer to the + // characters in the document. + const char* GetCharacterPointer(); + + // Always interpret keyboard input as Unicode + void SetKeysUnicode(bool keysUnicode); + + // Are keys always interpreted as Unicode? + bool GetKeysUnicode() const; + + // Set the alpha fill colour of the given indicator. + void IndicatorSetAlpha(int indicator, int alpha); + + // Get the alpha fill colour of the given indicator. + int IndicatorGetAlpha(int indicator) const; + + // Set extra ascent for each line + void SetExtraAscent(int extraAscent); + + // Get extra ascent for each line + int GetExtraAscent() const; + + // Set extra descent for each line + void SetExtraDescent(int extraDescent); + + // Get extra descent for each line + int GetExtraDescent() const; + + // Which symbol was defined for markerNumber with MarkerDefine + int GetMarkerSymbolDefined(int markerNumber); + + // Set the text in the text margin for a line + void MarginSetText(int line, const wxString& text); + + // Get the text in the text margin for a line + wxString MarginGetText(int line) const; + + // Set the style number for the text margin for a line + void MarginSetStyle(int line, int style); + + // Get the style number for the text margin for a line + int MarginGetStyle(int line) const; + + // Set the style in the text margin for a line + void MarginSetStyles(int line, const wxString& styles); + + // Get the styles in the text margin for a line + wxString MarginGetStyles(int line) const; + + // Clear the margin text on all lines + void MarginTextClearAll(); + + // Get the start of the range of style numbers used for margin text + void MarginSetStyleOffset(int style); + + // Get the start of the range of style numbers used for margin text + int MarginGetStyleOffset() const; + + // Set the annotation text for a line + void AnnotationSetText(int line, const wxString& text); + + // Get the annotation text for a line + wxString AnnotationGetText(int line) const; + + // Set the style number for the annotations for a line + void AnnotationSetStyle(int line, int style); + + // Get the style number for the annotations for a line + int AnnotationGetStyle(int line) const; + + // Set the annotation styles for a line + void AnnotationSetStyles(int line, const wxString& styles); + + // Get the annotation styles for a line + wxString AnnotationGetStyles(int line) const; + + // Get the number of annotation lines for a line + int AnnotationGetLines(int line) const; + + // Clear the annotations from all lines + void AnnotationClearAll(); + + // Set the visibility for the annotations for a view + void AnnotationSetVisible(int visible); + + // Get the visibility for the annotations for a view + int AnnotationGetVisible() const; + + // Get the start of the range of style numbers used for annotations + void AnnotationSetStyleOffset(int style); + + // Get the start of the range of style numbers used for annotations + int AnnotationGetStyleOffset() const; + + // Add a container action to the undo stack + void AddUndoAction(int token, int flags); + + // Find the position of a character from a point within the window. + int CharPositionFromPoint(int x, int y); + + // Find the position of a character from a point within the window. + // Return INVALID_POSITION if not close to text. + int CharPositionFromPointClose(int x, int y); + + // Set whether multiple selections can be made + void SetMultipleSelection(bool multipleSelection); + + // Whether multiple selections can be made + bool GetMultipleSelection() const; + + // Set whether typing can be performed into multiple selections + void SetAdditionalSelectionTyping(bool additionalSelectionTyping); + + // Whether typing can be performed into multiple selections + bool GetAdditionalSelectionTyping() const; + + // Set whether additional carets will blink + void SetAdditionalCaretsBlink(bool additionalCaretsBlink); + + // Whether additional carets will blink + bool GetAdditionalCaretsBlink() const; + + // Set whether additional carets are visible + void SetAdditionalCaretsVisible(bool additionalCaretsBlink); + + // Whether additional carets are visible + bool GetAdditionalCaretsVisible() const; + + // How many selections are there? + int GetSelections() const; + + // Clear selections to a single empty stream selection + void ClearSelections(); + + // Add a selection + int AddSelection(int caret, int anchor); + + // Set the main selection + void SetMainSelection(int selection); + + // Which selection is the main selection + int GetMainSelection() const; + void SetSelectionNCaret(int selection, int pos); + int GetSelectionNCaret(int selection) const; + void SetSelectionNAnchor(int selection, int posAnchor); + int GetSelectionNAnchor(int selection) const; + void SetSelectionNCaretVirtualSpace(int selection, int space); + int GetSelectionNCaretVirtualSpace(int selection) const; + void SetSelectionNAnchorVirtualSpace(int selection, int space); + int GetSelectionNAnchorVirtualSpace(int selection) const; + + // Sets the position that starts the selection - this becomes the anchor. + void SetSelectionNStart(int selection, int pos); + + // Returns the position at the start of the selection. + int GetSelectionNStart(int selection) const; + + // Sets the position that ends the selection - this becomes the currentPosition. + void SetSelectionNEnd(int selection, int pos); + + // Returns the position at the end of the selection. + int GetSelectionNEnd(int selection) const; + void SetRectangularSelectionCaret(int pos); + int GetRectangularSelectionCaret() const; + void SetRectangularSelectionAnchor(int posAnchor); + int GetRectangularSelectionAnchor() const; + void SetRectangularSelectionCaretVirtualSpace(int space); + int GetRectangularSelectionCaretVirtualSpace() const; + void SetRectangularSelectionAnchorVirtualSpace(int space); + int GetRectangularSelectionAnchorVirtualSpace() const; + void SetVirtualSpaceOptions(int virtualSpaceOptions); + int GetVirtualSpaceOptions() const; + + // On GTK+, allow selecting the modifier key to use for mouse-based + // rectangular selection. Often the window manager requires Alt+Mouse Drag + // for moving windows. + // Valid values are SCMOD_CTRL(default), SCMOD_ALT, or SCMOD_SUPER. + void SetRectangularSelectionModifier(int modifier); + + // Get the modifier key used for rectangular selection. + int GetRectangularSelectionModifier() const; + + // Set the foreground colour of additional selections. + // Must have previously called SetSelFore with non-zero first argument for this to have an effect. + void SetAdditionalSelForeground(const wxColour& fore); + + // Set the background colour of additional selections. + // Must have previously called SetSelBack with non-zero first argument for this to have an effect. + void SetAdditionalSelBackground(const wxColour& back); + + // Set the alpha of the selection. + void SetAdditionalSelAlpha(int alpha); + + // Get the alpha of the selection. + int GetAdditionalSelAlpha() const; + + // Set the foreground colour of additional carets. + void SetAdditionalCaretForeground(const wxColour& fore); + + // Get the foreground colour of additional carets. + wxColour GetAdditionalCaretForeground() const; + + // Set the main selection to the next selection. + void RotateSelection(); + + // Swap that caret and anchor of the main selection. + void SwapMainAnchorCaret(); + // Start notifying the container of all key presses and commands. void StartRecord(); @@ -3473,10 +3926,10 @@ public: // Retrieve the number of bits the current lexer needs for styling. int GetStyleBitsNeeded() const; -// END of generated section -//---------------------------------------------------------------------- -// Others... + //}}} + //---------------------------------------------------------------------- + // Manually declared methods // Returns the line number of the line with the caret. int GetCurrentLine(); @@ -3520,7 +3973,7 @@ public: // 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); @@ -3530,13 +3983,6 @@ public: void SetMargins(int left, int right); - // Retrieve the start and end positions of the current selection. -#ifdef SWIG - void GetSelection(int* OUTPUT, int* OUTPUT); -#else - void GetSelection(int* startPos, int* endPos); -#endif - // Retrieve the point in the window where a position is displayed. wxPoint PointFromPosition(int pos); @@ -3554,7 +4000,7 @@ public: // NB: this method is not really const as it can modify the control but it // has to be declared as such as it's called from both const and // non-const methods and we can't distinguish between the two - long SendMsg(int msg, long wp=0, long lp=0) const; + wxIntPtr SendMsg(int msg, wxUIntPtr wp=0, wxIntPtr lp=0) const; // Set the vertical scrollbar to use instead of the ont that's built-in. @@ -3568,11 +4014,14 @@ public: bool GetLastKeydownProcessed() { return m_lastKeyDownConsumed; } void SetLastKeydownProcessed(bool val) { m_lastKeyDownConsumed = val; } + // if we derive from wxTextAreaBase it already provides these methods +#if !wxUSE_TEXTCTRL // Write the contents of the editor to filename bool SaveFile(const wxString& filename); // Load the contents of filename into the editor bool LoadFile(const wxString& filename); +#endif // !wxUSE_TEXTCTRL #ifdef STC_USE_DND // Allow for simulating a DnD DragOver @@ -3591,13 +4040,13 @@ 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); @@ -3633,11 +4082,172 @@ public: #ifdef SWIG %pythoncode "_stc_utf8_methods.py" #endif -//---------------------------------------------------------------------- -#ifndef SWIG + // implement wxTextEntryBase pure virtual methods + // ---------------------------------------------- + + virtual void WriteText(const wxString& text) { AddText(text); } + virtual void Remove(long from, long to) + { + Replace(from, to, ""); + } + virtual void Replace(long from, long to, const wxString& text) + { + SetTargetStart(from); + SetTargetEnd(to); + ReplaceTarget(text); + } + + /* + These functions are already declared in the generated section. + + virtual void Copy(); + virtual void Cut(); + virtual void Paste(); + + virtual void Undo(); + virtual void Redo(); + + virtual bool CanUndo() const; + virtual bool CanRedo() const; + + */ + + virtual void SetInsertionPoint(long pos) { SetCurrentPos(pos); } + virtual long GetInsertionPoint() const { return GetCurrentPos(); } + virtual long GetLastPosition() const { return GetTextLength(); } + + virtual void SetSelection(long from, long to) + { + if ( from == -1 && to == -1 ) + { + SelectAll(); + } + else + { + SetSelectionStart(from); + SetSelectionEnd(to); + } + } + +#ifdef SWIG + void GetSelection(long* OUTPUT, long* OUTPUT) const; +#else + virtual void GetSelection(long *from, long *to) const + { + if ( from ) + *from = GetSelectionStart(); + if ( to ) + *to = GetSelectionEnd(); + } + + // kept for compatibility only + void GetSelection(int *from, int *to) + { + long f, t; + GetSelection(&f, &t); + if ( from ) + *from = f; + if ( to ) + *to = t; + } +#endif + + virtual bool IsEditable() const { return !GetReadOnly(); } + virtual void SetEditable(bool editable) { SetReadOnly(!editable); } + + // implement wxTextAreaBase pure virtual methods + // --------------------------------------------- + + virtual int GetLineLength(long n) const { return GetLine(n).length(); } + virtual wxString GetLineText(long n) const { return GetLine(n); } + virtual int GetNumberOfLines() const { return GetLineCount(); } + + virtual bool IsModified() const { return GetModify(); } + virtual void MarkDirty() { wxFAIL_MSG("not implemented"); } + virtual void DiscardEdits() { SetSavePoint(); } + + virtual bool SetStyle(long WXUNUSED(start), long WXUNUSED(end), + const wxTextAttr& WXUNUSED(style)) + { + wxFAIL_MSG("not implemented"); + + return false; + } + + virtual bool GetStyle(long WXUNUSED(position), wxTextAttr& WXUNUSED(style)) + { + wxFAIL_MSG("not implemented"); + + return false; + } + + virtual bool SetDefaultStyle(const wxTextAttr& WXUNUSED(style)) + { + wxFAIL_MSG("not implemented"); + + return false; + } + + virtual long XYToPosition(long x, long y) const + { + long pos = PositionFromLine(y); + pos += x; + return pos; + } + + virtual bool PositionToXY(long pos, long *x, long *y) const + { + if ( x ) + *x = -1; // TODO + + if ( y ) + { + long l = LineFromPosition(pos); + if ( l == -1 ) + return false; + *y = l; + } + + return true; + } + + virtual void ShowPosition(long pos) { GotoPos(pos); } + + // FIXME-VC6: can't use wxWindow here because of "error C2603: illegal + // access declaration: 'wxWindow' is not a direct base of + // 'wxStyledTextCtrl'" with VC6 + using wxControl::HitTest; + + virtual wxTextCtrlHitTestResult HitTest(const wxPoint& pt, long *pos) const + { + const long l = PositionFromPoint(pt); + if ( l == -1 ) + return wxTE_HT_BELOW; // we don't really know where it was + + if ( pos ) + *pos = l; + + return wxTE_HT_ON_TEXT; + } + + // just unhide it + virtual wxTextCtrlHitTestResult HitTest(const wxPoint& pt, + wxTextCoord *col, + wxTextCoord *row) const + { + return wxTextAreaBase::HitTest(pt, col, row); + } + protected: + virtual wxString DoGetValue() const { return GetText(); } + virtual wxWindow *GetEditableWindow() { return this; } + +#ifndef SWIG + virtual bool DoLoadFile(const wxString& file, int fileType); + virtual bool DoSaveFile(const wxString& file, int fileType); + // Event handlers void OnPaint(wxPaintEvent& evt); void OnScrollWin(wxScrollWinEvent& evt); @@ -3679,9 +4289,13 @@ protected: bool m_lastKeyDownConsumed; + // the timestamp that consists of the last wheel event + // added to the time taken to process that event. + long m_lastWheelTimestamp; + friend class ScintillaWX; friend class Platform; -#endif +#endif // !SWIG }; //---------------------------------------------------------------------- @@ -3784,34 +4398,36 @@ private: #ifndef SWIG -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_CHANGE; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_STYLENEEDED; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_CHARADDED; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_SAVEPOINTREACHED; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_SAVEPOINTLEFT; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_ROMODIFYATTEMPT; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_KEY; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_DOUBLECLICK; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_UPDATEUI; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_MODIFIED; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_MACRORECORD; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_MARGINCLICK; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_NEEDSHOWN; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_PAINTED; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_USERLISTSELECTION; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_URIDROPPED; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_DWELLSTART; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_DWELLEND; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_START_DRAG; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_DRAG_OVER; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_DO_DROP; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_ZOOM; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_HOTSPOT_CLICK; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_HOTSPOT_DCLICK; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_CALLTIP_CLICK; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_AUTOCOMP_SELECTION; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_INDICATOR_CLICK; -extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_INDICATOR_RELEASE; +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_CHANGE, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_STYLENEEDED, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_CHARADDED, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_SAVEPOINTREACHED, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_SAVEPOINTLEFT, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_ROMODIFYATTEMPT, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_KEY, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_DOUBLECLICK, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_UPDATEUI, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_MODIFIED, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_MACRORECORD, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_MARGINCLICK, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_NEEDSHOWN, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_PAINTED, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_USERLISTSELECTION, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_URIDROPPED, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_DWELLSTART, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_DWELLEND, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_START_DRAG, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_DRAG_OVER, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_DO_DROP, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_ZOOM, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_HOTSPOT_CLICK, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_HOTSPOT_DCLICK, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_CALLTIP_CLICK, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_AUTOCOMP_SELECTION, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_INDICATOR_CLICK, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_INDICATOR_RELEASE, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_AUTOCOMP_CANCELLED, wxStyledTextEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_STC, wxEVT_STC_AUTOCOMP_CHAR_DELETED, wxStyledTextEvent ); #else enum { wxEVT_STC_CHANGE, @@ -3841,7 +4457,9 @@ extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_INDICATOR_RELEASE; wxEVT_STC_CALLTIP_CLICK, wxEVT_STC_AUTOCOMP_SELECTION, wxEVT_STC_INDICATOR_CLICK, - wxEVT_STC_INDICATOR_RELEASE + wxEVT_STC_INDICATOR_RELEASE, + wxEVT_STC_AUTOCOMP_CANCELLED, + wxEVT_STC_AUTOCOMP_CHAR_DELETED }; #endif @@ -3850,34 +4468,39 @@ extern WXDLLIMPEXP_STC const wxEventType wxEVT_STC_INDICATOR_RELEASE; #ifndef SWIG typedef void (wxEvtHandler::*wxStyledTextEventFunction)(wxStyledTextEvent&); -#define EVT_STC_CHANGE(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_CHANGE, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_STC_STYLENEEDED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_STYLENEEDED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_STC_CHARADDED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_CHARADDED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_STC_SAVEPOINTREACHED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_SAVEPOINTREACHED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_STC_SAVEPOINTLEFT(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_SAVEPOINTLEFT, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_STC_ROMODIFYATTEMPT(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_ROMODIFYATTEMPT, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_STC_KEY(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_KEY, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_STC_DOUBLECLICK(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_DOUBLECLICK, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_STC_UPDATEUI(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_UPDATEUI, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_STC_MODIFIED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_MODIFIED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_STC_MACRORECORD(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_MACRORECORD, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_STC_MARGINCLICK(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_MARGINCLICK, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_STC_NEEDSHOWN(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_NEEDSHOWN, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_STC_PAINTED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_PAINTED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_STC_USERLISTSELECTION(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_USERLISTSELECTION, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_STC_URIDROPPED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_URIDROPPED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_STC_DWELLSTART(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_DWELLSTART, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_STC_DWELLEND(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_DWELLEND, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_STC_START_DRAG(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_START_DRAG, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_STC_DRAG_OVER(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_DRAG_OVER, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_STC_DO_DROP(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_DO_DROP, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_STC_ZOOM(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_ZOOM, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#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 ), -#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 ), -#define EVT_STC_INDICATOR_CLICK(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_INDICATOR_CLICK id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_STC_INDICATOR_RELEASE(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_INDICATOR_RELEASE id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxStyledTextEventFunction, & fn ), (wxObject *) NULL ), +#define wxStyledTextEventHandler( func ) \ + wxEVENT_HANDLER_CAST( wxStyledTextEventFunction, func ) + +#define EVT_STC_CHANGE(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_CHANGE, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_STYLENEEDED(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_STYLENEEDED, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_CHARADDED(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_CHARADDED, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_SAVEPOINTREACHED(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_SAVEPOINTREACHED, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_SAVEPOINTLEFT(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_SAVEPOINTLEFT, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_ROMODIFYATTEMPT(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_ROMODIFYATTEMPT, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_KEY(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_KEY, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_DOUBLECLICK(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_DOUBLECLICK, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_UPDATEUI(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_UPDATEUI, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_MODIFIED(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_MODIFIED, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_MACRORECORD(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_MACRORECORD, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_MARGINCLICK(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_MARGINCLICK, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_NEEDSHOWN(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_NEEDSHOWN, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_PAINTED(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_PAINTED, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_USERLISTSELECTION(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_USERLISTSELECTION, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_URIDROPPED(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_URIDROPPED, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_DWELLSTART(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_DWELLSTART, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_DWELLEND(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_DWELLEND, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_START_DRAG(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_START_DRAG, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_DRAG_OVER(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_DRAG_OVER, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_DO_DROP(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_DO_DROP, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_ZOOM(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_ZOOM, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_HOTSPOT_CLICK(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_HOTSPOT_CLICK, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_HOTSPOT_DCLICK(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_HOTSPOT_DCLICK, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_CALLTIP_CLICK(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_CALLTIP_CLICK, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_AUTOCOMP_SELECTION(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_AUTOCOMP_SELECTION, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_INDICATOR_CLICK(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_INDICATOR_CLICK, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_INDICATOR_RELEASE(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_INDICATOR_RELEASE, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_AUTOCOMP_CANCELLED(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_AUTOCOMP_CANCELLED, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), +#define EVT_STC_AUTOCOMP_CHAR_DELETED(id, fn) wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_AUTOCOMP_CHAR_DELETED, id, wxID_ANY, wxStyledTextEventHandler( fn ), (wxObject *) NULL ), #endif