]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/stc/stc.h
Document wxListBox limitation concerning TAB characters.
[wxWidgets.git] / interface / wx / stc / stc.h
index f247fc338fc5eef221f2356cfd4dfa8dfd4a22de..2247f3ebdfa54a24b7f88da731cec1520f53fe1c 100644 (file)
 // Purpose:     interface of wxStyledTextEvent
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
+/// Represents an invalid position.
+#define wxSTC_INVALID_POSITION -1
+
 /**
     @class wxStyledTextEvent
 
     The type of events sent from wxStyledTextCtrl.
 
-    TODO
+    @todo list styled text ctrl events.
 
     @library{wxbase}
-    @category{FIXME}
+    @category{events,stc}
 */
 class wxStyledTextEvent : public wxCommandEvent
 {
 public:
     //@{
     /**
-        
+        Ctors; used internally by wxWidgets.
     */
     wxStyledTextEvent(wxEventType commandType = 0, int id = 0);
     wxStyledTextEvent(const wxStyledTextEvent& event);
     //@}
 
     /**
-        
-    */
-    wxEvent* Clone() const;
 
-    /**
-        
     */
     bool GetAlt() const;
 
     /**
-        
+
     */
     bool GetControl() const;
 
     /**
-        
+
     */
     bool GetDragAllowMove();
 
     /**
-        
+
     */
     wxDragResult GetDragResult();
 
     /**
-        
+
     */
     wxString GetDragText();
 
     /**
-        
+
     */
     int GetFoldLevelNow() const;
 
     /**
-        
+
     */
     int GetFoldLevelPrev() const;
 
     /**
-        
+
     */
     int GetKey() const;
 
     /**
-        
+
     */
     int GetLParam() const;
 
     /**
-        
+
     */
     int GetLength() const;
 
     /**
-        
+
     */
     int GetLine() const;
 
     /**
-        
+
     */
     int GetLinesAdded() const;
 
     /**
-        
+
     */
     int GetListType() const;
 
     /**
-        
+
     */
     int GetMargin() const;
 
     /**
-        
+
     */
     int GetMessage() const;
 
     /**
-        
+
     */
     int GetModificationType() const;
 
     /**
-        
+
     */
     int GetModifiers() const;
 
     /**
-        
+
     */
     int GetPosition() const;
 
     /**
-        
+
     */
     bool GetShift() const;
 
     /**
-        
+
     */
     wxString GetText() const;
 
     /**
-        
+
     */
     int GetWParam() const;
 
     /**
-        
+
     */
     int GetX() const;
 
     /**
-        
+
     */
     int GetY() const;
 
     /**
-        
+     */
+    int  GetToken() const;
+
+    /**
+     */
+    int  GetAnnotationsLinesAdded() const;
+
+    /**
+     */
+    int  GetUpdated() const;
+
+    /**
+
     */
     void SetDragAllowMove(bool val);
 
     /**
-        
+
     */
     void SetDragResult(wxDragResult val);
 
     /**
-        
+
     */
     void SetDragText(const wxString& val);
 
     /**
-        
+
     */
     void SetFoldLevelNow(int val);
 
     /**
-        
+
     */
     void SetFoldLevelPrev(int val);
 
     /**
-        
+
     */
     void SetKey(int k);
 
     /**
-        
+
     */
     void SetLParam(int val);
 
     /**
-        
+
     */
     void SetLength(int len);
 
     /**
-        
+
     */
     void SetLine(int val);
 
     /**
-        
+
     */
     void SetLinesAdded(int num);
 
     /**
-        
+
     */
     void SetListType(int val);
 
     /**
-        
+
     */
     void SetMargin(int val);
 
     /**
-        
+
     */
     void SetMessage(int val);
 
     /**
-        
+
     */
     void SetModificationType(int t);
 
     /**
-        
+
     */
     void SetModifiers(int m);
 
     /**
-        
+
     */
     void SetPosition(int pos);
 
     /**
-        
+
     */
     void SetText(const wxString& t);
 
     /**
-        
+
     */
     void SetWParam(int val);
 
     /**
-        
+
     */
     void SetX(int val);
 
     /**
-        
+
     */
     void SetY(int val);
+
+    /**
+     */
+    void SetToken(int val);
+
+    /**
+     */
+    void SetAnnotationLinesAdded(int val);
+
+    /**
+     */
+    void SetUpdated(int val);
+
 };
 
 
