summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/kernel/qwindow
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2023-08-01 16:41:21 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2023-08-03 16:09:17 +0200
commit5e6d46a9f7055163182b080f0daea063889bfbd7 (patch)
treeb8e193ad069a35d027798bd483c0eff0a982b8dd /tests/auto/gui/kernel/qwindow
parent547b9da7ad818446a2eeb80985959c9dee7089fb (diff)
tests: Move NativeWindow helper class to shared header
Pick-to: 6.6 Change-Id: Ia7dc54aa761fdfde42d49a41475a4fbc74036aeb Reviewed-by: Christian Strømme <christian.stromme@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'tests/auto/gui/kernel/qwindow')
-rw-r--r--tests/auto/gui/kernel/qwindow/tst_foreignwindow.cpp109
1 files changed, 1 insertions, 108 deletions
diff --git a/tests/auto/gui/kernel/qwindow/tst_foreignwindow.cpp b/tests/auto/gui/kernel/qwindow/tst_foreignwindow.cpp
index 1d78178977..dc82d8b833 100644
--- a/tests/auto/gui/kernel/qwindow/tst_foreignwindow.cpp
+++ b/tests/auto/gui/kernel/qwindow/tst_foreignwindow.cpp
@@ -7,114 +7,7 @@
#include <private/qguiapplication_p.h>
#include <qpa/qplatformintegration.h>
-#if defined(Q_OS_MACOS)
-# include <AppKit/AppKit.h>
-#elif defined(Q_OS_WIN)
-# include <winuser.h>
-#endif
-
-Q_LOGGING_CATEGORY(lcTests, "qt.gui.tests")
-
-class NativeWindow
-{
- Q_DISABLE_COPY(NativeWindow)
-public:
- NativeWindow();
- ~NativeWindow();
-
- operator WId() const { return reinterpret_cast<WId>(m_handle); }
-
- void setGeometry(const QRect &rect);
- QRect geometry() const;
-
-private:
-#if defined(Q_OS_MACOS)
- NSView *m_handle = nullptr;
-#elif defined(Q_OS_WIN)
- HWND m_handle = nullptr;
-#endif
-};
-
-#if defined(Q_OS_MACOS)
-
-@interface View : NSView
-@end
-
-@implementation View
-- (instancetype)init
-{
- if ((self = [super init])) {
- qCDebug(lcTests) << "Initialized" << self;
- }
- return self;
-}
-
-- (void)dealloc
-{
- qCDebug(lcTests) << "Deallocating" << self;
- [super dealloc];
-}
-@end
-
-NativeWindow::NativeWindow()
- : m_handle([View new])
-{
-}
-
-NativeWindow::~NativeWindow()
-{
- [m_handle release];
-}
-
-void NativeWindow::setGeometry(const QRect &rect)
-{
- m_handle.frame = QRectF(rect).toCGRect();
-}
-
-QRect NativeWindow::geometry() const
-{
- return QRectF::fromCGRect(m_handle.frame).toRect();
-}
-
-#elif defined(Q_OS_WIN)
-
-NativeWindow::NativeWindow()
-{
- static const LPCWSTR className = []{
- WNDCLASS wc = {};
- wc.lpfnWndProc = DefWindowProc;
- wc.hInstance = GetModuleHandle(nullptr);
- wc.lpszClassName = L"Native Window";
- RegisterClass(&wc);
- return wc.lpszClassName;
- }();
- m_handle = CreateWindowEx(0, className, nullptr, WS_POPUP,
- CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
- nullptr, nullptr, GetModuleHandle(nullptr), nullptr);
-}
-
-NativeWindow::~NativeWindow()
-{
- DestroyWindow(m_handle);
-}
-
-void NativeWindow::setGeometry(const QRect &rect)
-{
- MoveWindow(m_handle, rect.x(), rect.y(), rect.width(), rect.height(), false);
-}
-
-QRect NativeWindow::geometry() const
-{
- WINDOWPLACEMENT wp;
- wp.length = sizeof(WINDOWPLACEMENT);
- if (GetWindowPlacement(m_handle, &wp)) {
- RECT r = wp.rcNormalPosition;
- return QRect(r.left, r.top, r.right - r.left, r.bottom - r.top);
- }
- return {};
-}
-
-#endif
+#include "../../../../shared/nativewindow.h"
class tst_ForeignWindow: public QObject
{