]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/checkbox.cpp
Context menu event from keyboard records the mouse position, not -1, -1,
[wxWidgets.git] / src / gtk / checkbox.cpp
index 7dcc25d78f9527f07063671d146efd7a9e6b299a..1e4bcf5922f92337e223ac71156492162e34fab5 100644 (file)
@@ -14,7 +14,7 @@
 
 #include "wx/checkbox.h"
 
-#include "wx/gtk/private.h"
+#include <gtk/gtk.h>
 
 //-----------------------------------------------------------------------------
 // data
@@ -29,8 +29,6 @@ extern bool           g_blockEventsOnDrag;
 extern "C" {
 static void gtk_checkbox_toggled_callback(GtkWidget *widget, wxCheckBox *cb)
 {
-    if (g_isIdle) wxapp_install_idle_handler();
-
     if (!cb->m_hasVMT) return;
 
     if (g_blockEventsOnDrag) return;
@@ -86,7 +84,7 @@ static void gtk_checkbox_toggled_callback(GtkWidget *widget, wxCheckBox *cb)
     wxCommandEvent event(wxEVT_COMMAND_CHECKBOX_CLICKED, cb->GetId());
     event.SetInt(cb->Get3StateValue());
     event.SetEventObject(cb);
-    cb->GetEventHandler()->ProcessEvent(event);
+    cb->HandleWindowEvent(event);
 }
 }
 
@@ -109,8 +107,6 @@ bool wxCheckBox::Create(wxWindow *parent,
                         const wxValidator& validator,
                         const wxString &name )
 {
-    m_needParent = true;
-    m_acceptsFocus = true;
     m_blockEvent = false;
 
     if (!PreCreation( parent, pos, size ) ||
@@ -204,6 +200,9 @@ void wxCheckBox::SetLabel( const wxString& label )
 {
     wxCHECK_RET( m_widgetLabel != NULL, wxT("invalid checkbox") );
 
+    // save the label inside m_label in case user calls GetLabel() later
+    wxControl::SetLabel(label);
+
     GTKSetLabelForLabel(GTK_LABEL(m_widgetLabel), label);
 }