Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qwindowsuiawrapper_p.h
Go to the documentation of this file.
1// Copyright (C) 2017 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QWINDOWSUIAWRAPPER_H
5#define QWINDOWSUIAWRAPPER_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists for the convenience
12// of other Qt classes. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <QtGui/private/qtguiglobal_p.h>
19
20#include "uiatypes_p.h"
21#include "uiaattributeids_p.h"
22#include "uiacontroltypeids_p.h"
23#include "uiaerrorids_p.h"
24#include "uiaeventids_p.h"
25#include "uiageneralids_p.h"
26#include "uiapatternids_p.h"
27#include "uiapropertyids_p.h"
30
31QT_REQUIRE_CONFIG(accessibility);
32
34
35class Q_GUI_EXPORT QWindowsUiaWrapper
36{
38 virtual ~QWindowsUiaWrapper();
39public:
40 static QWindowsUiaWrapper *instance();
41 BOOL ready();
42 BOOL clientsAreListening();
43 LRESULT returnRawElementProvider(HWND hwnd, WPARAM wParam, LPARAM lParam, IRawElementProviderSimple *el);
44 HRESULT hostProviderFromHwnd(HWND hwnd, IRawElementProviderSimple **ppProvider);
45 HRESULT raiseAutomationPropertyChangedEvent(IRawElementProviderSimple *pProvider, PROPERTYID id, VARIANT oldValue, VARIANT newValue);
46 HRESULT raiseAutomationEvent(IRawElementProviderSimple *pProvider, EVENTID id);
47 HRESULT raiseNotificationEvent(IRawElementProviderSimple *provider, NotificationKind notificationKind, NotificationProcessing notificationProcessing, BSTR displayString, BSTR activityId);
48
49private:
50 typedef LRESULT (WINAPI *PtrUiaReturnRawElementProvider)(HWND, WPARAM, LPARAM, IRawElementProviderSimple *);
51 typedef HRESULT (WINAPI *PtrUiaHostProviderFromHwnd)(HWND, IRawElementProviderSimple **);
52 typedef HRESULT (WINAPI *PtrUiaRaiseAutomationPropertyChangedEvent)(IRawElementProviderSimple *, PROPERTYID, VARIANT, VARIANT);
53 typedef HRESULT (WINAPI *PtrUiaRaiseAutomationEvent)(IRawElementProviderSimple *, EVENTID);
54 typedef HRESULT (WINAPI *PtrUiaRaiseNotificationEvent)(IRawElementProviderSimple *, NotificationKind, NotificationProcessing, BSTR, BSTR);
55 typedef BOOL (WINAPI *PtrUiaClientsAreListening)();
56 PtrUiaReturnRawElementProvider m_pUiaReturnRawElementProvider = nullptr;
57 PtrUiaHostProviderFromHwnd m_pUiaHostProviderFromHwnd = nullptr;
58 PtrUiaRaiseAutomationPropertyChangedEvent m_pUiaRaiseAutomationPropertyChangedEvent = nullptr;
59 PtrUiaRaiseAutomationEvent m_pUiaRaiseAutomationEvent = nullptr;
60 PtrUiaRaiseNotificationEvent m_pUiaRaiseNotificationEvent = nullptr;
61 PtrUiaClientsAreListening m_pUiaClientsAreListening = nullptr;
62};
63
65
66#endif //QWINDOWSUIAWRAPPER_H
67
Combined button and popup list for selecting options.
#define QT_REQUIRE_CONFIG(feature)
long HRESULT
QStringView el
NotificationProcessing
Definition uiatypes_p.h:137
int EVENTID
Definition uiatypes_p.h:20
NotificationKind
Definition uiatypes_p.h:129
int PROPERTYID
Definition uiatypes_p.h:18