diff options
Diffstat (limited to 'tests/manual/cocoa')
-rw-r--r-- | tests/manual/cocoa/qt_on_cocoa/main.mm | 18 | ||||
-rw-r--r-- | tests/manual/cocoa/qt_on_cocoa/rasterwindow.cpp | 1 |
2 files changed, 18 insertions, 1 deletions
diff --git a/tests/manual/cocoa/qt_on_cocoa/main.mm b/tests/manual/cocoa/qt_on_cocoa/main.mm index f99406f619..5e3b8fcd39 100644 --- a/tests/manual/cocoa/qt_on_cocoa/main.mm +++ b/tests/manual/cocoa/qt_on_cocoa/main.mm @@ -42,6 +42,12 @@ [[NSColor whiteColor] setFill]; NSRectFill(dirtyRect); } + +- (void)cursorUpdate:(NSEvent *)theEvent +{ + Q_UNUSED(theEvent); + [[NSCursor pointingHandCursor] set]; +} @end @interface AppDelegate : NSObject <NSApplicationDelegate> { @@ -76,18 +82,28 @@ [window setTitle:title]; [window setBackgroundColor:[NSColor blueColor]]; - window.contentView = [[[ContentView alloc] initWithFrame:frame] autorelease]; + NSView *contentView = [[[ContentView alloc] initWithFrame:frame] autorelease]; + [contentView addTrackingArea:[[NSTrackingArea alloc] initWithRect:[contentView frame] + options:NSTrackingActiveInActiveApp | NSTrackingInVisibleRect | NSTrackingCursorUpdate + owner:contentView userInfo:nil]]; + + window.contentView = contentView; // Create the QWindow, add its NSView to the content view m_window = new RasterWindow; m_window->setObjectName("RasterWindow"); + m_window->setCursor(Qt::CrossCursor); m_window->setGeometry(QRect(0, 0, 300, 300)); QWindow *childWindow = new RasterWindow; childWindow->setObjectName("RasterWindowChild"); childWindow->setParent(m_window); + childWindow->setCursor(Qt::BusyCursor); childWindow->setGeometry(50, 50, 100, 100); + NSTextField *textField = [[NSTextField alloc] initWithFrame:NSMakeRect(10, 10, 80, 25)]; + [(NSView*)childWindow->winId() addSubview:textField]; + [window.contentView addSubview:reinterpret_cast<NSView *>(m_window->winId())]; // Show the NSWindow diff --git a/tests/manual/cocoa/qt_on_cocoa/rasterwindow.cpp b/tests/manual/cocoa/qt_on_cocoa/rasterwindow.cpp index 8a451d5f7c..dca39839dd 100644 --- a/tests/manual/cocoa/qt_on_cocoa/rasterwindow.cpp +++ b/tests/manual/cocoa/qt_on_cocoa/rasterwindow.cpp @@ -64,6 +64,7 @@ void RasterWindow::initialize() void RasterWindow::mousePressEvent(QMouseEvent *event) { m_lastPos = event->pos(); + unsetCursor(); } void RasterWindow::mouseMoveEvent(QMouseEvent *event) |