X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7bd2132891238da6237dd5ba480fb60bba5975d4..11527fc9f0e2aa8bea57c3c2ea361823991667b8:/src/stc/stc.cpp diff --git a/src/stc/stc.cpp b/src/stc/stc.cpp index 65713e1b49..02e366969a 100644 --- a/src/stc/stc.cpp +++ b/src/stc/stc.cpp @@ -210,7 +210,7 @@ bool wxStyledTextCtrl::Create(wxWindow *parent, SetInitialSize(size); // Reduces flicker on GTK+/X11 - SetBackgroundStyle(wxBG_STYLE_CUSTOM); + SetBackgroundStyle(wxBG_STYLE_PAINT); // Make sure it can take the focus SetCanFocus(true); @@ -259,7 +259,7 @@ void wxStyledTextCtrl::SetHScrollBar(wxScrollBar* bar) { // Add text to the document at current position. void wxStyledTextCtrl::AddText(const wxString& text) { wxWX2MBbuf buf = (wxWX2MBbuf)wx2stc(text); - SendMsg(2001, strlen(buf), (sptr_t)(const char*)buf); + SendMsg(2001, buf.length()-1, (sptr_t)(const char*)buf); } // Add array of cells to document. @@ -1709,7 +1709,7 @@ int wxStyledTextCtrl::GetTargetEnd() const int wxStyledTextCtrl::ReplaceTarget(const wxString& text) { wxWX2MBbuf buf = (wxWX2MBbuf)wx2stc(text); - return SendMsg(2194, strlen(buf), (sptr_t)(const char*)buf); + return SendMsg(2194, buf.length()-1, (sptr_t)(const char*)buf); } // Replace the target text with the argument text after \d processing. @@ -1721,7 +1721,7 @@ int wxStyledTextCtrl::GetTargetEnd() const int wxStyledTextCtrl::ReplaceTargetRE(const wxString& text) { wxWX2MBbuf buf = (wxWX2MBbuf)wx2stc(text); - return SendMsg(2195, strlen(buf), (sptr_t)(const char*)buf); + return SendMsg(2195, buf.length()-1, (sptr_t)(const char*)buf); } // Search for a counted string in the target and set the target to the found @@ -1730,7 +1730,7 @@ int wxStyledTextCtrl::GetTargetEnd() const int wxStyledTextCtrl::SearchInTarget(const wxString& text) { wxWX2MBbuf buf = (wxWX2MBbuf)wx2stc(text); - return SendMsg(2197, strlen(buf), (sptr_t)(const char*)buf); + return SendMsg(2197, buf.length()-1, (sptr_t)(const char*)buf); } // Set the search flags used by SearchInTarget. @@ -2086,7 +2086,7 @@ bool wxStyledTextCtrl::GetUseVerticalScrollBar() const // Append a string to the end of the document without changing the selection. void wxStyledTextCtrl::AppendText(const wxString& text) { wxWX2MBbuf buf = (wxWX2MBbuf)wx2stc(text); - SendMsg(2282, strlen(buf), (sptr_t)(const char*)buf); + SendMsg(2282, buf.length()-1, (sptr_t)(const char*)buf); } // Is drawing done in two phases with backgrounds drawn before foregrounds? @@ -4086,9 +4086,11 @@ bool wxStyledTextCtrl::GetUseAntiAliasing() { -void wxStyledTextCtrl::AddTextRaw(const char* text) +void wxStyledTextCtrl::AddTextRaw(const char* text, int length) { - SendMsg(SCI_ADDTEXT, strlen(text), (sptr_t)text); + if (length == -1) + length = strlen(text); + SendMsg(SCI_ADDTEXT, length, (sptr_t)text); } void wxStyledTextCtrl::InsertTextRaw(int pos, const char* text) @@ -4176,9 +4178,11 @@ wxCharBuffer wxStyledTextCtrl::GetTextRaw() return buf; } -void wxStyledTextCtrl::AppendTextRaw(const char* text) +void wxStyledTextCtrl::AppendTextRaw(const char* text, int length) { - SendMsg(SCI_APPENDTEXT, strlen(text), (sptr_t)text); + if (length == -1) + length = strlen(text); + SendMsg(SCI_APPENDTEXT, length, (sptr_t)text); }