X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d7eee191c55687785a2be927fd387d10514cdf1b..0ded6bb695f82a0b98d0862ec6870fc5c6cb8b97:/src/common/textcmn.cpp diff --git a/src/common/textcmn.cpp b/src/common/textcmn.cpp index 7ced7d2de5..8b5744f1bf 100644 --- a/src/common/textcmn.cpp +++ b/src/common/textcmn.cpp @@ -59,24 +59,10 @@ DEFINE_EVENT_TYPE(wxEVT_COMMAND_TEXT_MAXLEN) wxTextCtrlBase::wxTextCtrlBase() { -#ifndef NO_TEXT_WINDOW_STREAM - #if wxUSE_IOSTREAMH - if (allocate()) - setp(base(),ebuf()); - #else - m_streambuf = new char[64]; - setp(m_streambuf, m_streambuf + 64); - #endif //wxUSE_IOSTREAMH -#endif // NO_TEXT_WINDOW_STREAM } wxTextCtrlBase::~wxTextCtrlBase() { -#ifndef NO_TEXT_WINDOW_STREAM -#if !wxUSE_IOSTREAMH - delete[] m_streambuf; -#endif -#endif } // ---------------------------------------------------------------------------- @@ -215,35 +201,14 @@ wxTextCtrl& wxTextCtrlBase::operator<<(const wxChar c) #ifndef NO_TEXT_WINDOW_STREAM -int wxTextCtrlBase::overflow( int WXUNUSED(c) ) +int wxTextCtrlBase::overflow(int c) { - int len = pptr() - pbase(); - char *txt = new char[len+1]; - strncpy(txt, pbase(), len); - txt[len] = '\0'; - (*this) << txt; - setp(pbase(), epptr()); - delete[] txt; - return EOF; -} + AppendText((wxChar)c); -int wxTextCtrlBase::sync() -{ - int len = pptr() - pbase(); - char *txt = new char[len+1]; - strncpy(txt, pbase(), len); - txt[len] = '\0'; - (*this) << txt; - setp(pbase(), epptr()); - delete[] txt; + // return something different from EOF return 0; } -int wxTextCtrlBase::underflow() -{ - return EOF; -} - #endif // NO_TEXT_WINDOW_STREAM // ---------------------------------------------------------------------------- @@ -279,6 +244,20 @@ void wxTextCtrlBase::SelectAll() SetSelection(0, GetLastPosition()); } +wxString wxTextCtrlBase::GetStringSelection() const +{ + long from, to; + GetSelection(&from, &to); + + wxString sel; + if ( from < to ) + { + sel = GetValue().Mid(from, to - from); + } + + return sel; +} + #else // !wxUSE_TEXTCTRL // define this one even if !wxUSE_TEXTCTRL because it is also used by other