Revert the change of r44514 and do hide the empty sizers. Code relying on them
being shown/positioned should use wxRESERVE_SPACE_EVEN_IF_HIDDEN flag but
assuming it by default results in completely unexpected layouts, e.g. still
using margins around a sizer with hidden window if it contains an empty
sub-sizer.
Closes#11426.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65079 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Showing the selected notebook page immediately when it's selected can result
in the top level parent of the notebook being shown prematurely, so don't do
this until the notebook itself is shown.
Closes#12227.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65078 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This event is sent whenever an item is clicked, even if it's already selected,
unlike the existing EVT_RIBBONGALLERY_SELECTED.
Closes#12128.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65077 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This seems to be a leftover from an old version in which the page breaks
positions were stored in a fixed size array. As the code uses a dynamic array
now there doesn't seem to be any reason to impose any limit on the number of
pages and some people did run into the old 999 pages limitation apparently.
Closes#11159.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65076 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This code is broken as it doesn't always show the selection correctly and
doesn't handle rows-or-columns selection mode at all. Until we can fix it
properly it's better to not have it at all so that at least people avoid
copying the wrong code into their own programs.
Closes#12195.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65075 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
r65061 broke PCH-less compilation as it used wxClientDC without (forward)
declaring it. Fix this and also correct wxAuiPaneInfo forward declaration.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65072 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Compiler-generated copy ctor works just fine for this class, there is really
no reason to reimplement it, especially wrongly (as it loses many and even
most of the fields), in Clone().
Closes#11388.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65069 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
It used to only set the provider if the height of the tabs defined by the new
provider was different from the one used by the old one, otherwise the call
was optimized away. Fix this by explicitly setting the art provider for all
tabs in SetArtProvider() itself if UpdateTabCtrlHeight() didn't do it.
Closes#9738.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65068 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
No real changes but avoid making the document deletion code even more opaque
by duplicating the code already existing as a function elsewhere.
Closes#11364.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65065 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
While wxHtmlWindow doesn't support mixing LTR and RTL contents we can indeed
try to make it render pure RTL stuff correctly by setting up the wxDC used for
drawing accordingly.
Closes#1988.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65063 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Allow wxAUI to change the toolbar orientation depending on where is it docked.
It is also now possible to specify wxAUI_TB_VERTICAL or HORIZONTAL to force
the toolbar to be always oriented in the given sense and to prevent it from
being docked at the sides incompatible with it.
Closes#11712.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65061 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
It seems that it might be valid to delete the items that the GUI control
doesn't know anything about, e.g. this could happen when deleting a child of a
collapsed node in a tree model. So remove the asserts which were triggered in
this case as there doesn't seem to be any way to avoid them with the current
code.
Closes#11802.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65060 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The result of calling NewControlId() must be assigned to wxWindowIDRef to be
accounted for correctly, otherwise the id was marked as free while a reference
to it still existed resulting in asserts in id management code when we
attempted to reuse it.
Closes#11604.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65059 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Native wxMSW wxDC::DrawText() implementation doesn't support multi-line
strings so use the generic wxDC::DrawLabel() code instead. Drawing multi-line
strings now works at least in wxGTK and wxMSW, to be tested for the other
platforms.
Closes#12239.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65058 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Avoid using Cygwin sockets as our code assumes that we use WinSock API under
Windows currently (this might change in the future) by defining
__USE_W32_SOCKETS.
Use new, safer and more efficient cygwin_conv_path() function.
Use t_str() instead of fn_str() with Windows API taking file names, under
Cygwin they are different and using fn_str() is incorrect.
A few other minor fixes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65057 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Although CP949 might not be exactly the same as EUC-KR it appears to be
similar enough and having a more familiar name for it is helpful for people
unfamiliar with Windows nomenclature.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65056 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Ensure that we have enough elements in the array used by
wxSystemSettings::GetColour() in wxUniv to avoid the assert which happened
when e.g. wxSYS_COLOUR_LISTBOXTEXT was requested from it. This resulted in
an infinite stream of asserts and a crash when trying to use wxTreeCtrl in
wxUniv.
Closes#11702.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
These warnings were harmless as they concerned the parameters used inside
wxASSERTs only but there were hundreds if not thousands of them in
wx/strvararg.h alone so all the rest of build output was completely lost in
them.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65046 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We never defined wxDEBUG_LEVEL as 0 meaning that debugging code in wxWidgets
was always enabled, even if --disable-debug_flag or --disable-debug (which
implies it) was given.
Fix this now by adding -DwxDEBUG_LEVEL=0 to CPPFLAGS if necessary.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65045 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The control itself can't accept focus as its window is disabled so set the
focus to its text part instead if SetFocus() is explicitly called.
Closes#12259.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65043 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We need to update the internally stored information about the number of digits
we use and not just update the control appearance accordingly.
Also don't do anything at all when the number of digits didn't really change.
Closes#12260.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65042 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add a method to detach the item from an item control without deleting it and
use it in wxRearrangeList to correctly swap object client data without
deleting the pointers in the process.
Closes#12201.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65040 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
In particular mention that wx{MINIMIZE,MAXIMIZE,CLOSE}_BOX can't be used
without wxCAPTION and that wxSYSTEM_MENU ought to be used with it too.
Closes#12246.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65035 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
LPARAM is a 64 bit type in Win64 and doesn't match the size expected by "%l"
printf format specifier. Instead of showing it as a 32 bit number in 32 bit
build and 64 bit in 64 bits, just truncate it to the lower 32 bits in any case
for now, this should be enough for the diagnostic messages.
Closes#12242.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65010 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Call pre-processing hooks for each of the handlers in the chain and not only
the first one. This ensures that a validator (which is invoked during the
pre-processing stage) of a window is used even if a window has an event
handler pushed on top of it.
Closes#12177.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65006 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The old code simply called SetEventType() to change the type of the event and
called HandleWindowEvent() again with it. This was incorrect as the event was
modified after being processed the first time, notably its WasProcessed() flag
was set and so wxApp::FilterEvent() wasn't called when it was being processed
the second time. In practice this meant that FilterEvent() was never called
for wxEVT_CHAR events -- for which it's nevertheless very useful to have as it
allows to implement application-wide keyboard processing.
Also refactor the code to avoid duplication, exactly the same event sending
code was used in gtk_window_key_press_callback() and gtk_wxwindow_commit_cb().
Extract it now in a private SendCharHookAndCharEvents() function.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65005 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This prevents the test from aborting on Linux distributions which ship with
"fortified" version of gcc, such as recent Ubuntu, Fedora and Gentoo.
Closes#12240.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65004 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775