// 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
///////////////////////////////////////////////////////////////////////////////
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
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:
- DECLARE_NO_COPY_CLASS(wxNativeContainerWindow)
+ wxDECLARE_NO_COPY_CLASS(wxNativeContainerWindow);
};
#endif // wxHAS_NATIVE_CONTAINER_WINDOW