don't call GetLastPosition() unnecessarily in SelectAll(), all platforms should support SetSelection(-1, -1) according to the docs (but wxGTK didn't, so fix it to do)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2008-03-15 03:04:09 +00:00
parent 5a25f8581a
commit e072113323
2 changed files with 7 additions and 1 deletions

View File

@ -92,7 +92,7 @@ public:
// --------- // ---------
virtual void SetSelection(long from, long to) = 0; virtual void SetSelection(long from, long to) = 0;
virtual void SelectAll() { SetSelection(0, GetLastPosition()); } virtual void SelectAll() { SetSelection(-1, -1); }
virtual void GetSelection(long *from, long *to) const = 0; virtual void GetSelection(long *from, long *to) const = 0;
bool HasSelection() const; bool HasSelection() const;
virtual wxString GetStringSelection() const; virtual wxString GetStringSelection() const;

View File

@ -187,6 +187,12 @@ long wxTextEntry::GetLastPosition() const
void wxTextEntry::SetSelection(long from, long to) void wxTextEntry::SetSelection(long from, long to)
{ {
// in wx convention, (-1, -1) means the entire range but GTK+ translates -1
// (or any negative number for that matter) into last position so we need
// to translate manually
if ( from == -1 && to == -1 )
from = 0;
gtk_editable_select_region(GetEditable(), from, to); gtk_editable_select_region(GetEditable(), from, to);
} }