void wxCheckBox::Command(wxCommandEvent & event) { int state = event.GetInt(); wxCHECK_RET( (state == wxCHK_UNCHECKED) || (state == wxCHK_CHECKED) || (state == wxCHK_UNDETERMINED), wxT("event.GetInt() returned an invalid checkbox state") ); Set3StateValue((wxCheckBoxState)state); ProcessCommand(event); }
bool wxCheckBox::OSXHandleClicked( double WXUNUSED(timestampsec) ) { bool sendEvent = true; wxCheckBoxState newState = Get3StateValue(); if ( !m_peer->ButtonClickDidStateChange() ) { wxCheckBoxState origState ; newState = origState = Get3StateValue(); switch (origState) { case wxCHK_UNCHECKED: newState = wxCHK_CHECKED; break; case wxCHK_CHECKED: // If the style flag to allow the user setting the undetermined state is set, // then set the state to undetermined; otherwise set state to unchecked. newState = Is3rdStateAllowedForUser() ? wxCHK_UNDETERMINED : wxCHK_UNCHECKED; break; case wxCHK_UNDETERMINED: newState = wxCHK_UNCHECKED; break; default: break; } if (newState == origState) sendEvent = false; } if (sendEvent) { Set3StateValue( newState ); wxCommandEvent event( wxEVT_COMMAND_CHECKBOX_CLICKED, m_windowId ); event.SetInt( newState ); event.SetEventObject( this ); ProcessCommand( event ); } return true; }
wxInt32 wxCheckBox::MacControlHit( WXEVENTHANDLERREF WXUNUSED(handler) , WXEVENTREF WXUNUSED(event) ) { wxCheckBoxState origState, newState; newState = origState = Get3StateValue(); switch (origState) { case wxCHK_UNCHECKED: newState = wxCHK_CHECKED; break; case wxCHK_CHECKED: // If the style flag to allow the user setting the undetermined state is set, // then set the state to undetermined; otherwise set state to unchecked. newState = Is3rdStateAllowedForUser() ? wxCHK_UNDETERMINED : wxCHK_UNCHECKED; break; case wxCHK_UNDETERMINED: newState = wxCHK_UNCHECKED; break; default: break; } if (newState != origState) { Set3StateValue( newState ); wxCommandEvent event( wxEVT_COMMAND_CHECKBOX_CLICKED, m_windowId ); event.SetInt( newState ); event.SetEventObject( this ); ProcessCommand( event ); } return noErr; }
void wxCheckBox::SetValue(bool val) { Set3StateValue(val ? wxCHK_CHECKED : wxCHK_UNCHECKED); }