X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5c33522fca7cddc441a316f5b9fb50d7685435ba..6cf68971005ab7a0ccee82ffffa2924eeb62f689:/src/gtk/spinctrl.cpp?ds=sidebyside diff --git a/src/gtk/spinctrl.cpp b/src/gtk/spinctrl.cpp index cb2d02f4f7..5c53cd491a 100644 --- a/src/gtk/spinctrl.cpp +++ b/src/gtk/spinctrl.cpp @@ -52,7 +52,7 @@ gtk_value_changed(GtkSpinButton* spinbutton, wxSpinCtrlGTKBase* win) { wxSpinEvent event(wxEVT_COMMAND_SPINCTRL_UPDATED, win->GetId()); event.SetEventObject( win ); - event.SetPosition((int)(win->m_value + 0.5)); // FIXME should be SetValue + event.SetPosition( wxRound(win->m_value) ); // FIXME should be SetValue event.SetString(GTK_ENTRY(spinbutton)->text); win->HandleWindowEvent( event ); } @@ -118,6 +118,16 @@ bool wxSpinCtrlGTKBase::Create(wxWindow *parent, wxWindowID id, gtk_spin_button_set_value( GTK_SPIN_BUTTON(m_widget), initial); m_value = gtk_spin_button_get_value( GTK_SPIN_BUTTON(m_widget)); + gfloat align; + if ( HasFlag(wxALIGN_RIGHT) ) + align = 1.0; + else if ( HasFlag(wxALIGN_CENTRE) ) + align = 0.5; + else + align = 0.0; + + gtk_entry_set_alignment(GTK_ENTRY(m_widget), align); + gtk_spin_button_set_wrap( GTK_SPIN_BUTTON(m_widget), (int)(m_windowStyle & wxSP_WRAP) ); @@ -206,7 +216,7 @@ void wxSpinCtrlGTKBase::DoSetValue( double value ) wxCHECK_RET( (m_widget != NULL), wxT("invalid spin button") ); if (wxIsKindOf(this, wxSpinCtrl)) - value = int(value + 0.5); + value = wxRound( value ); GtkDisableEvents(); gtk_spin_button_set_value( GTK_SPIN_BUTTON(m_widget), value);