X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/70c147281aaaacd69ad1f7afd02671d524a9ce1e..0738b901b17340f09766524b8d9d79e9ed1268e7:/src/generic/spinctlg.cpp diff --git a/src/generic/spinctlg.cpp b/src/generic/spinctlg.cpp index 853b967500..30193cdd02 100644 --- a/src/generic/spinctlg.cpp +++ b/src/generic/spinctlg.cpp @@ -58,9 +58,9 @@ static const wxCoord MARGIN = 2; class wxSpinCtrlTextGeneric : public wxTextCtrl { public: - wxSpinCtrlTextGeneric(wxSpinCtrlGenericBase *spin, const wxString& value) - : wxTextCtrl(spin->GetParent(), wxID_ANY, value, wxDefaultPosition, - wxDefaultSize, wxTE_NOHIDESEL|wxTE_PROCESS_ENTER) + wxSpinCtrlTextGeneric(wxSpinCtrlGenericBase *spin, const wxString& value, long style=0) + : wxTextCtrl(spin->GetParent(), wxID_ANY, value, wxDefaultPosition, wxDefaultSize, + ( style & wxALIGN_MASK ) | wxTE_NOHIDESEL | wxTE_PROCESS_ENTER) { m_spin = spin; @@ -197,7 +197,7 @@ bool wxSpinCtrlGenericBase::Create(wxWindow *parent, m_max = max; m_increment = increment; - m_textCtrl = new wxSpinCtrlTextGeneric(this, value); + m_textCtrl = new wxSpinCtrlTextGeneric(this, value, style); m_spinButton = new wxSpinCtrlButtonGeneric(this, style); m_spin_value = m_spinButton->GetValue(); @@ -437,7 +437,7 @@ void wxSpinCtrlGenericBase::SyncSpinToText() void wxSpinCtrlGenericBase::SetValue(const wxString& text) { - wxCHECK_RET( m_textCtrl, _T("invalid call to wxSpinCtrl::SetValue") ); + wxCHECK_RET( m_textCtrl, wxT("invalid call to wxSpinCtrl::SetValue") ); double val; if ( text.ToDouble(&val) && InRange(val) ) @@ -448,12 +448,13 @@ void wxSpinCtrlGenericBase::SetValue(const wxString& text) { m_textCtrl->SetValue(text); m_textCtrl->SetSelection(0, -1); + m_textCtrl->SetInsertionPointEnd(); } } bool wxSpinCtrlGenericBase::DoSetValue(double val) { - wxCHECK_MSG( m_textCtrl, false, _T("invalid call to wxSpinCtrl::SetValue") ); + wxCHECK_MSG( m_textCtrl, false, wxT("invalid call to wxSpinCtrl::SetValue") ); if (!InRange(val)) return false; @@ -478,6 +479,7 @@ bool wxSpinCtrlGenericBase::DoSetValue(double val) m_value = val; str.ToDouble( &m_value ); // wysiwyg for textctrl m_textCtrl->SetValue( str ); + m_textCtrl->SetInsertionPointEnd(); m_textCtrl->DiscardEdits(); return true; } @@ -514,7 +516,7 @@ void wxSpinCtrlGenericBase::SetSnapToTicks(bool snap_to_ticks) void wxSpinCtrlGenericBase::SetSelection(long from, long to) { - wxCHECK_RET( m_textCtrl, _T("invalid call to wxSpinCtrl::SetSelection") ); + wxCHECK_RET( m_textCtrl, wxT("invalid call to wxSpinCtrl::SetSelection") ); m_textCtrl->SetSelection(from, to); }