Commit Graph

8 Commits

Author SHA1 Message Date
Vadim Zeitlin
cb26668204 Don't destroy the native window in wxNativeWindow itself by default
Leave ownership of the native window to the user code as it may want to reuse
it for some other purpose and provide an explicit Disown() function that can
be called if the user really wants wxWidgets to take ownership of the native
window.

In particular, this avoids problems when using ARC under OS X which resulted
in a double "release" before.
2016-02-04 18:46:47 +01:00
Vadim Zeitlin
9bc3ab1ea7 Add wxNativeWindow allowing to easily embed native widgets in wx.
Implement the class for wxMSW, wxGTK and wxOSX/Cocoa, show it in the widgets
sample and add documentation for it.
2015-08-03 17:57:42 +02:00
Vadim Zeitlin
9be928d6fb Fix destruction of wxNativeContainerWindow in wxMSW.
WM_CLOSE was not processed at all for native windows wrapped by
wxNativeContainerWindow because we don't handle it ourselves at wxWindow level
but still mark it as processed in order to prevent DefWindowProc() from
destroying the window. Unfortunately this also prevented the original handler
for this message in the native window from being called.

Calling just the original handler and not the wxWidgets one is not ideal
neither but is much better as it allows to e.g. close MFC frames wrapped in
wxNativeContainerWindow whereas before this didn't work at all as WM_CLOSE was
completely ignored.

Also call the original handler for WM_DESTROY to avoid similar potential
problems with this message, even if it doesn't seem to create any with MFC.

Extend the mfc sample to show how a wxPanel can be embedded into the existing
CFrameWnd.
2015-07-09 20:49:05 +02:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
da00cef2d8 Implement wxNativeContainerWindow::IsShown() for MSW.
Simply use native ::IsWindowVisible() for IsShown() implementation.

Closes #11503.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62783 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-05 17:31:07 +00:00
Vadim Zeitlin
9eff73c60d call OnNativeDestroyed() if the native window is destroyed independently from us
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52527 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-15 02:12:20 +00:00
Vadim Zeitlin
2aee749cb1 delete wxNativeContainerWindow when the native window is destroyed, even if this means leaking memory in GTK case -- still better than getting X errors and crashing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52437 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-11 00:03:46 +00:00
Vadim Zeitlin
dfba244cbf added wxNativeContainerWindow and implemented it for wxMSW and wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52427 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-10 15:50:48 +00:00