X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/95725e35d8bfa902349fea22349935dc260c591e..404b319a85dadd7decf7a5a5331020520031a41c:/src/stc/stc.h.in diff --git a/src/stc/stc.h.in b/src/stc/stc.h.in index a10155c38b..1c980ab3cc 100644 --- a/src/stc/stc.h.in +++ b/src/stc/stc.h.in @@ -288,7 +288,11 @@ public: // implement wxTextEntryBase pure virtual methods // ---------------------------------------------- - virtual void WriteText(const wxString& text) { AddText(text); } + virtual void WriteText(const wxString& text) + { + ReplaceSelection(text); + } + virtual void Remove(long from, long to) { Replace(from, to, ""); @@ -366,8 +370,18 @@ public: // 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 GetLineLength(long lineNo) const { return static_cast(GetLineText(lineNo).length()); } + virtual wxString GetLineText(long lineNo) const + { + wxString text = GetLine(static_cast(lineNo)); + size_t lastNewLine = text.find_last_not_of(wxS("\r\n")); + + if ( lastNewLine != wxString::npos ) + text.erase(lastNewLine + 1); // remove trailing cr+lf + else + text.clear(); + return text; + } virtual int GetNumberOfLines() const { return GetLineCount(); } virtual bool IsModified() const { return GetModify(); } @@ -448,6 +462,7 @@ public: static wxVersionInfo GetLibraryVersionInfo(); protected: + virtual void DoSetValue(const wxString& value, int flags); virtual wxString DoGetValue() const { return GetText(); } virtual wxWindow *GetEditableWindow() { return this; }