예제 #1
0
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);
}
예제 #2
0
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;
}
예제 #3
0
파일: checkbox.cpp 프로젝트: EdgarTx/wx
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;
}
예제 #4
0
파일: checkbox.cpp 프로젝트: EdgarTx/wx
void wxCheckBox::SetValue(bool val)
{
    Set3StateValue(val ? wxCHK_CHECKED : wxCHK_UNCHECKED);
}