X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2bfca191bf2261e385594a369da9aa4e4441aa43..fa61b1df36e12ffdb77ec07677f6e14881c96a3b:/include/wx/stc/stc.h?ds=sidebyside diff --git a/include/wx/stc/stc.h b/include/wx/stc/stc.h index c766ced458..5ab192da78 100644 --- a/include/wx/stc/stc.h +++ b/include/wx/stc/stc.h @@ -39,6 +39,7 @@ #include "wx/dnd.h" #include "wx/stopwatch.h" +#include "wx/textentry.h" #if wxUSE_TEXTCTRL #include "wx/textctrl.h" #endif // wxUSE_TEXTCTRL @@ -1985,6 +1986,7 @@ class WXDLLIMPEXP_FWD_STC wxStyledTextEvent; //---------------------------------------------------------------------- class WXDLLIMPEXP_STC wxStyledTextCtrl : public wxControl + , public wxTextEntryBase #if wxUSE_TEXTCTRL , public wxTextAreaBase #endif // wxUSE_TEXTCTRL @@ -2069,7 +2071,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); @@ -2647,7 +2649,7 @@ public: bool CanPaste(); // Are there any undoable actions in the undo history? - bool CanUndo(); + bool CanUndo() const; // Delete the undo history. void EmptyUndoBuffer(); @@ -2671,7 +2673,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; @@ -3569,7 +3571,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. @@ -3653,6 +3655,65 @@ public: #endif + // implement wxTextEntryBase pure virtual methods + // ---------------------------------------------- + + virtual void WriteText(const wxString& text) { AddText(text); } + virtual wxString GetValue() const { return GetText(); } + 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); + } + } + + virtual void GetSelection(long *from, long *to) const + { + if ( from ) + *from = GetSelectionStart(); + if ( to ) + *to = GetSelectionEnd(); + } + + virtual bool IsEditable() const { return !GetReadOnly(); } + virtual void SetEditable(bool editable) { SetReadOnly(!editable); } + // implement wxTextAreaBase pure virtual methods // --------------------------------------------- @@ -3709,12 +3770,12 @@ public: return true; } - virtual void ShowPosition(long pos) - { - EnsureVisible(LineFromPosition(pos)); - } + virtual void ShowPosition(long pos) { GotoPos(pos); } - using wxWindow::HitTest; + // 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 { @@ -3774,6 +3835,10 @@ 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 // !SWIG