// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation "checkbox.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
// "clicked"
//-----------------------------------------------------------------------------
+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;
-
+
if (cb->m_blockEvent) return;
#ifdef __WXGTK20__
bool inconsistent = gtk_toggle_button_get_inconsistent(toggle);
cb->m_blockEvent = true;
-
+
if (!active && !inconsistent)
{
// checked -> undetermined
{
wxFAIL_MSG(_T("3state wxCheckBox in unexpected state!"));
}
-
+
cb->m_blockEvent = false;
}
else
event.SetEventObject(cb);
cb->GetEventHandler()->ProcessEvent(event);
}
+}
//-----------------------------------------------------------------------------
// wxCheckBox
{
wxCHECK_RET( m_widgetLabel != NULL, wxT("invalid checkbox") );
- wxControl::SetLabel( label );
-
-#ifdef __WXGTK20__
- wxString label2 = PrepareLabelMnemonics( label );
- gtk_label_set_text_with_mnemonic( GTK_LABEL(m_widgetLabel), wxGTK_CONV( label2 ) );
-#else
- gtk_label_set( GTK_LABEL(m_widgetLabel), wxGTK_CONV( GetLabel() ) );
-#endif
+ GTKSetLabelForLabel(GTK_LABEL(m_widgetLabel), label);
}
bool wxCheckBox::Enable( bool enable )
g_delayedFocus = NULL;
}
}
-
+
if (wxUpdateUIEvent::CanUpdate(this))
UpdateWindowUI(wxUPDATE_UI_FROMIDLE);
}