Exemplo n.º 1
0
wxString wxRadioBox::GetString(unsigned int n) const
{
    QAbstractButton *qtButton = GetButtonAt( m_qtButtonGroup, n );
    CHECK_BUTTON( qtButton, wxEmptyString );

    return wxQtConvertString( qtButton->text() );
}
Exemplo n.º 2
0
bool wxRadioBox::IsItemShown(unsigned int n) const
{
    QAbstractButton *qtButton = GetButtonAt( m_qtButtonGroup, n );
    CHECK_BUTTON( qtButton, false );

    return qtButton->isVisible();
}
Exemplo n.º 3
0
bool wxRadioBox::Enable(unsigned int n, bool enable)
{
    QAbstractButton *qtButton = GetButtonAt( m_qtButtonGroup, n );
    CHECK_BUTTON( qtButton, false );

    qtButton->setEnabled( enable );
    return true;
}
Exemplo n.º 4
0
bool wxRadioBox::Show(unsigned int n, bool show)
{
    QAbstractButton *qtButton = GetButtonAt( m_qtButtonGroup, n );
    CHECK_BUTTON( qtButton, false );

    qtButton->setVisible( show );
    return true;
}
Exemplo n.º 5
0
    bool CheckOneDifference(const KeystrokeState& new_state, XINPUT_KEYSTROKE* keystroke)
    {
        #define CHECK_BUTTON(gamepad_name, vk_name) \
            if ((m_buttons & XINPUT_GAMEPAD_ ## gamepad_name) != (new_state.m_buttons & XINPUT_GAMEPAD_ ## gamepad_name)) \
            { \
                keystroke->VirtualKey = VK_PAD_ ## vk_name; \
                if ((new_state.m_buttons & XINPUT_GAMEPAD_ ## gamepad_name) > 0) \
                { \
                    keystroke->Flags = XINPUT_KEYSTROKE_KEYDOWN; \
                    m_buttons |= XINPUT_GAMEPAD_ ## gamepad_name; \
                } \
                else \
                { \
                    keystroke->Flags = XINPUT_KEYSTROKE_KEYUP; \
                    m_buttons &= ~XINPUT_GAMEPAD_ ## gamepad_name; \
                } \
                return true; \
            }

        CHECK_BUTTON(DPAD_UP, DPAD_UP);
        CHECK_BUTTON(DPAD_DOWN, DPAD_DOWN);
        CHECK_BUTTON(DPAD_LEFT, DPAD_LEFT);
        CHECK_BUTTON(DPAD_RIGHT, DPAD_RIGHT);
        CHECK_BUTTON(START, START);
        CHECK_BUTTON(BACK, BACK);
        CHECK_BUTTON(LEFT_THUMB, LTHUMB_PRESS);
        CHECK_BUTTON(RIGHT_THUMB, RTHUMB_PRESS);
        CHECK_BUTTON(LEFT_SHOULDER, LSHOULDER);
        CHECK_BUTTON(RIGHT_SHOULDER, RSHOULDER);
        CHECK_BUTTON(A, A);
        CHECK_BUTTON(B, B);
        CHECK_BUTTON(X, X);
        CHECK_BUTTON(Y, Y);
        #undef CHECK_BUTTON

        if (m_left_trigger != new_state.m_left_trigger)
        {
            keystroke->VirtualKey = VK_PAD_LTRIGGER;
            keystroke->Flags = new_state.m_left_trigger ? XINPUT_KEYSTROKE_KEYDOWN : XINPUT_KEYSTROKE_KEYUP;
            m_left_trigger = new_state.m_left_trigger;
            return true;
        }
        if (m_right_trigger != new_state.m_right_trigger)
        {
            keystroke->VirtualKey = VK_PAD_RTRIGGER;
            keystroke->Flags = new_state.m_right_trigger ? XINPUT_KEYSTROKE_KEYDOWN : XINPUT_KEYSTROKE_KEYUP;
            m_right_trigger = new_state.m_right_trigger;
            return true;
        }

        /*
         * If a thumb went from a non-None state to another non-None state,
         * we first send a KEYUP and set the state to None, and then
         * on a subsequent call we send a KEYDOWN and set the sate to the new state.
         * -- YaLTeR
         */
        if (m_left_thumb != new_state.m_left_thumb)
        {
            if (m_left_thumb == ThumbState::NONE)
            {
                keystroke->VirtualKey = ThumbStateToVirtualKey(new_state.m_left_thumb, ThumbStick::LEFT);
                keystroke->Flags = XINPUT_KEYSTROKE_KEYDOWN;
                m_left_thumb = new_state.m_left_thumb;
                return true;
            }
            else if (new_state.m_left_thumb == ThumbState::NONE)
            {
                keystroke->VirtualKey = ThumbStateToVirtualKey(m_left_thumb, ThumbStick::LEFT);
                keystroke->Flags = XINPUT_KEYSTROKE_KEYUP;
                m_left_thumb = new_state.m_left_thumb;
                return true;
            }
            else
            {
                keystroke->VirtualKey = ThumbStateToVirtualKey(m_left_thumb, ThumbStick::LEFT);
                keystroke->Flags = XINPUT_KEYSTROKE_KEYUP;
                m_left_thumb = ThumbState::NONE;
                return true;
            }
        }
        if (m_right_thumb != new_state.m_right_thumb)
        {
            if (m_right_thumb == ThumbState::NONE)
            {
                keystroke->VirtualKey = ThumbStateToVirtualKey(new_state.m_right_thumb, ThumbStick::RIGHT);
                keystroke->Flags = XINPUT_KEYSTROKE_KEYDOWN;
                m_right_thumb = new_state.m_right_thumb;
                return true;
            }
            else if (new_state.m_right_thumb == ThumbState::NONE)
            {
                keystroke->VirtualKey = ThumbStateToVirtualKey(m_right_thumb, ThumbStick::RIGHT);
                keystroke->Flags = XINPUT_KEYSTROKE_KEYUP;
                m_right_thumb = new_state.m_right_thumb;
                return true;
            }
            else
            {
                keystroke->VirtualKey = ThumbStateToVirtualKey(m_right_thumb, ThumbStick::RIGHT);
                keystroke->Flags = XINPUT_KEYSTROKE_KEYUP;
                m_right_thumb = ThumbState::NONE;
                return true;
            }
        }

        /*
         * Nothing changed.
         */
        return false;
    }