]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/checkbox.cpp
Now configure actually finds Lesstif and Qt
[wxWidgets.git] / src / gtk / checkbox.cpp
index 57c712db39544ca8f97ba6ee313ddb7f5497b1e9..dd7ef5f9e19a41b5e5f3f6e38d78965bf5a08b9f 100644 (file)
 
 #include "wx/checkbox.h"
 
+//-----------------------------------------------------------------------------
+// data
+//-----------------------------------------------------------------------------
+
+extern bool   g_blockEventsOnDrag;
+
 //-----------------------------------------------------------------------------
 // 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);
-  cb->ProcessEvent(event);
+  cb->GetEventHandler()->ProcessEvent(event);
 };
 
 //-----------------------------------------------------------------------------
@@ -38,19 +46,21 @@ wxCheckBox::wxCheckBox(void)
 
 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, 
-      const long style, const wxString &name )
+      long style, const wxString &name )
 {
   m_needParent = TRUE;
   
   PreCreation( parent, id, pos, size, style, name );
 
+  SetLabel( label );
+
   m_widget = gtk_check_button_new_with_label( label );
  
   wxSize newSize = size;
@@ -68,7 +78,7 @@ bool wxCheckBox::Create(  wxWindow *parent, wxWindowID id, const wxString &label
   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 );