Move windowsuiautomation API support into QtGui

Task-number: QTBUG-83255
Change-Id: Ibface71931b6384494842ba9744d76f738c5ca85
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This commit is contained in:
Friedemann Kleint 2020-05-25 14:04:55 +02:00
parent 6a0995525d
commit 9c31acbf47
28 changed files with 42 additions and 74 deletions

View File

@ -460,6 +460,22 @@ qt_extend_target(Gui CONDITION APPLE AND QT_FEATURE_accessibility
${FWFoundation} ${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 qt_extend_target(Gui CONDITION QT_FEATURE_action
SOURCES SOURCES
kernel/qaction.cpp kernel/qaction.h kernel/qaction_p.h kernel/qaction.cpp kernel/qaction.h kernel/qaction_p.h

View File

@ -22,4 +22,6 @@ qtConfig(accessibility) {
LIBS_PRIVATE += -framework Foundation LIBS_PRIVATE += -framework Foundation
} }
win32:!winrt: include(windows/windows.pri)
} }

View File

@ -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

View File

@ -68,7 +68,7 @@ QT_REQUIRE_CONFIG(accessibility);
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
class QWindowsUiaWrapper class Q_GUI_EXPORT QWindowsUiaWrapper
{ {
QWindowsUiaWrapper(); QWindowsUiaWrapper();
virtual ~QWindowsUiaWrapper(); virtual ~QWindowsUiaWrapper();

View File

@ -0,0 +1 @@
include(apisupport/apisupport.pri)

View File

@ -37,6 +37,3 @@ endif()
if(QT_FEATURE_accessibility AND QT_FEATURE_accessibility_atspi_bridge) if(QT_FEATURE_accessibility AND QT_FEATURE_accessibility_atspi_bridge)
add_subdirectory(linuxaccessibility) add_subdirectory(linuxaccessibility)
endif() endif()
if(QT_FEATURE_accessibility AND WIN32 AND NOT WINRT)
add_subdirectory(windowsuiautomation)
endif()

View File

@ -34,7 +34,6 @@ qtConfig(accessibility) {
SUBDIRS += linuxaccessibility SUBDIRS += linuxaccessibility
linuxaccessibility.depends += accessibility linuxaccessibility.depends += accessibility
} }
win32:!winrt: SUBDIRS += windowsuiautomation
} }
!android:linux*:qtHaveModule(dbus) \ !android:linux*:qtHaveModule(dbus) \

View File

@ -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:<TRUE>:
# MODULE = "windowsuiautomation_support"

View File

@ -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)

View File

@ -50,7 +50,7 @@
#include <QtGui/private/qguiapplication_p.h> #include <QtGui/private/qguiapplication_p.h>
#include <QtCore/qt_windows.h> #include <QtCore/qt_windows.h>
#include <qpa/qplatformintegration.h> #include <qpa/qplatformintegration.h>
#include <QtWindowsUIAutomationSupport/private/qwindowsuiawrapper_p.h> #include <QtGui/private/qwindowsuiawrapper_p.h>
#include <QtCore/private/qwinregistry_p.h> #include <QtCore/private/qwinregistry_p.h>

View File

@ -47,7 +47,7 @@
#include <QtCore/qpointer.h> #include <QtCore/qpointer.h>
#include <qwindowscombase.h> #include <qwindowscombase.h>
#include <QtWindowsUIAutomationSupport/private/qwindowsuiawrapper_p.h> #include <QtGui/private/qwindowsuiawrapper_p.h>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE

View File

@ -48,7 +48,7 @@
#include <QtGui/qaccessible.h> #include <QtGui/qaccessible.h>
#include <QtGui/qwindow.h> #include <QtGui/qwindow.h>
#include <QtCore/qrect.h> #include <QtCore/qrect.h>
#include <QtWindowsUIAutomationSupport/private/qwindowsuiawrapper_p.h> #include <QtGui/private/qwindowsuiawrapper_p.h>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE

View File

@ -1,6 +1,3 @@
qtHaveModule(windowsuiautomation_support-private): \
QT += windowsuiautomation_support-private
SOURCES += \ SOURCES += \
$$PWD/qwindowsuiaaccessibility.cpp \ $$PWD/qwindowsuiaaccessibility.cpp \
$$PWD/qwindowsuiaprovidercache.cpp \ $$PWD/qwindowsuiaprovidercache.cpp \

