X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/463c4d7193481ac27626b282ccf0ac178f029abd..f081c944e891b0cc76ba648982175279bdbce904:/src/gtk1/spinctrl.cpp?ds=sidebyside diff --git a/src/gtk1/spinctrl.cpp b/src/gtk1/spinctrl.cpp index 10aa930138..9820526690 100644 --- a/src/gtk1/spinctrl.cpp +++ b/src/gtk1/spinctrl.cpp @@ -8,10 +8,6 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma implementation "spinctrl.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -23,7 +19,7 @@ #include "wx/textctrl.h" // for wxEVT_COMMAND_TEXT_UPDATED #include "wx/math.h" -#include "wx/gtk/private.h" +#include "wx/gtk1/private.h" //----------------------------------------------------------------------------- // idle system @@ -44,6 +40,7 @@ extern bool g_blockEventsOnDrag; // "value_changed" //----------------------------------------------------------------------------- +extern "C" { static void gtk_spinctrl_callback( GtkWidget *WXUNUSED(widget), wxSpinCtrl *win ) { if (g_isIdle) wxapp_install_idle_handler(); @@ -63,11 +60,13 @@ static void gtk_spinctrl_callback( GtkWidget *WXUNUSED(widget), wxSpinCtrl *win event.SetInt( (int)ceil(win->m_adjust->value) ); win->GetEventHandler()->ProcessEvent( event ); } +} //----------------------------------------------------------------------------- // "changed" //----------------------------------------------------------------------------- +extern "C" { static void gtk_spinctrl_text_changed_callback( GtkWidget *WXUNUSED(widget), wxSpinCtrl *win ) { @@ -78,11 +77,12 @@ gtk_spinctrl_text_changed_callback( GtkWidget *WXUNUSED(widget), wxSpinCtrl *win wxCommandEvent event( wxEVT_COMMAND_TEXT_UPDATED, win->GetId() ); event.SetEventObject( win ); - + // see above event.SetInt( (int)ceil(win->m_adjust->value) ); win->GetEventHandler()->ProcessEvent( event ); } +} //----------------------------------------------------------------------------- // wxSpinCtrl @@ -116,12 +116,12 @@ bool wxSpinCtrl::Create(wxWindow *parent, wxWindowID id, m_adjust = (GtkAdjustment*) gtk_adjustment_new( initial, min, max, 1.0, 5.0, 0.0); m_widget = gtk_spin_button_new( m_adjust, 1, 0 ); - + gtk_spin_button_set_wrap( GTK_SPIN_BUTTON(m_widget), (int)(m_windowStyle & wxSP_WRAP) ); GtkEnableEvents(); - + m_parent->DoAddChild( this ); PostCreation(size); @@ -148,7 +148,7 @@ void wxSpinCtrl::GtkEnableEvents() "value_changed", GTK_SIGNAL_FUNC(gtk_spinctrl_callback), (gpointer) this ); - + gtk_signal_connect( GTK_OBJECT(m_widget), "changed", GTK_SIGNAL_FUNC(gtk_spinctrl_text_changed_callback), @@ -290,7 +290,7 @@ void wxSpinCtrl::OnChar( wxKeyEvent &event ) bool wxSpinCtrl::IsOwnGtkWindow( GdkWindow *window ) { if (GTK_SPIN_BUTTON(m_widget)->entry.text_area == window) return TRUE; - + if (GTK_SPIN_BUTTON(m_widget)->panel == window) return TRUE; return FALSE;