diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2017-08-30 19:05:39 +0200 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2017-08-31 23:09:24 +0000 |
commit | 28414f8e3a25f6ac913d14542866a7d1745b4df1 (patch) | |
tree | be7967112da3453bc238672597eaca2304b50980 /tests/manual/cocoa/qt_on_cocoa/main.mm | |
parent | fefbed5eae9e1b2761da6a506874b0ccd42fd6a0 (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.mm | 27 |
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]; |