42 #ifndef QT_NO_ACCESSIBILITY 45 #include <private/qsystemlibrary_p.h> 50 #include <QtCore/qmap.h> 51 #include <QtCore/qpair.h> 52 #include <QtCore/qpointer.h> 53 #include <QtGui/qgraphicsitem.h> 54 #include <QtGui/qgraphicsscene.h> 55 #include <QtGui/qgraphicsview.h> 58 #if !defined(WINABLEAPI) 59 # if defined(Q_WS_WINCE) 66 #if !defined(Q_CC_BOR) && !defined (Q_CC_GNU) 77 #ifdef DEBUG_SHOW_ATCLIENT_COMMANDS 84 static const char *roles[] = {
154 return roles[int(role)];
159 static const char *events[] = {
163 "ForegroundChanged" ,
180 "ActiveDescendantChanged",
182 "DocumentContentChanged",
183 "DocumentLoadComplete",
184 "DocumentLoadStopped",
186 "HyperlinkEndIndexChanged",
187 "HyperlinkNumberOfAnchorsChanged",
188 "HyperlinkSelectedLinkChanged",
189 "HypertextLinkActivated",
190 "HypertextLinkSelected",
191 "HyperlinkStartIndexChanged",
193 "HypertextNLinksChanged",
194 "ObjectAttributeChanged",
197 "TableCaptionChanged",
198 "TableColumnDescriptionChanged",
199 "TableColumnHeaderChanged",
201 "TableRowDescriptionChanged",
202 "TableRowHeaderChanged",
203 "TableSummaryChanged",
204 "TextAttributeChanged",
211 "TextSelectionChanged",
212 "VisibleDataChanged",
226 "DescriptionChanged" ,
230 "DefaultActionChanged" ,
235 const int last =
sizeof(events)/
sizeof(
char*) - 1;
240 return events[e - 0x0c + 8];
243 else if (e <= 0x0101 + 32)
244 return events[e - 0x101 + 17];
245 else if (e <= 0x800f)
246 return events[e - 0x8000 + 49];
247 else if (e == 0x80a0)
248 return events[last - 2];
249 else if (e == 0x80b0)
250 return events[last - 1];
251 else if (e == 0x80c0)
259 qDebug() <<
"Role:" << roleString(iface->
role(0))
265 # define showDebug(f, iface) 304 #ifndef QT_NO_MESSAGEBOX 307 switch (mb->
icon()) {
321 #endif // QT_NO_MESSAGEBOX 332 if (soundName.
size()) {
333 #ifndef QT_NO_SETTINGS 341 PlaySound(reinterpret_cast<const wchar_t *>(soundName.
utf16()), 0, SND_ALIAS | SND_ASYNC | SND_NODEFAULT | SND_NOWAIT);
348 typedef void (WINAPI *PtrNotifyWinEvent)(DWORD, HWND, LONG, LONG);
350 #if defined(Q_WS_WINCE) // ### TODO: check for NotifyWinEvent in CE 6.0 354 static PtrNotifyWinEvent ptrNotifyWinEvent = 0;
355 static bool resolvedNWE =
false;
360 if (!ptrNotifyWinEvent)
382 for (
int i = 0 ; i < views.
count() && view != fw; ++i) {
435 ptrNotifyWinEvent(reason, wid, OBJID_CLIENT, eventId );
439 ptrNotifyWinEvent(reason, wid, OBJID_CLIENT, who);
513 : ref(0), current(0),array(a)
519 HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, LPVOID *);
520 ULONG STDMETHODCALLTYPE AddRef();
521 ULONG STDMETHODCALLTYPE
Release();
523 HRESULT STDMETHODCALLTYPE Clone(IEnumVARIANT **ppEnum);
524 HRESULT STDMETHODCALLTYPE Next(
unsigned long celt, VARIANT FAR* rgVar,
unsigned long FAR* pCeltFetched);
525 HRESULT STDMETHODCALLTYPE Reset();
526 HRESULT STDMETHODCALLTYPE Skip(
unsigned long celt);
537 if (
id == IID_IUnknown)
538 *iface = (IUnknown*)
this;
539 else if (
id == IID_IEnumVARIANT)
540 *iface = (IEnumVARIANT*)
this;
547 return E_NOINTERFACE;
571 return E_OUTOFMEMORY;
573 penum->
array = array;
586 for (l = 0; l < celt; l++) {
587 VariantInit(&rgVar[l]);
588 if ((current+1) > (ULONG)array.size()) {
594 rgVar[
l].lVal = array[(int)current];
610 if (current > (ULONG)array.size()) {
611 current = array.size();
623 cleanupInterface =
true;
627 cleanupInterface =
false;
636 if (cleanupInterface)
652 : ref(0), accessible(a)
662 HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, LPVOID *);
663 ULONG STDMETHODCALLTYPE AddRef();
664 ULONG STDMETHODCALLTYPE
Release();
667 HRESULT STDMETHODCALLTYPE GetTypeInfoCount(
unsigned int *);
668 HRESULT STDMETHODCALLTYPE GetTypeInfo(
unsigned int,
unsigned long, ITypeInfo **);
669 HRESULT STDMETHODCALLTYPE GetIDsOfNames(
const _GUID &,
wchar_t **,
unsigned int,
unsigned long,
long *);
670 HRESULT STDMETHODCALLTYPE Invoke(
long,
const _GUID &,
unsigned long,
unsigned short, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *,
unsigned int *);
673 HRESULT STDMETHODCALLTYPE accHitTest(
long xLeft,
long yTop, VARIANT *pvarID);
674 HRESULT STDMETHODCALLTYPE accLocation(
long *pxLeft,
long *pyTop,
long *pcxWidth,
long *pcyHeight, VARIANT varID);
675 HRESULT STDMETHODCALLTYPE accNavigate(
long navDir, VARIANT varStart, VARIANT *pvarEnd);
676 HRESULT STDMETHODCALLTYPE get_accChild(VARIANT varChildID, IDispatch** ppdispChild);
677 HRESULT STDMETHODCALLTYPE get_accChildCount(
long* pcountChildren);
678 HRESULT STDMETHODCALLTYPE get_accParent(IDispatch** ppdispParent);
680 HRESULT STDMETHODCALLTYPE accDoDefaultAction(VARIANT varID);
681 HRESULT STDMETHODCALLTYPE get_accDefaultAction(VARIANT varID, BSTR* pszDefaultAction);
682 HRESULT STDMETHODCALLTYPE get_accDescription(VARIANT varID, BSTR* pszDescription);
683 HRESULT STDMETHODCALLTYPE get_accHelp(VARIANT varID, BSTR *pszHelp);
684 HRESULT STDMETHODCALLTYPE get_accHelpTopic(BSTR *pszHelpFile, VARIANT varChild,
long *pidTopic);
685 HRESULT STDMETHODCALLTYPE get_accKeyboardShortcut(VARIANT varID, BSTR *pszKeyboardShortcut);
686 HRESULT STDMETHODCALLTYPE get_accName(VARIANT varID, BSTR* pszName);
687 HRESULT STDMETHODCALLTYPE put_accName(VARIANT varChild, BSTR szName);
688 HRESULT STDMETHODCALLTYPE get_accRole(VARIANT varID, VARIANT *pvarRole);
689 HRESULT STDMETHODCALLTYPE get_accState(VARIANT varID, VARIANT *pvarState);
690 HRESULT STDMETHODCALLTYPE get_accValue(VARIANT varID, BSTR* pszValue);
691 HRESULT STDMETHODCALLTYPE put_accValue(VARIANT varChild, BSTR szValue);
693 HRESULT STDMETHODCALLTYPE accSelect(
long flagsSelect, VARIANT varID);
694 HRESULT STDMETHODCALLTYPE get_accFocus(VARIANT *pvarID);
695 HRESULT STDMETHODCALLTYPE get_accSelection(VARIANT *pvarChildren);
698 HRESULT STDMETHODCALLTYPE GetWindow(HWND *phwnd);
699 HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode);
708 return SysAllocStringLen((OLECHAR*)str.
unicode(), str.
length());
728 if (
id == IID_IUnknown)
729 *iface = (IUnknown*)(IDispatch*)
this;
730 else if (
id == IID_IDispatch)
731 *iface = (IDispatch*)
this;
732 else if (
id == IID_IAccessible)
733 *iface = (IAccessible*)
this;
734 else if (
id == IID_IOleWindow)
735 *iface = (IOleWindow*)
this;
737 return E_NOINTERFACE;
777 #if !defined(Q_CC_BOR) && !defined(Q_CC_GNU) 779 if (_bstr_t(rgszNames[0]) == _bstr_t(L
"accParent"))
780 rgdispid[0] = DISPID_ACC_PARENT;
781 else if(_bstr_t(rgszNames[0]) == _bstr_t(L
"accChildCount"))
782 rgdispid[0] = DISPID_ACC_CHILDCOUNT;
783 else if(_bstr_t(rgszNames[0]) == _bstr_t(L
"accChild"))
784 rgdispid[0] = DISPID_ACC_CHILD;
787 else if(_bstr_t(rgszNames[0]) == _bstr_t(L
"accName("))
788 rgdispid[0] = DISPID_ACC_NAME;
789 else if(_bstr_t(rgszNames[0]) == _bstr_t(L
"accValue"))
790 rgdispid[0] = DISPID_ACC_VALUE;
791 else if(_bstr_t(rgszNames[0]) == _bstr_t(L
"accDescription"))
792 rgdispid[0] = DISPID_ACC_DESCRIPTION;
793 else if(_bstr_t(rgszNames[0]) == _bstr_t(L
"accRole"))
794 rgdispid[0] = DISPID_ACC_ROLE;
795 else if(_bstr_t(rgszNames[0]) == _bstr_t(L
"accState"))
796 rgdispid[0] = DISPID_ACC_STATE;
797 else if(_bstr_t(rgszNames[0]) == _bstr_t(L
"accHelp"))
798 rgdispid[0] = DISPID_ACC_HELP;
799 else if(_bstr_t(rgszNames[0]) == _bstr_t(L
"accHelpTopic"))
800 rgdispid[0] = DISPID_ACC_HELPTOPIC;
801 else if(_bstr_t(rgszNames[0]) == _bstr_t(L
"accKeyboardShortcut"))
802 rgdispid[0] = DISPID_ACC_KEYBOARDSHORTCUT;
803 else if(_bstr_t(rgszNames[0]) == _bstr_t(L
"accFocus"))
804 rgdispid[0] = DISPID_ACC_FOCUS;
805 else if(_bstr_t(rgszNames[0]) == _bstr_t(L
"accSelection"))
806 rgdispid[0] = DISPID_ACC_SELECTION;
807 else if(_bstr_t(rgszNames[0]) == _bstr_t(L
"accDefaultAction"))
808 rgdispid[0] = DISPID_ACC_DEFAULTACTION;
811 else if(_bstr_t(rgszNames[0]) == _bstr_t(L
"accSelect"))
812 rgdispid[0] = DISPID_ACC_SELECT;
813 else if(_bstr_t(rgszNames[0]) == _bstr_t(L
"accLocation"))
814 rgdispid[0] = DISPID_ACC_LOCATION;
815 else if(_bstr_t(rgszNames[0]) == _bstr_t(L
"accNavigate"))
816 rgdispid[0] = DISPID_ACC_NAVIGATE;
817 else if(_bstr_t(rgszNames[0]) == _bstr_t(L
"accHitTest"))
818 rgdispid[0] = DISPID_ACC_HITTEST;
819 else if(_bstr_t(rgszNames[0]) == _bstr_t(L
"accDoDefaultAction"))
820 rgdispid[0] = DISPID_ACC_DODEFAULTACTION;
822 return DISP_E_UNKNOWNINTERFACE;
829 return DISP_E_MEMBERNOTFOUND;
833 HRESULT STDMETHODCALLTYPE
QWindowsAccessible::Invoke(
long dispIdMember,
const _GUID &,
unsigned long,
unsigned short wFlags, tagDISPPARAMS *pDispParams, tagVARIANT *pVarResult, tagEXCEPINFO *,
unsigned int *)
835 HRESULT hr = DISP_E_MEMBERNOTFOUND;
839 case DISPID_ACC_PARENT:
840 if (wFlags == DISPATCH_PROPERTYGET) {
843 hr = get_accParent(&pVarResult->pdispVal);
845 hr = DISP_E_MEMBERNOTFOUND;
849 case DISPID_ACC_CHILDCOUNT:
850 if (wFlags == DISPATCH_PROPERTYGET) {
853 hr = get_accChildCount(&pVarResult->lVal);
855 hr = DISP_E_MEMBERNOTFOUND;
859 case DISPID_ACC_CHILD:
860 if (wFlags == DISPATCH_PROPERTYGET)
861 hr = get_accChild(pDispParams->rgvarg[0], &pVarResult->pdispVal);
863 hr = DISP_E_MEMBERNOTFOUND;
866 case DISPID_ACC_NAME:
867 if (wFlags == DISPATCH_PROPERTYGET)
868 hr = get_accName(pDispParams->rgvarg[0], &pVarResult->bstrVal);
869 else if (wFlags == DISPATCH_PROPERTYPUT)
870 hr = put_accName(pDispParams->rgvarg[0], pVarResult->bstrVal);
872 hr = DISP_E_MEMBERNOTFOUND;
875 case DISPID_ACC_VALUE:
876 if (wFlags == DISPATCH_PROPERTYGET)
877 hr = get_accValue(pDispParams->rgvarg[0], &pVarResult->bstrVal);
878 else if (wFlags == DISPATCH_PROPERTYPUT)
879 hr = put_accValue(pDispParams->rgvarg[0], pVarResult->bstrVal);
881 hr = DISP_E_MEMBERNOTFOUND;
884 case DISPID_ACC_DESCRIPTION:
885 if (wFlags == DISPATCH_PROPERTYGET)
886 hr = get_accDescription(pDispParams->rgvarg[0], &pVarResult->bstrVal);
888 hr = DISP_E_MEMBERNOTFOUND;
891 case DISPID_ACC_ROLE:
892 if (wFlags == DISPATCH_PROPERTYGET)
893 hr = get_accRole(pDispParams->rgvarg[0], pVarResult);
895 hr = DISP_E_MEMBERNOTFOUND;
898 case DISPID_ACC_STATE:
899 if (wFlags == DISPATCH_PROPERTYGET)
900 hr = get_accState(pDispParams->rgvarg[0], pVarResult);
902 hr = DISP_E_MEMBERNOTFOUND;
905 case DISPID_ACC_HELP:
906 if (wFlags == DISPATCH_PROPERTYGET)
907 hr = get_accHelp(pDispParams->rgvarg[0], &pVarResult->bstrVal);
909 hr = DISP_E_MEMBERNOTFOUND;
912 case DISPID_ACC_HELPTOPIC:
913 if (wFlags == DISPATCH_PROPERTYGET)
914 hr = get_accHelpTopic(&pDispParams->rgvarg[2].bstrVal, pDispParams->rgvarg[1], &pDispParams->rgvarg[0].lVal);
916 hr = DISP_E_MEMBERNOTFOUND;
919 case DISPID_ACC_KEYBOARDSHORTCUT:
920 if (wFlags == DISPATCH_PROPERTYGET)
921 hr = get_accKeyboardShortcut(pDispParams->rgvarg[0], &pVarResult->bstrVal);
923 hr = DISP_E_MEMBERNOTFOUND;
926 case DISPID_ACC_FOCUS:
927 if (wFlags == DISPATCH_PROPERTYGET)
928 hr = get_accFocus(pVarResult);
930 hr = DISP_E_MEMBERNOTFOUND;
933 case DISPID_ACC_SELECTION:
934 if (wFlags == DISPATCH_PROPERTYGET)
935 hr = get_accSelection(pVarResult);
937 hr = DISP_E_MEMBERNOTFOUND;
940 case DISPID_ACC_DEFAULTACTION:
941 if (wFlags == DISPATCH_PROPERTYGET)
942 hr = get_accDefaultAction(pDispParams->rgvarg[0], &pVarResult->bstrVal);
944 hr = DISP_E_MEMBERNOTFOUND;
947 case DISPID_ACC_SELECT:
948 if (wFlags == DISPATCH_METHOD)
949 hr = accSelect(pDispParams->rgvarg[1].lVal, pDispParams->rgvarg[0]);
951 hr = DISP_E_MEMBERNOTFOUND;
954 case DISPID_ACC_LOCATION:
955 if (wFlags == DISPATCH_METHOD)
956 hr = accLocation(&pDispParams->rgvarg[4].lVal, &pDispParams->rgvarg[3].lVal, &pDispParams->rgvarg[2].lVal, &pDispParams->rgvarg[1].lVal, pDispParams->rgvarg[0]);
958 hr = DISP_E_MEMBERNOTFOUND;
961 case DISPID_ACC_NAVIGATE:
962 if (wFlags == DISPATCH_METHOD)
963 hr = accNavigate(pDispParams->rgvarg[1].lVal, pDispParams->rgvarg[0], pVarResult);
965 hr = DISP_E_MEMBERNOTFOUND;
968 case DISPID_ACC_HITTEST:
969 if (wFlags == DISPATCH_METHOD)
970 hr = accHitTest(pDispParams->rgvarg[1].lVal, pDispParams->rgvarg[0].lVal, pVarResult);
972 hr = DISP_E_MEMBERNOTFOUND;
975 case DISPID_ACC_DODEFAULTACTION:
976 if (wFlags == DISPATCH_METHOD)
977 hr = accDoDefaultAction(pDispParams->rgvarg[0]);
979 hr = DISP_E_MEMBERNOTFOUND;
983 hr = DISP_E_MEMBERNOTFOUND;
987 if (!SUCCEEDED(hr)) {
999 if (!accessible->isValid())
1002 int control = accessible->childAt(xLeft, yTop);
1003 if (control == -1) {
1004 (*pvarID).vt = VT_EMPTY;
1011 (*pvarID).vt = VT_I4;
1012 (*pvarID).lVal = control;
1017 IDispatch *iface = 0;
1020 (*pvarID).vt = VT_DISPATCH;
1021 (*pvarID).pdispVal = iface;
1027 (*pvarID).vt = VT_EMPTY;
1034 if (!accessible->isValid())
1042 *pcxWidth = rect.
width();
1043 *pcyHeight = rect.
height();
1056 if (!accessible->isValid())
1062 case NAVDIR_FIRSTCHILD:
1065 case NAVDIR_LASTCHILD:
1066 control = accessible->navigate(
Child, accessible->childCount(), &acc);
1069 case NAVDIR_PREVIOUS:
1070 if (!varStart.lVal){
1075 index += (navDir == NAVDIR_NEXT) ? 1 : -1;
1076 if (index > 0 && index <= parent->childCount())
1081 int index = varStart.lVal;
1082 index += (navDir == NAVDIR_NEXT) ? 1 : -1;
1083 if (index > 0 && index <= accessible->childCount())
1084 control = accessible->navigate(
Child, index, &acc);
1088 control = accessible->navigate(
Up, varStart.lVal, &acc);
1091 control = accessible->navigate(
Down, varStart.lVal, &acc);
1094 control = accessible->navigate(
Left, varStart.lVal, &acc);
1097 control = accessible->navigate(
Right, varStart.lVal, &acc);
1102 if (control == -1) {
1103 (*pvarEnd).vt = VT_EMPTY;
1107 (*pvarEnd).vt = VT_I4;
1108 (*pvarEnd).lVal = control;
1114 IDispatch *iface = 0;
1117 (*pvarEnd).vt = VT_DISPATCH;
1118 (*pvarEnd).pdispVal = iface;
1124 (*pvarEnd).vt = VT_EMPTY;
1131 if (!accessible->isValid())
1134 if (varChildID.vt == VT_EMPTY)
1135 return E_INVALIDARG;
1138 int childIndex = varChildID.lVal;
1146 return E_INVALIDARG;
1162 if (!accessible->isValid())
1165 *pcountChildren = accessible->childCount();
1172 if (!accessible->isValid())
1195 if (!accessible->isValid())
1200 return res ? S_OK : S_FALSE;
1206 if (!accessible->isValid())
1212 *pszDefaultAction = 0;
1223 if (!accessible->isValid())
1233 *pszDescription = 0;
1240 if (!accessible->isValid())
1256 return DISP_E_MEMBERNOTFOUND;
1262 if (!accessible->isValid())
1272 *pszKeyboardShortcut = 0;
1279 if (!accessible->isValid())
1296 return DISP_E_MEMBERNOTFOUND;
1302 if (!accessible->isValid())
1310 (*pvarRole).vt = VT_I4;
1311 (*pvarRole).lVal = role;
1313 (*pvarRole).vt = VT_EMPTY;
1321 if (!accessible->isValid())
1324 (*pvarState).vt = VT_I4;
1333 if (!accessible->isValid())
1350 return DISP_E_MEMBERNOTFOUND;
1356 if (!accessible->isValid())
1364 const int entry = elem.
entry;
1365 if (flagsSelect & SELFLAG_TAKEFOCUS)
1367 if (flagsSelect & SELFLAG_TAKESELECTION) {
1371 if (flagsSelect & SELFLAG_EXTENDSELECTION)
1373 if (flagsSelect & SELFLAG_ADDSELECTION)
1375 if (flagsSelect & SELFLAG_REMOVESELECTION)
1378 return res ? S_OK : S_FALSE;
1384 if (!accessible->isValid())
1389 if (control == -1) {
1390 (*pvarID).vt = VT_EMPTY;
1393 if (!acc || control == 0) {
1394 (*pvarID).vt = VT_I4;
1395 (*pvarID).lVal = control ? control : CHILDID_SELF;
1400 IDispatch *iface = 0;
1403 (*pvarID).vt = VT_DISPATCH;
1404 (*pvarID).pdispVal = iface;
1410 (*pvarID).vt = VT_EMPTY;
1417 if (!accessible->isValid())
1420 int cc = accessible->childCount();
1423 for (
int i = 1; i <= cc; ++i) {
1426 bool isSelected =
false;
1435 sel[selIndex++] = i;
1439 (*pvarChildren).vt = VT_EMPTY;
1442 if (sel.
size() == 1) {
1443 (*pvarChildren).vt = VT_I4;
1444 (*pvarChildren).lVal = sel[0];
1449 iface->QueryInterface(IID_IUnknown, (
void**)&uiface);
1450 (*pvarChildren).vt = VT_UNKNOWN;
1451 (*pvarChildren).punkVal = uiface;
1459 if (!accessible->isValid())
1460 return E_UNEXPECTED;
1462 QObject *o = accessible->object();
1466 *phwnd =
static_cast<QWidget*
>(o)->effectiveWinId();
1477 #endif // QT_NO_ACCESSIBILITY static QString number(int, int base=10)
This is an overloaded member function, provided for convenience. It differs from the above function o...
T qobject_cast(QObject *object)
HRESULT STDMETHODCALLTYPE accNavigate(long navDir, VARIANT varStart, VARIANT *pvarEnd)
static void updateAccessibility(QObject *, int who, Event reason)
Notifies accessibility clients about a change in object's accessibility information.
HRESULT STDMETHODCALLTYPE Invoke(long, const _GUID &, unsigned long, unsigned short, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, unsigned int *)
The QGraphicsScene class provides a surface for managing a large number of 2D graphical items...
virtual int indexOfChild(const QAccessibleInterface *) const =0
Returns the 1-based index of the object child in this object's children list, or -1 if child is not a...
HRESULT STDMETHODCALLTYPE get_accSelection(VARIANT *pvarChildren)
ULONG STDMETHODCALLTYPE AddRef()
HRESULT STDMETHODCALLTYPE accLocation(long *pxLeft, long *pyTop, long *pcxWidth, long *pcyHeight, VARIANT varID)
QVariant value(const QString &key, const QVariant &defaultValue=QVariant()) const
Returns the value for setting key.
ULONG STDMETHODCALLTYPE Release()
#define QT_END_NAMESPACE
This macro expands to.
HRESULT STDMETHODCALLTYPE get_accDescription(VARIANT varID, BSTR *pszDescription)
HRESULT STDMETHODCALLTYPE put_accValue(VARIANT varChild, BSTR szValue)
HRESULT STDMETHODCALLTYPE accSelect(long flagsSelect, VARIANT varID)
HRESULT STDMETHODCALLTYPE get_accParent(IDispatch **ppdispParent)
static BSTR QStringToBSTR(const QString &str)
HRESULT STDMETHODCALLTYPE get_accRole(VARIANT varID, VARIANT *pvarRole)
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, LPVOID *)
HRESULT STDMETHODCALLTYPE get_accHelpTopic(BSTR *pszHelpFile, VARIANT varChild, long *pidTopic)
The QSettings class provides persistent platform-independent application settings.
virtual State state(int child) const =0
Returns the current state of the object, or of the object's child if child is not 0...
Role
This enum defines the role of an accessible object.
int length() const
Returns the number of characters in this string.
static QWidget * activeWindow()
Returns the application top-level window that has the keyboard input focus, or 0 if no application wi...
The QGraphicsItem class is the base class for all graphical items in a QGraphicsScene.
Icon icon
the message box's icon
QAccessibleInterface * accessible
The QMessageBox class provides a modal dialog for informing the user or for asking the user a questio...
QMap< int, QPair< QPointer< QObject >, int > > NotifyMap
QString toString() const
Returns the variant as a QString if the variant has type() String , Bool , ByteArray ...
ULONG STDMETHODCALLTYPE Release()
int width() const
Returns the width of the rectangle.
HRESULT STDMETHODCALLTYPE Next(unsigned long celt, VARIANT FAR *rgVar, unsigned long FAR *pCeltFetched)
#define QT_END_INCLUDE_NAMESPACE
This macro is equivalent to QT_BEGIN_NAMESPACE.
QLatin1String(DBUS_INTERFACE_DBUS))) Q_GLOBAL_STATIC_WITH_ARGS(QString
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, LPVOID *)
long ASN1_INTEGER_get ASN1_INTEGER * a
int count(const T &t) const
Returns the number of occurrences of value in the list.
AccessibleElement(int entryId, QAccessibleInterface *accessible)
int height() const
Returns the height of the rectangle.
The QString class provides a Unicode character string.
The QObject class is the base class of all Qt objects.
HRESULT STDMETHODCALLTYPE Reset()
void resize(int size)
Sets the size of the vector to size.
HRESULT STDMETHODCALLTYPE Skip(unsigned long celt)
QString text(QAccessible::Text t) const
QGraphicsObject * toGraphicsObject()
Return the graphics item cast to a QGraphicsObject, if the class is actually a graphics object...
Q_CORE_EXPORT void qDebug(const char *,...)
ULONG STDMETHODCALLTYPE AddRef()
QWindowsAccessible(QAccessibleInterface *a)
#define QT_BEGIN_NAMESPACE
This macro expands to.
int access(const char *, int)
int size() const
Returns the number of characters in this string.
virtual int navigate(RelationFlag relation, int index, QAccessibleInterface **iface) const =0
Navigates from this object to an object that has a relationship relation to this object, and returns the respective object in target.
const QChar * unicode() const
Returns a '\0'-terminated Unicode representation of the string.
bool isEmpty() const
Returns true if the string has no characters; otherwise returns false.
Event
This enum type defines accessible event types.
RelationFlag
This enum type defines bit flags that can be combined to indicate the relationship between two access...
IAccessible * qt_createWindowsAccessible(QAccessibleInterface *access)
#define Q_GLOBAL_STATIC(TYPE, NAME)
Declares a global static variable with the given type and name.
const T & at(int i) const
Returns the item at index position i in the list.
HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode)
HRESULT STDMETHODCALLTYPE get_accHelp(VARIANT varID, BSTR *pszHelp)
HRESULT STDMETHODCALLTYPE GetWindow(HWND *phwnd)
HRESULT STDMETHODCALLTYPE get_accState(VARIANT varID, VARIANT *pvarState)
virtual ~QWindowsEnumerate()
static bool isActive()
Returns true if an accessibility implementation has been requested during the runtime of the applicat...
static QAccessibleInterface * queryAccessibleInterface(QObject *)
If a QAccessibleInterface implementation exists for the given object, this function returns a pointer...
HRESULT STDMETHODCALLTYPE get_accValue(VARIANT varID, BSTR *pszValue)
bool isNull() const
Returns true if this string is null; otherwise returns false.
virtual Role role(int child) const =0
Returns the role of the object, or of the object's child if child is not 0.
bool isWidgetType() const
Returns true if the object is a widget; otherwise returns false.
QGraphicsItem * parentItem() const
Returns a pointer to this item's parent item.
HRESULT STDMETHODCALLTYPE GetIDsOfNames(const _GUID &, wchar_t **, unsigned int, unsigned long, long *)
QWindowsEnumerate(const QVector< int > &a)
void * resolve(const char *symbol)
static void setRootObject(QObject *)
Sets the root accessible object of this application to object.
virtual QString actionText(int action, Text t, int child) const =0
Returns the text property t of the action action supported by the object, or of the object's child if...
HRESULT STDMETHODCALLTYPE put_accName(VARIANT varChild, BSTR szName)
virtual bool doAction(int action, int child, const QVariantList ¶ms=QVariantList())=0
Asks the object, or the object's child if child is not 0, to execute action using the parameters...
int y() const
Returns the y-coordinate of the rectangle's top edge.
The QAccessibleInterface class defines an interface that exposes information about accessible objects...
HRESULT STDMETHODCALLTYPE accDoDefaultAction(VARIANT varID)
HRESULT STDMETHODCALLTYPE get_accFocus(VARIANT *pvarID)
int x() const
Returns the x-coordinate of the rectangle's left edge.
QObject * parent() const
Returns a pointer to the parent object.
HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned int, unsigned long, ITypeInfo **)
Q_OUTOFLINE_TEMPLATE QPair< T1, T2 > qMakePair(const T1 &x, const T2 &y)
QList< QVariant > QVariantList
virtual ~QWindowsAccessible()
virtual QString text(Text t, int child) const =0
Returns the value of the text property t of the object, or of the object's child if child is not 0...
The QRect class defines a rectangle in the plane using integer precision.
#define showDebug(f, iface)
#define QT_BEGIN_INCLUDE_NAMESPACE
This macro is equivalent to QT_END_NAMESPACE.
virtual QRect rect(int child) const =0
Returns the geometry of the object, or of the object's child if child is not 0.
The QGraphicsView class provides a widget for displaying the contents of a QGraphicsScene.
HRESULT STDMETHODCALLTYPE get_accKeyboardShortcut(VARIANT varID, BSTR *pszKeyboardShortcut)
bool isEmpty() const
Returns true if the vector has size 0; otherwise returns false.
HRESULT STDMETHODCALLTYPE Clone(IEnumVARIANT **ppEnum)
HRESULT STDMETHODCALLTYPE get_accName(VARIANT varID, BSTR *pszName)
HRESULT STDMETHODCALLTYPE get_accDefaultAction(VARIANT varID, BSTR *pszDefaultAction)
HRESULT STDMETHODCALLTYPE get_accChildCount(long *pcountChildren)
Text
This enum specifies string information that an accessible object returns.
bool isValid() const
Returns true if the rectangle is valid, otherwise returns false.
HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned int *)
The QGraphicsObject class provides a base class for all graphics items that require signals...
QAccessibleInterface * iface
HRESULT STDMETHODCALLTYPE get_accChild(VARIANT varChildID, IDispatch **ppdispChild)
static QWidget * focusWidget()
Returns the application widget that has the keyboard input focus, or 0 if no widget in this applicati...
#define Q_UNUSED(x)
Indicates to the compiler that the parameter with the specified name is not used in the body of a fun...
static UpdateHandler updateHandler
int size() const
Returns the number of items in the vector.
HRESULT STDMETHODCALLTYPE accHitTest(long xLeft, long yTop, VARIANT *pvarID)
static RootObjectHandler rootObjectHandler
The QMap class is a template class that provides a skip-list-based dictionary.
The QAccessible class provides enums and static functions relating to accessibility.
The QList class is a template class that provides lists.
const ushort * utf16() const
Returns the QString as a '\0\'-terminated array of unsigned shorts.