/*! \reimp */ QString QAccessibleButton::actionText(int action, Text text, int child) const { if (child) return QString(); if (text == Name) switch (action) { case Press: case DefaultAction: // press, checking or open switch (role(0)) { case ButtonMenu: return QPushButton::tr("Open"); case CheckBox: { if (state(child) & Checked) return QCheckBox::tr("Uncheck"); QCheckBox *cb = qobject_cast<QCheckBox*>(object()); if (!cb || !cb->isTristate() || cb->checkState() == Qt::PartiallyChecked) return QCheckBox::tr("Check"); return QCheckBox::tr("Toggle"); } break; case RadioButton: return QRadioButton::tr("Check"); default: break; } break; } return QAccessibleWidgetEx::actionText(action, text, child); }
int drv_checkbox(int drvid, void *a0, void* a1, void* a2, void* a3, void* a4, void* a5, void* a6, void* a7, void* a8, void* a9) { handle_head* head = (handle_head*)a0; QCheckBox *self = (QCheckBox*)head->native; switch (drvid) { case CHECKBOX_INIT: { drvNewObj(a0,new QCheckBox); break; } case CHECKBOX_SETCHECK: { self->setCheckState((Qt::CheckState)drvGetInt(a1)); break; } case CHECKBOX_CHECK: { drvSetInt(a1,self->checkState()); break; } case CHECKBOX_SETTRISTATE: { self->setTristate(drvGetBool(a1)); break; } case CHECKBOX_ISTRISTATE: { drvSetBool(a1,self->isTristate()); break; } case CHECKBOX_ONSTATECHANGED: { QObject::connect(self,SIGNAL(stateChanged(int)),drvNewSignal(self,a1,a2),SLOT(call(int))); break; } default: return 0; } return 1; }