]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/nativewin.h
Don't define __STRICT_ANSI__, we should build both with and without it.
[wxWidgets.git] / include / wx / nativewin.h
index ca663ba4d7a754847d4fcac97bf252cec3e25922..e0328e95833d00905060e45cea7e9103d21e70c7 100644 (file)
@@ -3,7 +3,6 @@
 // Purpose:     classes allowing to wrap a native window handle
 // Author:      Vadim Zeitlin
 // Created:     2008-03-05
 // Purpose:     classes allowing to wrap a native window handle
 // Author:      Vadim Zeitlin
 // Created:     2008-03-05
-// RCS-ID:      $Id$
 // Copyright:   (c) 2008 Vadim Zeitlin <vadim@wxwindows.org>
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 // Copyright:   (c) 2008 Vadim Zeitlin <vadim@wxwindows.org>
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
     typedef HWND wxNativeContainerWindowId;
     typedef HWND wxNativeContainerWindowHandle;
 #elif defined(__WXGTK__)
     typedef HWND wxNativeContainerWindowId;
     typedef HWND wxNativeContainerWindowHandle;
 #elif defined(__WXGTK__)
-    #include <gdk/gdk.h>
-
-    typedef GdkNativeWindow wxNativeContainerWindowId;
+    // GdkNativeWindow is guint32 under GDK/X11 and gpointer under GDK/WIN32
+    #ifdef __UNIX__
+        typedef unsigned long wxNativeContainerWindowId;
+    #else
+        typedef void *wxNativeContainerWindowId;
+    #endif
     typedef GdkWindow *wxNativeContainerWindowHandle;
 #else
     // no support for using native windows under this platform yet
     typedef GdkWindow *wxNativeContainerWindowHandle;
 #else
     // no support for using native windows under this platform yet
@@ -145,8 +147,24 @@ public:
         return false;
     }
 
         return false;
     }
 
+#ifdef __WXMSW__
+    virtual bool IsShown() const;
+#endif // __WXMSW__
+
+    // this is an implementation detail: called when the native window is
+    // destroyed by an outside agency; deletes the C++ object too but can in
+    // principle be overridden to something else (knowing that the window
+    // handle of this object and all of its children is invalid any more)
+    virtual void OnNativeDestroyed();
+
+protected:
+#ifdef __WXMSW__
+    virtual WXLRESULT
+    MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
+#endif // __WXMSW__
+
 private:
 private:
-    DECLARE_NO_COPY_CLASS(wxNativeContainerWindow)
+    wxDECLARE_NO_COPY_CLASS(wxNativeContainerWindow);
 };
 
 #endif // wxHAS_NATIVE_CONTAINER_WINDOW
 };
 
 #endif // wxHAS_NATIVE_CONTAINER_WINDOW