}
}
- if (match & QAccessible::Controller) {
- const QAccessible::Relation rel = QAccessible::Controller;
- QACConnectionObject *connectionObject = (QACConnectionObject*)object();
- const QObjectList senderList = connectionObject->senderList();
- for (int s = 0; s < senderList.count(); ++s) {
- QObject *sender = senderList.at(s);
- if (sender->isWidgetType() && sender != object()) {
- QAccessibleInterface *iface = QAccessible::queryAccessibleInterface(sender);
- QACConnectionObject *connectionSender = (QACConnectionObject*)sender;
- QStringList senderPrimarySignals = static_cast<QAccessibleWidget*>(iface)->d->primarySignals;
- for (int sig = 0; sig < senderPrimarySignals.count(); ++sig) {
- const QByteArray strSignal = senderPrimarySignals.at(sig).toLatin1();
- if (connectionSender->isSender(object(), strSignal.constData()))
- rels.append(qMakePair(iface, rel));
- }
- }
- }
- }
-
if (match & QAccessible::Controlled) {
QObjectList allReceivers;
QACConnectionObject *connectionObject = (QACConnectionObject*)object();
toggletool.setText("Toggle");
toggletool.setMinimumSize(20,20);
- // test Controller/Controlled relations
- {
- QCheckBox toggler("Toggle me!", &window);
- bool ok = connect(&pushButton, SIGNAL(clicked()), &toggler, SLOT(toggle()));
- QCOMPARE(ok, true);
- QAccessibleInterface *iface = QAccessible::queryAccessibleInterface(&toggler);
- QVERIFY(iface);
- QCOMPARE(iface->role(), QAccessible::CheckBox);
- QAccessibleInterface *buttonIFace = relatedInterface(iface, QAccessible::Controller);
- QVERIFY(buttonIFace);
- QCOMPARE(buttonIFace->role(), QAccessible::Button);
- QCOMPARE(buttonIFace->object(), &pushButton);
- delete buttonIFace;
- delete iface;
-
- buttonIFace = QAccessible::queryAccessibleInterface(&pushButton);
- QVERIFY(buttonIFace);
- QCOMPARE(buttonIFace->role(), QAccessible::Button);
- iface = relatedInterface(buttonIFace, QAccessible::Controlled);
- QVERIFY(iface);
- QCOMPARE(iface->object(), &toggler);
-
- }
-
// test push button
QAccessibleInterface* interface = QAccessible::queryAccessibleInterface(&pushButton);
QAccessibleActionInterface* actionInterface = interface->actionInterface();