From 9c31acbf47a6f3d11da30b56f2499493b70064bc Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Mon, 25 May 2020 14:04:55 +0200 Subject: Move windowsuiautomation API support into QtGui MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTBUG-83255 Change-Id: Ibface71931b6384494842ba9744d76f738c5ca85 Reviewed-by: Tor Arne Vestbø --- src/gui/CMakeLists.txt | 16 + src/gui/accessible/accessible.pri | 2 + .../accessible/windows/apisupport/apisupport.pri | 15 + .../windows/apisupport/qwindowsuiawrapper.cpp | 125 +++++++ .../windows/apisupport/qwindowsuiawrapper_p.h | 103 ++++++ .../windows/apisupport/uiaattributeids_p.h | 99 +++++ .../windows/apisupport/uiaclientinterfaces_p.h | 266 ++++++++++++++ .../windows/apisupport/uiacontroltypeids_p.h | 96 +++++ .../accessible/windows/apisupport/uiaerrorids_p.h | 62 ++++ .../accessible/windows/apisupport/uiaeventids_p.h | 90 +++++ .../windows/apisupport/uiageneralids_p.h | 57 +++ .../windows/apisupport/uiapatternids_p.h | 89 +++++ .../windows/apisupport/uiapropertyids_p.h | 224 ++++++++++++ .../windows/apisupport/uiaserverinterfaces_p.h | 403 +++++++++++++++++++++ src/gui/accessible/windows/apisupport/uiatypes_p.h | 193 ++++++++++ src/gui/accessible/windows/windows.pri | 1 + src/platformsupport/CMakeLists.txt | 3 - src/platformsupport/platformsupport.pro | 1 - .../windowsuiautomation/CMakeLists.txt | 28 -- .../windowsuiautomation/qwindowsuiawrapper.cpp | 125 ------- .../windowsuiautomation/qwindowsuiawrapper_p.h | 103 ------ .../windowsuiautomation/uiaattributeids_p.h | 99 ----- .../windowsuiautomation/uiaclientinterfaces_p.h | 266 -------------- .../windowsuiautomation/uiacontroltypeids_p.h | 96 ----- .../windowsuiautomation/uiaerrorids_p.h | 62 ---- .../windowsuiautomation/uiaeventids_p.h | 90 ----- .../windowsuiautomation/uiageneralids_p.h | 57 --- .../windowsuiautomation/uiapatternids_p.h | 89 ----- .../windowsuiautomation/uiapropertyids_p.h | 224 ------------ .../windowsuiautomation/uiaserverinterfaces_p.h | 403 --------------------- .../windowsuiautomation/uiatypes_p.h | 193 ---------- .../windowsuiautomation/windowsuiautomation.pro | 23 -- .../uiautomation/qwindowsuiaaccessibility.cpp | 2 +- .../windows/uiautomation/qwindowsuiabaseprovider.h | 2 +- .../windows/uiautomation/qwindowsuiautils.h | 2 +- .../windows/uiautomation/uiautomation.pri | 3 - sync.profile | 1 - tests/auto/other/qaccessibility/qaccessibility.pro | 3 - .../other/qaccessibility/tst_qaccessibility.cpp | 6 +- util/cmake/helper.py | 6 - 40 files changed, 1848 insertions(+), 1880 deletions(-) create mode 100644 src/gui/accessible/windows/apisupport/apisupport.pri create mode 100644 src/gui/accessible/windows/apisupport/qwindowsuiawrapper.cpp create mode 100644 src/gui/accessible/windows/apisupport/qwindowsuiawrapper_p.h create mode 100644 src/gui/accessible/windows/apisupport/uiaattributeids_p.h create mode 100644 src/gui/accessible/windows/apisupport/uiaclientinterfaces_p.h create mode 100644 src/gui/accessible/windows/apisupport/uiacontroltypeids_p.h create mode 100644 src/gui/accessible/windows/apisupport/uiaerrorids_p.h create mode 100644 src/gui/accessible/windows/apisupport/uiaeventids_p.h create mode 100644 src/gui/accessible/windows/apisupport/uiageneralids_p.h create mode 100644 src/gui/accessible/windows/apisupport/uiapatternids_p.h create mode 100644 src/gui/accessible/windows/apisupport/uiapropertyids_p.h create mode 100644 src/gui/accessible/windows/apisupport/uiaserverinterfaces_p.h create mode 100644 src/gui/accessible/windows/apisupport/uiatypes_p.h create mode 100644 src/gui/accessible/windows/windows.pri delete mode 100644 src/platformsupport/windowsuiautomation/CMakeLists.txt delete mode 100644 src/platformsupport/windowsuiautomation/qwindowsuiawrapper.cpp delete mode 100644 src/platformsupport/windowsuiautomation/qwindowsuiawrapper_p.h delete mode 100644 src/platformsupport/windowsuiautomation/uiaattributeids_p.h delete mode 100644 src/platformsupport/windowsuiautomation/uiaclientinterfaces_p.h delete mode 100644 src/platformsupport/windowsuiautomation/uiacontroltypeids_p.h delete mode 100644 src/platformsupport/windowsuiautomation/uiaerrorids_p.h delete mode 100644 src/platformsupport/windowsuiautomation/uiaeventids_p.h delete mode 100644 src/platformsupport/windowsuiautomation/uiageneralids_p.h delete mode 100644 src/platformsupport/windowsuiautomation/uiapatternids_p.h delete mode 100644 src/platformsupport/windowsuiautomation/uiapropertyids_p.h delete mode 100644 src/platformsupport/windowsuiautomation/uiaserverinterfaces_p.h delete mode 100644 src/platformsupport/windowsuiautomation/uiatypes_p.h delete mode 100644 src/platformsupport/windowsuiautomation/windowsuiautomation.pro diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index c8c9b11d95..32ef40257f 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -460,6 +460,22 @@ qt_extend_target(Gui CONDITION APPLE AND QT_FEATURE_accessibility ${FWFoundation} ) +qt_extend_target(Gui CONDITION WIN32 AND NOT WINRT AND QT_FEATURE_accessibility + SOURCES + accessible/windows/apisupport/qwindowsuiawrapper_p.h + accessible/windows/apisupport/uiaattributeids_p.h + accessible/windows/apisupport/uiacontroltypeids_p.h + accessible/windows/apisupport/uiaerrorids_p.h + accessible/windows/apisupport/uiaeventids_p.h + accessible/windows/apisupport/uiageneralids_p.h + accessible/windows/apisupport/uiaserverinterfaces_p.h + accessible/windows/apisupport/uiaclientinterfaces_p.h + accessible/windows/apisupport/uiapatternids_p.h + accessible/windows/apisupport/uiapropertyids_p.h + accessible/windows/apisupport/uiatypes_p.h + accessible/windows/apisupport/qwindowsuiawrapper.cpp +) + qt_extend_target(Gui CONDITION QT_FEATURE_action SOURCES kernel/qaction.cpp kernel/qaction.h kernel/qaction_p.h diff --git a/src/gui/accessible/accessible.pri b/src/gui/accessible/accessible.pri index 8dd821fe6a..95132d69de 100644 --- a/src/gui/accessible/accessible.pri +++ b/src/gui/accessible/accessible.pri @@ -22,4 +22,6 @@ qtConfig(accessibility) { LIBS_PRIVATE += -framework Foundation } + + win32:!winrt: include(windows/windows.pri) } diff --git a/src/gui/accessible/windows/apisupport/apisupport.pri b/src/gui/accessible/windows/apisupport/apisupport.pri new file mode 100644 index 0000000000..b5c0843abc --- /dev/null +++ b/src/gui/accessible/windows/apisupport/apisupport.pri @@ -0,0 +1,15 @@ +HEADERS += \ + accessible/windows/apisupport/qwindowsuiawrapper_p.h \ + accessible/windows/apisupport/uiaattributeids_p.h \ + accessible/windows/apisupport/uiacontroltypeids_p.h \ + accessible/windows/apisupport/uiaerrorids_p.h \ + accessible/windows/apisupport/uiaeventids_p.h \ + accessible/windows/apisupport/uiageneralids_p.h \ + accessible/windows/apisupport/uiaserverinterfaces_p.h \ + accessible/windows/apisupport/uiaclientinterfaces_p.h \ + accessible/windows/apisupport/uiapatternids_p.h \ + accessible/windows/apisupport/uiapropertyids_p.h \ + accessible/windows/apisupport/uiatypes_p.h + +SOURCES += \ + accessible/windows/apisupport/qwindowsuiawrapper.cpp diff --git a/src/gui/accessible/windows/apisupport/qwindowsuiawrapper.cpp b/src/gui/accessible/windows/apisupport/qwindowsuiawrapper.cpp new file mode 100644 index 0000000000..8038e1a3c3 --- /dev/null +++ b/src/gui/accessible/windows/apisupport/qwindowsuiawrapper.cpp @@ -0,0 +1,125 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include + +#include "qwindowsuiawrapper_p.h" +#include + +QT_BEGIN_NAMESPACE + +// private constructor +QWindowsUiaWrapper::QWindowsUiaWrapper() +{ + QSystemLibrary uiaLib(QStringLiteral("UIAutomationCore")); + if (uiaLib.load()) { + m_pUiaReturnRawElementProvider = reinterpret_cast(uiaLib.resolve("UiaReturnRawElementProvider")); + m_pUiaHostProviderFromHwnd = reinterpret_cast(uiaLib.resolve("UiaHostProviderFromHwnd")); + m_pUiaRaiseAutomationPropertyChangedEvent = reinterpret_cast(uiaLib.resolve("UiaRaiseAutomationPropertyChangedEvent")); + m_pUiaRaiseAutomationEvent = reinterpret_cast(uiaLib.resolve("UiaRaiseAutomationEvent")); + m_pUiaRaiseNotificationEvent = reinterpret_cast(uiaLib.resolve("UiaRaiseNotificationEvent")); + m_pUiaClientsAreListening = reinterpret_cast(uiaLib.resolve("UiaClientsAreListening")); + } +} + +QWindowsUiaWrapper::~QWindowsUiaWrapper() +{ +} + +// shared instance +QWindowsUiaWrapper *QWindowsUiaWrapper::instance() +{ + static QWindowsUiaWrapper wrapper; + return &wrapper; +} + +// True if most symbols resolved (UiaRaiseNotificationEvent is optional). +BOOL QWindowsUiaWrapper::ready() +{ + return m_pUiaReturnRawElementProvider + && m_pUiaHostProviderFromHwnd + && m_pUiaRaiseAutomationPropertyChangedEvent + && m_pUiaRaiseAutomationEvent + && m_pUiaClientsAreListening; +} + +BOOL QWindowsUiaWrapper::clientsAreListening() +{ + if (!m_pUiaClientsAreListening) + return FALSE; + return m_pUiaClientsAreListening(); +} + +LRESULT QWindowsUiaWrapper::returnRawElementProvider(HWND hwnd, WPARAM wParam, LPARAM lParam, IRawElementProviderSimple *el) +{ + if (!m_pUiaReturnRawElementProvider) + return static_cast(NULL); + return m_pUiaReturnRawElementProvider(hwnd, wParam, lParam, el); +} + +HRESULT QWindowsUiaWrapper::hostProviderFromHwnd(HWND hwnd, IRawElementProviderSimple **ppProvider) +{ + if (!m_pUiaHostProviderFromHwnd) + return UIA_E_NOTSUPPORTED; + return m_pUiaHostProviderFromHwnd(hwnd, ppProvider); +} + +HRESULT QWindowsUiaWrapper::raiseAutomationPropertyChangedEvent(IRawElementProviderSimple *pProvider, PROPERTYID id, VARIANT oldValue, VARIANT newValue) +{ + if (!m_pUiaRaiseAutomationPropertyChangedEvent) + return UIA_E_NOTSUPPORTED; + return m_pUiaRaiseAutomationPropertyChangedEvent(pProvider, id, oldValue, newValue); +} + +HRESULT QWindowsUiaWrapper::raiseAutomationEvent(IRawElementProviderSimple *pProvider, EVENTID id) +{ + if (!m_pUiaRaiseAutomationEvent) + return UIA_E_NOTSUPPORTED; + return m_pUiaRaiseAutomationEvent(pProvider, id); +} + +HRESULT QWindowsUiaWrapper::raiseNotificationEvent(IRawElementProviderSimple *provider, NotificationKind notificationKind, NotificationProcessing notificationProcessing, BSTR displayString, BSTR activityId) +{ + if (!m_pUiaRaiseNotificationEvent) + return UIA_E_NOTSUPPORTED; + return m_pUiaRaiseNotificationEvent(provider, notificationKind, notificationProcessing, displayString, activityId); +} + +QT_END_NAMESPACE + diff --git a/src/gui/accessible/windows/apisupport/qwindowsuiawrapper_p.h b/src/gui/accessible/windows/apisupport/qwindowsuiawrapper_p.h new file mode 100644 index 0000000000..b814295215 --- /dev/null +++ b/src/gui/accessible/windows/apisupport/qwindowsuiawrapper_p.h @@ -0,0 +1,103 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QWINDOWSUIAWRAPPER_H +#define QWINDOWSUIAWRAPPER_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists for the convenience +// of other Qt classes. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include + +#include "uiatypes_p.h" +#include "uiaattributeids_p.h" +#include "uiacontroltypeids_p.h" +#include "uiaerrorids_p.h" +#include "uiaeventids_p.h" +#include "uiageneralids_p.h" +#include "uiapatternids_p.h" +#include "uiapropertyids_p.h" +#include "uiaserverinterfaces_p.h" +#include "uiaclientinterfaces_p.h" + +QT_REQUIRE_CONFIG(accessibility); + +QT_BEGIN_NAMESPACE + +class Q_GUI_EXPORT QWindowsUiaWrapper +{ + QWindowsUiaWrapper(); + virtual ~QWindowsUiaWrapper(); +public: + static QWindowsUiaWrapper *instance(); + BOOL ready(); + BOOL clientsAreListening(); + LRESULT returnRawElementProvider(HWND hwnd, WPARAM wParam, LPARAM lParam, IRawElementProviderSimple *el); + HRESULT hostProviderFromHwnd(HWND hwnd, IRawElementProviderSimple **ppProvider); + HRESULT raiseAutomationPropertyChangedEvent(IRawElementProviderSimple *pProvider, PROPERTYID id, VARIANT oldValue, VARIANT newValue); + HRESULT raiseAutomationEvent(IRawElementProviderSimple *pProvider, EVENTID id); + HRESULT raiseNotificationEvent(IRawElementProviderSimple *provider, NotificationKind notificationKind, NotificationProcessing notificationProcessing, BSTR displayString, BSTR activityId); + +private: + typedef LRESULT (WINAPI *PtrUiaReturnRawElementProvider)(HWND, WPARAM, LPARAM, IRawElementProviderSimple *); + typedef HRESULT (WINAPI *PtrUiaHostProviderFromHwnd)(HWND, IRawElementProviderSimple **); + typedef HRESULT (WINAPI *PtrUiaRaiseAutomationPropertyChangedEvent)(IRawElementProviderSimple *, PROPERTYID, VARIANT, VARIANT); + typedef HRESULT (WINAPI *PtrUiaRaiseAutomationEvent)(IRawElementProviderSimple *, EVENTID); + typedef HRESULT (WINAPI *PtrUiaRaiseNotificationEvent)(IRawElementProviderSimple *, NotificationKind, NotificationProcessing, BSTR, BSTR); + typedef BOOL (WINAPI *PtrUiaClientsAreListening)(); + PtrUiaReturnRawElementProvider m_pUiaReturnRawElementProvider = nullptr; + PtrUiaHostProviderFromHwnd m_pUiaHostProviderFromHwnd = nullptr; + PtrUiaRaiseAutomationPropertyChangedEvent m_pUiaRaiseAutomationPropertyChangedEvent = nullptr; + PtrUiaRaiseAutomationEvent m_pUiaRaiseAutomationEvent = nullptr; + PtrUiaRaiseNotificationEvent m_pUiaRaiseNotificationEvent = nullptr; + PtrUiaClientsAreListening m_pUiaClientsAreListening = nullptr; +}; + +QT_END_NAMESPACE + +#endif //QWINDOWSUIAWRAPPER_H + diff --git a/src/gui/accessible/windows/apisupport/uiaattributeids_p.h b/src/gui/accessible/windows/apisupport/uiaattributeids_p.h new file mode 100644 index 0000000000..795cb9e551 --- /dev/null +++ b/src/gui/accessible/windows/apisupport/uiaattributeids_p.h @@ -0,0 +1,99 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef UIAATTRIBUTEIDS_H +#define UIAATTRIBUTEIDS_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#define UIA_AnimationStyleAttributeId 40000 +#define UIA_BackgroundColorAttributeId 40001 +#define UIA_BulletStyleAttributeId 40002 +#define UIA_CapStyleAttributeId 40003 +#define UIA_CultureAttributeId 40004 +#define UIA_FontNameAttributeId 40005 +#define UIA_FontSizeAttributeId 40006 +#define UIA_FontWeightAttributeId 40007 +#define UIA_ForegroundColorAttributeId 40008 +#define UIA_HorizontalTextAlignmentAttributeId 40009 +#define UIA_IndentationFirstLineAttributeId 40010 +#define UIA_IndentationLeadingAttributeId 40011 +#define UIA_IndentationTrailingAttributeId 40012 +#define UIA_IsHiddenAttributeId 40013 +#define UIA_IsItalicAttributeId 40014 +#define UIA_IsReadOnlyAttributeId 40015 +#define UIA_IsSubscriptAttributeId 40016 +#define UIA_IsSuperscriptAttributeId 40017 +#define UIA_MarginBottomAttributeId 40018 +#define UIA_MarginLeadingAttributeId 40019 +#define UIA_MarginTopAttributeId 40020 +#define UIA_MarginTrailingAttributeId 40021 +#define UIA_OutlineStylesAttributeId 40022 +#define UIA_OverlineColorAttributeId 40023 +#define UIA_OverlineStyleAttributeId 40024 +#define UIA_StrikethroughColorAttributeId 40025 +#define UIA_StrikethroughStyleAttributeId 40026 +#define UIA_TabsAttributeId 40027 +#define UIA_TextFlowDirectionsAttributeId 40028 +#define UIA_UnderlineColorAttributeId 40029 +#define UIA_UnderlineStyleAttributeId 40030 +#define UIA_AnnotationTypesAttributeId 40031 +#define UIA_AnnotationObjectsAttributeId 40032 +#define UIA_StyleNameAttributeId 40033 +#define UIA_StyleIdAttributeId 40034 +#define UIA_LinkAttributeId 40035 +#define UIA_IsActiveAttributeId 40036 +#define UIA_SelectionActiveEndAttributeId 40037 +#define UIA_CaretPositionAttributeId 40038 +#define UIA_CaretBidiModeAttributeId 40039 +#define UIA_LineSpacingAttributeId 40040 +#define UIA_BeforeParagraphSpacingAttributeId 40041 +#define UIA_AfterParagraphSpacingAttributeId 40042 +#define UIA_SayAsInterpretAsAttributeId 40043 + +#endif diff --git a/src/gui/accessible/windows/apisupport/uiaclientinterfaces_p.h b/src/gui/accessible/windows/apisupport/uiaclientinterfaces_p.h new file mode 100644 index 0000000000..a4f3e15baa --- /dev/null +++ b/src/gui/accessible/windows/apisupport/uiaclientinterfaces_p.h @@ -0,0 +1,266 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef UIACLIENTINTERFACES_H +#define UIACLIENTINTERFACES_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include + +#ifndef __IUIAutomationElement_INTERFACE_DEFINED__ + +struct IUIAutomationCondition; +struct IUIAutomationCacheRequest; +struct IUIAutomationElementArray; +struct IUIAutomationTreeWalker; +struct IUIAutomationEventHandler; +struct IUIAutomationPropertyChangedEventHandler; +struct IUIAutomationStructureChangedEventHandler; +struct IUIAutomationFocusChangedEventHandler; +struct IUIAutomationProxyFactory; +struct IUIAutomationProxyFactoryEntry; +struct IUIAutomationProxyFactoryMapping; +#ifndef __IAccessible_FWD_DEFINED__ +#define __IAccessible_FWD_DEFINED__ +struct IAccessible; +#endif /* __IAccessible_FWD_DEFINED__ */ + +#define __IUIAutomationElement_INTERFACE_DEFINED__ +DEFINE_GUID(IID_IUIAutomationElement, 0xd22108aa, 0x8ac5, 0x49a5, 0x83,0x7b, 0x37,0xbb,0xb3,0xd7,0x59,0x1e); +MIDL_INTERFACE("d22108aa-8ac5-49a5-837b-37bbb3d7591e") +IUIAutomationElement : public IUnknown +{ +public: + virtual HRESULT STDMETHODCALLTYPE SetFocus() = 0; + virtual HRESULT STDMETHODCALLTYPE GetRuntimeId(__RPC__deref_out_opt SAFEARRAY **runtimeId) = 0; + virtual HRESULT STDMETHODCALLTYPE FindFirst(enum TreeScope scope, __RPC__in_opt IUIAutomationCondition *condition, __RPC__deref_out_opt IUIAutomationElement **found) = 0; + virtual HRESULT STDMETHODCALLTYPE FindAll(enum TreeScope scope, __RPC__in_opt IUIAutomationCondition *condition, __RPC__deref_out_opt IUIAutomationElementArray **found) = 0; + virtual HRESULT STDMETHODCALLTYPE FindFirstBuildCache(enum TreeScope scope, __RPC__in_opt IUIAutomationCondition *condition, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **found) = 0; + virtual HRESULT STDMETHODCALLTYPE FindAllBuildCache(enum TreeScope scope, __RPC__in_opt IUIAutomationCondition *condition, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElementArray **found) = 0; + virtual HRESULT STDMETHODCALLTYPE BuildUpdatedCache(__RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **updatedElement) = 0; + virtual HRESULT STDMETHODCALLTYPE GetCurrentPropertyValue(PROPERTYID propertyId, __RPC__out VARIANT *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE GetCurrentPropertyValueEx(PROPERTYID propertyId, BOOL ignoreDefaultValue, __RPC__out VARIANT *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE GetCachedPropertyValue(PROPERTYID propertyId, __RPC__out VARIANT *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE GetCachedPropertyValueEx(PROPERTYID propertyId, BOOL ignoreDefaultValue, __RPC__out VARIANT *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE GetCurrentPatternAs(PATTERNID patternId, __RPC__in REFIID riid, __RPC__deref_out_opt void **patternObject) = 0; + virtual HRESULT STDMETHODCALLTYPE GetCachedPatternAs(PATTERNID patternId, __RPC__in REFIID riid, __RPC__deref_out_opt void **patternObject) = 0; + virtual HRESULT STDMETHODCALLTYPE GetCurrentPattern(PATTERNID patternId, __RPC__deref_out_opt IUnknown **patternObject) = 0; + virtual HRESULT STDMETHODCALLTYPE GetCachedPattern(PATTERNID patternId, __RPC__deref_out_opt IUnknown **patternObject) = 0; + virtual HRESULT STDMETHODCALLTYPE GetCachedParent(__RPC__deref_out_opt IUIAutomationElement **parent) = 0; + virtual HRESULT STDMETHODCALLTYPE GetCachedChildren(__RPC__deref_out_opt IUIAutomationElementArray **children) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentProcessId(__RPC__out int *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentControlType(__RPC__out CONTROLTYPEID *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentLocalizedControlType(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentName(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentAcceleratorKey(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentAccessKey(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentHasKeyboardFocus(__RPC__out BOOL *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsKeyboardFocusable(__RPC__out BOOL *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsEnabled(__RPC__out BOOL *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentAutomationId(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentClassName(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentHelpText(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentCulture(__RPC__out int *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsControlElement(__RPC__out BOOL *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsContentElement(__RPC__out BOOL *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsPassword(__RPC__out BOOL *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentNativeWindowHandle(__RPC__deref_out_opt UIA_HWND *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentItemType(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsOffscreen(__RPC__out BOOL *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentOrientation(__RPC__out enum OrientationType *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentFrameworkId(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsRequiredForForm(__RPC__out BOOL *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentItemStatus(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentBoundingRectangle(__RPC__out RECT *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentLabeledBy(__RPC__deref_out_opt IUIAutomationElement **retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentAriaRole(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentAriaProperties(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsDataValidForForm(__RPC__out BOOL *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentControllerFor(__RPC__deref_out_opt IUIAutomationElementArray **retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentDescribedBy(__RPC__deref_out_opt IUIAutomationElementArray **retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentFlowsTo(__RPC__deref_out_opt IUIAutomationElementArray **retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CurrentProviderDescription(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedProcessId(__RPC__out int *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedControlType(__RPC__out CONTROLTYPEID *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedLocalizedControlType(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedName(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedAcceleratorKey(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedAccessKey(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedHasKeyboardFocus(__RPC__out BOOL *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedIsKeyboardFocusable(__RPC__out BOOL *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedIsEnabled(__RPC__out BOOL *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedAutomationId(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedClassName(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedHelpText(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedCulture(__RPC__out int *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedIsControlElement(__RPC__out BOOL *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedIsContentElement(__RPC__out BOOL *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedIsPassword(__RPC__out BOOL *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedNativeWindowHandle(__RPC__deref_out_opt UIA_HWND *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedItemType(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedIsOffscreen(__RPC__out BOOL *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedOrientation(__RPC__out enum OrientationType *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedFrameworkId(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedIsRequiredForForm(__RPC__out BOOL *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedItemStatus(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedBoundingRectangle(__RPC__out RECT *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedLabeledBy(__RPC__deref_out_opt IUIAutomationElement **retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedAriaRole(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedAriaProperties(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedIsDataValidForForm(__RPC__out BOOL *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedControllerFor(__RPC__deref_out_opt IUIAutomationElementArray **retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedDescribedBy(__RPC__deref_out_opt IUIAutomationElementArray **retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedFlowsTo(__RPC__deref_out_opt IUIAutomationElementArray **retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CachedProviderDescription(__RPC__deref_out_opt BSTR *retVal) = 0; + virtual HRESULT STDMETHODCALLTYPE GetClickablePoint(__RPC__out POINT *clickable, __RPC__out BOOL *gotClickable) = 0; +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationElement, 0xd22108aa, 0x8ac5, 0x49a5, 0x83,0x7b, 0x37,0xbb,0xb3,0xd7,0x59,0x1e) +#endif +#endif + + +#ifndef __IUIAutomation_INTERFACE_DEFINED__ +#define __IUIAutomation_INTERFACE_DEFINED__ +DEFINE_GUID(IID_IUIAutomation, 0x30cbe57d, 0xd9d0, 0x452a, 0xab,0x13, 0x7a,0xc5,0xac,0x48,0x25,0xee); +MIDL_INTERFACE("30cbe57d-d9d0-452a-ab13-7ac5ac4825ee") +IUIAutomation : public IUnknown +{ +public: + virtual HRESULT STDMETHODCALLTYPE CompareElements(__RPC__in_opt IUIAutomationElement *el1, __RPC__in_opt IUIAutomationElement *el2, __RPC__out BOOL *areSame) = 0; + virtual HRESULT STDMETHODCALLTYPE CompareRuntimeIds(__RPC__in SAFEARRAY * runtimeId1, __RPC__in SAFEARRAY * runtimeId2, __RPC__out BOOL *areSame) = 0; + virtual HRESULT STDMETHODCALLTYPE GetRootElement(__RPC__deref_out_opt IUIAutomationElement **root) = 0; + virtual HRESULT STDMETHODCALLTYPE ElementFromHandle(__RPC__in UIA_HWND hwnd, __RPC__deref_out_opt IUIAutomationElement **element) = 0; + virtual HRESULT STDMETHODCALLTYPE ElementFromPoint(POINT pt, __RPC__deref_out_opt IUIAutomationElement **element) = 0; + virtual HRESULT STDMETHODCALLTYPE GetFocusedElement(__RPC__deref_out_opt IUIAutomationElement **element) = 0; + virtual HRESULT STDMETHODCALLTYPE GetRootElementBuildCache(__RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **root) = 0; + virtual HRESULT STDMETHODCALLTYPE ElementFromHandleBuildCache(__RPC__in UIA_HWND hwnd, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **element) = 0; + virtual HRESULT STDMETHODCALLTYPE ElementFromPointBuildCache(POINT pt, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **element) = 0; + virtual HRESULT STDMETHODCALLTYPE GetFocusedElementBuildCache(__RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **element) = 0; + virtual HRESULT STDMETHODCALLTYPE CreateTreeWalker(__RPC__in_opt IUIAutomationCondition *pCondition, __RPC__deref_out_opt IUIAutomationTreeWalker **walker) = 0; + virtual HRESULT STDMETHODCALLTYPE get_ControlViewWalker(__RPC__deref_out_opt IUIAutomationTreeWalker **walker) = 0; + virtual HRESULT STDMETHODCALLTYPE get_ContentViewWalker(__RPC__deref_out_opt IUIAutomationTreeWalker **walker) = 0; + virtual HRESULT STDMETHODCALLTYPE get_RawViewWalker(__RPC__deref_out_opt IUIAutomationTreeWalker **walker) = 0; + virtual HRESULT STDMETHODCALLTYPE get_RawViewCondition(__RPC__deref_out_opt IUIAutomationCondition **condition) = 0; + virtual HRESULT STDMETHODCALLTYPE get_ControlViewCondition(__RPC__deref_out_opt IUIAutomationCondition **condition) = 0; + virtual HRESULT STDMETHODCALLTYPE get_ContentViewCondition(__RPC__deref_out_opt IUIAutomationCondition **condition) = 0; + virtual HRESULT STDMETHODCALLTYPE CreateCacheRequest(__RPC__deref_out_opt IUIAutomationCacheRequest **cacheRequest) = 0; + virtual HRESULT STDMETHODCALLTYPE CreateTrueCondition(__RPC__deref_out_opt IUIAutomationCondition **newCondition) = 0; + virtual HRESULT STDMETHODCALLTYPE CreateFalseCondition(__RPC__deref_out_opt IUIAutomationCondition **newCondition) = 0; + virtual HRESULT STDMETHODCALLTYPE CreatePropertyCondition(PROPERTYID propertyId, VARIANT value, __RPC__deref_out_opt IUIAutomationCondition **newCondition) = 0; + virtual HRESULT STDMETHODCALLTYPE CreatePropertyConditionEx(PROPERTYID propertyId, VARIANT value, enum PropertyConditionFlags flags, __RPC__deref_out_opt IUIAutomationCondition **newCondition) = 0; + virtual HRESULT STDMETHODCALLTYPE CreateAndCondition(__RPC__in_opt IUIAutomationCondition *condition1, __RPC__in_opt IUIAutomationCondition *condition2, __RPC__deref_out_opt IUIAutomationCondition **newCondition) = 0; + virtual HRESULT STDMETHODCALLTYPE CreateAndConditionFromArray(__RPC__in_opt SAFEARRAY * conditions, __RPC__deref_out_opt IUIAutomationCondition **newCondition) = 0; + virtual HRESULT STDMETHODCALLTYPE CreateAndConditionFromNativeArray(__RPC__in_ecount_full(conditionCount) IUIAutomationCondition **conditions, int conditionCount, __RPC__deref_out_opt IUIAutomationCondition **newCondition) = 0; + virtual HRESULT STDMETHODCALLTYPE CreateOrCondition(__RPC__in_opt IUIAutomationCondition *condition1, __RPC__in_opt IUIAutomationCondition *condition2, __RPC__deref_out_opt IUIAutomationCondition **newCondition) = 0; + virtual HRESULT STDMETHODCALLTYPE CreateOrConditionFromArray(__RPC__in_opt SAFEARRAY * conditions, __RPC__deref_out_opt IUIAutomationCondition **newCondition) = 0; + virtual HRESULT STDMETHODCALLTYPE CreateOrConditionFromNativeArray(__RPC__in_ecount_full(conditionCount) IUIAutomationCondition **conditions, int conditionCount, __RPC__deref_out_opt IUIAutomationCondition **newCondition) = 0; + virtual HRESULT STDMETHODCALLTYPE CreateNotCondition(__RPC__in_opt IUIAutomationCondition *condition, __RPC__deref_out_opt IUIAutomationCondition **newCondition) = 0; + virtual HRESULT STDMETHODCALLTYPE AddAutomationEventHandler(EVENTID eventId, __RPC__in_opt IUIAutomationElement *element, enum TreeScope scope, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__in_opt IUIAutomationEventHandler *handler) = 0; + virtual HRESULT STDMETHODCALLTYPE RemoveAutomationEventHandler(EVENTID eventId, __RPC__in_opt IUIAutomationElement *element, __RPC__in_opt IUIAutomationEventHandler *handler) = 0; + virtual HRESULT STDMETHODCALLTYPE AddPropertyChangedEventHandlerNativeArray(__RPC__in_opt IUIAutomationElement *element, enum TreeScope scope, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__in_opt IUIAutomationPropertyChangedEventHandler *handler, __RPC__in_ecount_full(propertyCount) PROPERTYID *propertyArray, int propertyCount) = 0; + virtual HRESULT STDMETHODCALLTYPE AddPropertyChangedEventHandler(__RPC__in_opt IUIAutomationElement *element, enum TreeScope scope, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__in_opt IUIAutomationPropertyChangedEventHandler *handler, __RPC__in SAFEARRAY * propertyArray) = 0; + virtual HRESULT STDMETHODCALLTYPE RemovePropertyChangedEventHandler(__RPC__in_opt IUIAutomationElement *element, __RPC__in_opt IUIAutomationPropertyChangedEventHandler *handler) = 0; + virtual HRESULT STDMETHODCALLTYPE AddStructureChangedEventHandler(__RPC__in_opt IUIAutomationElement *element, enum TreeScope scope, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__in_opt IUIAutomationStructureChangedEventHandler *handler) = 0; + virtual HRESULT STDMETHODCALLTYPE RemoveStructureChangedEventHandler(__RPC__in_opt IUIAutomationElement *element, __RPC__in_opt IUIAutomationStructureChangedEventHandler *handler) = 0; + virtual HRESULT STDMETHODCALLTYPE AddFocusChangedEventHandler(__RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__in_opt IUIAutomationFocusChangedEventHandler *handler) = 0; + virtual HRESULT STDMETHODCALLTYPE RemoveFocusChangedEventHandler(__RPC__in_opt IUIAutomationFocusChangedEventHandler *handler) = 0; + virtual HRESULT STDMETHODCALLTYPE RemoveAllEventHandlers() = 0; + virtual HRESULT STDMETHODCALLTYPE IntNativeArrayToSafeArray(__RPC__in_ecount_full(arrayCount) int *array, int arrayCount, __RPC__deref_out_opt SAFEARRAY **safeArray) = 0; + virtual HRESULT STDMETHODCALLTYPE IntSafeArrayToNativeArray(__RPC__in SAFEARRAY * intArray, __RPC__deref_out_ecount_full_opt(*arrayCount) int **array, __RPC__out int *arrayCount) = 0; + virtual HRESULT STDMETHODCALLTYPE RectToVariant(RECT rc, __RPC__out VARIANT *var) = 0; + virtual HRESULT STDMETHODCALLTYPE VariantToRect(VARIANT var, __RPC__out RECT *rc) = 0; + virtual HRESULT STDMETHODCALLTYPE SafeArrayToRectNativeArray(__RPC__in SAFEARRAY * rects, __RPC__deref_out_ecount_full_opt(*rectArrayCount) RECT **rectArray, __RPC__out int *rectArrayCount) = 0; + virtual HRESULT STDMETHODCALLTYPE CreateProxyFactoryEntry(__RPC__in_opt IUIAutomationProxyFactory *factory, __RPC__deref_out_opt IUIAutomationProxyFactoryEntry **factoryEntry) = 0; + virtual HRESULT STDMETHODCALLTYPE get_ProxyFactoryMapping(__RPC__deref_out_opt IUIAutomationProxyFactoryMapping **factoryMapping) = 0; + virtual HRESULT STDMETHODCALLTYPE GetPropertyProgrammaticName(PROPERTYID property, __RPC__deref_out_opt BSTR *name) = 0; + virtual HRESULT STDMETHODCALLTYPE GetPatternProgrammaticName(PATTERNID pattern, __RPC__deref_out_opt BSTR *name) = 0; + virtual HRESULT STDMETHODCALLTYPE PollForPotentialSupportedPatterns(__RPC__in_opt IUIAutomationElement *pElement, __RPC__deref_out_opt SAFEARRAY **patternIds, __RPC__deref_out_opt SAFEARRAY **patternNames) = 0; + virtual HRESULT STDMETHODCALLTYPE PollForPotentialSupportedProperties(__RPC__in_opt IUIAutomationElement *pElement, __RPC__deref_out_opt SAFEARRAY **propertyIds, __RPC__deref_out_opt SAFEARRAY **propertyNames) = 0; + virtual HRESULT STDMETHODCALLTYPE CheckNotSupported(VARIANT value, __RPC__out BOOL *isNotSupported) = 0; + virtual HRESULT STDMETHODCALLTYPE get_ReservedNotSupportedValue(__RPC__deref_out_opt IUnknown **notSupportedValue) = 0; + virtual HRESULT STDMETHODCALLTYPE get_ReservedMixedAttributeValue(__RPC__deref_out_opt IUnknown **mixedAttributeValue) = 0; + virtual HRESULT STDMETHODCALLTYPE ElementFromIAccessible(__RPC__in_opt IAccessible *accessible, int childId, __RPC__deref_out_opt IUIAutomationElement **element) = 0; + virtual HRESULT STDMETHODCALLTYPE ElementFromIAccessibleBuildCache(__RPC__in_opt IAccessible *accessible, int childId, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **element) = 0; +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomation, 0x30cbe57d, 0xd9d0, 0x452a, 0xab,0x13, 0x7a,0xc5,0xac,0x48,0x25,0xee) +#endif +#endif + + +#ifndef __IUIAutomationTreeWalker_INTERFACE_DEFINED__ +#define __IUIAutomationTreeWalker_INTERFACE_DEFINED__ +DEFINE_GUID(IID_IUIAutomationTreeWalker, 0x4042c624, 0x389c, 0x4afc, 0xa6,0x30, 0x9d,0xf8,0x54,0xa5,0x41,0xfc); +MIDL_INTERFACE("4042c624-389c-4afc-a630-9df854a541fc") +IUIAutomationTreeWalker : public IUnknown +{ +public: + virtual HRESULT STDMETHODCALLTYPE GetParentElement(__RPC__in_opt IUIAutomationElement *element, __RPC__deref_out_opt IUIAutomationElement **parent) = 0; + virtual HRESULT STDMETHODCALLTYPE GetFirstChildElement(__RPC__in_opt IUIAutomationElement *element, __RPC__deref_out_opt IUIAutomationElement **first) = 0; + virtual HRESULT STDMETHODCALLTYPE GetLastChildElement(__RPC__in_opt IUIAutomationElement *element, __RPC__deref_out_opt IUIAutomationElement **last) = 0; + virtual HRESULT STDMETHODCALLTYPE GetNextSiblingElement(__RPC__in_opt IUIAutomationElement *element, __RPC__deref_out_opt IUIAutomationElement **next) = 0; + virtual HRESULT STDMETHODCALLTYPE GetPreviousSiblingElement(__RPC__in_opt IUIAutomationElement *element, __RPC__deref_out_opt IUIAutomationElement **previous) = 0; + virtual HRESULT STDMETHODCALLTYPE NormalizeElement(__RPC__in_opt IUIAutomationElement *element, __RPC__deref_out_opt IUIAutomationElement **normalized) = 0; + virtual HRESULT STDMETHODCALLTYPE GetParentElementBuildCache(__RPC__in_opt IUIAutomationElement *element, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **parent) = 0; + virtual HRESULT STDMETHODCALLTYPE GetFirstChildElementBuildCache(__RPC__in_opt IUIAutomationElement *element, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **first) = 0; + virtual HRESULT STDMETHODCALLTYPE GetLastChildElementBuildCache(__RPC__in_opt IUIAutomationElement *element, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **last) = 0; + virtual HRESULT STDMETHODCALLTYPE GetNextSiblingElementBuildCache(__RPC__in_opt IUIAutomationElement *element, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **next) = 0; + virtual HRESULT STDMETHODCALLTYPE GetPreviousSiblingElementBuildCache(__RPC__in_opt IUIAutomationElement *element, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **previous) = 0; + virtual HRESULT STDMETHODCALLTYPE NormalizeElementBuildCache(__RPC__in_opt IUIAutomationElement *element, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **normalized) = 0; + virtual HRESULT STDMETHODCALLTYPE get_Condition(__RPC__deref_out_opt IUIAutomationCondition **condition) = 0; +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationTreeWalker, 0x4042c624, 0x389c, 0x4afc, 0xa6,0x30, 0x9d,0xf8,0x54,0xa5,0x41,0xfc) +#endif +#endif + +DEFINE_GUID(CLSID_CUIAutomation, 0xff48dba4, 0x60ef, 0x4201, 0xaa,0x87, 0x54,0x10,0x3e,0xef,0x59,0x4e); + +#endif diff --git a/src/gui/accessible/windows/apisupport/uiacontroltypeids_p.h b/src/gui/accessible/windows/apisupport/uiacontroltypeids_p.h new file mode 100644 index 0000000000..b5c5a0a4ff --- /dev/null +++ b/src/gui/accessible/windows/apisupport/uiacontroltypeids_p.h @@ -0,0 +1,96 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef UIACONTROLTYPEIDS_H +#define UIACONTROLTYPEIDS_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#define UIA_ButtonControlTypeId 50000 +#define UIA_CalendarControlTypeId 50001 +#define UIA_CheckBoxControlTypeId 50002 +#define UIA_ComboBoxControlTypeId 50003 +#define UIA_EditControlTypeId 50004 +#define UIA_HyperlinkControlTypeId 50005 +#define UIA_ImageControlTypeId 50006 +#define UIA_ListItemControlTypeId 50007 +#define UIA_ListControlTypeId 50008 +#define UIA_MenuControlTypeId 50009 +#define UIA_MenuBarControlTypeId 50010 +#define UIA_MenuItemControlTypeId 50011 +#define UIA_ProgressBarControlTypeId 50012 +#define UIA_RadioButtonControlTypeId 50013 +#define UIA_ScrollBarControlTypeId 50014 +#define UIA_SliderControlTypeId 50015 +#define UIA_SpinnerControlTypeId 50016 +#define UIA_StatusBarControlTypeId 50017 +#define UIA_TabControlTypeId 50018 +#define UIA_TabItemControlTypeId 50019 +#define UIA_TextControlTypeId 50020 +#define UIA_ToolBarControlTypeId 50021 +#define UIA_ToolTipControlTypeId 50022 +#define UIA_TreeControlTypeId 50023 +#define UIA_TreeItemControlTypeId 50024 +#define UIA_CustomControlTypeId 50025 +#define UIA_GroupControlTypeId 50026 +#define UIA_ThumbControlTypeId 50027 +#define UIA_DataGridControlTypeId 50028 +#define UIA_DataItemControlTypeId 50029 +#define UIA_DocumentControlTypeId 50030 +#define UIA_SplitButtonControlTypeId 50031 +#define UIA_WindowControlTypeId 50032 +#define UIA_PaneControlTypeId 50033 +#define UIA_HeaderControlTypeId 50034 +#define UIA_HeaderItemControlTypeId 50035 +#define UIA_TableControlTypeId 50036 +#define UIA_TitleBarControlTypeId 50037 +#define UIA_SeparatorControlTypeId 50038 +#define UIA_SemanticZoomControlTypeId 50039 +#define UIA_AppBarControlTypeId 50040 + +#endif diff --git a/src/gui/accessible/windows/apisupport/uiaerrorids_p.h b/src/gui/accessible/windows/apisupport/uiaerrorids_p.h new file mode 100644 index 0000000000..8c2a24dbc7 --- /dev/null +++ b/src/gui/accessible/windows/apisupport/uiaerrorids_p.h @@ -0,0 +1,62 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef UIAERRORIDS_H +#define UIAERRORIDS_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#define UIA_E_ELEMENTNOTENABLED 0x80040200 +#define UIA_E_ELEMENTNOTAVAILABLE 0x80040201 +#define UIA_E_NOCLICKABLEPOINT 0x80040202 +#define UIA_E_PROXYASSEMBLYNOTLOADED 0x80040203 +#define UIA_E_NOTSUPPORTED 0x80040204 +#define UIA_E_INVALIDOPERATION 0x80131509 +#define UIA_E_TIMEOUT 0x80131505 + +#endif diff --git a/src/gui/accessible/windows/apisupport/uiaeventids_p.h b/src/gui/accessible/windows/apisupport/uiaeventids_p.h new file mode 100644 index 0000000000..ed6c36834e --- /dev/null +++ b/src/gui/accessible/windows/apisupport/uiaeventids_p.h @@ -0,0 +1,90 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef UIAEVENTIDS_H +#define UIAEVENTIDS_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#define UIA_ToolTipOpenedEventId 20000 +#define UIA_ToolTipClosedEventId 20001 +#define UIA_StructureChangedEventId 20002 +#define UIA_MenuOpenedEventId 20003 +#define UIA_AutomationPropertyChangedEventId 20004 +#define UIA_AutomationFocusChangedEventId 20005 +#define UIA_AsyncContentLoadedEventId 20006 +#define UIA_MenuClosedEventId 20007 +#define UIA_LayoutInvalidatedEventId 20008 +#define UIA_Invoke_InvokedEventId 20009 +#define UIA_SelectionItem_ElementAddedToSelectionEventId 20010 +#define UIA_SelectionItem_ElementRemovedFromSelectionEventId 20011 +#define UIA_SelectionItem_ElementSelectedEventId 20012 +#define UIA_Selection_InvalidatedEventId 20013 +#define UIA_Text_TextSelectionChangedEventId 20014 +#define UIA_Text_TextChangedEventId 20015 +#define UIA_Window_WindowOpenedEventId 20016 +#define UIA_Window_WindowClosedEventId 20017 +#define UIA_MenuModeStartEventId 20018 +#define UIA_MenuModeEndEventId 20019 +#define UIA_InputReachedTargetEventId 20020 +#define UIA_InputReachedOtherElementEventId 20021 +#define UIA_InputDiscardedEventId 20022 +#define UIA_SystemAlertEventId 20023 +#define UIA_LiveRegionChangedEventId 20024 +#define UIA_HostedFragmentRootsInvalidatedEventId 20025 +#define UIA_Drag_DragStartEventId 20026 +#define UIA_Drag_DragCancelEventId 20027 +#define UIA_Drag_DragCompleteEventId 20028 +#define UIA_DropTarget_DragEnterEventId 20029 +#define UIA_DropTarget_DragLeaveEventId 20030 +#define UIA_DropTarget_DroppedEventId 20031 +#define UIA_TextEdit_TextChangedEventId 20032 +#define UIA_TextEdit_ConversionTargetChangedEventId 20033 +#define UIA_ChangesEventId 20034 + +#endif diff --git a/src/gui/accessible/windows/apisupport/uiageneralids_p.h b/src/gui/accessible/windows/apisupport/uiageneralids_p.h new file mode 100644 index 0000000000..220554f885 --- /dev/null +++ b/src/gui/accessible/windows/apisupport/uiageneralids_p.h @@ -0,0 +1,57 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef UIAGENERALIDS_H +#define UIAGENERALIDS_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#define UiaAppendRuntimeId 3 +#define UiaRootObjectId -25 + +#endif diff --git a/src/gui/accessible/windows/apisupport/uiapatternids_p.h b/src/gui/accessible/windows/apisupport/uiapatternids_p.h new file mode 100644 index 0000000000..d3f4c9bd7a --- /dev/null +++ b/src/gui/accessible/windows/apisupport/uiapatternids_p.h @@ -0,0 +1,89 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef UIAPATTERNIDS_H +#define UIAPATTERNIDS_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#define UIA_InvokePatternId 10000 +#define UIA_SelectionPatternId 10001 +#define UIA_ValuePatternId 10002 +#define UIA_RangeValuePatternId 10003 +#define UIA_ScrollPatternId 10004 +#define UIA_ExpandCollapsePatternId 10005 +#define UIA_GridPatternId 10006 +#define UIA_GridItemPatternId 10007 +#define UIA_MultipleViewPatternId 10008 +#define UIA_WindowPatternId 10009 +#define UIA_SelectionItemPatternId 10010 +#define UIA_DockPatternId 10011 +#define UIA_TablePatternId 10012 +#define UIA_TableItemPatternId 10013 +#define UIA_TextPatternId 10014 +#define UIA_TogglePatternId 10015 +#define UIA_TransformPatternId 10016 +#define UIA_ScrollItemPatternId 10017 +#define UIA_LegacyIAccessiblePatternId 10018 +#define UIA_ItemContainerPatternId 10019 +#define UIA_VirtualizedItemPatternId 10020 +#define UIA_SynchronizedInputPatternId 10021 +#define UIA_ObjectModelPatternId 10022 +#define UIA_AnnotationPatternId 10023 +#define UIA_TextPattern2Id 10024 +#define UIA_StylesPatternId 10025 +#define UIA_SpreadsheetPatternId 10026 +#define UIA_SpreadsheetItemPatternId 10027 +#define UIA_TransformPattern2Id 10028 +#define UIA_TextChildPatternId 10029 +#define UIA_DragPatternId 10030 +#define UIA_DropTargetPatternId 10031 +#define UIA_TextEditPatternId 10032 +#define UIA_CustomNavigationPatternId 10033 + +#endif diff --git a/src/gui/accessible/windows/apisupport/uiapropertyids_p.h b/src/gui/accessible/windows/apisupport/uiapropertyids_p.h new file mode 100644 index 0000000000..9c14a35271 --- /dev/null +++ b/src/gui/accessible/windows/apisupport/uiapropertyids_p.h @@ -0,0 +1,224 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef UIAPROPERTYIDS_H +#define UIAPROPERTYIDS_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#define UIA_RuntimeIdPropertyId 30000 +#define UIA_BoundingRectanglePropertyId 30001 +#define UIA_ProcessIdPropertyId 30002 +#define UIA_ControlTypePropertyId 30003 +#define UIA_LocalizedControlTypePropertyId 30004 +#define UIA_NamePropertyId 30005 +#define UIA_AcceleratorKeyPropertyId 30006 +#define UIA_AccessKeyPropertyId 30007 +#define UIA_HasKeyboardFocusPropertyId 30008 +#define UIA_IsKeyboardFocusablePropertyId 30009 +#define UIA_IsEnabledPropertyId 30010 +#define UIA_AutomationIdPropertyId 30011 +#define UIA_ClassNamePropertyId 30012 +#define UIA_HelpTextPropertyId 30013 +#define UIA_ClickablePointPropertyId 30014 +#define UIA_CulturePropertyId 30015 +#define UIA_IsControlElementPropertyId 30016 +#define UIA_IsContentElementPropertyId 30017 +#define UIA_LabeledByPropertyId 30018 +#define UIA_IsPasswordPropertyId 30019 +#define UIA_NativeWindowHandlePropertyId 30020 +#define UIA_ItemTypePropertyId 30021 +#define UIA_IsOffscreenPropertyId 30022 +#define UIA_OrientationPropertyId 30023 +#define UIA_FrameworkIdPropertyId 30024 +#define UIA_IsRequiredForFormPropertyId 30025 +#define UIA_ItemStatusPropertyId 30026 +#define UIA_IsDockPatternAvailablePropertyId 30027 +#define UIA_IsExpandCollapsePatternAvailablePropertyId 30028 +#define UIA_IsGridItemPatternAvailablePropertyId 30029 +#define UIA_IsGridPatternAvailablePropertyId 30030 +#define UIA_IsInvokePatternAvailablePropertyId 30031 +#define UIA_IsMultipleViewPatternAvailablePropertyId 30032 +#define UIA_IsRangeValuePatternAvailablePropertyId 30033 +#define UIA_IsScrollPatternAvailablePropertyId 30034 +#define UIA_IsScrollItemPatternAvailablePropertyId 30035 +#define UIA_IsSelectionItemPatternAvailablePropertyId 30036 +#define UIA_IsSelectionPatternAvailablePropertyId 30037 +#define UIA_IsTablePatternAvailablePropertyId 30038 +#define UIA_IsTableItemPatternAvailablePropertyId 30039 +#define UIA_IsTextPatternAvailablePropertyId 30040 +#define UIA_IsTogglePatternAvailablePropertyId 30041 +#define UIA_IsTransformPatternAvailablePropertyId 30042 +#define UIA_IsValuePatternAvailablePropertyId 30043 +#define UIA_IsWindowPatternAvailablePropertyId 30044 +#define UIA_ValueValuePropertyId 30045 +#define UIA_ValueIsReadOnlyPropertyId 30046 +#define UIA_RangeValueValuePropertyId 30047 +#define UIA_RangeValueIsReadOnlyPropertyId 30048 +#define UIA_RangeValueMinimumPropertyId 30049 +#define UIA_RangeValueMaximumPropertyId 30050 +#define UIA_RangeValueLargeChangePropertyId 30051 +#define UIA_RangeValueSmallChangePropertyId 30052 +#define UIA_ScrollHorizontalScrollPercentPropertyId 30053 +#define UIA_ScrollHorizontalViewSizePropertyId 30054 +#define UIA_ScrollVerticalScrollPercentPropertyId 30055 +#define UIA_ScrollVerticalViewSizePropertyId 30056 +#define UIA_ScrollHorizontallyScrollablePropertyId 30057 +#define UIA_ScrollVerticallyScrollablePropertyId 30058 +#define UIA_SelectionSelectionPropertyId 30059 +#define UIA_SelectionCanSelectMultiplePropertyId 30060 +#define UIA_SelectionIsSelectionRequiredPropertyId 30061 +#define UIA_GridRowCountPropertyId 30062 +#define UIA_GridColumnCountPropertyId 30063 +#define UIA_GridItemRowPropertyId 30064 +#define UIA_GridItemColumnPropertyId 30065 +#define UIA_GridItemRowSpanPropertyId 30066 +#define UIA_GridItemColumnSpanPropertyId 30067 +#define UIA_GridItemContainingGridPropertyId 30068 +#define UIA_DockDockPositionPropertyId 30069 +#define UIA_ExpandCollapseExpandCollapseStatePropertyId 30070 +#define UIA_MultipleViewCurrentViewPropertyId 30071 +#define UIA_MultipleViewSupportedViewsPropertyId 30072 +#define UIA_WindowCanMaximizePropertyId 30073 +#define UIA_WindowCanMinimizePropertyId 30074 +#define UIA_WindowWindowVisualStatePropertyId 30075 +#define UIA_WindowWindowInteractionStatePropertyId 30076 +#define UIA_WindowIsModalPropertyId 30077 +#define UIA_WindowIsTopmostPropertyId 30078 +#define UIA_SelectionItemIsSelectedPropertyId 30079 +#define UIA_SelectionItemSelectionContainerPropertyId 30080 +#define UIA_TableRowHeadersPropertyId 30081 +#define UIA_TableColumnHeadersPropertyId 30082 +#define UIA_TableRowOrColumnMajorPropertyId 30083 +#define UIA_TableItemRowHeaderItemsPropertyId 30084 +#define UIA_TableItemColumnHeaderItemsPropertyId 30085 +#define UIA_ToggleToggleStatePropertyId 30086 +#define UIA_TransformCanMovePropertyId 30087 +#define UIA_TransformCanResizePropertyId 30088 +#define UIA_TransformCanRotatePropertyId 30089 +#define UIA_IsLegacyIAccessiblePatternAvailablePropertyId 30090 +#define UIA_LegacyIAccessibleChildIdPropertyId 30091 +#define UIA_LegacyIAccessibleNamePropertyId 30092 +#define UIA_LegacyIAccessibleValuePropertyId 30093 +#define UIA_LegacyIAccessibleDescriptionPropertyId 30094 +#define UIA_LegacyIAccessibleRolePropertyId 30095 +#define UIA_LegacyIAccessibleStatePropertyId 30096 +#define UIA_LegacyIAccessibleHelpPropertyId 30097 +#define UIA_LegacyIAccessibleKeyboardShortcutPropertyId 30098 +#define UIA_LegacyIAccessibleSelectionPropertyId 30099 +#define UIA_LegacyIAccessibleDefaultActionPropertyId 30100 +#define UIA_AriaRolePropertyId 30101 +#define UIA_AriaPropertiesPropertyId 30102 +#define UIA_IsDataValidForFormPropertyId 30103 +#define UIA_ControllerForPropertyId 30104 +#define UIA_DescribedByPropertyId 30105 +#define UIA_FlowsToPropertyId 30106 +#define UIA_ProviderDescriptionPropertyId 30107 +#define UIA_IsItemContainerPatternAvailablePropertyId 30108 +#define UIA_IsVirtualizedItemPatternAvailablePropertyId 30109 +#define UIA_IsSynchronizedInputPatternAvailablePropertyId 30110 +#define UIA_OptimizeForVisualContentPropertyId 30111 +#define UIA_IsObjectModelPatternAvailablePropertyId 30112 +#define UIA_AnnotationAnnotationTypeIdPropertyId 30113 +#define UIA_AnnotationAnnotationTypeNamePropertyId 30114 +#define UIA_AnnotationAuthorPropertyId 30115 +#define UIA_AnnotationDateTimePropertyId 30116 +#define UIA_AnnotationTargetPropertyId 30117 +#define UIA_IsAnnotationPatternAvailablePropertyId 30118 +#define UIA_IsTextPattern2AvailablePropertyId 30119 +#define UIA_StylesStyleIdPropertyId 30120 +#define UIA_StylesStyleNamePropertyId 30121 +#define UIA_StylesFillColorPropertyId 30122 +#define UIA_StylesFillPatternStylePropertyId 30123 +#define UIA_StylesShapePropertyId 30124 +#define UIA_StylesFillPatternColorPropertyId 30125 +#define UIA_StylesExtendedPropertiesPropertyId 30126 +#define UIA_IsStylesPatternAvailablePropertyId 30127 +#define UIA_IsSpreadsheetPatternAvailablePropertyId 30128 +#define UIA_SpreadsheetItemFormulaPropertyId 30129 +#define UIA_SpreadsheetItemAnnotationObjectsPropertyId 30130 +#define UIA_SpreadsheetItemAnnotationTypesPropertyId 30131 +#define UIA_IsSpreadsheetItemPatternAvailablePropertyId 30132 +#define UIA_Transform2CanZoomPropertyId 30133 +#define UIA_IsTransformPattern2AvailablePropertyId 30134 +#define UIA_LiveSettingPropertyId 30135 +#define UIA_IsTextChildPatternAvailablePropertyId 30136 +#define UIA_IsDragPatternAvailablePropertyId 30137 +#define UIA_DragIsGrabbedPropertyId 30138 +#define UIA_DragDropEffectPropertyId 30139 +#define UIA_DragDropEffectsPropertyId 30140 +#define UIA_IsDropTargetPatternAvailablePropertyId 30141 +#define UIA_DropTargetDropTargetEffectPropertyId 30142 +#define UIA_DropTargetDropTargetEffectsPropertyId 30143 +#define UIA_DragGrabbedItemsPropertyId 30144 +#define UIA_Transform2ZoomLevelPropertyId 30145 +#define UIA_Transform2ZoomMinimumPropertyId 30146 +#define UIA_Transform2ZoomMaximumPropertyId 30147 +#define UIA_FlowsFromPropertyId 30148 +#define UIA_IsTextEditPatternAvailablePropertyId 30149 +#define UIA_IsPeripheralPropertyId 30150 +#define UIA_IsCustomNavigationPatternAvailablePropertyId 30151 +#define UIA_PositionInSetPropertyId 30152 +#define UIA_SizeOfSetPropertyId 30153 +#define UIA_LevelPropertyId 30154 +#define UIA_AnnotationTypesPropertyId 30155 +#define UIA_AnnotationObjectsPropertyId 30156 +#define UIA_LandmarkTypePropertyId 30157 +#define UIA_LocalizedLandmarkTypePropertyId 30158 +#define UIA_FullDescriptionPropertyId 30159 +#define UIA_FillColorPropertyId 30160 +#define UIA_OutlineColorPropertyId 30161 +#define UIA_FillTypePropertyId 30162 +#define UIA_VisualEffectsPropertyId 30163 +#define UIA_OutlineThicknessPropertyId 30164 +#define UIA_CenterPointPropertyId 30165 +#define UIA_RotationPropertyId 30166 +#define UIA_SizePropertyId 30167 +#define UIA_IsDialogPropertyId 30174 + +#endif diff --git a/src/gui/accessible/windows/apisupport/uiaserverinterfaces_p.h b/src/gui/accessible/windows/apisupport/uiaserverinterfaces_p.h new file mode 100644 index 0000000000..fde16206da --- /dev/null +++ b/src/gui/accessible/windows/apisupport/uiaserverinterfaces_p.h @@ -0,0 +1,403 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef UIASERVERINTERFACES_H +#define UIASERVERINTERFACES_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include + +#ifndef __IRawElementProviderSimple_INTERFACE_DEFINED__ +#define __IRawElementProviderSimple_INTERFACE_DEFINED__ +DEFINE_GUID(IID_IRawElementProviderSimple, 0xd6dd68d1, 0x86fd, 0x4332, 0x86,0x66, 0x9a,0xbe,0xde,0xa2,0xd2,0x4c); +MIDL_INTERFACE("d6dd68d1-86fd-4332-8666-9abedea2d24c") +IRawElementProviderSimple : public IUnknown +{ +public: + virtual HRESULT STDMETHODCALLTYPE get_ProviderOptions(__RPC__out enum ProviderOptions *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE GetPatternProvider(PATTERNID patternId, __RPC__deref_out_opt IUnknown **pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE GetPropertyValue(PROPERTYID propertyId, __RPC__out VARIANT *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_HostRawElementProvider(__RPC__deref_out_opt IRawElementProviderSimple **pRetVal) = 0; +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IRawElementProviderSimple, 0xd6dd68d1, 0x86fd, 0x4332, 0x86,0x66, 0x9a,0xbe,0xde,0xa2,0xd2,0x4c) +#endif +#endif + + +#ifndef __IRawElementProviderFragmentRoot_FWD_DEFINED__ +#define __IRawElementProviderFragmentRoot_FWD_DEFINED__ +typedef interface IRawElementProviderFragmentRoot IRawElementProviderFragmentRoot; +#endif + + +#ifndef __IRawElementProviderFragment_FWD_DEFINED__ +#define __IRawElementProviderFragment_FWD_DEFINED__ +typedef interface IRawElementProviderFragment IRawElementProviderFragment; +#endif + + +#ifndef __IRawElementProviderFragment_INTERFACE_DEFINED__ +#define __IRawElementProviderFragment_INTERFACE_DEFINED__ +DEFINE_GUID(IID_IRawElementProviderFragment, 0xf7063da8, 0x8359, 0x439c, 0x92,0x97, 0xbb,0xc5,0x29,0x9a,0x7d,0x87); +MIDL_INTERFACE("f7063da8-8359-439c-9297-bbc5299a7d87") +IRawElementProviderFragment : public IUnknown +{ +public: + virtual HRESULT STDMETHODCALLTYPE Navigate(enum NavigateDirection direction, __RPC__deref_out_opt IRawElementProviderFragment **pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE GetRuntimeId(__RPC__deref_out_opt SAFEARRAY **pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_BoundingRectangle(__RPC__out struct UiaRect *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE GetEmbeddedFragmentRoots(__RPC__deref_out_opt SAFEARRAY **pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE SetFocus() = 0; + virtual HRESULT STDMETHODCALLTYPE get_FragmentRoot(__RPC__deref_out_opt IRawElementProviderFragmentRoot **pRetVal) = 0; +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IRawElementProviderFragment, 0xf7063da8, 0x8359, 0x439c, 0x92,0x97, 0xbb,0xc5,0x29,0x9a,0x7d,0x87) +#endif +#endif + + +#ifndef __IRawElementProviderFragmentRoot_INTERFACE_DEFINED__ +#define __IRawElementProviderFragmentRoot_INTERFACE_DEFINED__ +DEFINE_GUID(IID_IRawElementProviderFragmentRoot, 0x620ce2a5, 0xab8f, 0x40a9, 0x86,0xcb, 0xde,0x3c,0x75,0x59,0x9b,0x58); +MIDL_INTERFACE("620ce2a5-ab8f-40a9-86cb-de3c75599b58") +IRawElementProviderFragmentRoot : public IUnknown +{ +public: + virtual HRESULT STDMETHODCALLTYPE ElementProviderFromPoint(double x, double y, __RPC__deref_out_opt IRawElementProviderFragment **pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE GetFocus(__RPC__deref_out_opt IRawElementProviderFragment **pRetVal) = 0; +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IRawElementProviderFragmentRoot, 0x620ce2a5, 0xab8f, 0x40a9, 0x86,0xcb, 0xde,0x3c,0x75,0x59,0x9b,0x58) +#endif +#endif + + +#ifndef __IValueProvider_INTERFACE_DEFINED__ +#define __IValueProvider_INTERFACE_DEFINED__ +DEFINE_GUID(IID_IValueProvider, 0xc7935180, 0x6fb3, 0x4201, 0xb1,0x74, 0x7d,0xf7,0x3a,0xdb,0xf6,0x4a); +MIDL_INTERFACE("c7935180-6fb3-4201-b174-7df73adbf64a") +IValueProvider : public IUnknown +{ +public: + virtual HRESULT STDMETHODCALLTYPE SetValue(__RPC__in LPCWSTR val) = 0; + virtual HRESULT STDMETHODCALLTYPE get_Value(__RPC__deref_out_opt BSTR *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_IsReadOnly(__RPC__out BOOL *pRetVal) = 0; +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IValueProvider, 0xc7935180, 0x6fb3, 0x4201, 0xb1,0x74, 0x7d,0xf7,0x3a,0xdb,0xf6,0x4a) +#endif +#endif + + +#ifndef __IRangeValueProvider_INTERFACE_DEFINED__ +#define __IRangeValueProvider_INTERFACE_DEFINED__ +DEFINE_GUID(IID_IRangeValueProvider, 0x36dc7aef, 0x33e6, 0x4691, 0xaf,0xe1, 0x2b,0xe7,0x27,0x4b,0x3d,0x33); +MIDL_INTERFACE("36dc7aef-33e6-4691-afe1-2be7274b3d33") +IRangeValueProvider : public IUnknown +{ +public: + virtual HRESULT STDMETHODCALLTYPE SetValue(double val) = 0; + virtual HRESULT STDMETHODCALLTYPE get_Value(__RPC__out double *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_IsReadOnly(__RPC__out BOOL *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_Maximum(__RPC__out double *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_Minimum(__RPC__out double *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_LargeChange(__RPC__out double *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_SmallChange(__RPC__out double *pRetVal) = 0; +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IRangeValueProvider, 0x36dc7aef, 0x33e6, 0x4691, 0xaf,0xe1, 0x2b,0xe7,0x27,0x4b,0x3d,0x33) +#endif +#endif + + +#ifndef __ITextRangeProvider_INTERFACE_DEFINED__ +#define __ITextRangeProvider_INTERFACE_DEFINED__ +DEFINE_GUID(IID_ITextRangeProvider, 0x5347ad7b, 0xc355, 0x46f8, 0xaf,0xf5, 0x90,0x90,0x33,0x58,0x2f,0x63); +MIDL_INTERFACE("5347ad7b-c355-46f8-aff5-909033582f63") +ITextRangeProvider : public IUnknown +{ +public: + virtual HRESULT STDMETHODCALLTYPE Clone(__RPC__deref_out_opt ITextRangeProvider **pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE Compare(__RPC__in_opt ITextRangeProvider *range, __RPC__out BOOL *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE CompareEndpoints(enum TextPatternRangeEndpoint endpoint, __RPC__in_opt ITextRangeProvider *targetRange, enum TextPatternRangeEndpoint targetEndpoint, __RPC__out int *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE ExpandToEnclosingUnit(enum TextUnit unit) = 0; + virtual HRESULT STDMETHODCALLTYPE FindAttribute(TEXTATTRIBUTEID attributeId, VARIANT val, BOOL backward, __RPC__deref_out_opt ITextRangeProvider **pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE FindText(__RPC__in BSTR text, BOOL backward, BOOL ignoreCase, __RPC__deref_out_opt ITextRangeProvider **pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE GetAttributeValue(TEXTATTRIBUTEID attributeId, __RPC__out VARIANT *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE GetBoundingRectangles(__RPC__deref_out_opt SAFEARRAY **pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE GetEnclosingElement(__RPC__deref_out_opt IRawElementProviderSimple **pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE GetText(int maxLength, __RPC__deref_out_opt BSTR *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE Move(enum TextUnit unit, int count, __RPC__out int *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE MoveEndpointByUnit(enum TextPatternRangeEndpoint endpoint, enum TextUnit unit, int count, __RPC__out int *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE MoveEndpointByRange(enum TextPatternRangeEndpoint endpoint, __RPC__in_opt ITextRangeProvider *targetRange, enum TextPatternRangeEndpoint targetEndpoint) = 0; + virtual HRESULT STDMETHODCALLTYPE Select() = 0; + virtual HRESULT STDMETHODCALLTYPE AddToSelection() = 0; + virtual HRESULT STDMETHODCALLTYPE RemoveFromSelection() = 0; + virtual HRESULT STDMETHODCALLTYPE ScrollIntoView(BOOL alignToTop) = 0; + virtual HRESULT STDMETHODCALLTYPE GetChildren(__RPC__deref_out_opt SAFEARRAY **pRetVal) = 0; +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITextRangeProvider, 0x5347ad7b, 0xc355, 0x46f8, 0xaf,0xf5, 0x90,0x90,0x33,0x58,0x2f,0x63) +#endif +#endif + + +#ifndef __ITextProvider_INTERFACE_DEFINED__ +#define __ITextProvider_INTERFACE_DEFINED__ +DEFINE_GUID(IID_ITextProvider, 0x3589c92c, 0x63f3, 0x4367, 0x99,0xbb, 0xad,0xa6,0x53,0xb7,0x7c,0xf2); +MIDL_INTERFACE("3589c92c-63f3-4367-99bb-ada653b77cf2") +ITextProvider : public IUnknown +{ +public: + virtual HRESULT STDMETHODCALLTYPE GetSelection(__RPC__deref_out_opt SAFEARRAY **pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE GetVisibleRanges(__RPC__deref_out_opt SAFEARRAY **pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE RangeFromChild(__RPC__in_opt IRawElementProviderSimple *childElement, __RPC__deref_out_opt ITextRangeProvider **pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE RangeFromPoint(struct UiaPoint point, __RPC__deref_out_opt ITextRangeProvider **pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_DocumentRange(__RPC__deref_out_opt ITextRangeProvider **pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_SupportedTextSelection(__RPC__out enum SupportedTextSelection *pRetVal) = 0; +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITextProvider, 0x3589c92c, 0x63f3, 0x4367, 0x99,0xbb, 0xad,0xa6,0x53,0xb7,0x7c,0xf2) +#endif +#endif + + +#ifndef __ITextProvider2_INTERFACE_DEFINED__ +#define __ITextProvider2_INTERFACE_DEFINED__ +DEFINE_GUID(IID_ITextProvider2, 0x0dc5e6ed, 0x3e16, 0x4bf1, 0x8f,0x9a, 0xa9,0x79,0x87,0x8b,0xc1,0x95); +MIDL_INTERFACE("0dc5e6ed-3e16-4bf1-8f9a-a979878bc195") +ITextProvider2 : public ITextProvider +{ +public: + virtual HRESULT STDMETHODCALLTYPE RangeFromAnnotation(__RPC__in_opt IRawElementProviderSimple *annotationElement, __RPC__deref_out_opt ITextRangeProvider **pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE GetCaretRange(__RPC__out BOOL *isActive, __RPC__deref_out_opt ITextRangeProvider **pRetVal) = 0; +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITextProvider2, 0x0dc5e6ed, 0x3e16, 0x4bf1, 0x8f,0x9a, 0xa9,0x79,0x87,0x8b,0xc1,0x95) +#endif +#endif + + +#ifndef __IToggleProvider_INTERFACE_DEFINED__ +#define __IToggleProvider_INTERFACE_DEFINED__ +DEFINE_GUID(IID_IToggleProvider, 0x56d00bd0, 0xc4f4, 0x433c, 0xa8,0x36, 0x1a,0x52,0xa5,0x7e,0x08,0x92); +MIDL_INTERFACE("56d00bd0-c4f4-433c-a836-1a52a57e0892") +IToggleProvider : public IUnknown +{ +public: + virtual HRESULT STDMETHODCALLTYPE Toggle() = 0; + virtual HRESULT STDMETHODCALLTYPE get_ToggleState(__RPC__out enum ToggleState *pRetVal) = 0; +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IToggleProvider, 0x56d00bd0, 0xc4f4, 0x433c, 0xa8,0x36, 0x1a,0x52,0xa5,0x7e,0x08,0x92) +#endif +#endif + + +#ifndef __IInvokeProvider_INTERFACE_DEFINED__ +#define __IInvokeProvider_INTERFACE_DEFINED__ +DEFINE_GUID(IID_IInvokeProvider, 0x54fcb24b, 0xe18e, 0x47a2, 0xb4,0xd3, 0xec,0xcb,0xe7,0x75,0x99,0xa2); +MIDL_INTERFACE("54fcb24b-e18e-47a2-b4d3-eccbe77599a2") +IInvokeProvider : public IUnknown +{ +public: + virtual HRESULT STDMETHODCALLTYPE Invoke() = 0; +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInvokeProvider, 0x54fcb24b, 0xe18e, 0x47a2, 0xb4,0xd3, 0xec,0xcb,0xe7,0x75,0x99,0xa2) +#endif +#endif + + +#ifndef __ISelectionProvider_INTERFACE_DEFINED__ +#define __ISelectionProvider_INTERFACE_DEFINED__ +DEFINE_GUID(IID_ISelectionProvider, 0xfb8b03af, 0x3bdf, 0x48d4, 0xbd,0x36, 0x1a,0x65,0x79,0x3b,0xe1,0x68); +MIDL_INTERFACE("fb8b03af-3bdf-48d4-bd36-1a65793be168") +ISelectionProvider : public IUnknown +{ +public: + virtual HRESULT STDMETHODCALLTYPE GetSelection(__RPC__deref_out_opt SAFEARRAY **pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CanSelectMultiple(__RPC__out BOOL *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_IsSelectionRequired(__RPC__out BOOL *pRetVal) = 0; +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISelectionProvider, 0xfb8b03af, 0x3bdf, 0x48d4, 0xbd,0x36, 0x1a,0x65,0x79,0x3b,0xe1,0x68) +#endif +#endif + + +#ifndef __ISelectionItemProvider_INTERFACE_DEFINED__ +#define __ISelectionItemProvider_INTERFACE_DEFINED__ +DEFINE_GUID(IID_ISelectionItemProvider, 0x2acad808, 0xb2d4, 0x452d, 0xa4,0x07, 0x91,0xff,0x1a,0xd1,0x67,0xb2); +MIDL_INTERFACE("2acad808-b2d4-452d-a407-91ff1ad167b2") +ISelectionItemProvider : public IUnknown +{ +public: + virtual HRESULT STDMETHODCALLTYPE Select() = 0; + virtual HRESULT STDMETHODCALLTYPE AddToSelection() = 0; + virtual HRESULT STDMETHODCALLTYPE RemoveFromSelection() = 0; + virtual HRESULT STDMETHODCALLTYPE get_IsSelected(__RPC__out BOOL *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_SelectionContainer(__RPC__deref_out_opt IRawElementProviderSimple **pRetVal) = 0; +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISelectionItemProvider, 0x2acad808, 0xb2d4, 0x452d, 0xa4,0x07, 0x91,0xff,0x1a,0xd1,0x67,0xb2) +#endif +#endif + + +#ifndef __ITableProvider_INTERFACE_DEFINED__ +#define __ITableProvider_INTERFACE_DEFINED__ +DEFINE_GUID(IID_ITableProvider, 0x9c860395, 0x97b3, 0x490a, 0xb5,0x2a, 0x85,0x8c,0xc2,0x2a,0xf1,0x66); +MIDL_INTERFACE("9c860395-97b3-490a-b52a-858cc22af166") +ITableProvider : public IUnknown +{ +public: + virtual HRESULT STDMETHODCALLTYPE GetRowHeaders(__RPC__deref_out_opt SAFEARRAY **pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE GetColumnHeaders(__RPC__deref_out_opt SAFEARRAY **pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_RowOrColumnMajor(__RPC__out enum RowOrColumnMajor *pRetVal) = 0; +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITableProvider, 0x9c860395, 0x97b3, 0x490a, 0xb5,0x2a, 0x85,0x8c,0xc2,0x2a,0xf1,0x66) +#endif +#endif + + +#ifndef __ITableItemProvider_INTERFACE_DEFINED__ +#define __ITableItemProvider_INTERFACE_DEFINED__ +DEFINE_GUID(IID_ITableItemProvider, 0xb9734fa6, 0x771f, 0x4d78, 0x9c,0x90, 0x25,0x17,0x99,0x93,0x49,0xcd); +MIDL_INTERFACE("b9734fa6-771f-4d78-9c90-2517999349cd") +ITableItemProvider : public IUnknown +{ +public: + virtual HRESULT STDMETHODCALLTYPE GetRowHeaderItems(__RPC__deref_out_opt SAFEARRAY **pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE GetColumnHeaderItems(__RPC__deref_out_opt SAFEARRAY **pRetVal) = 0; +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITableItemProvider, 0xb9734fa6, 0x771f, 0x4d78, 0x9c,0x90, 0x25,0x17,0x99,0x93,0x49,0xcd) +#endif +#endif + + +#ifndef __IGridProvider_INTERFACE_DEFINED__ +#define __IGridProvider_INTERFACE_DEFINED__ +DEFINE_GUID(IID_IGridProvider, 0xb17d6187, 0x0907, 0x464b, 0xa1,0x68, 0x0e,0xf1,0x7a,0x15,0x72,0xb1); +MIDL_INTERFACE("b17d6187-0907-464b-a168-0ef17a1572b1") +IGridProvider : public IUnknown +{ +public: + virtual HRESULT STDMETHODCALLTYPE GetItem(int row, int column, __RPC__deref_out_opt IRawElementProviderSimple **pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_RowCount(__RPC__out int *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_ColumnCount(__RPC__out int *pRetVal) = 0; +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IGridProvider, 0xb17d6187, 0x0907, 0x464b, 0xa1,0x68, 0x0e,0xf1,0x7a,0x15,0x72,0xb1) +#endif +#endif + + +#ifndef __IGridItemProvider_INTERFACE_DEFINED__ +#define __IGridItemProvider_INTERFACE_DEFINED__ +DEFINE_GUID(IID_IGridItemProvider, 0xd02541f1, 0xfb81, 0x4d64, 0xae,0x32, 0xf5,0x20,0xf8,0xa6,0xdb,0xd1); +MIDL_INTERFACE("d02541f1-fb81-4d64-ae32-f520f8a6dbd1") +IGridItemProvider : public IUnknown +{ +public: + virtual HRESULT STDMETHODCALLTYPE get_Row(__RPC__out int *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_Column(__RPC__out int *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_RowSpan(__RPC__out int *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_ColumnSpan(__RPC__out int *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_ContainingGrid(__RPC__deref_out_opt IRawElementProviderSimple **pRetVal) = 0; +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IGridItemProvider, 0xd02541f1, 0xfb81, 0x4d64, 0xae,0x32, 0xf5,0x20,0xf8,0xa6,0xdb,0xd1) +#endif +#endif + + +#ifndef __IWindowProvider_INTERFACE_DEFINED__ +#define __IWindowProvider_INTERFACE_DEFINED__ +DEFINE_GUID(IID_IWindowProvider, 0x987df77b, 0xdb06, 0x4d77, 0x8f,0x8a, 0x86,0xa9,0xc3,0xbb,0x90,0xb9); +MIDL_INTERFACE("987df77b-db06-4d77-8f8a-86a9c3bb90b9") +IWindowProvider : public IUnknown +{ +public: + virtual HRESULT STDMETHODCALLTYPE SetVisualState(enum WindowVisualState state) = 0; + virtual HRESULT STDMETHODCALLTYPE Close( void) = 0; + virtual HRESULT STDMETHODCALLTYPE WaitForInputIdle(int milliseconds, __RPC__out BOOL *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CanMaximize(__RPC__out BOOL *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_CanMinimize(__RPC__out BOOL *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_IsModal(__RPC__out BOOL *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_WindowVisualState(__RPC__out enum WindowVisualState *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_WindowInteractionState(__RPC__out enum WindowInteractionState *pRetVal) = 0; + virtual HRESULT STDMETHODCALLTYPE get_IsTopmost(__RPC__out BOOL *pRetVal) = 0; +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWindowProvider, 0x987df77b, 0xdb06, 0x4d77, 0x8f,0x8a, 0x86,0xa9,0xc3,0xbb,0x90,0xb9) +#endif +#endif + + +#ifndef __IExpandCollapseProvider_INTERFACE_DEFINED__ +#define __IExpandCollapseProvider_INTERFACE_DEFINED__ +DEFINE_GUID(IID_IExpandCollapseProvider, 0xd847d3a5, 0xcab0, 0x4a98, 0x8c,0x32, 0xec,0xb4,0x5c,0x59,0xad,0x24); +MIDL_INTERFACE("d847d3a5-cab0-4a98-8c32-ecb45c59ad24") +IExpandCollapseProvider : public IUnknown +{ +public: + virtual HRESULT STDMETHODCALLTYPE Expand() = 0; + virtual HRESULT STDMETHODCALLTYPE Collapse() = 0; + virtual HRESULT STDMETHODCALLTYPE get_ExpandCollapseState(__RPC__out enum ExpandCollapseState *pRetVal) = 0; +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IExpandCollapseProvider, 0xd847d3a5, 0xcab0, 0x4a98, 0x8c,0x32, 0xec,0xb4,0x5c,0x59,0xad,0x24) +#endif +#endif + +#endif diff --git a/src/gui/accessible/windows/apisupport/uiatypes_p.h b/src/gui/accessible/windows/apisupport/uiatypes_p.h new file mode 100644 index 0000000000..0d2e1161e4 --- /dev/null +++ b/src/gui/accessible/windows/apisupport/uiatypes_p.h @@ -0,0 +1,193 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef UIATYPES_H +#define UIATYPES_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +typedef int PROPERTYID; +typedef int PATTERNID; +typedef int EVENTID; +typedef int TEXTATTRIBUTEID; +typedef int CONTROLTYPEID; +typedef int LANDMARKTYPEID; +typedef int METADATAID; + +typedef void *UIA_HWND; + +enum NavigateDirection { + NavigateDirection_Parent = 0, + NavigateDirection_NextSibling = 1, + NavigateDirection_PreviousSibling = 2, + NavigateDirection_FirstChild = 3, + NavigateDirection_LastChild = 4 +}; + +enum ProviderOptions { + ProviderOptions_ClientSideProvider = 0x1, + ProviderOptions_ServerSideProvider = 0x2, + ProviderOptions_NonClientAreaProvider = 0x4, + ProviderOptions_OverrideProvider = 0x8, + ProviderOptions_ProviderOwnsSetFocus = 0x10, + ProviderOptions_UseComThreading = 0x20, + ProviderOptions_RefuseNonClientSupport = 0x40, + ProviderOptions_HasNativeIAccessible = 0x80, + ProviderOptions_UseClientCoordinates = 0x100 +}; + +enum SupportedTextSelection { + SupportedTextSelection_None = 0, + SupportedTextSelection_Single = 1, + SupportedTextSelection_Multiple = 2 +}; + +enum TextUnit { + TextUnit_Character = 0, + TextUnit_Format = 1, + TextUnit_Word = 2, + TextUnit_Line = 3, + TextUnit_Paragraph = 4, + TextUnit_Page = 5, + TextUnit_Document = 6 +}; + +enum TextPatternRangeEndpoint { + TextPatternRangeEndpoint_Start = 0, + TextPatternRangeEndpoint_End = 1 +}; + +enum CaretPosition { + CaretPosition_Unknown = 0, + CaretPosition_EndOfLine = 1, + CaretPosition_BeginningOfLine = 2 +}; + +enum ToggleState { + ToggleState_Off = 0, + ToggleState_On = 1, + ToggleState_Indeterminate = 2 +}; + +enum RowOrColumnMajor { + RowOrColumnMajor_RowMajor = 0, + RowOrColumnMajor_ColumnMajor = 1, + RowOrColumnMajor_Indeterminate = 2 +}; + +enum TreeScope { + TreeScope_None = 0, + TreeScope_Element = 0x1, + TreeScope_Children = 0x2, + TreeScope_Descendants = 0x4, + TreeScope_Parent = 0x8, + TreeScope_Ancestors = 0x10, + TreeScope_Subtree = TreeScope_Element | TreeScope_Children | TreeScope_Descendants +}; + +enum OrientationType { + OrientationType_None = 0, + OrientationType_Horizontal = 1, + OrientationType_Vertical = 2 +}; + +enum PropertyConditionFlags { + PropertyConditionFlags_None = 0, + PropertyConditionFlags_IgnoreCase = 1 +}; + +enum WindowVisualState { + WindowVisualState_Normal = 0, + WindowVisualState_Maximized = 1, + WindowVisualState_Minimized = 2 +}; + +enum WindowInteractionState { + WindowInteractionState_Running = 0, + WindowInteractionState_Closing = 1, + WindowInteractionState_ReadyForUserInteraction = 2, + WindowInteractionState_BlockedByModalWindow = 3, + WindowInteractionState_NotResponding = 4 +}; + +enum ExpandCollapseState { + ExpandCollapseState_Collapsed = 0, + ExpandCollapseState_Expanded = 1, + ExpandCollapseState_PartiallyExpanded = 2, + ExpandCollapseState_LeafNode = 3 +}; + +enum NotificationKind { + NotificationKind_ItemAdded = 0, + NotificationKind_ItemRemoved = 1, + NotificationKind_ActionCompleted = 2, + NotificationKind_ActionAborted = 3, + NotificationKind_Other = 4 +}; + +enum NotificationProcessing { + NotificationProcessing_ImportantAll = 0, + NotificationProcessing_ImportantMostRecent = 1, + NotificationProcessing_All = 2, + NotificationProcessing_MostRecent = 3, + NotificationProcessing_CurrentThenMostRecent = 4 +}; + +struct UiaRect { + double left; + double top; + double width; + double height; +}; + +struct UiaPoint { + double x; + double y; +}; + +#endif diff --git a/src/gui/accessible/windows/windows.pri b/src/gui/accessible/windows/windows.pri new file mode 100644 index 0000000000..9cebe1e2fb --- /dev/null +++ b/src/gui/accessible/windows/windows.pri @@ -0,0 +1 @@ +include(apisupport/apisupport.pri) diff --git a/src/platformsupport/CMakeLists.txt b/src/platformsupport/CMakeLists.txt index eb67070d24..e55937ddc8 100644 --- a/src/platformsupport/CMakeLists.txt +++ b/src/platformsupport/CMakeLists.txt @@ -37,6 +37,3 @@ endif() if(QT_FEATURE_accessibility AND QT_FEATURE_accessibility_atspi_bridge) add_subdirectory(linuxaccessibility) endif() -if(QT_FEATURE_accessibility AND WIN32 AND NOT WINRT) - add_subdirectory(windowsuiautomation) -endif() diff --git a/src/platformsupport/platformsupport.pro b/src/platformsupport/platformsupport.pro index a3b194a17b..ae71ecaded 100644 --- a/src/platformsupport/platformsupport.pro +++ b/src/platformsupport/platformsupport.pro @@ -34,7 +34,6 @@ qtConfig(accessibility) { SUBDIRS += linuxaccessibility linuxaccessibility.depends += accessibility } - win32:!winrt: SUBDIRS += windowsuiautomation } !android:linux*:qtHaveModule(dbus) \ diff --git a/src/platformsupport/windowsuiautomation/CMakeLists.txt b/src/platformsupport/windowsuiautomation/CMakeLists.txt deleted file mode 100644 index c610b97fd6..0000000000 --- a/src/platformsupport/windowsuiautomation/CMakeLists.txt +++ /dev/null @@ -1,28 +0,0 @@ -# Generated from windowsuiautomation.pro. - -##################################################################### -## WindowsUIAutomationSupport Module: -##################################################################### - -qt_add_module(WindowsUIAutomationSupport - STATIC - INTERNAL_MODULE - SOURCES - qwindowsuiawrapper.cpp qwindowsuiawrapper_p.h - uiaattributeids_p.h - uiaclientinterfaces_p.h - uiacontroltypeids_p.h - uiaerrorids_p.h - uiaeventids_p.h - uiageneralids_p.h - uiapatternids_p.h - uiapropertyids_p.h - uiaserverinterfaces_p.h - uiatypes_p.h - PUBLIC_LIBRARIES - Qt::CorePrivate - Qt::GuiPrivate -) - -#### Keys ignored in scope 1:.:.:windowsuiautomation.pro:: -# MODULE = "windowsuiautomation_support" diff --git a/src/platformsupport/windowsuiautomation/qwindowsuiawrapper.cpp b/src/platformsupport/windowsuiautomation/qwindowsuiawrapper.cpp deleted file mode 100644 index 8038e1a3c3..0000000000 --- a/src/platformsupport/windowsuiautomation/qwindowsuiawrapper.cpp +++ /dev/null @@ -1,125 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include - -#include "qwindowsuiawrapper_p.h" -#include - -QT_BEGIN_NAMESPACE - -// private constructor -QWindowsUiaWrapper::QWindowsUiaWrapper() -{ - QSystemLibrary uiaLib(QStringLiteral("UIAutomationCore")); - if (uiaLib.load()) { - m_pUiaReturnRawElementProvider = reinterpret_cast(uiaLib.resolve("UiaReturnRawElementProvider")); - m_pUiaHostProviderFromHwnd = reinterpret_cast(uiaLib.resolve("UiaHostProviderFromHwnd")); - m_pUiaRaiseAutomationPropertyChangedEvent = reinterpret_cast(uiaLib.resolve("UiaRaiseAutomationPropertyChangedEvent")); - m_pUiaRaiseAutomationEvent = reinterpret_cast(uiaLib.resolve("UiaRaiseAutomationEvent")); - m_pUiaRaiseNotificationEvent = reinterpret_cast(uiaLib.resolve("UiaRaiseNotificationEvent")); - m_pUiaClientsAreListening = reinterpret_cast(uiaLib.resolve("UiaClientsAreListening")); - } -} - -QWindowsUiaWrapper::~QWindowsUiaWrapper() -{ -} - -// shared instance -QWindowsUiaWrapper *QWindowsUiaWrapper::instance() -{ - static QWindowsUiaWrapper wrapper; - return &wrapper; -} - -// True if most symbols resolved (UiaRaiseNotificationEvent is optional). -BOOL QWindowsUiaWrapper::ready() -{ - return m_pUiaReturnRawElementProvider - && m_pUiaHostProviderFromHwnd - && m_pUiaRaiseAutomationPropertyChangedEvent - && m_pUiaRaiseAutomationEvent - && m_pUiaClientsAreListening; -} - -BOOL QWindowsUiaWrapper::clientsAreListening() -{ - if (!m_pUiaClientsAreListening) - return FALSE; - return m_pUiaClientsAreListening(); -} - -LRESULT QWindowsUiaWrapper::returnRawElementProvider(HWND hwnd, WPARAM wParam, LPARAM lParam, IRawElementProviderSimple *el) -{ - if (!m_pUiaReturnRawElementProvider) - return static_cast(NULL); - return m_pUiaReturnRawElementProvider(hwnd, wParam, lParam, el); -} - -HRESULT QWindowsUiaWrapper::hostProviderFromHwnd(HWND hwnd, IRawElementProviderSimple **ppProvider) -{ - if (!m_pUiaHostProviderFromHwnd) - return UIA_E_NOTSUPPORTED; - return m_pUiaHostProviderFromHwnd(hwnd, ppProvider); -} - -HRESULT QWindowsUiaWrapper::raiseAutomationPropertyChangedEvent(IRawElementProviderSimple *pProvider, PROPERTYID id, VARIANT oldValue, VARIANT newValue) -{ - if (!m_pUiaRaiseAutomationPropertyChangedEvent) - return UIA_E_NOTSUPPORTED; - return m_pUiaRaiseAutomationPropertyChangedEvent(pProvider, id, oldValue, newValue); -} - -HRESULT QWindowsUiaWrapper::raiseAutomationEvent(IRawElementProviderSimple *pProvider, EVENTID id) -{ - if (!m_pUiaRaiseAutomationEvent) - return UIA_E_NOTSUPPORTED; - return m_pUiaRaiseAutomationEvent(pProvider, id); -} - -HRESULT QWindowsUiaWrapper::raiseNotificationEvent(IRawElementProviderSimple *provider, NotificationKind notificationKind, NotificationProcessing notificationProcessing, BSTR displayString, BSTR activityId) -{ - if (!m_pUiaRaiseNotificationEvent) - return UIA_E_NOTSUPPORTED; - return m_pUiaRaiseNotificationEvent(provider, notificationKind, notificationProcessing, displayString, activityId); -} - -QT_END_NAMESPACE - diff --git a/src/platformsupport/windowsuiautomation/qwindowsuiawrapper_p.h b/src/platformsupport/windowsuiautomation/qwindowsuiawrapper_p.h deleted file mode 100644 index 9208acbc31..0000000000 --- a/src/platformsupport/windowsuiautomation/qwindowsuiawrapper_p.h +++ /dev/null @@ -1,103 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QWINDOWSUIAWRAPPER_H -#define QWINDOWSUIAWRAPPER_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists for the convenience -// of other Qt classes. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#include - -#include "uiatypes_p.h" -#include "uiaattributeids_p.h" -#include "uiacontroltypeids_p.h" -#include "uiaerrorids_p.h" -#include "uiaeventids_p.h" -#include "uiageneralids_p.h" -#include "uiapatternids_p.h" -#include "uiapropertyids_p.h" -#include "uiaserverinterfaces_p.h" -#include "uiaclientinterfaces_p.h" - -QT_REQUIRE_CONFIG(accessibility); - -QT_BEGIN_NAMESPACE - -class QWindowsUiaWrapper -{ - QWindowsUiaWrapper(); - virtual ~QWindowsUiaWrapper(); -public: - static QWindowsUiaWrapper *instance(); - BOOL ready(); - BOOL clientsAreListening(); - LRESULT returnRawElementProvider(HWND hwnd, WPARAM wParam, LPARAM lParam, IRawElementProviderSimple *el); - HRESULT hostProviderFromHwnd(HWND hwnd, IRawElementProviderSimple **ppProvider); - HRESULT raiseAutomationPropertyChangedEvent(IRawElementProviderSimple *pProvider, PROPERTYID id, VARIANT oldValue, VARIANT newValue); - HRESULT raiseAutomationEvent(IRawElementProviderSimple *pProvider, EVENTID id); - HRESULT raiseNotificationEvent(IRawElementProviderSimple *provider, NotificationKind notificationKind, NotificationProcessing notificationProcessing, BSTR displayString, BSTR activityId); - -private: - typedef LRESULT (WINAPI *PtrUiaReturnRawElementProvider)(HWND, WPARAM, LPARAM, IRawElementProviderSimple *); - typedef HRESULT (WINAPI *PtrUiaHostProviderFromHwnd)(HWND, IRawElementProviderSimple **); - typedef HRESULT (WINAPI *PtrUiaRaiseAutomationPropertyChangedEvent)(IRawElementProviderSimple *, PROPERTYID, VARIANT, VARIANT); - typedef HRESULT (WINAPI *PtrUiaRaiseAutomationEvent)(IRawElementProviderSimple *, EVENTID); - typedef HRESULT (WINAPI *PtrUiaRaiseNotificationEvent)(IRawElementProviderSimple *, NotificationKind, NotificationProcessing, BSTR, BSTR); - typedef BOOL (WINAPI *PtrUiaClientsAreListening)(); - PtrUiaReturnRawElementProvider m_pUiaReturnRawElementProvider = nullptr; - PtrUiaHostProviderFromHwnd m_pUiaHostProviderFromHwnd = nullptr; - PtrUiaRaiseAutomationPropertyChangedEvent m_pUiaRaiseAutomationPropertyChangedEvent = nullptr; - PtrUiaRaiseAutomationEvent m_pUiaRaiseAutomationEvent = nullptr; - PtrUiaRaiseNotificationEvent m_pUiaRaiseNotificationEvent = nullptr; - PtrUiaClientsAreListening m_pUiaClientsAreListening = nullptr; -}; - -QT_END_NAMESPACE - -#endif //QWINDOWSUIAWRAPPER_H - diff --git a/src/platformsupport/windowsuiautomation/uiaattributeids_p.h b/src/platformsupport/windowsuiautomation/uiaattributeids_p.h deleted file mode 100644 index 795cb9e551..0000000000 --- a/src/platformsupport/windowsuiautomation/uiaattributeids_p.h +++ /dev/null @@ -1,99 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef UIAATTRIBUTEIDS_H -#define UIAATTRIBUTEIDS_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#define UIA_AnimationStyleAttributeId 40000 -#define UIA_BackgroundColorAttributeId 40001 -#define UIA_BulletStyleAttributeId 40002 -#define UIA_CapStyleAttributeId 40003 -#define UIA_CultureAttributeId 40004 -#define UIA_FontNameAttributeId 40005 -#define UIA_FontSizeAttributeId 40006 -#define UIA_FontWeightAttributeId 40007 -#define UIA_ForegroundColorAttributeId 40008 -#define UIA_HorizontalTextAlignmentAttributeId 40009 -#define UIA_IndentationFirstLineAttributeId 40010 -#define UIA_IndentationLeadingAttributeId 40011 -#define UIA_IndentationTrailingAttributeId 40012 -#define UIA_IsHiddenAttributeId 40013 -#define UIA_IsItalicAttributeId 40014 -#define UIA_IsReadOnlyAttributeId 40015 -#define UIA_IsSubscriptAttributeId 40016 -#define UIA_IsSuperscriptAttributeId 40017 -#define UIA_MarginBottomAttributeId 40018 -#define UIA_MarginLeadingAttributeId 40019 -#define UIA_MarginTopAttributeId 40020 -#define UIA_MarginTrailingAttributeId 40021 -#define UIA_OutlineStylesAttributeId 40022 -#define UIA_OverlineColorAttributeId 40023 -#define UIA_OverlineStyleAttributeId 40024 -#define UIA_StrikethroughColorAttributeId 40025 -#define UIA_StrikethroughStyleAttributeId 40026 -#define UIA_TabsAttributeId 40027 -#define UIA_TextFlowDirectionsAttributeId 40028 -#define UIA_UnderlineColorAttributeId 40029 -#define UIA_UnderlineStyleAttributeId 40030 -#define UIA_AnnotationTypesAttributeId 40031 -#define UIA_AnnotationObjectsAttributeId 40032 -#define UIA_StyleNameAttributeId 40033 -#define UIA_StyleIdAttributeId 40034 -#define UIA_LinkAttributeId 40035 -#define UIA_IsActiveAttributeId 40036 -#define UIA_SelectionActiveEndAttributeId 40037 -#define UIA_CaretPositionAttributeId 40038 -#define UIA_CaretBidiModeAttributeId 40039 -#define UIA_LineSpacingAttributeId 40040 -#define UIA_BeforeParagraphSpacingAttributeId 40041 -#define UIA_AfterParagraphSpacingAttributeId 40042 -#define UIA_SayAsInterpretAsAttributeId 40043 - -#endif diff --git a/src/platformsupport/windowsuiautomation/uiaclientinterfaces_p.h b/src/platformsupport/windowsuiautomation/uiaclientinterfaces_p.h deleted file mode 100644 index a4f3e15baa..0000000000 --- a/src/platformsupport/windowsuiautomation/uiaclientinterfaces_p.h +++ /dev/null @@ -1,266 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef UIACLIENTINTERFACES_H -#define UIACLIENTINTERFACES_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#include - -#ifndef __IUIAutomationElement_INTERFACE_DEFINED__ - -struct IUIAutomationCondition; -struct IUIAutomationCacheRequest; -struct IUIAutomationElementArray; -struct IUIAutomationTreeWalker; -struct IUIAutomationEventHandler; -struct IUIAutomationPropertyChangedEventHandler; -struct IUIAutomationStructureChangedEventHandler; -struct IUIAutomationFocusChangedEventHandler; -struct IUIAutomationProxyFactory; -struct IUIAutomationProxyFactoryEntry; -struct IUIAutomationProxyFactoryMapping; -#ifndef __IAccessible_FWD_DEFINED__ -#define __IAccessible_FWD_DEFINED__ -struct IAccessible; -#endif /* __IAccessible_FWD_DEFINED__ */ - -#define __IUIAutomationElement_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IUIAutomationElement, 0xd22108aa, 0x8ac5, 0x49a5, 0x83,0x7b, 0x37,0xbb,0xb3,0xd7,0x59,0x1e); -MIDL_INTERFACE("d22108aa-8ac5-49a5-837b-37bbb3d7591e") -IUIAutomationElement : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE SetFocus() = 0; - virtual HRESULT STDMETHODCALLTYPE GetRuntimeId(__RPC__deref_out_opt SAFEARRAY **runtimeId) = 0; - virtual HRESULT STDMETHODCALLTYPE FindFirst(enum TreeScope scope, __RPC__in_opt IUIAutomationCondition *condition, __RPC__deref_out_opt IUIAutomationElement **found) = 0; - virtual HRESULT STDMETHODCALLTYPE FindAll(enum TreeScope scope, __RPC__in_opt IUIAutomationCondition *condition, __RPC__deref_out_opt IUIAutomationElementArray **found) = 0; - virtual HRESULT STDMETHODCALLTYPE FindFirstBuildCache(enum TreeScope scope, __RPC__in_opt IUIAutomationCondition *condition, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **found) = 0; - virtual HRESULT STDMETHODCALLTYPE FindAllBuildCache(enum TreeScope scope, __RPC__in_opt IUIAutomationCondition *condition, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElementArray **found) = 0; - virtual HRESULT STDMETHODCALLTYPE BuildUpdatedCache(__RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **updatedElement) = 0; - virtual HRESULT STDMETHODCALLTYPE GetCurrentPropertyValue(PROPERTYID propertyId, __RPC__out VARIANT *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE GetCurrentPropertyValueEx(PROPERTYID propertyId, BOOL ignoreDefaultValue, __RPC__out VARIANT *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE GetCachedPropertyValue(PROPERTYID propertyId, __RPC__out VARIANT *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE GetCachedPropertyValueEx(PROPERTYID propertyId, BOOL ignoreDefaultValue, __RPC__out VARIANT *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE GetCurrentPatternAs(PATTERNID patternId, __RPC__in REFIID riid, __RPC__deref_out_opt void **patternObject) = 0; - virtual HRESULT STDMETHODCALLTYPE GetCachedPatternAs(PATTERNID patternId, __RPC__in REFIID riid, __RPC__deref_out_opt void **patternObject) = 0; - virtual HRESULT STDMETHODCALLTYPE GetCurrentPattern(PATTERNID patternId, __RPC__deref_out_opt IUnknown **patternObject) = 0; - virtual HRESULT STDMETHODCALLTYPE GetCachedPattern(PATTERNID patternId, __RPC__deref_out_opt IUnknown **patternObject) = 0; - virtual HRESULT STDMETHODCALLTYPE GetCachedParent(__RPC__deref_out_opt IUIAutomationElement **parent) = 0; - virtual HRESULT STDMETHODCALLTYPE GetCachedChildren(__RPC__deref_out_opt IUIAutomationElementArray **children) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentProcessId(__RPC__out int *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentControlType(__RPC__out CONTROLTYPEID *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentLocalizedControlType(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentName(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentAcceleratorKey(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentAccessKey(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentHasKeyboardFocus(__RPC__out BOOL *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentIsKeyboardFocusable(__RPC__out BOOL *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentIsEnabled(__RPC__out BOOL *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentAutomationId(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentClassName(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentHelpText(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentCulture(__RPC__out int *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentIsControlElement(__RPC__out BOOL *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentIsContentElement(__RPC__out BOOL *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentIsPassword(__RPC__out BOOL *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentNativeWindowHandle(__RPC__deref_out_opt UIA_HWND *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentItemType(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentIsOffscreen(__RPC__out BOOL *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentOrientation(__RPC__out enum OrientationType *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentFrameworkId(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentIsRequiredForForm(__RPC__out BOOL *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentItemStatus(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentBoundingRectangle(__RPC__out RECT *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentLabeledBy(__RPC__deref_out_opt IUIAutomationElement **retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentAriaRole(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentAriaProperties(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentIsDataValidForForm(__RPC__out BOOL *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentControllerFor(__RPC__deref_out_opt IUIAutomationElementArray **retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentDescribedBy(__RPC__deref_out_opt IUIAutomationElementArray **retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentFlowsTo(__RPC__deref_out_opt IUIAutomationElementArray **retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CurrentProviderDescription(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedProcessId(__RPC__out int *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedControlType(__RPC__out CONTROLTYPEID *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedLocalizedControlType(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedName(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedAcceleratorKey(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedAccessKey(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedHasKeyboardFocus(__RPC__out BOOL *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedIsKeyboardFocusable(__RPC__out BOOL *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedIsEnabled(__RPC__out BOOL *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedAutomationId(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedClassName(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedHelpText(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedCulture(__RPC__out int *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedIsControlElement(__RPC__out BOOL *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedIsContentElement(__RPC__out BOOL *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedIsPassword(__RPC__out BOOL *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedNativeWindowHandle(__RPC__deref_out_opt UIA_HWND *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedItemType(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedIsOffscreen(__RPC__out BOOL *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedOrientation(__RPC__out enum OrientationType *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedFrameworkId(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedIsRequiredForForm(__RPC__out BOOL *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedItemStatus(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedBoundingRectangle(__RPC__out RECT *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedLabeledBy(__RPC__deref_out_opt IUIAutomationElement **retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedAriaRole(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedAriaProperties(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedIsDataValidForForm(__RPC__out BOOL *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedControllerFor(__RPC__deref_out_opt IUIAutomationElementArray **retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedDescribedBy(__RPC__deref_out_opt IUIAutomationElementArray **retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedFlowsTo(__RPC__deref_out_opt IUIAutomationElementArray **retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CachedProviderDescription(__RPC__deref_out_opt BSTR *retVal) = 0; - virtual HRESULT STDMETHODCALLTYPE GetClickablePoint(__RPC__out POINT *clickable, __RPC__out BOOL *gotClickable) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IUIAutomationElement, 0xd22108aa, 0x8ac5, 0x49a5, 0x83,0x7b, 0x37,0xbb,0xb3,0xd7,0x59,0x1e) -#endif -#endif - - -#ifndef __IUIAutomation_INTERFACE_DEFINED__ -#define __IUIAutomation_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IUIAutomation, 0x30cbe57d, 0xd9d0, 0x452a, 0xab,0x13, 0x7a,0xc5,0xac,0x48,0x25,0xee); -MIDL_INTERFACE("30cbe57d-d9d0-452a-ab13-7ac5ac4825ee") -IUIAutomation : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE CompareElements(__RPC__in_opt IUIAutomationElement *el1, __RPC__in_opt IUIAutomationElement *el2, __RPC__out BOOL *areSame) = 0; - virtual HRESULT STDMETHODCALLTYPE CompareRuntimeIds(__RPC__in SAFEARRAY * runtimeId1, __RPC__in SAFEARRAY * runtimeId2, __RPC__out BOOL *areSame) = 0; - virtual HRESULT STDMETHODCALLTYPE GetRootElement(__RPC__deref_out_opt IUIAutomationElement **root) = 0; - virtual HRESULT STDMETHODCALLTYPE ElementFromHandle(__RPC__in UIA_HWND hwnd, __RPC__deref_out_opt IUIAutomationElement **element) = 0; - virtual HRESULT STDMETHODCALLTYPE ElementFromPoint(POINT pt, __RPC__deref_out_opt IUIAutomationElement **element) = 0; - virtual HRESULT STDMETHODCALLTYPE GetFocusedElement(__RPC__deref_out_opt IUIAutomationElement **element) = 0; - virtual HRESULT STDMETHODCALLTYPE GetRootElementBuildCache(__RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **root) = 0; - virtual HRESULT STDMETHODCALLTYPE ElementFromHandleBuildCache(__RPC__in UIA_HWND hwnd, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **element) = 0; - virtual HRESULT STDMETHODCALLTYPE ElementFromPointBuildCache(POINT pt, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **element) = 0; - virtual HRESULT STDMETHODCALLTYPE GetFocusedElementBuildCache(__RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **element) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateTreeWalker(__RPC__in_opt IUIAutomationCondition *pCondition, __RPC__deref_out_opt IUIAutomationTreeWalker **walker) = 0; - virtual HRESULT STDMETHODCALLTYPE get_ControlViewWalker(__RPC__deref_out_opt IUIAutomationTreeWalker **walker) = 0; - virtual HRESULT STDMETHODCALLTYPE get_ContentViewWalker(__RPC__deref_out_opt IUIAutomationTreeWalker **walker) = 0; - virtual HRESULT STDMETHODCALLTYPE get_RawViewWalker(__RPC__deref_out_opt IUIAutomationTreeWalker **walker) = 0; - virtual HRESULT STDMETHODCALLTYPE get_RawViewCondition(__RPC__deref_out_opt IUIAutomationCondition **condition) = 0; - virtual HRESULT STDMETHODCALLTYPE get_ControlViewCondition(__RPC__deref_out_opt IUIAutomationCondition **condition) = 0; - virtual HRESULT STDMETHODCALLTYPE get_ContentViewCondition(__RPC__deref_out_opt IUIAutomationCondition **condition) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateCacheRequest(__RPC__deref_out_opt IUIAutomationCacheRequest **cacheRequest) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateTrueCondition(__RPC__deref_out_opt IUIAutomationCondition **newCondition) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateFalseCondition(__RPC__deref_out_opt IUIAutomationCondition **newCondition) = 0; - virtual HRESULT STDMETHODCALLTYPE CreatePropertyCondition(PROPERTYID propertyId, VARIANT value, __RPC__deref_out_opt IUIAutomationCondition **newCondition) = 0; - virtual HRESULT STDMETHODCALLTYPE CreatePropertyConditionEx(PROPERTYID propertyId, VARIANT value, enum PropertyConditionFlags flags, __RPC__deref_out_opt IUIAutomationCondition **newCondition) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateAndCondition(__RPC__in_opt IUIAutomationCondition *condition1, __RPC__in_opt IUIAutomationCondition *condition2, __RPC__deref_out_opt IUIAutomationCondition **newCondition) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateAndConditionFromArray(__RPC__in_opt SAFEARRAY * conditions, __RPC__deref_out_opt IUIAutomationCondition **newCondition) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateAndConditionFromNativeArray(__RPC__in_ecount_full(conditionCount) IUIAutomationCondition **conditions, int conditionCount, __RPC__deref_out_opt IUIAutomationCondition **newCondition) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateOrCondition(__RPC__in_opt IUIAutomationCondition *condition1, __RPC__in_opt IUIAutomationCondition *condition2, __RPC__deref_out_opt IUIAutomationCondition **newCondition) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateOrConditionFromArray(__RPC__in_opt SAFEARRAY * conditions, __RPC__deref_out_opt IUIAutomationCondition **newCondition) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateOrConditionFromNativeArray(__RPC__in_ecount_full(conditionCount) IUIAutomationCondition **conditions, int conditionCount, __RPC__deref_out_opt IUIAutomationCondition **newCondition) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateNotCondition(__RPC__in_opt IUIAutomationCondition *condition, __RPC__deref_out_opt IUIAutomationCondition **newCondition) = 0; - virtual HRESULT STDMETHODCALLTYPE AddAutomationEventHandler(EVENTID eventId, __RPC__in_opt IUIAutomationElement *element, enum TreeScope scope, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__in_opt IUIAutomationEventHandler *handler) = 0; - virtual HRESULT STDMETHODCALLTYPE RemoveAutomationEventHandler(EVENTID eventId, __RPC__in_opt IUIAutomationElement *element, __RPC__in_opt IUIAutomationEventHandler *handler) = 0; - virtual HRESULT STDMETHODCALLTYPE AddPropertyChangedEventHandlerNativeArray(__RPC__in_opt IUIAutomationElement *element, enum TreeScope scope, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__in_opt IUIAutomationPropertyChangedEventHandler *handler, __RPC__in_ecount_full(propertyCount) PROPERTYID *propertyArray, int propertyCount) = 0; - virtual HRESULT STDMETHODCALLTYPE AddPropertyChangedEventHandler(__RPC__in_opt IUIAutomationElement *element, enum TreeScope scope, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__in_opt IUIAutomationPropertyChangedEventHandler *handler, __RPC__in SAFEARRAY * propertyArray) = 0; - virtual HRESULT STDMETHODCALLTYPE RemovePropertyChangedEventHandler(__RPC__in_opt IUIAutomationElement *element, __RPC__in_opt IUIAutomationPropertyChangedEventHandler *handler) = 0; - virtual HRESULT STDMETHODCALLTYPE AddStructureChangedEventHandler(__RPC__in_opt IUIAutomationElement *element, enum TreeScope scope, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__in_opt IUIAutomationStructureChangedEventHandler *handler) = 0; - virtual HRESULT STDMETHODCALLTYPE RemoveStructureChangedEventHandler(__RPC__in_opt IUIAutomationElement *element, __RPC__in_opt IUIAutomationStructureChangedEventHandler *handler) = 0; - virtual HRESULT STDMETHODCALLTYPE AddFocusChangedEventHandler(__RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__in_opt IUIAutomationFocusChangedEventHandler *handler) = 0; - virtual HRESULT STDMETHODCALLTYPE RemoveFocusChangedEventHandler(__RPC__in_opt IUIAutomationFocusChangedEventHandler *handler) = 0; - virtual HRESULT STDMETHODCALLTYPE RemoveAllEventHandlers() = 0; - virtual HRESULT STDMETHODCALLTYPE IntNativeArrayToSafeArray(__RPC__in_ecount_full(arrayCount) int *array, int arrayCount, __RPC__deref_out_opt SAFEARRAY **safeArray) = 0; - virtual HRESULT STDMETHODCALLTYPE IntSafeArrayToNativeArray(__RPC__in SAFEARRAY * intArray, __RPC__deref_out_ecount_full_opt(*arrayCount) int **array, __RPC__out int *arrayCount) = 0; - virtual HRESULT STDMETHODCALLTYPE RectToVariant(RECT rc, __RPC__out VARIANT *var) = 0; - virtual HRESULT STDMETHODCALLTYPE VariantToRect(VARIANT var, __RPC__out RECT *rc) = 0; - virtual HRESULT STDMETHODCALLTYPE SafeArrayToRectNativeArray(__RPC__in SAFEARRAY * rects, __RPC__deref_out_ecount_full_opt(*rectArrayCount) RECT **rectArray, __RPC__out int *rectArrayCount) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateProxyFactoryEntry(__RPC__in_opt IUIAutomationProxyFactory *factory, __RPC__deref_out_opt IUIAutomationProxyFactoryEntry **factoryEntry) = 0; - virtual HRESULT STDMETHODCALLTYPE get_ProxyFactoryMapping(__RPC__deref_out_opt IUIAutomationProxyFactoryMapping **factoryMapping) = 0; - virtual HRESULT STDMETHODCALLTYPE GetPropertyProgrammaticName(PROPERTYID property, __RPC__deref_out_opt BSTR *name) = 0; - virtual HRESULT STDMETHODCALLTYPE GetPatternProgrammaticName(PATTERNID pattern, __RPC__deref_out_opt BSTR *name) = 0; - virtual HRESULT STDMETHODCALLTYPE PollForPotentialSupportedPatterns(__RPC__in_opt IUIAutomationElement *pElement, __RPC__deref_out_opt SAFEARRAY **patternIds, __RPC__deref_out_opt SAFEARRAY **patternNames) = 0; - virtual HRESULT STDMETHODCALLTYPE PollForPotentialSupportedProperties(__RPC__in_opt IUIAutomationElement *pElement, __RPC__deref_out_opt SAFEARRAY **propertyIds, __RPC__deref_out_opt SAFEARRAY **propertyNames) = 0; - virtual HRESULT STDMETHODCALLTYPE CheckNotSupported(VARIANT value, __RPC__out BOOL *isNotSupported) = 0; - virtual HRESULT STDMETHODCALLTYPE get_ReservedNotSupportedValue(__RPC__deref_out_opt IUnknown **notSupportedValue) = 0; - virtual HRESULT STDMETHODCALLTYPE get_ReservedMixedAttributeValue(__RPC__deref_out_opt IUnknown **mixedAttributeValue) = 0; - virtual HRESULT STDMETHODCALLTYPE ElementFromIAccessible(__RPC__in_opt IAccessible *accessible, int childId, __RPC__deref_out_opt IUIAutomationElement **element) = 0; - virtual HRESULT STDMETHODCALLTYPE ElementFromIAccessibleBuildCache(__RPC__in_opt IAccessible *accessible, int childId, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **element) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IUIAutomation, 0x30cbe57d, 0xd9d0, 0x452a, 0xab,0x13, 0x7a,0xc5,0xac,0x48,0x25,0xee) -#endif -#endif - - -#ifndef __IUIAutomationTreeWalker_INTERFACE_DEFINED__ -#define __IUIAutomationTreeWalker_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IUIAutomationTreeWalker, 0x4042c624, 0x389c, 0x4afc, 0xa6,0x30, 0x9d,0xf8,0x54,0xa5,0x41,0xfc); -MIDL_INTERFACE("4042c624-389c-4afc-a630-9df854a541fc") -IUIAutomationTreeWalker : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE GetParentElement(__RPC__in_opt IUIAutomationElement *element, __RPC__deref_out_opt IUIAutomationElement **parent) = 0; - virtual HRESULT STDMETHODCALLTYPE GetFirstChildElement(__RPC__in_opt IUIAutomationElement *element, __RPC__deref_out_opt IUIAutomationElement **first) = 0; - virtual HRESULT STDMETHODCALLTYPE GetLastChildElement(__RPC__in_opt IUIAutomationElement *element, __RPC__deref_out_opt IUIAutomationElement **last) = 0; - virtual HRESULT STDMETHODCALLTYPE GetNextSiblingElement(__RPC__in_opt IUIAutomationElement *element, __RPC__deref_out_opt IUIAutomationElement **next) = 0; - virtual HRESULT STDMETHODCALLTYPE GetPreviousSiblingElement(__RPC__in_opt IUIAutomationElement *element, __RPC__deref_out_opt IUIAutomationElement **previous) = 0; - virtual HRESULT STDMETHODCALLTYPE NormalizeElement(__RPC__in_opt IUIAutomationElement *element, __RPC__deref_out_opt IUIAutomationElement **normalized) = 0; - virtual HRESULT STDMETHODCALLTYPE GetParentElementBuildCache(__RPC__in_opt IUIAutomationElement *element, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **parent) = 0; - virtual HRESULT STDMETHODCALLTYPE GetFirstChildElementBuildCache(__RPC__in_opt IUIAutomationElement *element, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **first) = 0; - virtual HRESULT STDMETHODCALLTYPE GetLastChildElementBuildCache(__RPC__in_opt IUIAutomationElement *element, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **last) = 0; - virtual HRESULT STDMETHODCALLTYPE GetNextSiblingElementBuildCache(__RPC__in_opt IUIAutomationElement *element, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **next) = 0; - virtual HRESULT STDMETHODCALLTYPE GetPreviousSiblingElementBuildCache(__RPC__in_opt IUIAutomationElement *element, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **previous) = 0; - virtual HRESULT STDMETHODCALLTYPE NormalizeElementBuildCache(__RPC__in_opt IUIAutomationElement *element, __RPC__in_opt IUIAutomationCacheRequest *cacheRequest, __RPC__deref_out_opt IUIAutomationElement **normalized) = 0; - virtual HRESULT STDMETHODCALLTYPE get_Condition(__RPC__deref_out_opt IUIAutomationCondition **condition) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IUIAutomationTreeWalker, 0x4042c624, 0x389c, 0x4afc, 0xa6,0x30, 0x9d,0xf8,0x54,0xa5,0x41,0xfc) -#endif -#endif - -DEFINE_GUID(CLSID_CUIAutomation, 0xff48dba4, 0x60ef, 0x4201, 0xaa,0x87, 0x54,0x10,0x3e,0xef,0x59,0x4e); - -#endif diff --git a/src/platformsupport/windowsuiautomation/uiacontroltypeids_p.h b/src/platformsupport/windowsuiautomation/uiacontroltypeids_p.h deleted file mode 100644 index b5c5a0a4ff..0000000000 --- a/src/platformsupport/windowsuiautomation/uiacontroltypeids_p.h +++ /dev/null @@ -1,96 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef UIACONTROLTYPEIDS_H -#define UIACONTROLTYPEIDS_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#define UIA_ButtonControlTypeId 50000 -#define UIA_CalendarControlTypeId 50001 -#define UIA_CheckBoxControlTypeId 50002 -#define UIA_ComboBoxControlTypeId 50003 -#define UIA_EditControlTypeId 50004 -#define UIA_HyperlinkControlTypeId 50005 -#define UIA_ImageControlTypeId 50006 -#define UIA_ListItemControlTypeId 50007 -#define UIA_ListControlTypeId 50008 -#define UIA_MenuControlTypeId 50009 -#define UIA_MenuBarControlTypeId 50010 -#define UIA_MenuItemControlTypeId 50011 -#define UIA_ProgressBarControlTypeId 50012 -#define UIA_RadioButtonControlTypeId 50013 -#define UIA_ScrollBarControlTypeId 50014 -#define UIA_SliderControlTypeId 50015 -#define UIA_SpinnerControlTypeId 50016 -#define UIA_StatusBarControlTypeId 50017 -#define UIA_TabControlTypeId 50018 -#define UIA_TabItemControlTypeId 50019 -#define UIA_TextControlTypeId 50020 -#define UIA_ToolBarControlTypeId 50021 -#define UIA_ToolTipControlTypeId 50022 -#define UIA_TreeControlTypeId 50023 -#define UIA_TreeItemControlTypeId 50024 -#define UIA_CustomControlTypeId 50025 -#define UIA_GroupControlTypeId 50026 -#define UIA_ThumbControlTypeId 50027 -#define UIA_DataGridControlTypeId 50028 -#define UIA_DataItemControlTypeId 50029 -#define UIA_DocumentControlTypeId 50030 -#define UIA_SplitButtonControlTypeId 50031 -#define UIA_WindowControlTypeId 50032 -#define UIA_PaneControlTypeId 50033 -#define UIA_HeaderControlTypeId 50034 -#define UIA_HeaderItemControlTypeId 50035 -#define UIA_TableControlTypeId 50036 -#define UIA_TitleBarControlTypeId 50037 -#define UIA_SeparatorControlTypeId 50038 -#define UIA_SemanticZoomControlTypeId 50039 -#define UIA_AppBarControlTypeId 50040 - -#endif diff --git a/src/platformsupport/windowsuiautomation/uiaerrorids_p.h b/src/platformsupport/windowsuiautomation/uiaerrorids_p.h deleted file mode 100644 index 8c2a24dbc7..0000000000 --- a/src/platformsupport/windowsuiautomation/uiaerrorids_p.h +++ /dev/null @@ -1,62 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef UIAERRORIDS_H -#define UIAERRORIDS_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#define UIA_E_ELEMENTNOTENABLED 0x80040200 -#define UIA_E_ELEMENTNOTAVAILABLE 0x80040201 -#define UIA_E_NOCLICKABLEPOINT 0x80040202 -#define UIA_E_PROXYASSEMBLYNOTLOADED 0x80040203 -#define UIA_E_NOTSUPPORTED 0x80040204 -#define UIA_E_INVALIDOPERATION 0x80131509 -#define UIA_E_TIMEOUT 0x80131505 - -#endif diff --git a/src/platformsupport/windowsuiautomation/uiaeventids_p.h b/src/platformsupport/windowsuiautomation/uiaeventids_p.h deleted file mode 100644 index ed6c36834e..0000000000 --- a/src/platformsupport/windowsuiautomation/uiaeventids_p.h +++ /dev/null @@ -1,90 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef UIAEVENTIDS_H -#define UIAEVENTIDS_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#define UIA_ToolTipOpenedEventId 20000 -#define UIA_ToolTipClosedEventId 20001 -#define UIA_StructureChangedEventId 20002 -#define UIA_MenuOpenedEventId 20003 -#define UIA_AutomationPropertyChangedEventId 20004 -#define UIA_AutomationFocusChangedEventId 20005 -#define UIA_AsyncContentLoadedEventId 20006 -#define UIA_MenuClosedEventId 20007 -#define UIA_LayoutInvalidatedEventId 20008 -#define UIA_Invoke_InvokedEventId 20009 -#define UIA_SelectionItem_ElementAddedToSelectionEventId 20010 -#define UIA_SelectionItem_ElementRemovedFromSelectionEventId 20011 -#define UIA_SelectionItem_ElementSelectedEventId 20012 -#define UIA_Selection_InvalidatedEventId 20013 -#define UIA_Text_TextSelectionChangedEventId 20014 -#define UIA_Text_TextChangedEventId 20015 -#define UIA_Window_WindowOpenedEventId 20016 -#define UIA_Window_WindowClosedEventId 20017 -#define UIA_MenuModeStartEventId 20018 -#define UIA_MenuModeEndEventId 20019 -#define UIA_InputReachedTargetEventId 20020 -#define UIA_InputReachedOtherElementEventId 20021 -#define UIA_InputDiscardedEventId 20022 -#define UIA_SystemAlertEventId 20023 -#define UIA_LiveRegionChangedEventId 20024 -#define UIA_HostedFragmentRootsInvalidatedEventId 20025 -#define UIA_Drag_DragStartEventId 20026 -#define UIA_Drag_DragCancelEventId 20027 -#define UIA_Drag_DragCompleteEventId 20028 -#define UIA_DropTarget_DragEnterEventId 20029 -#define UIA_DropTarget_DragLeaveEventId 20030 -#define UIA_DropTarget_DroppedEventId 20031 -#define UIA_TextEdit_TextChangedEventId 20032 -#define UIA_TextEdit_ConversionTargetChangedEventId 20033 -#define UIA_ChangesEventId 20034 - -#endif diff --git a/src/platformsupport/windowsuiautomation/uiageneralids_p.h b/src/platformsupport/windowsuiautomation/uiageneralids_p.h deleted file mode 100644 index 220554f885..0000000000 --- a/src/platformsupport/windowsuiautomation/uiageneralids_p.h +++ /dev/null @@ -1,57 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef UIAGENERALIDS_H -#define UIAGENERALIDS_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#define UiaAppendRuntimeId 3 -#define UiaRootObjectId -25 - -#endif diff --git a/src/platformsupport/windowsuiautomation/uiapatternids_p.h b/src/platformsupport/windowsuiautomation/uiapatternids_p.h deleted file mode 100644 index d3f4c9bd7a..0000000000 --- a/src/platformsupport/windowsuiautomation/uiapatternids_p.h +++ /dev/null @@ -1,89 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef UIAPATTERNIDS_H -#define UIAPATTERNIDS_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#define UIA_InvokePatternId 10000 -#define UIA_SelectionPatternId 10001 -#define UIA_ValuePatternId 10002 -#define UIA_RangeValuePatternId 10003 -#define UIA_ScrollPatternId 10004 -#define UIA_ExpandCollapsePatternId 10005 -#define UIA_GridPatternId 10006 -#define UIA_GridItemPatternId 10007 -#define UIA_MultipleViewPatternId 10008 -#define UIA_WindowPatternId 10009 -#define UIA_SelectionItemPatternId 10010 -#define UIA_DockPatternId 10011 -#define UIA_TablePatternId 10012 -#define UIA_TableItemPatternId 10013 -#define UIA_TextPatternId 10014 -#define UIA_TogglePatternId 10015 -#define UIA_TransformPatternId 10016 -#define UIA_ScrollItemPatternId 10017 -#define UIA_LegacyIAccessiblePatternId 10018 -#define UIA_ItemContainerPatternId 10019 -#define UIA_VirtualizedItemPatternId 10020 -#define UIA_SynchronizedInputPatternId 10021 -#define UIA_ObjectModelPatternId 10022 -#define UIA_AnnotationPatternId 10023 -#define UIA_TextPattern2Id 10024 -#define UIA_StylesPatternId 10025 -#define UIA_SpreadsheetPatternId 10026 -#define UIA_SpreadsheetItemPatternId 10027 -#define UIA_TransformPattern2Id 10028 -#define UIA_TextChildPatternId 10029 -#define UIA_DragPatternId 10030 -#define UIA_DropTargetPatternId 10031 -#define UIA_TextEditPatternId 10032 -#define UIA_CustomNavigationPatternId 10033 - -#endif diff --git a/src/platformsupport/windowsuiautomation/uiapropertyids_p.h b/src/platformsupport/windowsuiautomation/uiapropertyids_p.h deleted file mode 100644 index 9c14a35271..0000000000 --- a/src/platformsupport/windowsuiautomation/uiapropertyids_p.h +++ /dev/null @@ -1,224 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef UIAPROPERTYIDS_H -#define UIAPROPERTYIDS_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#define UIA_RuntimeIdPropertyId 30000 -#define UIA_BoundingRectanglePropertyId 30001 -#define UIA_ProcessIdPropertyId 30002 -#define UIA_ControlTypePropertyId 30003 -#define UIA_LocalizedControlTypePropertyId 30004 -#define UIA_NamePropertyId 30005 -#define UIA_AcceleratorKeyPropertyId 30006 -#define UIA_AccessKeyPropertyId 30007 -#define UIA_HasKeyboardFocusPropertyId 30008 -#define UIA_IsKeyboardFocusablePropertyId 30009 -#define UIA_IsEnabledPropertyId 30010 -#define UIA_AutomationIdPropertyId 30011 -#define UIA_ClassNamePropertyId 30012 -#define UIA_HelpTextPropertyId 30013 -#define UIA_ClickablePointPropertyId 30014 -#define UIA_CulturePropertyId 30015 -#define UIA_IsControlElementPropertyId 30016 -#define UIA_IsContentElementPropertyId 30017 -#define UIA_LabeledByPropertyId 30018 -#define UIA_IsPasswordPropertyId 30019 -#define UIA_NativeWindowHandlePropertyId 30020 -#define UIA_ItemTypePropertyId 30021 -#define UIA_IsOffscreenPropertyId 30022 -#define UIA_OrientationPropertyId 30023 -#define UIA_FrameworkIdPropertyId 30024 -#define UIA_IsRequiredForFormPropertyId 30025 -#define UIA_ItemStatusPropertyId 30026 -#define UIA_IsDockPatternAvailablePropertyId 30027 -#define UIA_IsExpandCollapsePatternAvailablePropertyId 30028 -#define UIA_IsGridItemPatternAvailablePropertyId 30029 -#define UIA_IsGridPatternAvailablePropertyId 30030 -#define UIA_IsInvokePatternAvailablePropertyId 30031 -#define UIA_IsMultipleViewPatternAvailablePropertyId 30032 -#define UIA_IsRangeValuePatternAvailablePropertyId 30033 -#define UIA_IsScrollPatternAvailablePropertyId 30034 -#define UIA_IsScrollItemPatternAvailablePropertyId 30035 -#define UIA_IsSelectionItemPatternAvailablePropertyId 30036 -#define UIA_IsSelectionPatternAvailablePropertyId 30037 -#define UIA_IsTablePatternAvailablePropertyId 30038 -#define UIA_IsTableItemPatternAvailablePropertyId 30039 -#define UIA_IsTextPatternAvailablePropertyId 30040 -#define UIA_IsTogglePatternAvailablePropertyId 30041 -#define UIA_IsTransformPatternAvailablePropertyId 30042 -#define UIA_IsValuePatternAvailablePropertyId 30043 -#define UIA_IsWindowPatternAvailablePropertyId 30044 -#define UIA_ValueValuePropertyId 30045 -#define UIA_ValueIsReadOnlyPropertyId 30046 -#define UIA_RangeValueValuePropertyId 30047 -#define UIA_RangeValueIsReadOnlyPropertyId 30048 -#define UIA_RangeValueMinimumPropertyId 30049 -#define UIA_RangeValueMaximumPropertyId 30050 -#define UIA_RangeValueLargeChangePropertyId 30051 -#define UIA_RangeValueSmallChangePropertyId 30052 -#define UIA_ScrollHorizontalScrollPercentPropertyId 30053 -#define UIA_ScrollHorizontalViewSizePropertyId 30054 -#define UIA_ScrollVerticalScrollPercentPropertyId 30055 -#define UIA_ScrollVerticalViewSizePropertyId 30056 -#define UIA_ScrollHorizontallyScrollablePropertyId 30057 -#define UIA_ScrollVerticallyScrollablePropertyId 30058 -#define UIA_SelectionSelectionPropertyId 30059 -#define UIA_SelectionCanSelectMultiplePropertyId 30060 -#define UIA_SelectionIsSelectionRequiredPropertyId 30061 -#define UIA_GridRowCountPropertyId 30062 -#define UIA_GridColumnCountPropertyId 30063 -#define UIA_GridItemRowPropertyId 30064 -#define UIA_GridItemColumnPropertyId 30065 -#define UIA_GridItemRowSpanPropertyId 30066 -#define UIA_GridItemColumnSpanPropertyId 30067 -#define UIA_GridItemContainingGridPropertyId 30068 -#define UIA_DockDockPositionPropertyId 30069 -#define UIA_ExpandCollapseExpandCollapseStatePropertyId 30070 -#define UIA_MultipleViewCurrentViewPropertyId 30071 -#define UIA_MultipleViewSupportedViewsPropertyId 30072 -#define UIA_WindowCanMaximizePropertyId 30073 -#define UIA_WindowCanMinimizePropertyId 30074 -#define UIA_WindowWindowVisualStatePropertyId 30075 -#define UIA_WindowWindowInteractionStatePropertyId 30076 -#define UIA_WindowIsModalPropertyId 30077 -#define UIA_WindowIsTopmostPropertyId 30078 -#define UIA_SelectionItemIsSelectedPropertyId 30079 -#define UIA_SelectionItemSelectionContainerPropertyId 30080 -#define UIA_TableRowHeadersPropertyId 30081 -#define UIA_TableColumnHeadersPropertyId 30082 -#define UIA_TableRowOrColumnMajorPropertyId 30083 -#define UIA_TableItemRowHeaderItemsPropertyId 30084 -#define UIA_TableItemColumnHeaderItemsPropertyId 30085 -#define UIA_ToggleToggleStatePropertyId 30086 -#define UIA_TransformCanMovePropertyId 30087 -#define UIA_TransformCanResizePropertyId 30088 -#define UIA_TransformCanRotatePropertyId 30089 -#define UIA_IsLegacyIAccessiblePatternAvailablePropertyId 30090 -#define UIA_LegacyIAccessibleChildIdPropertyId 30091 -#define UIA_LegacyIAccessibleNamePropertyId 30092 -#define UIA_LegacyIAccessibleValuePropertyId 30093 -#define UIA_LegacyIAccessibleDescriptionPropertyId 30094 -#define UIA_LegacyIAccessibleRolePropertyId 30095 -#define UIA_LegacyIAccessibleStatePropertyId 30096 -#define UIA_LegacyIAccessibleHelpPropertyId 30097 -#define UIA_LegacyIAccessibleKeyboardShortcutPropertyId 30098 -#define UIA_LegacyIAccessibleSelectionPropertyId 30099 -#define UIA_LegacyIAccessibleDefaultActionPropertyId 30100 -#define UIA_AriaRolePropertyId 30101 -#define UIA_AriaPropertiesPropertyId 30102 -#define UIA_IsDataValidForFormPropertyId 30103 -#define UIA_ControllerForPropertyId 30104 -#define UIA_DescribedByPropertyId 30105 -#define UIA_FlowsToPropertyId 30106 -#define UIA_ProviderDescriptionPropertyId 30107 -#define UIA_IsItemContainerPatternAvailablePropertyId 30108 -#define UIA_IsVirtualizedItemPatternAvailablePropertyId 30109 -#define UIA_IsSynchronizedInputPatternAvailablePropertyId 30110 -#define UIA_OptimizeForVisualContentPropertyId 30111 -#define UIA_IsObjectModelPatternAvailablePropertyId 30112 -#define UIA_AnnotationAnnotationTypeIdPropertyId 30113 -#define UIA_AnnotationAnnotationTypeNamePropertyId 30114 -#define UIA_AnnotationAuthorPropertyId 30115 -#define UIA_AnnotationDateTimePropertyId 30116 -#define UIA_AnnotationTargetPropertyId 30117 -#define UIA_IsAnnotationPatternAvailablePropertyId 30118 -#define UIA_IsTextPattern2AvailablePropertyId 30119 -#define UIA_StylesStyleIdPropertyId 30120 -#define UIA_StylesStyleNamePropertyId 30121 -#define UIA_StylesFillColorPropertyId 30122 -#define UIA_StylesFillPatternStylePropertyId 30123 -#define UIA_StylesShapePropertyId 30124 -#define UIA_StylesFillPatternColorPropertyId 30125 -#define UIA_StylesExtendedPropertiesPropertyId 30126 -#define UIA_IsStylesPatternAvailablePropertyId 30127 -#define UIA_IsSpreadsheetPatternAvailablePropertyId 30128 -#define UIA_SpreadsheetItemFormulaPropertyId 30129 -#define UIA_SpreadsheetItemAnnotationObjectsPropertyId 30130 -#define UIA_SpreadsheetItemAnnotationTypesPropertyId 30131 -#define UIA_IsSpreadsheetItemPatternAvailablePropertyId 30132 -#define UIA_Transform2CanZoomPropertyId 30133 -#define UIA_IsTransformPattern2AvailablePropertyId 30134 -#define UIA_LiveSettingPropertyId 30135 -#define UIA_IsTextChildPatternAvailablePropertyId 30136 -#define UIA_IsDragPatternAvailablePropertyId 30137 -#define UIA_DragIsGrabbedPropertyId 30138 -#define UIA_DragDropEffectPropertyId 30139 -#define UIA_DragDropEffectsPropertyId 30140 -#define UIA_IsDropTargetPatternAvailablePropertyId 30141 -#define UIA_DropTargetDropTargetEffectPropertyId 30142 -#define UIA_DropTargetDropTargetEffectsPropertyId 30143 -#define UIA_DragGrabbedItemsPropertyId 30144 -#define UIA_Transform2ZoomLevelPropertyId 30145 -#define UIA_Transform2ZoomMinimumPropertyId 30146 -#define UIA_Transform2ZoomMaximumPropertyId 30147 -#define UIA_FlowsFromPropertyId 30148 -#define UIA_IsTextEditPatternAvailablePropertyId 30149 -#define UIA_IsPeripheralPropertyId 30150 -#define UIA_IsCustomNavigationPatternAvailablePropertyId 30151 -#define UIA_PositionInSetPropertyId 30152 -#define UIA_SizeOfSetPropertyId 30153 -#define UIA_LevelPropertyId 30154 -#define UIA_AnnotationTypesPropertyId 30155 -#define UIA_AnnotationObjectsPropertyId 30156 -#define UIA_LandmarkTypePropertyId 30157 -#define UIA_LocalizedLandmarkTypePropertyId 30158 -#define UIA_FullDescriptionPropertyId 30159 -#define UIA_FillColorPropertyId 30160 -#define UIA_OutlineColorPropertyId 30161 -#define UIA_FillTypePropertyId 30162 -#define UIA_VisualEffectsPropertyId 30163 -#define UIA_OutlineThicknessPropertyId 30164 -#define UIA_CenterPointPropertyId 30165 -#define UIA_RotationPropertyId 30166 -#define UIA_SizePropertyId 30167 -#define UIA_IsDialogPropertyId 30174 - -#endif diff --git a/src/platformsupport/windowsuiautomation/uiaserverinterfaces_p.h b/src/platformsupport/windowsuiautomation/uiaserverinterfaces_p.h deleted file mode 100644 index fde16206da..0000000000 --- a/src/platformsupport/windowsuiautomation/uiaserverinterfaces_p.h +++ /dev/null @@ -1,403 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef UIASERVERINTERFACES_H -#define UIASERVERINTERFACES_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#include - -#ifndef __IRawElementProviderSimple_INTERFACE_DEFINED__ -#define __IRawElementProviderSimple_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IRawElementProviderSimple, 0xd6dd68d1, 0x86fd, 0x4332, 0x86,0x66, 0x9a,0xbe,0xde,0xa2,0xd2,0x4c); -MIDL_INTERFACE("d6dd68d1-86fd-4332-8666-9abedea2d24c") -IRawElementProviderSimple : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE get_ProviderOptions(__RPC__out enum ProviderOptions *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE GetPatternProvider(PATTERNID patternId, __RPC__deref_out_opt IUnknown **pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE GetPropertyValue(PROPERTYID propertyId, __RPC__out VARIANT *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_HostRawElementProvider(__RPC__deref_out_opt IRawElementProviderSimple **pRetVal) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IRawElementProviderSimple, 0xd6dd68d1, 0x86fd, 0x4332, 0x86,0x66, 0x9a,0xbe,0xde,0xa2,0xd2,0x4c) -#endif -#endif - - -#ifndef __IRawElementProviderFragmentRoot_FWD_DEFINED__ -#define __IRawElementProviderFragmentRoot_FWD_DEFINED__ -typedef interface IRawElementProviderFragmentRoot IRawElementProviderFragmentRoot; -#endif - - -#ifndef __IRawElementProviderFragment_FWD_DEFINED__ -#define __IRawElementProviderFragment_FWD_DEFINED__ -typedef interface IRawElementProviderFragment IRawElementProviderFragment; -#endif - - -#ifndef __IRawElementProviderFragment_INTERFACE_DEFINED__ -#define __IRawElementProviderFragment_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IRawElementProviderFragment, 0xf7063da8, 0x8359, 0x439c, 0x92,0x97, 0xbb,0xc5,0x29,0x9a,0x7d,0x87); -MIDL_INTERFACE("f7063da8-8359-439c-9297-bbc5299a7d87") -IRawElementProviderFragment : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE Navigate(enum NavigateDirection direction, __RPC__deref_out_opt IRawElementProviderFragment **pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE GetRuntimeId(__RPC__deref_out_opt SAFEARRAY **pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_BoundingRectangle(__RPC__out struct UiaRect *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE GetEmbeddedFragmentRoots(__RPC__deref_out_opt SAFEARRAY **pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE SetFocus() = 0; - virtual HRESULT STDMETHODCALLTYPE get_FragmentRoot(__RPC__deref_out_opt IRawElementProviderFragmentRoot **pRetVal) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IRawElementProviderFragment, 0xf7063da8, 0x8359, 0x439c, 0x92,0x97, 0xbb,0xc5,0x29,0x9a,0x7d,0x87) -#endif -#endif - - -#ifndef __IRawElementProviderFragmentRoot_INTERFACE_DEFINED__ -#define __IRawElementProviderFragmentRoot_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IRawElementProviderFragmentRoot, 0x620ce2a5, 0xab8f, 0x40a9, 0x86,0xcb, 0xde,0x3c,0x75,0x59,0x9b,0x58); -MIDL_INTERFACE("620ce2a5-ab8f-40a9-86cb-de3c75599b58") -IRawElementProviderFragmentRoot : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE ElementProviderFromPoint(double x, double y, __RPC__deref_out_opt IRawElementProviderFragment **pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE GetFocus(__RPC__deref_out_opt IRawElementProviderFragment **pRetVal) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IRawElementProviderFragmentRoot, 0x620ce2a5, 0xab8f, 0x40a9, 0x86,0xcb, 0xde,0x3c,0x75,0x59,0x9b,0x58) -#endif -#endif - - -#ifndef __IValueProvider_INTERFACE_DEFINED__ -#define __IValueProvider_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IValueProvider, 0xc7935180, 0x6fb3, 0x4201, 0xb1,0x74, 0x7d,0xf7,0x3a,0xdb,0xf6,0x4a); -MIDL_INTERFACE("c7935180-6fb3-4201-b174-7df73adbf64a") -IValueProvider : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE SetValue(__RPC__in LPCWSTR val) = 0; - virtual HRESULT STDMETHODCALLTYPE get_Value(__RPC__deref_out_opt BSTR *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_IsReadOnly(__RPC__out BOOL *pRetVal) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IValueProvider, 0xc7935180, 0x6fb3, 0x4201, 0xb1,0x74, 0x7d,0xf7,0x3a,0xdb,0xf6,0x4a) -#endif -#endif - - -#ifndef __IRangeValueProvider_INTERFACE_DEFINED__ -#define __IRangeValueProvider_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IRangeValueProvider, 0x36dc7aef, 0x33e6, 0x4691, 0xaf,0xe1, 0x2b,0xe7,0x27,0x4b,0x3d,0x33); -MIDL_INTERFACE("36dc7aef-33e6-4691-afe1-2be7274b3d33") -IRangeValueProvider : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE SetValue(double val) = 0; - virtual HRESULT STDMETHODCALLTYPE get_Value(__RPC__out double *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_IsReadOnly(__RPC__out BOOL *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_Maximum(__RPC__out double *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_Minimum(__RPC__out double *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_LargeChange(__RPC__out double *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_SmallChange(__RPC__out double *pRetVal) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IRangeValueProvider, 0x36dc7aef, 0x33e6, 0x4691, 0xaf,0xe1, 0x2b,0xe7,0x27,0x4b,0x3d,0x33) -#endif -#endif - - -#ifndef __ITextRangeProvider_INTERFACE_DEFINED__ -#define __ITextRangeProvider_INTERFACE_DEFINED__ -DEFINE_GUID(IID_ITextRangeProvider, 0x5347ad7b, 0xc355, 0x46f8, 0xaf,0xf5, 0x90,0x90,0x33,0x58,0x2f,0x63); -MIDL_INTERFACE("5347ad7b-c355-46f8-aff5-909033582f63") -ITextRangeProvider : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE Clone(__RPC__deref_out_opt ITextRangeProvider **pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE Compare(__RPC__in_opt ITextRangeProvider *range, __RPC__out BOOL *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE CompareEndpoints(enum TextPatternRangeEndpoint endpoint, __RPC__in_opt ITextRangeProvider *targetRange, enum TextPatternRangeEndpoint targetEndpoint, __RPC__out int *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE ExpandToEnclosingUnit(enum TextUnit unit) = 0; - virtual HRESULT STDMETHODCALLTYPE FindAttribute(TEXTATTRIBUTEID attributeId, VARIANT val, BOOL backward, __RPC__deref_out_opt ITextRangeProvider **pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE FindText(__RPC__in BSTR text, BOOL backward, BOOL ignoreCase, __RPC__deref_out_opt ITextRangeProvider **pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE GetAttributeValue(TEXTATTRIBUTEID attributeId, __RPC__out VARIANT *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE GetBoundingRectangles(__RPC__deref_out_opt SAFEARRAY **pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE GetEnclosingElement(__RPC__deref_out_opt IRawElementProviderSimple **pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE GetText(int maxLength, __RPC__deref_out_opt BSTR *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE Move(enum TextUnit unit, int count, __RPC__out int *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE MoveEndpointByUnit(enum TextPatternRangeEndpoint endpoint, enum TextUnit unit, int count, __RPC__out int *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE MoveEndpointByRange(enum TextPatternRangeEndpoint endpoint, __RPC__in_opt ITextRangeProvider *targetRange, enum TextPatternRangeEndpoint targetEndpoint) = 0; - virtual HRESULT STDMETHODCALLTYPE Select() = 0; - virtual HRESULT STDMETHODCALLTYPE AddToSelection() = 0; - virtual HRESULT STDMETHODCALLTYPE RemoveFromSelection() = 0; - virtual HRESULT STDMETHODCALLTYPE ScrollIntoView(BOOL alignToTop) = 0; - virtual HRESULT STDMETHODCALLTYPE GetChildren(__RPC__deref_out_opt SAFEARRAY **pRetVal) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(ITextRangeProvider, 0x5347ad7b, 0xc355, 0x46f8, 0xaf,0xf5, 0x90,0x90,0x33,0x58,0x2f,0x63) -#endif -#endif - - -#ifndef __ITextProvider_INTERFACE_DEFINED__ -#define __ITextProvider_INTERFACE_DEFINED__ -DEFINE_GUID(IID_ITextProvider, 0x3589c92c, 0x63f3, 0x4367, 0x99,0xbb, 0xad,0xa6,0x53,0xb7,0x7c,0xf2); -MIDL_INTERFACE("3589c92c-63f3-4367-99bb-ada653b77cf2") -ITextProvider : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE GetSelection(__RPC__deref_out_opt SAFEARRAY **pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE GetVisibleRanges(__RPC__deref_out_opt SAFEARRAY **pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE RangeFromChild(__RPC__in_opt IRawElementProviderSimple *childElement, __RPC__deref_out_opt ITextRangeProvider **pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE RangeFromPoint(struct UiaPoint point, __RPC__deref_out_opt ITextRangeProvider **pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_DocumentRange(__RPC__deref_out_opt ITextRangeProvider **pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_SupportedTextSelection(__RPC__out enum SupportedTextSelection *pRetVal) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(ITextProvider, 0x3589c92c, 0x63f3, 0x4367, 0x99,0xbb, 0xad,0xa6,0x53,0xb7,0x7c,0xf2) -#endif -#endif - - -#ifndef __ITextProvider2_INTERFACE_DEFINED__ -#define __ITextProvider2_INTERFACE_DEFINED__ -DEFINE_GUID(IID_ITextProvider2, 0x0dc5e6ed, 0x3e16, 0x4bf1, 0x8f,0x9a, 0xa9,0x79,0x87,0x8b,0xc1,0x95); -MIDL_INTERFACE("0dc5e6ed-3e16-4bf1-8f9a-a979878bc195") -ITextProvider2 : public ITextProvider -{ -public: - virtual HRESULT STDMETHODCALLTYPE RangeFromAnnotation(__RPC__in_opt IRawElementProviderSimple *annotationElement, __RPC__deref_out_opt ITextRangeProvider **pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE GetCaretRange(__RPC__out BOOL *isActive, __RPC__deref_out_opt ITextRangeProvider **pRetVal) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(ITextProvider2, 0x0dc5e6ed, 0x3e16, 0x4bf1, 0x8f,0x9a, 0xa9,0x79,0x87,0x8b,0xc1,0x95) -#endif -#endif - - -#ifndef __IToggleProvider_INTERFACE_DEFINED__ -#define __IToggleProvider_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IToggleProvider, 0x56d00bd0, 0xc4f4, 0x433c, 0xa8,0x36, 0x1a,0x52,0xa5,0x7e,0x08,0x92); -MIDL_INTERFACE("56d00bd0-c4f4-433c-a836-1a52a57e0892") -IToggleProvider : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE Toggle() = 0; - virtual HRESULT STDMETHODCALLTYPE get_ToggleState(__RPC__out enum ToggleState *pRetVal) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IToggleProvider, 0x56d00bd0, 0xc4f4, 0x433c, 0xa8,0x36, 0x1a,0x52,0xa5,0x7e,0x08,0x92) -#endif -#endif - - -#ifndef __IInvokeProvider_INTERFACE_DEFINED__ -#define __IInvokeProvider_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IInvokeProvider, 0x54fcb24b, 0xe18e, 0x47a2, 0xb4,0xd3, 0xec,0xcb,0xe7,0x75,0x99,0xa2); -MIDL_INTERFACE("54fcb24b-e18e-47a2-b4d3-eccbe77599a2") -IInvokeProvider : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE Invoke() = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IInvokeProvider, 0x54fcb24b, 0xe18e, 0x47a2, 0xb4,0xd3, 0xec,0xcb,0xe7,0x75,0x99,0xa2) -#endif -#endif - - -#ifndef __ISelectionProvider_INTERFACE_DEFINED__ -#define __ISelectionProvider_INTERFACE_DEFINED__ -DEFINE_GUID(IID_ISelectionProvider, 0xfb8b03af, 0x3bdf, 0x48d4, 0xbd,0x36, 0x1a,0x65,0x79,0x3b,0xe1,0x68); -MIDL_INTERFACE("fb8b03af-3bdf-48d4-bd36-1a65793be168") -ISelectionProvider : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE GetSelection(__RPC__deref_out_opt SAFEARRAY **pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CanSelectMultiple(__RPC__out BOOL *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_IsSelectionRequired(__RPC__out BOOL *pRetVal) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(ISelectionProvider, 0xfb8b03af, 0x3bdf, 0x48d4, 0xbd,0x36, 0x1a,0x65,0x79,0x3b,0xe1,0x68) -#endif -#endif - - -#ifndef __ISelectionItemProvider_INTERFACE_DEFINED__ -#define __ISelectionItemProvider_INTERFACE_DEFINED__ -DEFINE_GUID(IID_ISelectionItemProvider, 0x2acad808, 0xb2d4, 0x452d, 0xa4,0x07, 0x91,0xff,0x1a,0xd1,0x67,0xb2); -MIDL_INTERFACE("2acad808-b2d4-452d-a407-91ff1ad167b2") -ISelectionItemProvider : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE Select() = 0; - virtual HRESULT STDMETHODCALLTYPE AddToSelection() = 0; - virtual HRESULT STDMETHODCALLTYPE RemoveFromSelection() = 0; - virtual HRESULT STDMETHODCALLTYPE get_IsSelected(__RPC__out BOOL *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_SelectionContainer(__RPC__deref_out_opt IRawElementProviderSimple **pRetVal) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(ISelectionItemProvider, 0x2acad808, 0xb2d4, 0x452d, 0xa4,0x07, 0x91,0xff,0x1a,0xd1,0x67,0xb2) -#endif -#endif - - -#ifndef __ITableProvider_INTERFACE_DEFINED__ -#define __ITableProvider_INTERFACE_DEFINED__ -DEFINE_GUID(IID_ITableProvider, 0x9c860395, 0x97b3, 0x490a, 0xb5,0x2a, 0x85,0x8c,0xc2,0x2a,0xf1,0x66); -MIDL_INTERFACE("9c860395-97b3-490a-b52a-858cc22af166") -ITableProvider : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE GetRowHeaders(__RPC__deref_out_opt SAFEARRAY **pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE GetColumnHeaders(__RPC__deref_out_opt SAFEARRAY **pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_RowOrColumnMajor(__RPC__out enum RowOrColumnMajor *pRetVal) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(ITableProvider, 0x9c860395, 0x97b3, 0x490a, 0xb5,0x2a, 0x85,0x8c,0xc2,0x2a,0xf1,0x66) -#endif -#endif - - -#ifndef __ITableItemProvider_INTERFACE_DEFINED__ -#define __ITableItemProvider_INTERFACE_DEFINED__ -DEFINE_GUID(IID_ITableItemProvider, 0xb9734fa6, 0x771f, 0x4d78, 0x9c,0x90, 0x25,0x17,0x99,0x93,0x49,0xcd); -MIDL_INTERFACE("b9734fa6-771f-4d78-9c90-2517999349cd") -ITableItemProvider : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE GetRowHeaderItems(__RPC__deref_out_opt SAFEARRAY **pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE GetColumnHeaderItems(__RPC__deref_out_opt SAFEARRAY **pRetVal) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(ITableItemProvider, 0xb9734fa6, 0x771f, 0x4d78, 0x9c,0x90, 0x25,0x17,0x99,0x93,0x49,0xcd) -#endif -#endif - - -#ifndef __IGridProvider_INTERFACE_DEFINED__ -#define __IGridProvider_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IGridProvider, 0xb17d6187, 0x0907, 0x464b, 0xa1,0x68, 0x0e,0xf1,0x7a,0x15,0x72,0xb1); -MIDL_INTERFACE("b17d6187-0907-464b-a168-0ef17a1572b1") -IGridProvider : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE GetItem(int row, int column, __RPC__deref_out_opt IRawElementProviderSimple **pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_RowCount(__RPC__out int *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_ColumnCount(__RPC__out int *pRetVal) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IGridProvider, 0xb17d6187, 0x0907, 0x464b, 0xa1,0x68, 0x0e,0xf1,0x7a,0x15,0x72,0xb1) -#endif -#endif - - -#ifndef __IGridItemProvider_INTERFACE_DEFINED__ -#define __IGridItemProvider_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IGridItemProvider, 0xd02541f1, 0xfb81, 0x4d64, 0xae,0x32, 0xf5,0x20,0xf8,0xa6,0xdb,0xd1); -MIDL_INTERFACE("d02541f1-fb81-4d64-ae32-f520f8a6dbd1") -IGridItemProvider : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE get_Row(__RPC__out int *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_Column(__RPC__out int *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_RowSpan(__RPC__out int *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_ColumnSpan(__RPC__out int *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_ContainingGrid(__RPC__deref_out_opt IRawElementProviderSimple **pRetVal) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IGridItemProvider, 0xd02541f1, 0xfb81, 0x4d64, 0xae,0x32, 0xf5,0x20,0xf8,0xa6,0xdb,0xd1) -#endif -#endif - - -#ifndef __IWindowProvider_INTERFACE_DEFINED__ -#define __IWindowProvider_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IWindowProvider, 0x987df77b, 0xdb06, 0x4d77, 0x8f,0x8a, 0x86,0xa9,0xc3,0xbb,0x90,0xb9); -MIDL_INTERFACE("987df77b-db06-4d77-8f8a-86a9c3bb90b9") -IWindowProvider : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE SetVisualState(enum WindowVisualState state) = 0; - virtual HRESULT STDMETHODCALLTYPE Close( void) = 0; - virtual HRESULT STDMETHODCALLTYPE WaitForInputIdle(int milliseconds, __RPC__out BOOL *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CanMaximize(__RPC__out BOOL *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_CanMinimize(__RPC__out BOOL *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_IsModal(__RPC__out BOOL *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_WindowVisualState(__RPC__out enum WindowVisualState *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_WindowInteractionState(__RPC__out enum WindowInteractionState *pRetVal) = 0; - virtual HRESULT STDMETHODCALLTYPE get_IsTopmost(__RPC__out BOOL *pRetVal) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IWindowProvider, 0x987df77b, 0xdb06, 0x4d77, 0x8f,0x8a, 0x86,0xa9,0xc3,0xbb,0x90,0xb9) -#endif -#endif - - -#ifndef __IExpandCollapseProvider_INTERFACE_DEFINED__ -#define __IExpandCollapseProvider_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IExpandCollapseProvider, 0xd847d3a5, 0xcab0, 0x4a98, 0x8c,0x32, 0xec,0xb4,0x5c,0x59,0xad,0x24); -MIDL_INTERFACE("d847d3a5-cab0-4a98-8c32-ecb45c59ad24") -IExpandCollapseProvider : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE Expand() = 0; - virtual HRESULT STDMETHODCALLTYPE Collapse() = 0; - virtual HRESULT STDMETHODCALLTYPE get_ExpandCollapseState(__RPC__out enum ExpandCollapseState *pRetVal) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IExpandCollapseProvider, 0xd847d3a5, 0xcab0, 0x4a98, 0x8c,0x32, 0xec,0xb4,0x5c,0x59,0xad,0x24) -#endif -#endif - -#endif diff --git a/src/platformsupport/windowsuiautomation/uiatypes_p.h b/src/platformsupport/windowsuiautomation/uiatypes_p.h deleted file mode 100644 index 0d2e1161e4..0000000000 --- a/src/platformsupport/windowsuiautomation/uiatypes_p.h +++ /dev/null @@ -1,193 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef UIATYPES_H -#define UIATYPES_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -typedef int PROPERTYID; -typedef int PATTERNID; -typedef int EVENTID; -typedef int TEXTATTRIBUTEID; -typedef int CONTROLTYPEID; -typedef int LANDMARKTYPEID; -typedef int METADATAID; - -typedef void *UIA_HWND; - -enum NavigateDirection { - NavigateDirection_Parent = 0, - NavigateDirection_NextSibling = 1, - NavigateDirection_PreviousSibling = 2, - NavigateDirection_FirstChild = 3, - NavigateDirection_LastChild = 4 -}; - -enum ProviderOptions { - ProviderOptions_ClientSideProvider = 0x1, - ProviderOptions_ServerSideProvider = 0x2, - ProviderOptions_NonClientAreaProvider = 0x4, - ProviderOptions_OverrideProvider = 0x8, - ProviderOptions_ProviderOwnsSetFocus = 0x10, - ProviderOptions_UseComThreading = 0x20, - ProviderOptions_RefuseNonClientSupport = 0x40, - ProviderOptions_HasNativeIAccessible = 0x80, - ProviderOptions_UseClientCoordinates = 0x100 -}; - -enum SupportedTextSelection { - SupportedTextSelection_None = 0, - SupportedTextSelection_Single = 1, - SupportedTextSelection_Multiple = 2 -}; - -enum TextUnit { - TextUnit_Character = 0, - TextUnit_Format = 1, - TextUnit_Word = 2, - TextUnit_Line = 3, - TextUnit_Paragraph = 4, - TextUnit_Page = 5, - TextUnit_Document = 6 -}; - -enum TextPatternRangeEndpoint { - TextPatternRangeEndpoint_Start = 0, - TextPatternRangeEndpoint_End = 1 -}; - -enum CaretPosition { - CaretPosition_Unknown = 0, - CaretPosition_EndOfLine = 1, - CaretPosition_BeginningOfLine = 2 -}; - -enum ToggleState { - ToggleState_Off = 0, - ToggleState_On = 1, - ToggleState_Indeterminate = 2 -}; - -enum RowOrColumnMajor { - RowOrColumnMajor_RowMajor = 0, - RowOrColumnMajor_ColumnMajor = 1, - RowOrColumnMajor_Indeterminate = 2 -}; - -enum TreeScope { - TreeScope_None = 0, - TreeScope_Element = 0x1, - TreeScope_Children = 0x2, - TreeScope_Descendants = 0x4, - TreeScope_Parent = 0x8, - TreeScope_Ancestors = 0x10, - TreeScope_Subtree = TreeScope_Element | TreeScope_Children | TreeScope_Descendants -}; - -enum OrientationType { - OrientationType_None = 0, - OrientationType_Horizontal = 1, - OrientationType_Vertical = 2 -}; - -enum PropertyConditionFlags { - PropertyConditionFlags_None = 0, - PropertyConditionFlags_IgnoreCase = 1 -}; - -enum WindowVisualState { - WindowVisualState_Normal = 0, - WindowVisualState_Maximized = 1, - WindowVisualState_Minimized = 2 -}; - -enum WindowInteractionState { - WindowInteractionState_Running = 0, - WindowInteractionState_Closing = 1, - WindowInteractionState_ReadyForUserInteraction = 2, - WindowInteractionState_BlockedByModalWindow = 3, - WindowInteractionState_NotResponding = 4 -}; - -enum ExpandCollapseState { - ExpandCollapseState_Collapsed = 0, - ExpandCollapseState_Expanded = 1, - ExpandCollapseState_PartiallyExpanded = 2, - ExpandCollapseState_LeafNode = 3 -}; - -enum NotificationKind { - NotificationKind_ItemAdded = 0, - NotificationKind_ItemRemoved = 1, - NotificationKind_ActionCompleted = 2, - NotificationKind_ActionAborted = 3, - NotificationKind_Other = 4 -}; - -enum NotificationProcessing { - NotificationProcessing_ImportantAll = 0, - NotificationProcessing_ImportantMostRecent = 1, - NotificationProcessing_All = 2, - NotificationProcessing_MostRecent = 3, - NotificationProcessing_CurrentThenMostRecent = 4 -}; - -struct UiaRect { - double left; - double top; - double width; - double height; -}; - -struct UiaPoint { - double x; - double y; -}; - -#endif diff --git a/src/platformsupport/windowsuiautomation/windowsuiautomation.pro b/src/platformsupport/windowsuiautomation/windowsuiautomation.pro deleted file mode 100644 index 97cdb60ef9..0000000000 --- a/src/platformsupport/windowsuiautomation/windowsuiautomation.pro +++ /dev/null @@ -1,23 +0,0 @@ -TARGET = QtWindowsUIAutomationSupport -MODULE = windowsuiautomation_support - -QT = core-private gui-private -CONFIG += static internal_module - -HEADERS += \ - qwindowsuiawrapper_p.h \ - uiaattributeids_p.h \ - uiacontroltypeids_p.h \ - uiaerrorids_p.h \ - uiaeventids_p.h \ - uiageneralids_p.h \ - uiaserverinterfaces_p.h \ - uiaclientinterfaces_p.h \ - uiapatternids_p.h \ - uiapropertyids_p.h \ - uiatypes_p.h - -SOURCES += \ - qwindowsuiawrapper.cpp - -load(qt_module) diff --git a/src/plugins/platforms/windows/uiautomation/qwindowsuiaaccessibility.cpp b/src/plugins/platforms/windows/uiautomation/qwindowsuiaaccessibility.cpp index 93b9622655..0903f5a618 100644 --- a/src/plugins/platforms/windows/uiautomation/qwindowsuiaaccessibility.cpp +++ b/src/plugins/platforms/windows/uiautomation/qwindowsuiaaccessibility.cpp @@ -50,7 +50,7 @@ #include #include #include -#include +#include #include diff --git a/src/plugins/platforms/windows/uiautomation/qwindowsuiabaseprovider.h b/src/plugins/platforms/windows/uiautomation/qwindowsuiabaseprovider.h index a20df28e3f..a14eb8ca65 100644 --- a/src/plugins/platforms/windows/uiautomation/qwindowsuiabaseprovider.h +++ b/src/plugins/platforms/windows/uiautomation/qwindowsuiabaseprovider.h @@ -47,7 +47,7 @@ #include #include -#include +#include QT_BEGIN_NAMESPACE diff --git a/src/plugins/platforms/windows/uiautomation/qwindowsuiautils.h b/src/plugins/platforms/windows/uiautomation/qwindowsuiautils.h index 6a482f6c1c..0daef2ea63 100644 --- a/src/plugins/platforms/windows/uiautomation/qwindowsuiautils.h +++ b/src/plugins/platforms/windows/uiautomation/qwindowsuiautils.h @@ -48,7 +48,7 @@ #include #include #include -#include +#include QT_BEGIN_NAMESPACE diff --git a/src/plugins/platforms/windows/uiautomation/uiautomation.pri b/src/plugins/platforms/windows/uiautomation/uiautomation.pri index 1c4b018d1c..fd3ed1c6df 100644 --- a/src/plugins/platforms/windows/uiautomation/uiautomation.pri +++ b/src/plugins/platforms/windows/uiautomation/uiautomation.pri @@ -1,6 +1,3 @@ -qtHaveModule(windowsuiautomation_support-private): \ - QT += windowsuiautomation_support-private - SOURCES += \ $$PWD/qwindowsuiaaccessibility.cpp \ $$PWD/qwindowsuiaprovidercache.cpp \ diff --git a/sync.profile b/sync.profile index 90012d8b63..49494b6971 100644 --- a/sync.profile +++ b/sync.profile @@ -12,7 +12,6 @@ "QtDBus" => "$basedir/src/dbus", "QtConcurrent" => "$basedir/src/concurrent", "QtAccessibilitySupport" => "$basedir/src/platformsupport/accessibility", - "QtWindowsUIAutomationSupport" => "$basedir/src/platformsupport/windowsuiautomation", "QtLinuxAccessibilitySupport" => "$basedir/src/platformsupport/linuxaccessibility", "QtDeviceDiscoverySupport" => "$basedir/src/platformsupport/devicediscovery", "QtEventDispatcherSupport" => "$basedir/src/platformsupport/eventdispatchers", diff --git a/tests/auto/other/qaccessibility/qaccessibility.pro b/tests/auto/other/qaccessibility/qaccessibility.pro index 6f3740a24f..65fdbdc103 100644 --- a/tests/auto/other/qaccessibility/qaccessibility.pro +++ b/tests/auto/other/qaccessibility/qaccessibility.pro @@ -8,9 +8,6 @@ HEADERS += accessiblewidgets.h unix:!darwin:!haiku:!integity: LIBS += -lm win32 { - !winrt { - QT += windowsuiautomation_support-private - } LIBS += -loleacc -loleaut32 QMAKE_USE += ole32 uuid } diff --git a/tests/auto/other/qaccessibility/tst_qaccessibility.cpp b/tests/auto/other/qaccessibility/tst_qaccessibility.cpp index 2a2d4591a1..339e7ad20d 100644 --- a/tests/auto/other/qaccessibility/tst_qaccessibility.cpp +++ b/tests/auto/other/qaccessibility/tst_qaccessibility.cpp @@ -32,7 +32,7 @@ # include #ifndef Q_OS_WINRT # include -# include +# include #endif # include # include @@ -3827,8 +3827,10 @@ void tst_QAccessibility::bridgeTest() QVERIFY(SUCCEEDED(hr)); // Get UI Automation interface. + const GUID CLSID_CUIAutomation_test{0xff48dba4, 0x60ef, 0x4201, + {0xaa,0x87, 0x54,0x10,0x3e,0xef,0x59,0x4e}}; IUIAutomation *automation = nullptr; - hr = CoCreateInstance(CLSID_CUIAutomation, nullptr, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&automation)); + hr = CoCreateInstance(CLSID_CUIAutomation_test, nullptr, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&automation)); QVERIFY(SUCCEEDED(hr)); // Get button element from UI Automation using point. diff --git a/util/cmake/helper.py b/util/cmake/helper.py index 593c9db38e..e1adf7161e 100644 --- a/util/cmake/helper.py +++ b/util/cmake/helper.py @@ -347,12 +347,6 @@ _qt_library_map = [ LibraryMapping("webview", "Qt6", "Qt::WebView", extra=["COMPONENTS", "WebView"]), LibraryMapping("widgets", "Qt6", "Qt::Widgets", extra=["COMPONENTS", "Widgets"]), LibraryMapping("window-lib", "Qt6", "Qt::AppManWindow", extra=["COMPONENTS", "AppManWindow"]), - LibraryMapping( - "windowsuiautomation_support", - "Qt6", - "Qt::WindowsUIAutomationSupport", - extra=["COMPONENTS", "WindowsUIAutomationSupport"], - ), LibraryMapping("winextras", "Qt6", "Qt::WinExtras", extra=["COMPONENTS", "WinExtras"]), LibraryMapping("x11extras", "Qt6", "Qt::X11Extras", extra=["COMPONENTS", "X11Extras"]), LibraryMapping("xcb_qpa_lib", "Qt6", "Qt::XcbQpa", extra=["COMPONENTS", "XcbQpa"]), -- cgit v1.2.3