wxString wxTextEntryBase::GetRange(long from, long to) const
{
wxString sel;
- if ( from < to )
+ wxString value = GetValue();
+
+ if ( from < to && (long)value.length() >= to )
{
- sel = GetValue().substr(from, to - from);
+ sel = value.substr(from, to - from);
}
return sel;
SelectAll();
WriteText(value);
+
+ SetInsertionPoint(0);
}
void wxTextEntryBase::Replace(long from, long to, const wxString& value)
Remove(from, to);
}
+ SetInsertionPoint(from);
WriteText(value);
}
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;
{
#if wxUSE_CLIPBOARD
// check if there is any text on the clipboard
- if ( wxTheClipboard->IsSupported(wxDF_TEXT) )
+ if ( wxTheClipboard->IsSupported(wxDF_TEXT)
+#if wxUSE_UNICODE
+ || wxTheClipboard->IsSupported(wxDF_UNICODETEXT)
+#endif // wxUSE_UNICODE
+ )
+ {
return true;
+ }
#endif // wxUSE_CLIPBOARD
}