summaryrefslogtreecommitdiffstats
path: root/tests/manual/cocoa/qt_on_cocoa/main.mm
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2017-08-30 19:05:39 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2017-08-31 23:09:24 +0000
commit28414f8e3a25f6ac913d14542866a7d1745b4df1 (patch)
treebe7967112da3453bc238672597eaca2304b50980 /tests/manual/cocoa/qt_on_cocoa/main.mm
parentfefbed5eae9e1b2761da6a506874b0ccd42fd6a0 (diff)
macOS: Update qt_on_cocoa manual test
- Add view to contentView, to allow checking parent view interaction - Render via requestUpdate instead of manual timer - Add two windows to check subview interaction Change-Id: Ib028e62f585d45e42c0429e69ea6f45c8a90fe54 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'tests/manual/cocoa/qt_on_cocoa/main.mm')
-rw-r--r--tests/manual/cocoa/qt_on_cocoa/main.mm27
1 files changed, 24 insertions, 3 deletions
diff --git a/tests/manual/cocoa/qt_on_cocoa/main.mm b/tests/manual/cocoa/qt_on_cocoa/main.mm
index 4ec1ce1e0d..f99406f619 100644
--- a/tests/manual/cocoa/qt_on_cocoa/main.mm
+++ b/tests/manual/cocoa/qt_on_cocoa/main.mm
@@ -33,6 +33,17 @@
#include <AppKit/AppKit.h>
+
+@interface ContentView : NSView
+@end
+
+@implementation ContentView
+- (void)drawRect:(NSRect)dirtyRect {
+ [[NSColor whiteColor] setFill];
+ NSRectFill(dirtyRect);
+}
+@end
+
@interface AppDelegate : NSObject <NSApplicationDelegate> {
QGuiApplication *m_app;
QWindow *m_window;
@@ -65,9 +76,19 @@
[window setTitle:title];
[window setBackgroundColor:[NSColor blueColor]];
- // Create the QWindow, use its NSView as the content view
- m_window = new RasterWindow();
- [window setContentView:reinterpret_cast<NSView *>(m_window->winId())];
+ window.contentView = [[[ContentView alloc] initWithFrame:frame] autorelease];
+
+ // Create the QWindow, add its NSView to the content view
+ m_window = new RasterWindow;
+ m_window->setObjectName("RasterWindow");
+ m_window->setGeometry(QRect(0, 0, 300, 300));
+
+ QWindow *childWindow = new RasterWindow;
+ childWindow->setObjectName("RasterWindowChild");
+ childWindow->setParent(m_window);
+ childWindow->setGeometry(50, 50, 100, 100);
+
+ [window.contentView addSubview:reinterpret_cast<NSView *>(m_window->winId())];
// Show the NSWindow
[window makeKeyAndOrderFront:NSApp];