]> git.saurik.com Git - wxWidgets.git/commitdiff
Added a virtual wxWindow::OSXGetViewOrWindow() method.
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 5 Oct 2009 22:57:50 +0000 (22:57 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 5 Oct 2009 22:57:50 +0000 (22:57 +0000)
This can be used to retrieve either an NSView for child windows or NSWindow
for non-owned ones without resorting to dynamic casts.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62303 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/osx/nonownedwnd.h
include/wx/osx/window.h

index 6df0dbe286c7bc81a0633605c4e4a366eb495bdb..b7b73e4e71b162926b338c8a5a8d4e6d6c1cd8d1 100644 (file)
@@ -97,6 +97,11 @@ public:
 
     wxNonOwnedWindowImpl* GetNonOwnedPeer() const { return m_nowpeer; }
 
+#if wxOSX_USE_COCOA_OR_IPHONE
+    // override the base class method to return an NSWindow instead of NSView
+    virtual void *OSXGetViewOrWindow() const { return GetWXWindow(); }
+#endif // Cocoa
+
     // osx specific event handling common for all osx-ports
 
     virtual void HandleActivated( double timestampsec, bool didActivate );
index 7afe50d61a3cc9a6c28a32e50f69a78ae714c4b3..c7398555c907cb899590de4ffd6e7f987c171898 100644 (file)
@@ -237,6 +237,15 @@ public:
     // the 'true' OS level control for this wxWindow
     wxOSXWidgetImpl*       GetPeer() const { return m_peer ; }
 
+#if wxOSX_USE_COCOA_OR_IPHONE
+    // the NSView or NSWindow of this window: can be used for both child and
+    // non-owned windows
+    //
+    // this is useful for a few Cocoa function which can work with either views
+    // or windows indiscriminately, e.g. for setting NSViewAnimationTargetKey
+    virtual void *OSXGetViewOrWindow() const { return GetHandle(); }
+#endif // Cocoa
+
     void *              MacGetCGContextRef() { return m_cgContextRef ; }
     void                MacSetCGContextRef(void * cg) { m_cgContextRef = cg ; }