]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/spinctrl.cpp
Added wxInfoBar::AddButton().
[wxWidgets.git] / src / gtk / spinctrl.cpp
index 77a9cb485b7a47adfab488f01dd57516498ab9e2..5c53cd491acae0eb8aeafb176e4731ed9c9d5d84 100644 (file)
@@ -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 );
     }
@@ -113,10 +113,21 @@ bool wxSpinCtrlGTKBase::Create(wxWindow *parent, wxWindowID id,
     }
 
     m_widget = gtk_spin_button_new_with_range(min, max, inc);
+    g_object_ref(m_widget);
 
     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) );
 
@@ -141,7 +152,7 @@ double wxSpinCtrlGTKBase::DoGetValue() const
 
     GtkDisableEvents();
     gtk_spin_button_update( GTK_SPIN_BUTTON(m_widget) );
-    wx_const_cast(wxSpinCtrlGTKBase*, this)->m_value =
+    const_cast<wxSpinCtrlGTKBase*>(this)->m_value =
         gtk_spin_button_get_value(GTK_SPIN_BUTTON(m_widget));
     GtkEnableEvents();
 
@@ -205,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);