wxSizerItem::AddBorderToSize() added in r72344 (see #11497) didn't work
correctly as it replaced unspecified (i.e. set to -1) components of wxSize
with the small positive values that did take effect, contrary to the
intention.
Fix it to only adjust the actually set component(s) of wxSize.
Closes#14696.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This reverts r72442 and restores the use of GenericTypographic string format
for GDI+ text rendering. While it's true that using this flag with small font
sizes results in pretty bad output, especially under Windows XP, not using it
results in wrong text extent calculations for all sizes which is even worse.
See #14537.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72583 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This should be the desired behaviour in the vast majority of cases, so do it
by default.
Replace the useless OnSearchButton() doing nothing with search button events
with OnCancelButton() handling cancel button events and clearing the control.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72581 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Logically, it should be done in the other direction and also doing it like
this means that the search and cancel icons, rendered using the current
foreground colour, are barely visible when using generic wxTextCtrl::SetHint()
implementation, as in wxGTK, because the text control foreground is set to
light grey in this case.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72580 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The best size of its text control part was not calculated correctly any more
because a wrong best size was cached during wxSearchTextCtrl construction,
when the final class overridden DoGetBestSize() was not called.
Fix this by explicitly invalidating the best size at the end of constructor
for now even though it would be arguably better to fix this in some way not
requiring anything extra to be done to always take the overridden method into
account, especially as it used to work before. But it's not clear how exactly
to restore this so for now do at least fix wxSearchCtrl appearance.
Closes#14708.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72577 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Hover and activation events were sent even for the disabled buttons which was
unexpected and inconsistent with wxRibbonToolBar, so don't do it.
Closes#14709.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72574 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This allows to construct a font based on the parent window font instead of
either fully specifying all font parameters or basing it on a standard font.
Closes#14632.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72572 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We removed the trailing separators, that prevented GetFileAttributes() from
working correctly, from the path but then didn't pass the modified path to it
but the original one. Fix this and do use the updated path.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72571 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
It can be used for entry of relatively long text now, especially when
wxTE_MULTILINE flag is used, so allow the user to resize it to facilitate the
entry.
Closes#14702.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
_tputenv() returns -1, not 0, on error, as all the other CRT functions, so the
test added by r72496 resulted in wxSetEnv() and wxUnsetEnv() always failing
when using MSVC.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72564 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We must not increase the total control size in the direction along the
controller window as the size of the controller in this direction is
determined by the size of the control itself. So doing this resulted in always
increasing best size in this direction to be at least equal to the current
size which was wrong.
Closes#14496.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72563 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
No changes, just use an existing wxSize method instead of reimplementing it in
the loop over the pages in wxBookCtrlBase.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72562 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
If m_fitToCurrentPage is true, there is no need to iterate over all the pages
computing their max best size only in order to overwrite it with the best size
of the current page later.
This doesn't result in any changes in the behaviour, just avoids useless best
size computations.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72561 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This results in the destruction of the widgets of all of its menu and when
wxMenu objects are themselves destroyed in the base class dtor, we try to
destroy their already destroyed widgets, resulting in critical GTK warnings.
Simply don't do anything in wxMenuBar dtor itself if the menu bar is not
attached to a frame as the workaround was only needed in case of destroying
attached menu bars.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72560 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Reset m_focusWidget to NULL when destroying m_widget in wxMenuBar dtor,
otherwise we try to use this already destroyed (because it's the same as
m_widget) widget in wxWindow dtor later resulting in critical GTK warnings.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72559 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Remove all mentions of 16 bit build.
Update the list of supported compilers and their versions.
Update Unicode build description.
Closes#11908.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72557 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
They are one and the same thing and so just make them really synonymous
instead of (unsuccessfully) trying to keep them synchronized.
Closes#14684.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72556 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The code apparently tried to compensate for the wrong "skip" values used in
the calls to wxStackWalker::Walk() by skipping too much in Walk() itself which
was wrong as it dropped the frames that should have been shown.
Fix this by skipping only the one extra (compared to Walk() itself) frame we
add in wxStackWalker Unix implementation and not 3 of them and do skip more
frames when calling Walk() from assert failure handlers.
Also fix the wrong number of frames used in ProcessFrames(): we must not
subtract the number of skipped frames, they were already skipped.
Closes#14690.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72546 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add a new wxSafeArray<> class wrapping SAFEARRAY.
Also add support for converting VARIANTs containing other, previously
unsupported, standard types.
Closes#14637.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72543 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Call wxMDIChildFrame::Activate() instead of redoing the same thing. This also
ensures that iconized MDI children are restored before being activated (see
previous commit).
See #13946.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72541 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Without doing this activating an iconized frame doesn't do anything at all,
i.e. doesn't present it to the user as presumably intended.
Closes#13946.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72540 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
As wxCheckBox can now have borders (see previous commit), we must override
DoGetBestClientSize() and not DoGetBestSize() in it to take account of them.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72539 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775