]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/checkbox.cpp
added wxLocale::Init() and ctor without arguments for convenience
[wxWidgets.git] / src / gtk1 / checkbox.cpp
index 57c712db39544ca8f97ba6ee313ddb7f5497b1e9..42c8b4167a52b4acf3df37a2774903342cc68b2b 100644 (file)
 
 #include "wx/checkbox.h"
 
 
 #include "wx/checkbox.h"
 
+//-----------------------------------------------------------------------------
+// data
+//-----------------------------------------------------------------------------
+
+extern bool   g_blockEventsOnDrag;
+
 //-----------------------------------------------------------------------------
 // wxCheckBox
 //-----------------------------------------------------------------------------
 
 //-----------------------------------------------------------------------------
 // wxCheckBox
 //-----------------------------------------------------------------------------
 
-void gtk_checkbox_clicked_callback( GtkWidget *WXUNUSED(widget), gpointer data )
+static void gtk_checkbox_clicked_callback( GtkWidget *WXUNUSED(widget), wxCheckBox *cb )
 {
 {
-  wxCheckBox *cb = (wxCheckBox*)data;
+  if (!cb->HasVMT()) return;
+  if (g_blockEventsOnDrag) return;
+  
   wxCommandEvent event(wxEVT_COMMAND_CHECKBOX_CLICKED, cb->GetId());
   event.SetInt( cb->GetValue() );
   event.SetEventObject(cb);
   wxCommandEvent event(wxEVT_COMMAND_CHECKBOX_CLICKED, cb->GetId());
   event.SetInt( cb->GetValue() );
   event.SetEventObject(cb);
-  cb->ProcessEvent(event);
+  cb->GetEventHandler()->ProcessEvent(event);
 };
 
 //-----------------------------------------------------------------------------
 };
 
 //-----------------------------------------------------------------------------
@@ -38,14 +46,14 @@ wxCheckBox::wxCheckBox(void)
 
 wxCheckBox::wxCheckBox( wxWindow *parent, wxWindowID id, const wxString &label,
       const wxPoint &pos, const wxSize &size, 
 
 wxCheckBox::wxCheckBox( wxWindow *parent, wxWindowID id, const wxString &label,
       const wxPoint &pos, const wxSize &size, 
-      const long style, const wxString &name )
+      long style, const wxString &name )
 {
   Create( parent, id, label, pos, size, style, name );
 };
 
 bool wxCheckBox::Create(  wxWindow *parent, wxWindowID id, const wxString &label,
       const wxPoint &pos, const wxSize &size, 
 {
   Create( parent, id, label, pos, size, style, name );
 };
 
 bool wxCheckBox::Create(  wxWindow *parent, wxWindowID id, const wxString &label,
       const wxPoint &pos, const wxSize &size, 
-      const long style, const wxString &name )
+      long style, const wxString &name )
 {
   m_needParent = TRUE;
   
 {
   m_needParent = TRUE;
   
@@ -68,7 +76,7 @@ bool wxCheckBox::Create(  wxWindow *parent, wxWindowID id, const wxString &label
   return TRUE;
 };
 
   return TRUE;
 };
 
-void wxCheckBox::SetValue( const bool state )
+void wxCheckBox::SetValue( bool state )
 {
   if (state)
     gtk_toggle_button_set_state( GTK_TOGGLE_BUTTON(m_widget), GTK_STATE_ACTIVE );
 {
   if (state)
     gtk_toggle_button_set_state( GTK_TOGGLE_BUTTON(m_widget), GTK_STATE_ACTIVE );