Add wx/meta/removeref.h header defining wxRemoveRef<> helper.

This is a very simple template allowing to remove the reference from the given
type, similar to std::remove_reference<>.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add wxEvtHandler::CallAfter() for asynchronous method calls.

Add wxAsyncMethodCallEvent that is handled simply by calling the method this
event was created for and add default handler for this event to wxEvtHandler.

Implement CallAfter() overloads for up to 2 parameters only for now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Process pending events from wxYield() in wxGTK.

Calling wxYield() is supposed to process the pending events but it didn't, any
more, in wxGTK. Restore this by explicitly calling ProcessPendingEvents() from
wxGTK wxYield() implementation as wxGUIEventLoop::ProcessIdle() does not call
it, in spite of a comment to the contrary in the sources.

Closes #14760.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add a simple unit test for wxRegion::Intersect().

Check that Intersect() returns true, yet the intersection is empty.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Recognize more XRC elements as containing translatable strings.

This allows to translate the text of these elements in wxrc-generated code
using gettext.

Closes #14765.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Define WXDLLIMPEXP_FWD_RIBBON for consistency with all the other libraries.

We defined only WXDLLIMPEXP_RIBBON but not the FWD version, do add it now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72726 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Refactor wxXRC to allow defining handlers outside of xrc library.

Split wxXmlResourceHandler into an ABC and the real implementation to allow
referencing the ABC in the core library itself but without pulling in all of
the XRC into it. This also allows defining XRC handlers, which only depend on
this ABC and not the xrc library, in other libraries, such as richtext, as
demonstrated by the now enabled wxRichTextXMLHandler.

Closes #10996.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add support for wxAuiNotebook to XRC.

Add wxAuiNotebookXmlHandler to "aui" library, now that we can do it without
adding a dependency of it on "xrc" one.

Closes #10889.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add support for wxRibbonBar and related controls to XRC.

Add wxRibbonXmlHandler and an example of using it to the xrc sample.

Closes #12058.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72729 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Guard gmake-specific syntax with IF_GNU_MAKE in make_dist.mk.

Debian distribution target uses GNU make extensions to make syntax which makes
the entire makefile impossible to use with other make versions, e.g. Solaris
make.

Fix this by prepending IF_GNU_MAKE to all Debian-specific lines, there should
be never any need to use them with non-GNU make.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72730 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix for PCH-less compilation of wxRibbonXmlHandler.

Need to have wxMenu declaration in order to wxDynamicCast() to it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72731 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Minor changes to some comments

remove ambiguous "only"
procession --> processing


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72736 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
non-pch build fix

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72737 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Change the way directory iteration flags are constructed.

Instead of explicitly constructing the flags from the flags that should be
included, construct them by excluding the flags that shouldn't be used. This
makes the code more stable in the sense that it will continue to work when new
flags, such as the upcoming wxDIR_NO_FOLLOW, are added.

See #14542.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72739 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add wxDIR_NO_FOLLOW flag for wxDir iteration.

This flag allows to avoid following the symbolic links during the directory
traversal. In particular, this means that links to the directories
(potentially outside the directory being traversed) are not considered as
directories at all when it is used, potentially avoiding surprises.

Closes #14542.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72740 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Mention wxFILE_EXISTS_NO_FOLLOW in wxFILE_EXISTS_SYMLINK description.

Using wxFILE_EXISTS_SYMLINK without wxFILE_EXISTS_NO_FOLLOW can only be
fruitless, so mention that they should normally be used together in the
documentation.

An alternative solution would be to always add wxFILE_EXISTS_NO_FOLLOW
automatically if wxFILE_EXISTS_SYMLINK is used, perhaps we should do this
instead.

See #14542.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72741 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't follow symlinks in wxFileName::Rmdir(wxPATH_RMDIR_RECURSIVE).

Following symlinks, possibly leading outside of the directory being removed,
is at best surprising and at worst dangerous, so don't do it and just mimic
the behaviour of "rm -rf", i.e. remove everything inside this directory,
including the symlinks themselves, but don't follow them.

Closes #14649.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72742 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Disable wxEvtHandler::CallAfter() for VC6, it's too broken for it.

There is no clear way to implement wxRemoveRef() for VC6 so just disable it,
and CallAfter() as it relies on it, for this compiler.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't use Shift-TAB in keyboard test.

This key combination seems to be intercepted by GTK now for keyboard
navigation purposes and we never get key up events for it. Just use a
different key.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72744 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't use std::min(), it's not available everywhere.

Fix compilation using Sun CC under Solaris.

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