X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0ec1179b86dac6c87ad9f2cd126f87e92642c62c..25bc5c55d0b11b071102796561227f67bd073c3b:/src/common/textentrycmn.cpp?ds=sidebyside diff --git a/src/common/textentrycmn.cpp b/src/common/textentrycmn.cpp index 67443dcdad..c6b769601e 100644 --- a/src/common/textentrycmn.cpp +++ b/src/common/textentrycmn.cpp @@ -26,9 +26,12 @@ #if wxUSE_TEXTCTRL || wxUSE_COMBOBOX #ifndef WX_PRECOMP + #include "wx/window.h" + #include "wx/dataobj.h" #endif //WX_PRECOMP #include "wx/textentry.h" +#include "wx/clipbrd.h" // ============================================================================ // wxTextEntryBase implementation @@ -77,6 +80,14 @@ bool wxTextEntryBase::HasSelection() const return from < to; } +void wxTextEntryBase::RemoveSelection() +{ + long from, to; + GetSelection(& from, & to); + if (from != -1 && to != -1) + Remove(from, to); +} + wxString wxTextEntryBase::GetStringSelection() const { long from, to; @@ -97,7 +108,22 @@ bool wxTextEntryBase::CanCut() const bool wxTextEntryBase::CanPaste() const { - return IsEditable(); + if ( IsEditable() ) + { +#if wxUSE_CLIPBOARD + // check if there is any text on the clipboard + if ( wxTheClipboard->IsSupported(wxDF_TEXT) +#if wxUSE_UNICODE + || wxTheClipboard->IsSupported(wxDF_UNICODETEXT) +#endif // wxUSE_UNICODE + ) + { + return true; + } +#endif // wxUSE_CLIPBOARD + } + + return false; } #endif // wxUSE_TEXTCTRL || wxUSE_COMBOBOX