wxString wxRadioBox::GetString(unsigned int n) const { QAbstractButton *qtButton = GetButtonAt( m_qtButtonGroup, n ); CHECK_BUTTON( qtButton, wxEmptyString ); return wxQtConvertString( qtButton->text() ); }
bool wxRadioBox::IsItemShown(unsigned int n) const { QAbstractButton *qtButton = GetButtonAt( m_qtButtonGroup, n ); CHECK_BUTTON( qtButton, false ); return qtButton->isVisible(); }
bool wxRadioBox::Enable(unsigned int n, bool enable) { QAbstractButton *qtButton = GetButtonAt( m_qtButtonGroup, n ); CHECK_BUTTON( qtButton, false ); qtButton->setEnabled( enable ); return true; }
bool wxRadioBox::Show(unsigned int n, bool show) { QAbstractButton *qtButton = GetButtonAt( m_qtButtonGroup, n ); CHECK_BUTTON( qtButton, false ); qtButton->setVisible( show ); return true; }
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; }