We could call SetSashPositionAndNotify() twice in a row which was probably
unexpected and possibly wasteful, if the user code did anything non trivial in
response to this event.
Just call it once after we're certain which sash position do we want to set.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69601 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
There was a strange check for the second pane size in OnSize() which hardcoded
5 pixels as minimal pane size in the check and 40 pixels as the minimal size
to set. This resulted in strange behaviour when the second pane size would
decrease to 6 pixels smoothly and then jump back to 40 pixels when the
splitter window was resized and also was ugly at the code level.
Get rid of this code and simply call AdjustSashPosition() to ensure that the
sash position remains valid as the splitter is resized.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The initial splitter size must be set correctly when using gravity with
wxSplitterWindow as otherwise the sash would jump on first resize -- which was
exactly what happened in the splitter sample.
Add a SetSize() call to the sample with the comment explaining why is it
needed and also actually make it stick as the cached last size was not updated
before the splitter was split before.
Closes#9821.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Gravity should take effect only after the originally requested sash position
is set as otherwise it's not really taken into account.
Closes#13508.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69598 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This variable seemed to be redundant with m_requestedSashPosition being set to
INT_MAX so harmonise the code to always check for the latter and get rid of
the former.
There should be no observable changes in behaviour.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
GetNeedUpdating() was never used at all while SetNeedUpdating() was used only
once while m_needUpdating variable was being changed directly in other places
making the code difficult to follow.
Just use the member variable directly and remove the accessors.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
No real changes, just optimize the idle updates by doing it from (less often
called) UpdateWindowUI() instead of EVT_IDLE handler.
Closes#10075.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69594 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't generate wxEVT_COMMAND_AUITOOLBAR_RIGHT_CLICK for normal items only,
they can be useful for other ones too.
Note that this had been previously applied to 2.8 branch as r66926 but somehow
wasn't applied to the trunk.
Closes#10079.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69593 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
If the message doesn't contain any new lines, it should be used as the body,
not the title as having title without body doesn't make sense and looks
strange.
Closes#13441.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69592 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The code translating the button labels of wxMessageBox to the application
language was overeager and replaced even the custom labels with the
translations of the default ones.
This shouldn't be done, of course, so simply check that no custom labels had
been set before translating.
See #10962.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69591 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This dtor doesn't seem to do anything useful as the base class dtor already
destroys all window children anyhow and removing it is reported to fix some
crashes in wxAUI (which is surprising and probably hides some other bug...).
Closes#13547.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't assume that the item image is a valid index in m_small_image_list as we
may be in icon view which doesn't use small images at all.
For now restrict this code to the report view mode as apparently the cached
line height is not supposed to be used in other modes even though it's not
clear whether this is really the case and so, perhaps, this code should also
be used when in small icons view mode.
Closes#13604.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Make it possible to set a non-default wxPersistenceManager to use and allow
overriding of GetConfig() and GetKey() methods by making them virtual and
documenting them.
This can be notably used to allow porting of the existing code to use
wxPersistenceManager while keeping compatibility with the old settings.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69583 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
It used to always return false which didn't allow the code using to decide
whether the default splitter position should be used or not.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69582 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Implicitly use SEARCH_LIB in WX_PATH_FIND_LIBRARIES() and WX_FIND_LIB() macros
to avoid having to pass it to them explicitly every time.
Closes#13601.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69570 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Macros from WX_DECLARE_HASH_SET family could declare an operator->() which
could never be called because it returned a pointer to a non-object (e.g. a
pointer or a primitive type).
Fix this in the same way as for WX_DECLARE_ARRAY macros by adding (badly but
consistently) named _PTR variants of the macros to allow defining the versions
without operator->().
This fixes tons of warnings when building wx with Sun CC.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Arrays of pointers must not overload operator->() as it is not used with them
and is, in fact, unusable, provoking a warning from Sun CC every time such
array is declared. Use the special _PTR-suffixed versions to avoid this.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69567 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
It doesn't make sense to require passing C functions to wxQsort() that we
define in a C++ library. We also don't need any special calling convention
here.
Notice that the only existing uses of wxQsort() inside wxWidgets itself were
not actually extern "C" and one of them didn't even use the correct calling
convention.
Also avoid using non-wx-prefixed CMPFUNCDATA identifier in a public header,
rename it to wxSortCallback instead.
Finally make wxQsort() documentation slightly more useful.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69566 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
While POSIX and SUS both mandate this variable existence, they don't say that
it needs to be declared anywhere and it actually doesn't seem to be declared
under Solaris when using Sun CC and so using it resulted in compilation errors.
Just declare it ourselves to avoid them.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69564 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
For some reason locale.h was only included in !wxUSE_STD_STRING case but we
actually always need it as we use LC_ALL in this file and at least in Sun CC
build it wasn't included from anywhere else so include it from here to fix the
build.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69563 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This variable was apparently unused and a local variable with the same name
was used instead, resulting in Sun CC warnings about variable shadowing.
Just remove the unused member variable to fix this.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69562 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
DECLARE_DYNAMIC_CLASS() shouldn't be followed by a semicolon and Sun CC warns
about it, so fix this by removing it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69561 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use wxT() everywhere for consistency and to fix compilation with Sun CC for
which _T() is not defined as it clashes with a symbol with the same name in
standard headers.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69560 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
These commas are not allowed by standard C++ and Sun CC warns about them (and
some other compilers, e.g. HP aCC, even give errors for them).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69559 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
When adding items to the model in bulk and then calling ItemsAdded(),
internal representation in both the generic and GTK+ versions wasn't
updated correctly if the order of the notifications was such that an
item would be inserted after other new, but not yet inserted, items.
Fixes bug #13587.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69547 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775