@@ -256,19 +279,82 @@ public:
     A wxWidgets implementation of the Scintilla source code editing component.
 
     As well as features found in standard text editing components, Scintilla
-    includes
-    features especially useful when editing and debugging source code. These
-    include
-    support for syntax styling, error indicators, code completion and call tips.
-    The
-    selection margin can contain markers like those used in debuggers to indicate
+    includes features especially useful when editing and debugging source code.
+    These include support for syntax styling, error indicators, code completion
+    and call tips.
+
+    The selection margin can contain markers like those used in debuggers to indicate
     breakpoints and the current line. Styling choices are more open than with many
     editors, allowing the use of proportional fonts, bold and italics, multiple
     foreground and background colours and multiple fonts.
 
     wxStyledTextCtrl is a 1 to 1 mapping of "raw" scintilla interface, whose
-    documentation
-    can be found in the Scintilla website.
+    documentation can be found in the Scintilla website (http://www.scintilla.org/).
+
+    @beginEventEmissionTable{wxStyledTextEvent}
+    @event{EVT_STC_CHANGE(id, fn)}
+        TOWRITE
+    @event{EVT_STC_STYLENEEDED(id, fn)}
+        TOWRITE
+    @event{EVT_STC_CHARADDED(id, fn)}
+        TOWRITE
+    @event{EVT_STC_SAVEPOINTREACHED(id, fn)}
+        TOWRITE
+    @event{EVT_STC_SAVEPOINTLEFT(id, fn)}
+        TOWRITE
+    @event{EVT_STC_ROMODIFYATTEMPT(id, fn)}
+        TOWRITE
+    @event{EVT_STC_KEY(id, fn)}
+        TOWRITE
+    @event{EVT_STC_DOUBLECLICK(id, fn)}
+        TOWRITE
+    @event{EVT_STC_UPDATEUI(id, fn)}
+        TOWRITE
+    @event{EVT_STC_MODIFIED(id, fn)}
+        TOWRITE
+    @event{EVT_STC_MACRORECORD(id, fn)}
+        TOWRITE
+    @event{EVT_STC_MARGINCLICK(id, fn)}
+        TOWRITE
+    @event{EVT_STC_NEEDSHOWN(id, fn)}
+        TOWRITE
+    @event{EVT_STC_PAINTED(id, fn)}
+        TOWRITE
+    @event{EVT_STC_USERLISTSELECTION(id, fn)}
+        TOWRITE
+    @event{EVT_STC_URIDROPPED(id, fn)}
+        TOWRITE
+    @event{EVT_STC_DWELLSTART(id, fn)}
+        TOWRITE
+    @event{EVT_STC_DWELLEND(id, fn)}
+        TOWRITE
+    @event{EVT_STC_START_DRAG(id, fn)}
+        TOWRITE
+    @event{EVT_STC_DRAG_OVER(id, fn)}
+        TOWRITE
+    @event{EVT_STC_DO_DROP(id, fn)}
+        TOWRITE
+    @event{EVT_STC_ZOOM(id, fn)}
+        TOWRITE
+    @event{EVT_STC_HOTSPOT_CLICK(id, fn)}
+        TOWRITE
+    @event{EVT_STC_HOTSPOT_DCLICK(id, fn)}
+        TOWRITE
+    @event{EVT_STC_CALLTIP_CLICK(id, fn)}
+        TOWRITE
+    @event{EVT_STC_AUTOCOMP_SELECTION(id, fn)}
+        TOWRITE
+    @event{EVT_STC_INDICATOR_CLICK(id, fn)}
+        TOWRITE
+    @event{EVT_STC_INDICATOR_RELEASE(id, fn)}
+        TOWRITE
+    @event{EVT_STC_AUTOCOMP_CANCELLED(id, fn)}
+        TOWRITE
+    @event{EVT_STC_AUTOCOMP_CHAR_DELETED(id, fn)}
+        TOWRITE
+    @event{EVT_STC_HOTSPOT_RELEASE_CLICK(id, fn)}
+        TOWRITE
+    @endEventTable
 
     @library{wxbase}
     @category{stc}
@@ -283,10 +369,10 @@ public:
     */
     wxStyledTextCtrl::wxStyledTextCtrl(wxWindow* parent,
                                        wxWindowID id = wxID_ANY,
-                                       const wxPoint pos = wxDefaultPosition,
-                                       const wxSize size = wxDefaultSize,
+                                       const wxPoint& pos = wxDefaultPosition,
+                                       const wxSize& size = wxDefaultSize,
                                        long style = 0,
-                                       const wxString name = "stcwindow");
+                                       const wxString& name = wxSTCNameStr);
 
     /**
         Extend life of document.
@@ -299,22 +385,14 @@ public:
     void AddStyledText(const wxMemoryBuffer& data);
 
     /**
-        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
         Add text to the document at current position.
     */
     void AddText(const wxString& text);
 
     /**
-        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.
+        Add raw text to the document at current position.
     */
