Removed a method using wxColour from non-GUI benchmark code.

No idea how could this work before but the presence of this code in the
non-GUI benchmark project prevented it from building. As it's not used anyhow,
just remove it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74734 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Rewrite wxLogXXX() macros to avoid "ambiguous else" warnings.

Use a dummy for loop instead of an if statement to avoid all problems with the
dangling else clauses: both the need for an artificially inversed "if" to make
the code like

	if ( something )
		wxLogError("...");
	else
		something-else;

to work as expected and to avoid warnings given by some versions of g++ and
clang for the code above advising to add explicit braces.

Closes #11829.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74735 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Replace @since 2.9.6 with 3.0 in the docs.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74742 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix referencing of cairo_t returned from wxDCImpl::GetCairoContext().
It was assumed that all callers were going to unref the cairo_t, but that is not
true, so callers that are going to unref it should ref it themselves.
See #15455


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74746 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Remove reduntant content from XRC format docs.

Window styles are documented globally, no need for control-specific
content for wxStatusBar.  Also, it was outdated and incorrect.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74747 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add missing XRC format docs for wxComboCtrl and wxEditableListBox.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxRTC: extracted XML utilities into a separate class for potential reuse.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74749 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't crash in wxGridCellAutoWrapStringRenderer when the column is hidden.

Our methods should arguably not be called at all in this case, but if this
does happen, at least don't crash.

Closes #15464.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74750 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Simplify wxGridCellAutoWrapStringRenderer::GetBestSize().

The code there was pretty wild, making clearly wrong assumptions (column size
doesn't, and AFAICS never did, include 20 pixel margin) and also was clearly
uncertain about what it was doing by trying to limit the number of iterations
to some arbitrary cutoff when it is pretty clear that the loop increasing the
width and decreasing the height on each iteration will reach the condition of
"width >= height*1.68" sooner or later.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74751 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Remove superfluous mouse capturing in wxGrid row/column labels windows.

This code recaptured the mouse in the window which had already had it, thus
triggering the (recently added, see r74677) asserts in CaptureMouse(). It also
didn't preserve the invariant of m_winCapture always having the capture. And
it was apparently completely unnecessary too.

So simply remove it to fix the asserts while drag-resizing wxGrid rows/columns.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74752 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't take hidden wxGrid row/columns into account when auto-sizing.

The contents not shown to the user shouldn't affect the fitting width/height
of the columns/rows that are shown.

See #15464.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74753 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add wxDEPRECATED_MSG() and use it in a couple of places.

This macro should be used instead of wxDEPRECATED() for the new deprecations
as it allows to give a helpful explanatory message (if supported by the
compiler) and also is simpler to use as it doesn't require wrapping the entire
declaration in it but can be simply used before it.

Also add wxDEPRECATED() support for clang as a side effect.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74754 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add a test for a tooltip for a control inside a static box.

Also create the controls as children of the static box, not its siblings, to
make the tooltip work under wxGTK and because this is how we recommend doing
things now.

See #9859.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74755 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Remove unnecessary wxHTML dependency from the notebook sample.

r70321 added html library to the notebook sample, apparently accidentally as
the commit message only mentioned aui one. Remove html and rebake.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74756 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Correct erasing of background behind controls in a toolbar in wxMSW.

We need to handle WM_PRINTCLIENT in wxToolBar itself as the default handler
for this message forwards to WM_ERASEBKGND of the parent window and our
handler for that message only erases the client part of the window, in wx
sense, i.e. including a relatively big vertical offset accounting for the
toolbar. This means that when we get WM_PRINTCLIENT from the embedded control
drawing code, we don't erase anything at all as the control rectangle height
is smaller than the offset.

This fix is not perfect as ideally the existing MSWGetBgBrushForChild() should
be taken into account automatically by the default MSWPrintChild()
implementation but at least it fixes the ugly visual artefacts.

Closes #12307.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Restore correct wx-config creation and work around MinGW lack of symlinks.

This undoes the changes of r72205 and r72249 (see #14517) as using relative
paths for wx-config symlink didn't work correctly if non-default values for
$bindir and/or $libdir were used (i.e. if they were not siblings).

Instead, fix the original problem of lack of symlinks when using MinGW
directly: just use "cp -p" if "ln -s" fails. This should work everywhere and
do the right thing.

Closes #15463.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74758 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Just remove redundant wxDocument::SetDocumentTemplate() call.

This is already done from InitDocument() called from
wxDocTemplate::CreateDocument().

Closes #15467.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74759 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Revert wxDO_LOG_IF_ENABLED() change for MSVC6 in r74735.

The old solution worked fine for that compiler and the new one fails when
wxLogXXX() is used inside a switch statement to the wrong rules used by VC6
for the scope of the variables defined inside the for loop.

Simply revert back to using the old version for it, this will be easy to
re-revert after 3.0 by simply removing the check for it.

See #11829.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74762 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Export recently added wxRichTextXMLHelper to fix link errors.

This class is referenced from outside the library, see e.g. this build log:

http://buildbot.tt-solutions.com/wx/builders/Linux x86 wxGTK trunk/builds/2961/steps/compile utils/logs/stdio

and so must be exported, otherwise the build fails under Linux (and under
Windows when using DLL).

Perhaps it would be better to make it completely private to the library if it
is not meant to be public, but this would require more changes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74763 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix horizontal mouse wheel scrolling in wxGTK.

Change the value of the appropriate adjustment instead of always using the
vertical one.

Closes #15469.

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