From bb839504eb6535694251487cc9025df8c3c7f426 Mon Sep 17 00:00:00 2001 From: Kevin Ollivier Date: Fri, 13 Feb 2009 20:15:05 +0000 Subject: [PATCH] Implement NSPanel support to get wxFRAME_TOOL_WINDOW and wxMiniFrame working. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58889 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/osx/cocoa/nonownedwnd.mm | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/osx/cocoa/nonownedwnd.mm b/src/osx/cocoa/nonownedwnd.mm index e2ce53b5a6..d6857babc4 100644 --- a/src/osx/cocoa/nonownedwnd.mm +++ b/src/osx/cocoa/nonownedwnd.mm @@ -87,15 +87,29 @@ wxPoint wxFromNSPoint( NSView* parent, const NSPoint& p ) @end -@interface wxNSPanel : wxNSWindow +@interface wxNSPanel : NSPanel { + wxNonOwnedWindowCocoaImpl* impl; } +- (void)setImplementation: (wxNonOwnedWindowCocoaImpl *) theImplementation; +- (wxNonOwnedWindowCocoaImpl*) implementation; + @end @implementation wxNSPanel +- (void)setImplementation: (wxNonOwnedWindowCocoaImpl *) theImplementation +{ + impl = theImplementation; +} + +- (wxNonOwnedWindowCocoaImpl*) implementation +{ + return impl; +} + @end @@ -257,11 +271,7 @@ long style, long extraStyle, const wxString& name ) if ( style & wxFRAME_TOOL_WINDOW ) { - if ( ( style & wxSTAY_ON_TOP ) ) - level = kCGUtilityWindowLevel; - else - level = kCGFloatingWindowLevel ; - + windowstyle |= NSTitledWindowMask | NSUtilityWindowMask; } else if ( ( style & wxPOPUP_WINDOW ) ) { @@ -325,12 +335,11 @@ long style, long extraStyle, const wxString& name ) if ( extraStyle & wxFRAME_EX_METAL) windowstyle |= NSTexturedBackgroundWindowMask; + if ( ( style & wxFRAME_FLOAT_ON_PARENT ) || ( style & wxFRAME_TOOL_WINDOW ) ) + level = kCGFloatingWindowLevel; + if ( ( style & wxSTAY_ON_TOP ) ) level = kCGUtilityWindowLevel; -/* - if ( ( style & wxFRAME_FLOAT_ON_PARENT ) ) - group = GetWindowGroupOfClass(kFloatingWindowClass); - */ NSRect r = wxToNSRect( NULL, wxRect( pos, size) );