The checkbox doesn't eat the first "toggled" event if SetValue(FALSE) was
called any more. Added 2 lines to the controls sample to demonstrate it. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
79a773ba60
commit
8bf45ed12a
@ -315,6 +315,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) :
|
||||
button = new wxButton( panel, ID_LISTBOX_FONT, "Set Italic font", wxPoint(340,130), wxSize(140,30) );
|
||||
button->SetForegroundColour( "red" );
|
||||
m_checkbox = new wxCheckBox( panel, ID_LISTBOX_ENABLE, "Disable", wxPoint(20,130), wxSize(140,30) );
|
||||
m_checkbox->SetValue(FALSE);
|
||||
m_notebook->AddPage(panel, "wxList", FALSE, Image_List);
|
||||
|
||||
panel = new wxPanel(m_notebook);
|
||||
@ -517,6 +518,7 @@ void MyPanel::OnListBoxButtons( wxCommandEvent &event )
|
||||
{
|
||||
case ID_LISTBOX_ENABLE:
|
||||
{
|
||||
m_text->WriteText("Checkbox clicked.\n");
|
||||
m_listbox->Enable( event.GetInt() == 0 );
|
||||
break;
|
||||
}
|
||||
|
@ -97,6 +97,11 @@ void wxCheckBox::SetValue( bool state )
|
||||
{
|
||||
wxCHECK_RET( m_widget != NULL, "invalid checkbox" );
|
||||
|
||||
if ( state == GetValue() )
|
||||
return;
|
||||
|
||||
// for compatibility with wxMSW don't send notification when the check box
|
||||
// state is changed programmatically
|
||||
m_blockFirstEvent = TRUE;
|
||||
|
||||
gtk_toggle_button_set_state( GTK_TOGGLE_BUTTON(m_widget), state );
|
||||
|
@ -97,6 +97,11 @@ void wxCheckBox::SetValue( bool state )
|
||||
{
|
||||
wxCHECK_RET( m_widget != NULL, "invalid checkbox" );
|
||||
|
||||
if ( state == GetValue() )
|
||||
return;
|
||||
|
||||
// for compatibility with wxMSW don't send notification when the check box
|
||||
// state is changed programmatically
|
||||
m_blockFirstEvent = TRUE;
|
||||
|
||||
gtk_toggle_button_set_state( GTK_TOGGLE_BUTTON(m_widget), state );
|
||||
|
Loading…
Reference in New Issue
Block a user