bool wxCheckBox::Create(wxWindow *parent, wxWindowID id, const wxString& label, const wxPoint& pos, const wxSize& size, long style, const wxValidator& validator, const wxString& name) { Init(); WXValidateStyle(&style); if ( !CreateControl(parent, id, pos, size, style, validator, name) ) return false; long msStyle = WS_TABSTOP; if ( style & wxCHK_3STATE ) msStyle |= BS_3STATE; else msStyle |= BS_CHECKBOX; if ( style & wxALIGN_RIGHT ) { msStyle |= BS_LEFTTEXT | BS_RIGHT; } msStyle |= wxMSWButton::GetMultilineStyle(label); return MSWCreateControl(wxT("BUTTON"), msStyle, pos, size, label, 0); }
bool wxCheckBox::Create(wxWindow *parent, wxWindowID id, const wxString &label, const wxPoint &pos, const wxSize &size, long style, const wxValidator& validator, const wxString &name ) { m_needParent = true; m_acceptsFocus = true; m_blockEvent = false; WXValidateStyle(&style); if (!PreCreation( parent, pos, size ) || !CreateBase( parent, id, pos, size, style, validator, name )) { wxFAIL_MSG( wxT("wxCheckBox creation failed") ); return false; } if ( style & wxALIGN_RIGHT ) { // VZ: as I don't know a way to create a right aligned checkbox with // GTK we will create a checkbox without label and a label at the // left of it m_widgetCheckbox = gtk_check_button_new(); m_widgetLabel = gtk_label_new(""); gtk_misc_set_alignment(GTK_MISC(m_widgetLabel), 0.0, 0.5); m_widget = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(m_widget), m_widgetLabel, FALSE, FALSE, 3); gtk_box_pack_start(GTK_BOX(m_widget), m_widgetCheckbox, FALSE, FALSE, 3); gtk_widget_show( m_widgetLabel ); gtk_widget_show( m_widgetCheckbox ); } else { m_widgetCheckbox = gtk_check_button_new_with_label(""); m_widgetLabel = BUTTON_CHILD( m_widgetCheckbox ); m_widget = m_widgetCheckbox; } SetLabel( label ); gtk_signal_connect( GTK_OBJECT(m_widgetCheckbox), "toggled", GTK_SIGNAL_FUNC(gtk_checkbox_toggled_callback), (gpointer *)this ); m_parent->DoAddChild( this ); PostCreation(size); return true; }
bool wxCheckBox::Create(wxWindow *parent, wxWindowID id, const wxString &label, const wxPoint &pos, const wxSize &size, long style, const wxValidator& validator, const wxString &name ) { WXValidateStyle( &style ); if (!PreCreation( parent, pos, size ) || !CreateBase( parent, id, pos, size, style, validator, name )) { wxFAIL_MSG( wxT("wxCheckBox creation failed") ); return false; } if ( style & wxALIGN_RIGHT ) { // VZ: as I don't know a way to create a right aligned checkbox with // GTK we will create a checkbox without label and a label at the // left of it m_widgetCheckbox = gtk_check_button_new(); m_widgetLabel = gtk_label_new(""); gtk_misc_set_alignment(GTK_MISC(m_widgetLabel), 0.0, 0.5); m_widget = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start(GTK_BOX(m_widget), m_widgetLabel, FALSE, FALSE, 3); gtk_box_pack_start(GTK_BOX(m_widget), m_widgetCheckbox, FALSE, FALSE, 3); gtk_widget_show( m_widgetLabel ); gtk_widget_show( m_widgetCheckbox ); } else { m_widgetCheckbox = gtk_check_button_new_with_label(""); m_widgetLabel = gtk_bin_get_child(GTK_BIN(m_widgetCheckbox)); m_widget = m_widgetCheckbox; } g_object_ref(m_widget); SetLabel( label ); g_signal_connect (m_widgetCheckbox, "toggled", G_CALLBACK (gtk_checkbox_toggled_callback), this); m_parent->DoAddChild( this ); PostCreation(size); return true; }
bool wxCheckBox::Create(wxWindow *parent, wxWindowID id, const wxString& label, const wxPoint& pos, const wxSize& size, long style, const wxValidator& validator, const wxString& name) { Init(); WXValidateStyle(&style); if ( !CreateControl(parent, id, pos, size, style, validator, name) ) return false; WXDWORD exstyle; WXDWORD msStyle = MSWGetStyle(style, &exstyle); msStyle |= wxMSWButton::GetMultilineStyle(label); return MSWCreateControl(wxT("BUTTON"), msStyle, pos, size, label, exstyle); }
bool wxCheckBox::Create(wxWindow *parent, wxWindowID id, const wxString& label, const wxPoint& pos, const wxSize& size, long style, const wxValidator& validator, const wxString& name ) { m_qtCheckBox = new wxQtCheckBox( parent, this ); m_qtCheckBox->setText( wxQtConvertString( label ) ); // Do the initialization here as WXValidateStyle may fail in unit tests bool ok = QtCreateControl( parent, id, pos, size, style, validator, name ); WXValidateStyle(&style); if ( style & wxCHK_2STATE ) m_qtCheckBox->setTristate( false ); else if ( style & wxCHK_3STATE ) m_qtCheckBox->setTristate( true ); if ( style & wxALIGN_RIGHT ) m_qtCheckBox->setLayoutDirection( Qt::RightToLeft ); return ok; }
// Single check box item bool wxCheckBox::Create(wxWindow *parent, wxWindowID id, const wxString& label, const wxPoint& pos, const wxSize& size, long style, const wxValidator& validator, const wxString& name) { DontCreatePeer(); if ( !wxCheckBoxBase::Create(parent, id, pos, size, style, validator, name) ) return false; m_labelOrig = m_label = label ; WXValidateStyle( &style ); SetPeer(wxWidgetImpl::CreateCheckBox( this, parent, id, label, pos, size, style, GetExtraStyle() )) ; MacPostControlCreate(pos, size) ; return true; }