-    void AddTextRaw(const char* text);
+    void AddTextRaw(const char* text, int length=-1);
 
     /**
         Enlarge the document to a particular size of text bytes.
@@ -329,7 +407,7 @@ public:
     /**
         Append a string to the end of the document without changing the selection.
     */
-    void AppendTextRaw(const char* text);
+    void AppendTextRaw(const char* text, int length=-1);
 
     /**
         Is there an auto-completion list visible?
@@ -461,8 +539,7 @@ public:
     void AutoCompSetSeparator(int separatorCharacter);
 
     /**
-        Change the type-separator character in the string setting up an auto-completion
-        list.
+        Change the type-separator character in the string setting up an auto-completion list.
         Default is '?' but can be changed if items contain '?'.
     */
     void AutoCompSetTypeSeparator(int separatorCharacter);
@@ -479,6 +556,16 @@ public:
     */
     void AutoCompStops(const wxString& characterSet);
 
+    /**
+       Set auto-completion case insensitive behaviour to either prefer case-sensitive matches or have no preference.
+    */
+    void AutoCompSetCaseInsensitiveBehaviour(int behaviour);
+
+    /**
+       Get auto-completion case insensitive behaviour.
+    */
+    int AutoCompGetCaseInsensitiveBehaviour() const;
+
     /**
         Dedent the selected lines.
     */
@@ -495,13 +582,23 @@ public:
     */
     void BraceBadLight(int pos);
 
+    /**
+       Use specified indicator to highlight matching braces instead of changing their style.
+    */
+    void BraceHighlightIndicator(bool useBraceHighlightIndicator, int indicator);
+
+    /**
+       Use specified indicator to highlight non matching brace instead of changing its style.
+    */
+    void BraceBadLightIndicator(bool useBraceBadLightIndicator, int indicator);
+
     /**
         Highlight the characters at two positions.
     */
     void BraceHighlight(int pos1, int pos2);
 
     /**
-        Find the position of a matching brace or INVALID_POSITION if no match.
+        Find the position of a matching brace or wxSTC_INVALID_POSITION if no match.
     */
     int BraceMatch(int pos);
 
@@ -540,6 +637,11 @@ public:
     */
     void CallTipSetHighlight(int start, int end);
 
+    /**
+       Set position of calltip, above or below text.
+    */
+    void CallTipSetPosition(bool above);
+
     /**
         Show a call tip containing a definition near position pos.
     */
@@ -553,7 +655,7 @@ public:
     /**
         Will a paste succeed?
     */
