Double-clicking columns separator resizes the column to the best width
for its content. This should only be done for resizeable columns,
though.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66740 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The code and its assumptions were correct only for generic wxHeaderCtrl,
it didn't work for MSW implementation. Fixed by updating all columns
every time.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66729 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Instead of constructs such as if "( s.length() )" and "if (s.length() > 0)" use "if ( !s.empty() )" instead. Similarly for "if (s.length() == 0)" or "if ( s.IsNull() )", use "if ( s.empty() )".
No code changes intended except for a few instances where a construct like "if ( s.length() && wxFileExists(s) )" was changed to not check the length of the string and let wxFileExists handle such cases.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Ensure that the tests expecting the results with a point as decimal separator
really are done in C locale.
This should help the tests pass in (French) locale used by the MSW build bot
slaves.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Also update the cached data if setlocale() was called explicitly instead of
using wxLocale to change the locale because at least under Unix systems
calling setlocale() changes the result of wxLocale::GetInfo() and so the
result returned by wxNumberFormatter::GetDecimalSeparator() and
GetThousandsSeparatorIfUsed() could be inconsistent with the locale being
really used.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66726 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Show more information in the assert failure message to try to understand why
is the unit test failing on the buildbot.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Surprisingly, MSVC 6 seems to be able to compile most of the code but chokes
on a wxCOMPILE_TIME_ASSERT involving an inherited typedef. As this assert is
not critical, simply disable it for this compiler.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Setting the locale in the ctor of the test object doesn't work because the
locale is changed by the other tests that run before this one, use the
initialization method provided by cppunit to change the locale instead, this
is somewhat wasteful but at least it does work, unlike the old version.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Some TIFF images are not properly formed, for example having an extra channel marked as being unspecified data while they should be treated as being an alpha channel. Detect some of those cases so that these TIFF images now will have alpha.
Applied patch by gmeeker. Closes#12874.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Applied (modified) patch by troelsk. Also added a basic unit test for checking the frames of a saved animated GIF (a previous unit test already handles content of a GIF with a single frame).
Closes#8583.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66716 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add validators for integer and floating point numbers.
Add an example of their use to the validate sample as well as a new unit test
and documentation for them.
Use the new classes instead of wxTextValidator in wxGrid code.
Closes#12166.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66714 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Caching the decimal and thousands separators in wxNumberFormatter is a useful
performance optimization, however it can give wrong results if the locale
changed since the cached values were initialized. So remember the locale used
for the initialization and redo it if it changed. This should still be almost
as fast as the previous version but now also correct (still not MT-safe
though).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66713 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
It seems to make sense to allow using it for formatting and parsing long long
values as well as it can be done trivially using almost the same code as for
long.
It would be nice to support long double in a similar way but we don't wrap
C99 strtold() right now so it wouldn't be as simple, leave it for later.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66712 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Instead of writing a rather unreadable "defined(wxLongLong_t) &&
!defined(wxLongLongIsLong)" expression every time we need to decide if a
function needs to be overloaded for both long and long long, add a new symbol
which can be tested directly.
No real changes in the code.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66711 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxNumberFormatter formats and parses numbers with thousands separators.
Add the class itself as well as documentation and the unit test for it.
See #12166.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66710 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The modal dialogs are an important exception to the usual rules of dealing
with wxWindow-derived objects so mention them here too.
Closes#12880.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66709 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The hidden root item can't be collapsed so don't even try to do it as this
just results in an assert.
This is similar to the changes of r48097 in ExpandAllChildren().
Closes#12881.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66708 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add classes declarations to Doxygen-generated documentation. This doesn't
replace the real documentation but is better than nothing.
See #10232.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66698 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This function is not yet really implemented under all platforms but provide
the documentation for it hinting at how (and where) it works.
Closes#12873.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66697 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
At least in wxMSW the control must override HasTransparentBackground() to
return true if it really wants its background to be transparent, so do it in
wxHyperlinkCtrlBase to fix the background appearance when using the generic
implementation in wxMSW.
See #12271.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66696 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Create() method in a base class can't be implemented and actually shouldn't
even have been defined there in the first place.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66695 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775