View File

@ -12,7 +12,6 @@
"QtDBus" => "$basedir/src/dbus", "QtDBus" => "$basedir/src/dbus",
"QtConcurrent" => "$basedir/src/concurrent", "QtConcurrent" => "$basedir/src/concurrent",
"QtAccessibilitySupport" => "$basedir/src/platformsupport/accessibility", "QtAccessibilitySupport" => "$basedir/src/platformsupport/accessibility",
"QtWindowsUIAutomationSupport" => "$basedir/src/platformsupport/windowsuiautomation",
"QtLinuxAccessibilitySupport" => "$basedir/src/platformsupport/linuxaccessibility", "QtLinuxAccessibilitySupport" => "$basedir/src/platformsupport/linuxaccessibility",
"QtDeviceDiscoverySupport" => "$basedir/src/platformsupport/devicediscovery", "QtDeviceDiscoverySupport" => "$basedir/src/platformsupport/devicediscovery",
"QtEventDispatcherSupport" => "$basedir/src/platformsupport/eventdispatchers", "QtEventDispatcherSupport" => "$basedir/src/platformsupport/eventdispatchers",

View File

@ -8,9 +8,6 @@ HEADERS += accessiblewidgets.h
unix:!darwin:!haiku:!integity: LIBS += -lm unix:!darwin:!haiku:!integity: LIBS += -lm
win32 { win32 {
!winrt {
QT += windowsuiautomation_support-private
}
LIBS += -loleacc -loleaut32 LIBS += -loleacc -loleaut32
QMAKE_USE += ole32 uuid QMAKE_USE += ole32 uuid
} }

View File

@ -32,7 +32,7 @@
# include <QtCore/qt_windows.h> # include <QtCore/qt_windows.h>
#ifndef Q_OS_WINRT #ifndef Q_OS_WINRT
# include <oleacc.h> # include <oleacc.h>
# include <QtWindowsUIAutomationSupport/private/qwindowsuiawrapper_p.h> # include <QtGui/private/qwindowsuiawrapper_p.h>
#endif #endif
# include <servprov.h> # include <servprov.h>
# include <winuser.h> # include <winuser.h>
@ -3827,8 +3827,10 @@ void tst_QAccessibility::bridgeTest()
QVERIFY(SUCCEEDED(hr)); QVERIFY(SUCCEEDED(hr));
// Get UI Automation interface. // Get UI Automation interface.
const GUID CLSID_CUIAutomation_test{0xff48dba4, 0x60ef, 0x4201,
{0xaa,0x87, 0x54,0x10,0x3e,0xef,0x59,0x4e}};
IUIAutomation *automation = nullptr; 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)); QVERIFY(SUCCEEDED(hr));
// Get button element from UI Automation using point. // Get button element from UI Automation using point.

View File

@ -347,12 +347,6 @@ _qt_library_map = [
LibraryMapping("webview", "Qt6", "Qt::WebView", extra=["COMPONENTS", "WebView"]), LibraryMapping("webview", "Qt6", "Qt::WebView", extra=["COMPONENTS", "WebView"]),
LibraryMapping("widgets", "Qt6", "Qt::Widgets", extra=["COMPONENTS", "Widgets"]), LibraryMapping("widgets", "Qt6", "Qt::Widgets", extra=["COMPONENTS", "Widgets"]),
LibraryMapping("window-lib", "Qt6", "Qt::AppManWindow", extra=["COMPONENTS", "AppManWindow"]), 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("winextras", "Qt6", "Qt::WinExtras", extra=["COMPONENTS", "WinExtras"]),
LibraryMapping("x11extras", "Qt6", "Qt::X11Extras", extra=["COMPONENTS", "X11Extras"]), LibraryMapping("x11extras", "Qt6", "Qt::X11Extras", extra=["COMPONENTS", "X11Extras"]),
LibraryMapping("xcb_qpa_lib", "Qt6", "Qt::XcbQpa", extra=["COMPONENTS", "XcbQpa"]), LibraryMapping("xcb_qpa_lib", "Qt6", "Qt::XcbQpa", extra=["COMPONENTS", "XcbQpa"]),