QAccessible::State QAccessibleButton::state() const { QAccessible::State state = QAccessibleWidget::state(); QAbstractButton *b = button(); QCheckBox *cb = qobject_cast<QCheckBox *>(b); if (b->isCheckable()) state.checkable = true; if (b->isChecked()) state.checked = true; else if (cb && cb->checkState() == Qt::PartiallyChecked) state.checkStateMixed = true; if (b->isDown()) state.pressed = true; QPushButton *pb = qobject_cast<QPushButton*>(b); if (pb) { if (pb->isDefault()) state.defaultButton = true; #ifndef QT_NO_MENU if (pb->menu()) state.hasPopup = true; #endif } return state; }
/*! \reimp */ QAccessible::State QAccessibleButton::state(int child) const { State state = QAccessibleWidgetEx::state(child); QAbstractButton *b = button(); QCheckBox *cb = qobject_cast<QCheckBox *>(b); if (b->isChecked()) state |= Checked; else if (cb && cb->checkState() == Qt::PartiallyChecked) state |= Mixed; if (b->isDown()) state |= Pressed; QPushButton *pb = qobject_cast<QPushButton*>(b); if (pb) { if (pb->isDefault()) state |= DefaultButton; #ifndef QT_NO_MENU if (pb->menu()) state |= HasPopup; #endif } return state; }