X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e9bafca0f56de34638d4c3fef8cf74fe9351193..1cf57808cb146742378d24faa77b9e9482c86b2b:/include/wx/stc/stc.h diff --git a/include/wx/stc/stc.h b/include/wx/stc/stc.h index 3a1132d020..7014fbcb17 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 "wx/wx.h" -#include "wx/dnd.h" - +#if wxUSE_STC -#ifdef WXMAKINGDLL_STC - #define WXDLLIMPEXP_STC WXEXPORT -#elif defined(WXUSINGDLL) - #define WXDLLIMPEXP_STC WXIMPORT -#else // not making nor using DLL - #define WXDLLIMPEXP_STC -#endif +#include "wx/control.h" +#include "wx/dnd.h" +#include "wx/stopwatch.h" +class WXDLLIMPEXP_FWD_CORE wxScrollBar; // SWIG can't handle "#if" type of conditionals, only "#ifdef" #ifdef SWIG @@ -120,17 +116,20 @@ #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 +#define wxSTC_STYLE_MAX 255 // Character set identifiers are used in StyleSetCharacterSet. // The values are the same as the Windows *_CHARSET values. @@ -158,7 +157,8 @@ #define wxSTC_CASE_MIXED 0 #define wxSTC_CASE_UPPER 1 #define wxSTC_CASE_LOWER 2 -#define wxSTC_INDIC_MAX 7 + +// Indicator style enumeration and some constants #define wxSTC_INDIC_PLAIN 0 #define wxSTC_INDIC_SQUIGGLE 1 #define wxSTC_INDIC_TT 2 @@ -166,10 +166,17 @@ #define wxSTC_INDIC_STRIKE 4 #define wxSTC_INDIC_HIDDEN 5 #define wxSTC_INDIC_BOX 6 +#define wxSTC_INDIC_ROUNDBOX 7 +#define wxSTC_INDIC_MAX 31 +#define wxSTC_INDIC_CONTAINER 8 #define wxSTC_INDIC0_MASK 0x20 #define wxSTC_INDIC1_MASK 0x40 #define wxSTC_INDIC2_MASK 0x80 #define wxSTC_INDICS_MASK 0xE0 +#define wxSTC_IV_NONE 0 +#define wxSTC_IV_REAL 1 +#define wxSTC_IV_LOOKFORWARD 2 +#define wxSTC_IV_LOOKBOTH 3 // PrintColourMode - use same colours as screen. #define wxSTC_PRINT_NORMAL 0 @@ -254,10 +261,18 @@ // where most code reside, and the lines after the caret, eg. the body of a function. #define wxSTC_CARET_EVEN 0x08 -// Selection modes +// Selection Modes #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 + +// Caret Styles +#define wxSTC_CARETSTYLE_INVISIBLE 0 +#define wxSTC_CARETSTYLE_LINE 1 +#define wxSTC_CARETSTYLE_BLOCK 2 // Maximum value of keywordSet parameter of SetKeyWords. #define wxSTC_KEYWORDSET_MAX 8 @@ -279,7 +294,10 @@ #define wxSTC_MOD_BEFOREINSERT 0x400 #define wxSTC_MOD_BEFOREDELETE 0x800 #define wxSTC_MULTILINEUNDOREDO 0x1000 -#define wxSTC_MODEVENTMASKALL 0x1FFF +#define wxSTC_STARTACTION 0x2000 +#define wxSTC_MOD_CHANGEINDICATOR 0x4000 +#define wxSTC_MOD_CHANGELINESTATE 0x8000 +#define wxSTC_MODEVENTMASKALL 0xFFFF // Symbolic key codes and modifier flags. // ASCII and other printable characters below 256. @@ -301,6 +319,9 @@ #define wxSTC_KEY_ADD 310 #define wxSTC_KEY_SUBTRACT 311 #define wxSTC_KEY_DIVIDE 312 +#define wxSTC_KEY_WIN 313 +#define wxSTC_KEY_RWIN 314 +#define wxSTC_KEY_MENU 315 #define wxSTC_SCMOD_NORM 0 #define wxSTC_SCMOD_SHIFT 1 #define wxSTC_SCMOD_CTRL 2 @@ -381,6 +402,17 @@ #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 +#define wxSTC_LEX_D 79 +#define wxSTC_LEX_CMAKE 80 +#define wxSTC_LEX_GAP 81 +#define wxSTC_LEX_PLM 82 +#define wxSTC_LEX_PROGRESS 83 +#define wxSTC_LEX_ABAQUS 84 +#define wxSTC_LEX_ASYMPTOTE 85 +#define wxSTC_LEX_R 86 // When a lexer specifies its language as SCLEX_AUTOMATIC it receives a // value assigned in sequence from SCLEX_AUTOMATIC+1. @@ -426,6 +458,50 @@ #define wxSTC_C_COMMENTDOCKEYWORDERROR 18 #define wxSTC_C_GLOBALCLASS 19 +// Lexical states for SCLEX_D +#define wxSTC_D_DEFAULT 0 +#define wxSTC_D_COMMENT 1 +#define wxSTC_D_COMMENTLINE 2 +#define wxSTC_D_COMMENTDOC 3 +#define wxSTC_D_COMMENTNESTED 4 +#define wxSTC_D_NUMBER 5 +#define wxSTC_D_WORD 6 +#define wxSTC_D_WORD2 7 +#define wxSTC_D_WORD3 8 +#define wxSTC_D_TYPEDEF 9 +#define wxSTC_D_STRING 10 +#define wxSTC_D_STRINGEOL 11 +#define wxSTC_D_CHARACTER 12 +#define wxSTC_D_OPERATOR 13 +#define wxSTC_D_IDENTIFIER 14 +#define wxSTC_D_COMMENTLINEDOC 15 +#define wxSTC_D_COMMENTDOCKEYWORD 16 +#define wxSTC_D_COMMENTDOCKEYWORDERROR 17 + +// 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 @@ -596,6 +672,9 @@ #define wxSTC_PL_STRING_QR 29 #define wxSTC_PL_STRING_QW 30 #define wxSTC_PL_POD_VERB 31 +#define wxSTC_PL_SUB_PROTOTYPE 40 +#define wxSTC_PL_FORMAT_IDENT 41 +#define wxSTC_PL_FORMAT 42 // Lexical states for SCLEX_RUBY #define wxSTC_RB_DEFAULT 0 @@ -660,6 +739,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 @@ -712,6 +792,7 @@ #define wxSTC_ERR_ABSF 18 #define wxSTC_ERR_TIDY 19 #define wxSTC_ERR_JAVA_STACK 20 +#define wxSTC_ERR_VALUE 21 // Lexical states for SCLEX_BATCH #define wxSTC_BAT_DEFAULT 0 @@ -1076,6 +1157,7 @@ #define wxSTC_YAML_DOCUMENT 6 #define wxSTC_YAML_TEXT 7 #define wxSTC_YAML_ERROR 8 +#define wxSTC_YAML_OPERATOR 9 // Lexical states for SCLEX_TEX #define wxSTC_TEX_DEFAULT 0 @@ -1204,6 +1286,7 @@ #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 @@ -1323,6 +1406,7 @@ #define wxSTC_T3_USER1 17 #define wxSTC_T3_USER2 18 #define wxSTC_T3_USER3 19 +#define wxSTC_T3_BRACE 20 // Lexical states for SCLEX_REBOL #define wxSTC_REBOL_DEFAULT 0 @@ -1442,6 +1526,162 @@ #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 + +// Lexical states for SCLEX_CMAKE +#define wxSTC_CMAKE_DEFAULT 0 +#define wxSTC_CMAKE_COMMENT 1 +#define wxSTC_CMAKE_STRINGDQ 2 +#define wxSTC_CMAKE_STRINGLQ 3 +#define wxSTC_CMAKE_STRINGRQ 4 +#define wxSTC_CMAKE_COMMANDS 5 +#define wxSTC_CMAKE_PARAMETERS 6 +#define wxSTC_CMAKE_VARIABLE 7 +#define wxSTC_CMAKE_USERDEFINED 8 +#define wxSTC_CMAKE_WHILEDEF 9 +#define wxSTC_CMAKE_FOREACHDEF 10 +#define wxSTC_CMAKE_IFDEFINEDEF 11 +#define wxSTC_CMAKE_MACRODEF 12 +#define wxSTC_CMAKE_STRINGVAR 13 +#define wxSTC_CMAKE_NUMBER 14 + +// Lexical states for SCLEX_GAP +#define wxSTC_GAP_DEFAULT 0 +#define wxSTC_GAP_IDENTIFIER 1 +#define wxSTC_GAP_KEYWORD 2 +#define wxSTC_GAP_KEYWORD2 3 +#define wxSTC_GAP_KEYWORD3 4 +#define wxSTC_GAP_KEYWORD4 5 +#define wxSTC_GAP_STRING 6 +#define wxSTC_GAP_CHAR 7 +#define wxSTC_GAP_OPERATOR 8 +#define wxSTC_GAP_COMMENT 9 +#define wxSTC_GAP_NUMBER 10 +#define wxSTC_GAP_STRINGEOL 11 + +// Lexical state for SCLEX_PLM +#define wxSTC_PLM_DEFAULT 0 +#define wxSTC_PLM_COMMENT 1 +#define wxSTC_PLM_STRING 2 +#define wxSTC_PLM_NUMBER 3 +#define wxSTC_PLM_IDENTIFIER 4 +#define wxSTC_PLM_OPERATOR 5 +#define wxSTC_PLM_CONTROL 6 +#define wxSTC_PLM_KEYWORD 7 + +// Lexical state for SCLEX_PROGRESS +#define wxSTC_4GL_DEFAULT 0 +#define wxSTC_4GL_NUMBER 1 +#define wxSTC_4GL_WORD 2 +#define wxSTC_4GL_STRING 3 +#define wxSTC_4GL_CHARACTER 4 +#define wxSTC_4GL_PREPROCESSOR 5 +#define wxSTC_4GL_OPERATOR 6 +#define wxSTC_4GL_IDENTIFIER 7 +#define wxSTC_4GL_BLOCK 8 +#define wxSTC_4GL_END 9 +#define wxSTC_4GL_COMMENT1 10 +#define wxSTC_4GL_COMMENT2 11 +#define wxSTC_4GL_COMMENT3 12 +#define wxSTC_4GL_COMMENT4 13 +#define wxSTC_4GL_COMMENT5 14 +#define wxSTC_4GL_COMMENT6 15 +#define wxSTC_4GL_DEFAULT_ 16 +#define wxSTC_4GL_NUMBER_ 17 +#define wxSTC_4GL_WORD_ 18 +#define wxSTC_4GL_STRING_ 19 +#define wxSTC_4GL_CHARACTER_ 20 +#define wxSTC_4GL_PREPROCESSOR_ 21 +#define wxSTC_4GL_OPERATOR_ 22 +#define wxSTC_4GL_IDENTIFIER_ 23 +#define wxSTC_4GL_BLOCK_ 24 +#define wxSTC_4GL_END_ 25 +#define wxSTC_4GL_COMMENT1_ 26 +#define wxSTC_4GL_COMMENT2_ 27 +#define wxSTC_4GL_COMMENT3_ 28 +#define wxSTC_4GL_COMMENT4_ 29 +#define wxSTC_4GL_COMMENT5_ 30 +#define wxSTC_4GL_COMMENT6_ 31 + +// Lexical states for SCLEX_ABAQUS +#define wxSTC_ABAQUS_DEFAULT 0 +#define wxSTC_ABAQUS_COMMENT 1 +#define wxSTC_ABAQUS_COMMENTBLOCK 2 +#define wxSTC_ABAQUS_NUMBER 3 +#define wxSTC_ABAQUS_STRING 4 +#define wxSTC_ABAQUS_OPERATOR 5 +#define wxSTC_ABAQUS_WORD 6 +#define wxSTC_ABAQUS_PROCESSOR 7 +#define wxSTC_ABAQUS_COMMAND 8 +#define wxSTC_ABAQUS_SLASHCOMMAND 9 +#define wxSTC_ABAQUS_STARCOMMAND 10 +#define wxSTC_ABAQUS_ARGUMENT 11 +#define wxSTC_ABAQUS_FUNCTION 12 + +// Lexical states for SCLEX_ASYMPTOTE +#define wxSTC_ASY_DEFAULT 0 +#define wxSTC_ASY_COMMENT 1 +#define wxSTC_ASY_COMMENTLINE 2 +#define wxSTC_ASY_NUMBER 3 +#define wxSTC_ASY_WORD 4 +#define wxSTC_ASY_STRING 5 +#define wxSTC_ASY_CHARACTER 6 +#define wxSTC_ASY_OPERATOR 7 +#define wxSTC_ASY_IDENTIFIER 8 +#define wxSTC_ASY_STRINGEOL 9 +#define wxSTC_ASY_COMMENTLINEDOC 10 +#define wxSTC_ASY_WORD2 11 + +// Lexical states for SCLEX_R +#define wxSTC_R_DEFAULT 0 +#define wxSTC_R_COMMENT 1 +#define wxSTC_R_KWORD 2 +#define wxSTC_R_BASEKWORD 3 +#define wxSTC_R_OTHERKWORD 4 +#define wxSTC_R_NUMBER 5 +#define wxSTC_R_STRING 6 +#define wxSTC_R_STRING2 7 +#define wxSTC_R_OPERATOR 8 +#define wxSTC_R_IDENTIFIER 9 +#define wxSTC_R_INFIX 10 +#define wxSTC_R_INFIXEOL 11 + //----------------------------------------- // Commands that can be bound to keystrokes @@ -1581,6 +1821,9 @@ // Delete the word to the right of the caret. #define wxSTC_CMD_DELWORDRIGHT 2336 +// Delete the word to the right of the caret, but not the trailing non-word characters. +#define wxSTC_CMD_DELWORDRIGHTEND 2518 + // Cut the line containing the caret. #define wxSTC_CMD_LINECUT 2337 @@ -1727,8 +1970,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 //---------------------------------------------------------------------- @@ -1931,6 +2174,9 @@ public: // 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); @@ -1985,6 +2231,46 @@ public: // Set a style to be underlined or not. void StyleSetUnderline(int style, bool underline); + // Get the foreground colour of a style. + wxColour StyleGetForeground(int style); + + // Get the background colour of a style. + wxColour StyleGetBackground(int style); + + // Get is a style bold or not. + bool StyleGetBold(int style); + + // Get is a style italic or not. + bool StyleGetItalic(int style); + + // Get the size of characters of a style. + int StyleGetSize(int style); + + // Get the font facename of a style + wxString StyleGetFaceName(int style); + + // Get is a style to have its end of line filled or not. + bool StyleGetEOLFilled(int style); + + // Get is a style underlined or not. + bool StyleGetUnderline(int style); + + // Get is a style mixed case, or to force upper or lower case. + int StyleGetCase(int style); + + // Get the character set of the font in a style. + int StyleGetCharacterSet(int style); + + // Get is a style visible or not. + bool StyleGetVisible(int style); + + // Get is a style changeable or not (read only). + // Experimental feature, currently buggy. + bool StyleGetChangeable(int style); + + // Get is a style a hotspot or not. + bool StyleGetHotSpot(int style); + // Set a style to be mixed case, or to force upper or lower case. void StyleSetCase(int style, int caseForce); @@ -1997,6 +2283,18 @@ 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); + + // Is the selection end of line filled? + bool GetSelEOLFilled(); + + // Set the selection to have its end of line filled or not. + void SetSelEOLFilled(bool filled); + // Set the foreground colour of the caret. void SetCaretForeground(const wxColour& fore); @@ -2044,6 +2342,12 @@ public: // Retrieve the foreground colour of an indicator. wxColour IndicatorGetForeground(int indic); + // Set an indicator to draw under text or over(default). + void IndicatorSetUnder(int indic, bool under); + + // Retrieve whether indicator drawn under or over text. + bool IndicatorGetUnder(int indic); + // Set the foreground colour of all whitespace and whether to use this setting. void SetWhitespaceForeground(bool useSetting, const wxColour& fore); @@ -2074,10 +2378,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. @@ -2212,10 +2516,10 @@ public: bool GetUseHorizontalScrollBar(); // Show or hide indentation guides. - void SetIndentationGuides(bool show); + void SetIndentationGuides(int indentView); // Are the indentation guides visible? - bool GetIndentationGuides(); + int GetIndentationGuides(); // Set the highlighted indentation guide column. // 0 = no highlighted guide. @@ -2436,6 +2740,9 @@ 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); @@ -2547,6 +2854,12 @@ public: // Retrieve the document width assumed for scrolling. int GetScrollWidth(); + // Sets whether the maximum width line displayed is used to set scroll width. + void SetScrollWidthTracking(bool tracking); + + // Retrieve whether the scroll width tracks wide lines. + bool GetScrollWidthTracking(); + // Measure the pixel width of some text in a particular style. // NUL terminated text argument. // Does not handle tab or control characters. @@ -2707,6 +3020,9 @@ public: // Delete the word to the right of the caret. void DelWordRight(); + // Delete the word to the right of the caret, but not the trailing non-word characters. + void DelWordRightEnd(); + // Cut the line containing the caret. void LineCut(); @@ -2934,15 +3250,27 @@ public: // Set a fore colour for active hotspots. void SetHotspotActiveForeground(bool useSetting, const wxColour& fore); + // Get the fore colour for active hotspots. + wxColour GetHotspotActiveForeground(); + // Set a back colour for active hotspots. void SetHotspotActiveBackground(bool useSetting, const wxColour& back); + // Get the back colour for active hotspots. + wxColour GetHotspotActiveBackground(); + // Enable / Disable underlining active hotspots. void SetHotspotActiveUnderline(bool underline); + // Get whether underlining for active hotspots. + bool GetHotspotActiveUnderline(); + // Limit hotspots to single line so hotspots on two lines don't merge. void SetHotspotSingleLine(bool singleLine); + // Get the HotspotSingleLine property + bool GetHotspotSingleLine(); + // Move caret between paragraphs (delimited by empty lines). void ParaDown(); void ParaDownExtend(); @@ -3064,6 +3392,54 @@ public: // 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(); + + // Set the style of the caret to be drawn. + void SetCaretStyle(int caretStyle); + + // Returns the current style of the caret. + int GetCaretStyle(); + + // Set the indicator used for IndicatorFillRange and IndicatorClearRange + void SetIndicatorCurrent(int indicator); + + // Get the current indicator + int GetIndicatorCurrent(); + + // Set the value used for IndicatorFillRange + void SetIndicatorValue(int value); + + // Get the current indicator vaue + int GetIndicatorValue(); + + // Turn a indicator on over a range. + void IndicatorFillRange(int position, int fillLength); + + // Turn a indicator off over a range. + void IndicatorClearRange(int position, int clearLength); + + // Are any indicators present at position? + int IndicatorAllOnFor(int position); + + // What value does a particular indicator have at at a position? + int IndicatorValueAt(int indicator, int position); + + // Where does a particular indicator start? + int IndicatorStart(int indicator, int position); + + // Where does a particular indicator end? + int IndicatorEnd(int indicator, int position); + + // Set number of entries in position cache + void SetPositionCacheSize(int size); + + // How many entries are allocated to the position cache? + int GetPositionCacheSize(); + // Start notifying the container of all key presses and commands. void StartRecord(); @@ -3125,6 +3501,9 @@ public: void StyleSetSpec(int styleNum, const wxString& spec); + // Get the font of a style. + wxFont StyleGetFont(int style); + // Set style size, face, bold, italic, and underline attributes from // a wxFont's attributes. @@ -3433,6 +3812,8 @@ BEGIN_DECLARE_EVENT_TYPES() 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) + DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_STC, wxEVT_STC_INDICATOR_CLICK, 1677) + DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_STC, wxEVT_STC_INDICATOR_RELEASE, 1678) END_DECLARE_EVENT_TYPES() #else enum { @@ -3461,7 +3842,9 @@ END_DECLARE_EVENT_TYPES() wxEVT_STC_HOTSPOT_CLICK, wxEVT_STC_HOTSPOT_DCLICK, wxEVT_STC_CALLTIP_CLICK, - wxEVT_STC_AUTOCOMP_SELECTION + wxEVT_STC_AUTOCOMP_SELECTION, + wxEVT_STC_INDICATOR_CLICK, + wxEVT_STC_INDICATOR_RELEASE }; #endif @@ -3496,34 +3879,11 @@ typedef void (wxEvtHandler::*wxStyledTextEventFunction)(wxStyledTextEvent&); #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 ), -#endif - -//---------------------------------------------------------------------- -// Utility functions used within wxSTC - -#ifndef SWIG -#if wxUSE_UNICODE - -WXDLLIMPEXP_STC wxString stc2wx(const char* str); -WXDLLIMPEXP_STC wxString stc2wx(const char* str, size_t len); -WXDLLIMPEXP_STC const wxWX2MBbuf wx2stc(const wxString& str); +#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 ), -#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 - -//---------------------------------------------------------------------- #endif +#endif // wxUSE_STC +#endif // _WX_STC_STC_H_