-    bool CanPaste();
+    virtual bool CanPaste() const;
 
     /**
         Are there any redoable actions in the undo history?
@@ -673,7 +775,12 @@ public:
     void CopyText(int length, const wxString& text);
 
     /**
-        
+       Count characters between two positions.
+    */
+    int CountCharacters(int startPos, int endPos);
+
+    /**
+
     */
     bool Create(wxWindow* parent, wxWindowID id = wxID_ANY,
                 const wxPoint& pos = wxDefaultPosition,
@@ -692,6 +799,11 @@ public:
     */
     virtual void Cut();
 
+    /**
+       Delete a range of text in the document.
+    */
+    void DeleteRange(int pos, int deleteLength);
+
     /**
         Delete back from the current position to the start of the line.
     */
@@ -860,7 +972,7 @@ public:
         Can the caret preferred x position only be changed by explicit movement
         commands?
     */
-    bool GetCaretSticky() const;
+    int GetCaretSticky() const;
 
     /**
         Returns the width of the insert mode caret.
@@ -888,14 +1000,14 @@ public:
     int GetControlCharSymbol() const;
 
     /**
-        
+
     */
-    wxString GetCurLine(int* OUTPUT);
+    wxString GetCurLine(int* linePos = NULL);
 
     /**
-        
+
     */
-    wxCharBuffer GetCurLineRaw(int* OUTPUT);
+    wxCharBuffer GetCurLineRaw(int* linePos = NULL);
 
     /**
         END of generated section
@@ -978,7 +1090,7 @@ public:
     /**
         Are the indentation guides visible?
     */
-    bool GetIndentationGuides();
+    int GetIndentationGuides() const;
 
     /**
         Find the last child line of a header line.
@@ -996,7 +1108,7 @@ public:
     int GetLayoutCache() const;
 
     /**
-        Returns the number of characters in the document.
+        Returns the number of bytes in the document.
     */
     int GetLength() const;
 
@@ -1037,13 +1149,13 @@ public:
 
     /**
         Retrieve the position of the end of the selection at the given line
-        (INVALID_POSITION if no selection on this line).
+        (wxSTC_INVALID_POSITION if no selection on this line).
     */
     int GetLineSelEndPosition(int line);
 
     /**
         Retrieve the position of the start of the selection at the given line
-        (INVALID_POSITION if no selection on this line).
+        (wxSTC_INVALID_POSITION if no selection on this line).
     */
     int GetLineSelStartPosition(int line);
 
@@ -1057,6 +1169,11 @@ public:
     */
     bool GetLineVisible(int line) const;
 
+    /**
+       Are all lines visible?
+    */
+    bool GetAllLinesVisible() const;
+
     /**
         Returns the size in pixels of the left margin.
     */
@@ -1195,7 +1312,7 @@ public:
     wxCharBuffer GetSelectedTextRaw();
 
     /**
-        
+
     */
     void GetSelection(int* OUTPUT, int* OUTPUT);
 
@@ -1331,22 +1448,22 @@ public:
     int GetWrapMode() const;
 
     /**
-        Retrive the start indent for wrapped lines.
+        Retrieve the start indent for wrapped lines.
     */
     int GetWrapStartIndent() const;
 
     /**
-        Retrive the display mode of visual flags for wrapped lines.
+        Retrieve the display mode of visual flags for wrapped lines.
     */
     int GetWrapVisualFlags() const;
 
     /**
-        Retrive the location of visual flags for wrapped lines.
+        Retrieve the location of visual flags for wrapped lines.
     */
     int GetWrapVisualFlagsLocation() const;
 
     /**
-        
+
     */
     int GetXOffset() const;
 
@@ -1407,13 +1524,12 @@ public:
         except they behave differently when word-wrap is enabled:
         They go first to the start / end of the display line, like (Home|LineEnd)Display
         The difference is that, the cursor is already at the point, it goes on to the
-        start
-        or end of the document line, as appropriate for (Home|LineEnd|VCHome)(Extend)?.
+        start or end of the document line, as appropriate for (Home|LineEnd|VCHome)(Extend)?.
     */
     void HomeWrap();
 
     /**
-        
+
     */
     void HomeWrapExtend();
 
@@ -1510,12 +1626,12 @@ public:
     void LineEndRectExtend();
 
     /**
-        
+
     */
     void LineEndWrap();
 
     /**
-        
+
     */
     void LineEndWrapExtend();
 
@@ -1525,7 +1641,7 @@ public:
     int LineFromPosition(int pos) const;
 
     /**
-        How many characters are on a line, not including end of line characters?
+        How many characters are on a line, including end of line characters?
     */
     int LineLength(int line) const;
 
@@ -1583,7 +1699,7 @@ public:
     /**
         Load the contents of filename into the editor
     */
-    bool LoadFile(const wxString& filename);
+    bool LoadFile(const wxString& file, int fileType = wxTEXT_TYPE_ANY);
 
     /**
         Transform the selection to lower case.
@@ -1640,7 +1756,8 @@ public:
     int MarkerLineFromHandle(int handle);
 
     /**
-        Find the next line after lineStart that includes a marker in mask.
+        Find the next line at or after lineStart that includes a marker in mask.
+        Return -1 when no more lines.
     */
     int MarkerNext(int lineStart, int markerMask);
 
@@ -1664,6 +1781,16 @@ public:
     */
     void MarkerSetForeground(int markerNumber, const wxColour& fore);
 
+    /**
+       Set the background colour used for a particular marker number when its folding block is selected.
+    */
+    void MarkerSetBackgroundSelected(int markerNumber, const wxColour& back);
+
+    /**
+       Enable/disable highlight for current folding bloc (smallest one that contains the caret)
+    */
+    void MarkerEnableHighlight(bool enabled);
+
     /**
         Move the caret inside current view if it's not there already.
     */
@@ -1710,17 +1837,17 @@ public:
     void ParaDown();
 
     /**
-        
+
     */
     void ParaDownExtend();
 
     /**
-        
+
     */
     void ParaUp();
 
     /**
-        
+
     */
     void ParaUpExtend();
 
@@ -1758,7 +1885,7 @@ public:
 
     /**
         Find the position from a point within the window but return
-        INVALID_POSITION if not close to text.
+        wxSTC_INVALID_POSITION if not close to text.
     */
     int PositionFromPointClose(int x, int y);
 
@@ -1790,24 +1917,21 @@ public:
     int ReplaceTarget(const wxString& text);
 
     /**
-        Replace the target text with the argument text after
-        d processing.
+        Replace the target text with the argument text after d processing.
         Text is counted so it can contain NULs.
-        Looks for
-        d where d is between 1 and 9 and replaces these with the strings
-        matched in the last search operation which were surrounded by
-        ( and
-        ).
+
+        Looks for d where d is between 1 and 9 and replaces these with the strings
+        matched in the last search operation which were surrounded by ( and ).
+
         Returns the length of the replacement text including any change
-        caused by processing the
-        d patterns.
+        caused by processing the d patterns.
     */
     int ReplaceTargetRE(const wxString& text);
 
     /**
         Write the contents of the editor to filename
     */
-    bool SaveFile(const wxString& filename);
+    bool SaveFile(const wxString& file = wxEmptyString, int fileType = wxTEXT_TYPE_ANY);
 
     /**
         Scroll enough to make the given column visible
@@ -1863,7 +1987,7 @@ public:
     /**
         Send a message to Scintilla
     */
-    long SendMsg(int msg, long wp = 0, long lp = 0);
+    wxIntPtr SendMsg(int msg, wxUIntPtr wp = 0, wxIntPtr lp = 0) const;
 
     /**
         Set the selection anchor to a position. The anchor is the opposite
@@ -1910,7 +2034,7 @@ public:
     /**
         Stop the caret preferred x position changing when the user types.
     */
-    void SetCaretSticky(bool useCaretStickyBehaviour);
+    void SetCaretSticky(int useCaretStickyBehaviour);
 
     /**
         Set the width of the insert mode caret.
@@ -1995,7 +2119,7 @@ public:
     void SetFoldMarginColour(bool useSetting, const wxColour& back);
 
     /**
-        
+
     */
     void SetFoldMarginHiColour(bool useSetting, const wxColour& fore);
 
@@ -2040,7 +2164,7 @@ public:
     /**
         Show or hide indentation guides.
     */
-    void SetIndentationGuides(bool show);
+    void SetIndentationGuides(int indentView);
 
     /**
         Set up the key words used by the lexer.
@@ -2048,7 +2172,7 @@ public:
     void SetKeyWords(int keywordSet, const wxString& keyWords);
 
     /**
-        
+
     */
     void SetLastKeydownProcessed(bool val);
 
@@ -2107,6 +2231,16 @@ public:
     */
     void SetMarginWidth(int margin, int pixelWidth);
 
+    /**
+       Set the cursor shown when the mouse is inside a margin.'
+    */
+    void SetMarginCursor(int margin, int cursor);
+
+    /**
+       Retrieve the cursor shown in a margin.
+    */
+    int GetMarginCursor(int margin) const;
+
     /**
         Set the left and right margin in the edit area, measured in pixels.
     */
@@ -2137,6 +2271,21 @@ public:
     */
     void SetPasteConvertEndings(bool convert);
 
+    /**
+       Change the effect of pasting when there are multiple selections.
+    */
+    void SetMultiPaste(int multiPaste);
+
+    /**
+       Retrieve the effect of pasting when there are multiple selections..
+    */
+    int GetMultiPaste() const;
+
+    /**
+       Retrieve the value of a tag from a regular expression search.
+    */
+    wxString GetTag(int tagNumber) const;
+
     /**
         Modify colours when printing for clearer printed text.
     */
@@ -2194,19 +2343,24 @@ public:
     void SetSelAlpha(int alpha);
 
     /**
-        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);
 
     /**
-        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 caret to a position, while removing any existing selection.
+    */
+    void SetEmptySelection(int pos);
+
     /**
         Select a range of text.
     */
-    void SetSelection(int start, int end);
+    virtual void SetSelection(long from, long to);
 
     /**
         Sets the position that ends the selection - this becomes the currentPosition.
@@ -2214,9 +2368,8 @@ public:
     void SetSelectionEnd(int pos);
 
     /**
-        Set the selection mode to stream (SC_SEL_STREAM) or rectangular
-        (SC_SEL_RECTANGLE) or
-        by lines (SC_SEL_LINES).
+        Set the selection mode to stream (wxSTC_SEL_STREAM) or rectangular
+        (wxSTC_SEL_RECTANGLE/wxSTC_SEL_THIN) or by lines (wxSTC_SEL_LINES).
     */
     void SetSelectionMode(int mode);
 
@@ -2352,18 +2505,49 @@ public:
     */
     void SetWhitespaceChars(const wxString& characters);
 
+    /**
+       Get the set of characters making up whitespace for when moving or selecting by word.
+    */
+    wxString GetWhitespaceChars() const;
+
+    /**
+       Set the set of characters making up punctuation characters.  Should be called after SetWordChars.
+    */
+    void SetPunctuationChars(const wxString& characters);
+
+    /**
+       Get the set of characters making up punctuation characters
+    */
+    wxString GetPunctuationChars() const;
+
     /**
         Set the foreground colour of all whitespace and whether to use this setting.
     */
     void SetWhitespaceForeground(bool useSetting,
                                  const wxColour& fore);
 
+    /**
+       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;
+
+    
     /**
         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);
 
+    /**
+       Get the set of characters making up words for when moving or selecting by word.
+    */
+    wxString GetWordChars() const;
+
     /**
         Sets whether text is word wrapped.
     */
@@ -2391,7 +2575,7 @@ public:
     void SetXCaretPolicy(int caretPolicy, int caretSlop);
 
     /**
-        Get and Set the xOffset (ie, horizonal scroll position).
+        Get and Set the xOffset (ie, horizontal scroll position).
     */
     void SetXOffset(int newOffset);
 
@@ -2539,6 +2723,27 @@ public:
     */
     void StyleSetSize(int style, int sizePoints);
 
+    /**
+       Set the size of characters of a style. Size is in points multiplied by 100.
+    */
+    void StyleSetSizeFractional(int style, int caseForce);
+
+    /**
+       Get the size of characters of a style in points multiplied by 100
+    */
+    int StyleGetSizeFractional(int style) const;
+
+    /**
+       Set the weight of characters of a style.
+     */
+    void StyleSetWeight(int style, int weight);
+
+    /**
+     *Get the weight of characters of a style.
+     */
+    int StyleGetWeight(int style) const;
+
+
     /**
         Extract style settings from a spec-string which is composed of one or
         more of the following comma separated elements:
@@ -2638,12 +2843,12 @@ public:
     void VCHomeRectExtend();
 
     /**
-        
+
     */
     void VCHomeWrap();
 
     /**
-        
+
     */
     void VCHomeWrapExtend();
 
@@ -2740,5 +2945,509 @@ public:
         Make the displayed text smaller by decreasing the sizes by 1 point.
     */
     void ZoomOut();
+
+
+    /**
+       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;
+
+    /**
+       Scroll so that a display line is at the top of the display.
+    */
+    void SetFirstVisibleLine(int lineDisplay);
+
+
+
+    /**
+       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();
+
+    /**
+       Return a read-only pointer to a range of characters in the document.
+       May move the gap so that the range is contiguous, but will only move up
+       to rangeLength bytes.
+    */
+    const char* GetRangePointer(int position, int rangeLength) const;
+
+    /**
+       Return a position which, to avoid performance costs, should not be within
+       the range of a call to GetRangePointer.
+    */
+    int GetGapPosition() const;
+    
+    /**
+       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 the alpha outline colour of the given indicator.
+    */
+    void IndicatorSetOutlineAlpha(int indicator, int alpha);
+
+    /**
+       Get the alpha outline colour of the given indicator.
+    */
+    int IndicatorGetOutlineAlpha(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 margin options.
+    */
+    void SetMarginOptions(int marginOptions);
+
+    /**
+       Get the margin options.
+    */
+    int GetMarginOptions() 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();
+
+    /**
+       Clear the annotations from the given line.
+
+       @since 2.9.5
+    */
+    void AnnotationClearAll(int line);
+
+    /**
+       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 wxSTC_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;
+
+    /**
+       Select the modifier key to use for mouse-based rectangular selection.
+    */
+    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();
+
+    /**
+       Indicate that the internal state of a lexer has changed over a range and therefore
+       there may be a need to redraw.
+    */
+    int ChangeLexerState(int start, int end);
+
+    /**
+       Find the next line at or after lineStart that is a contracted fold header line.
+       Return -1 when no more lines.
+    */
+    int ContractedFoldNext(int lineStart);
+
+    /**
+       Centre current line in window.
+    */
+    void VerticalCentreCaret();
+
+    /**
+       Move the selected lines up one line, shifting the line above after the selection
+    */
+    void MoveSelectedLinesUp();
+
+    /**
+       Move the selected lines down one line, shifting the line below before the selection
+    */
+    void MoveSelectedLinesDown();
+
+    /**
+       Set the identifier reported as idFrom in notification messages.
+    */
+    void SetIdentifier(int identifier);
+
+    /**
+       Get the identifier.
+    */
+    int GetIdentifier() const;
+
+    /**
+       Set the width for future RGBA image data.
+    */
+    void RGBAImageSetWidth(int width);
+
+    /**
+       Set the height for future RGBA image data.
+    */
+    void RGBAImageSetHeight(int height);
+
+    /**
+       Define a marker from RGBA data.
+       It has the width and height from RGBAImageSetWidth/Height
+    */
+    void MarkerDefineRGBAImage(int markerNumber, const unsigned char* pixels);
+
+    /**
+       Register an RGBA image for use in autocompletion lists.
+       It has the width and height from RGBAImageSetWidth/Height
+    */
+    void RegisterRGBAImage(int type, const unsigned char* pixels);
+
+    /**
+       Scroll to start of document.
+    */
+    void ScrollToStart();
+
+    /**
+       Scroll to end of document.
+    */
+    void ScrollToEnd();
+
+    /**
+       Create an ILoader.
+       (This is a Scintilla type which can be used to load a document in
+       a background thread.  See Scintilla's documentation for details.)
+    */
+    void* CreateLoader(int bytes);
+
+    /**
+       For private communication between an application and a known lexer.
+    */
+    void* PrivateLexerCall(int operation, void* pointer);
+
+    /**
+       Retrieve a '\n' separated list of properties understood by the current lexer.
+    */
+    wxString PropertyNames() const;
+
+    /**
+       Retrieve the type of a property.
+    */
+    int PropertyType(const wxString& name);
+
+    /**
+       Describe a property.
+    */
+    wxString DescribeProperty(const wxString& name) const;
+
+    /**
+       Retrieve a '\n' separated list of descriptions of the keyword sets understood by the current lexer.
+    */
+    wxString DescribeKeyWordSets() const;
+
+
+    /**
+       Get Scintilla library version information.
+
+       @since 2.9.2
+       @see wxVersionInfo
+    */
+    static wxVersionInfo GetLibraryVersionInfo();
 };