7#include <QtCore/private/qsystemlibrary_p.h>
12QWindowsUiaWrapper::QWindowsUiaWrapper()
16 m_pUiaReturnRawElementProvider =
reinterpret_cast<PtrUiaReturnRawElementProvider
>(uiaLib.resolve(
"UiaReturnRawElementProvider"));
17 m_pUiaHostProviderFromHwnd =
reinterpret_cast<PtrUiaHostProviderFromHwnd
>(uiaLib.resolve(
"UiaHostProviderFromHwnd"));
18 m_pUiaRaiseAutomationPropertyChangedEvent =
reinterpret_cast<PtrUiaRaiseAutomationPropertyChangedEvent
>(uiaLib.resolve(
"UiaRaiseAutomationPropertyChangedEvent"));
19 m_pUiaRaiseAutomationEvent =
reinterpret_cast<PtrUiaRaiseAutomationEvent
>(uiaLib.resolve(
"UiaRaiseAutomationEvent"));
20 m_pUiaRaiseNotificationEvent =
reinterpret_cast<PtrUiaRaiseNotificationEvent
>(uiaLib.resolve(
"UiaRaiseNotificationEvent"));
21 m_pUiaClientsAreListening =
reinterpret_cast<PtrUiaClientsAreListening
>(uiaLib.resolve(
"UiaClientsAreListening"));
39 return m_pUiaReturnRawElementProvider
40 && m_pUiaHostProviderFromHwnd
41 && m_pUiaRaiseAutomationPropertyChangedEvent
42 && m_pUiaRaiseAutomationEvent
43 && m_pUiaClientsAreListening;
48 if (!m_pUiaClientsAreListening)
50 return m_pUiaClientsAreListening();
55 if (!m_pUiaReturnRawElementProvider)
56 return static_cast<LRESULT
>(NULL);
57 return m_pUiaReturnRawElementProvider(hwnd, wParam, lParam,
el);
62 if (!m_pUiaHostProviderFromHwnd)
64 return m_pUiaHostProviderFromHwnd(hwnd, ppProvider);
69 if (!m_pUiaRaiseAutomationPropertyChangedEvent)
71 return m_pUiaRaiseAutomationPropertyChangedEvent(pProvider,
id, oldValue, newValue);
76 if (!m_pUiaRaiseAutomationEvent)
78 return m_pUiaRaiseAutomationEvent(pProvider,
id);
83 if (!m_pUiaRaiseNotificationEvent)
85 return m_pUiaRaiseNotificationEvent(provider, notificationKind, notificationProcessing, displayString, activityId);
HRESULT raiseNotificationEvent(IRawElementProviderSimple *provider, NotificationKind notificationKind, NotificationProcessing notificationProcessing, BSTR displayString, BSTR activityId)
HRESULT raiseAutomationEvent(IRawElementProviderSimple *pProvider, EVENTID id)
BOOL clientsAreListening()
static QWindowsUiaWrapper * instance()
HRESULT raiseAutomationPropertyChangedEvent(IRawElementProviderSimple *pProvider, PROPERTYID id, VARIANT oldValue, VARIANT newValue)
LRESULT returnRawElementProvider(HWND hwnd, WPARAM wParam, LPARAM lParam, IRawElementProviderSimple *el)
HRESULT hostProviderFromHwnd(HWND hwnd, IRawElementProviderSimple **ppProvider)
virtual ~QWindowsUiaWrapper()
Combined button and popup list for selecting options.
#define QStringLiteral(str)
#define UIA_E_NOTSUPPORTED