Some native controls don't take kindly to being set setStringValue: with
a value invalid for the control (such as empty string for
NSPathControl). Don't do this if the label is empty anyway to avoid
problems with wxNativeWindow when the underlying native control is like
that.
Calling wxDataOutputStream::Write64() with a wxFileOffset argument is
ambiguous as wxFileOffset is neither wxInt64 nor wxUint64, so cast it to one
of them (it doesn't matter which) explicitly.
Zip archives with sizes larger 4GB or containing files larger than 4GB or more
than 65k files are saved in ZIP64 format which adds a few additional footers
and extra fields to allow to exceed these limits.
This implements the PKWARE specification available at:
https://www.pkware.com/support/zip-app-note
It has been tested for compatibility with Windows internal ZIP folders, OSX
Archive Utility and 7-zip.
Closes https://github.com/wxWidgets/wxWidgets/pull/72
When wxBitmapComboBox::DoInsertItems() is called from
wxBitmapComboBox::RecreateControl() then the existing bitmap array should be
reused and new bitmaps shouldn't be allocated.
Closes https://github.com/wxWidgets/wxWidgets/pull/71
When wxBitmapComboBox::DoInsertItems() is called and wxCB_SORT flag is set then
due to the sorting the position of the every element in the final item list
can be different than in the input table. To ensure consistency between item
list and bitmap array all new items should be added one by one. Based on the
actual index of every added item the bitmap array should be arranged
accordingly.
Closes#16627.
See https://github.com/wxWidgets/wxWidgets/pull/71
In native MSW builds this file is not needed as wxUSE_LIBMSPACK is always 0
anyhow, but it is required when cross-compiling or using Cygwin and libmspack
was detected by configure.
Closes#16923.
Define BS_SPLITBUTTON ourselves if it's not defined in the headers to at
least create the control even then. Skip the code handling BCN_DROPDOWN as
it's too much trouble to make it compile with the old headers however.
This should fix the build with VC8 currently failing on buildbot.
Outlined rectangles are one pixel larger with vector-based drawing,
adjust them to get consistent behavior.
Ellipses do not appear to need adjustment.
See #17091
"Edit" icon definition used internally in wxEditableListBox is moved to
wxDefaultArtProvider and exposed as wxART_EDIT.
While there is no native version of this icon yet, it could be added in the
future and in the meanwhile this commit will be useful to use only standard
bitmaps in wxEditableListBox.
In the unlikely but still possible case when neither TMP nor TEMP environment
variables are defined under Windows, we use the standard ::GetTempPath()
function which can return a path with trailing backslashes, e.g. if it takes
it from USERPROFILE environment variable. Ensure that these backslashes are
stripped in this case as well.
Closes https://github.com/wxWidgets/wxWidgets/pull/67
Bitmaps obtained using SHGetStockIconInfo can have only some predefined sizes.
If size of the retrieved bitmap doesn't correspond to the needed size or the
size given by wxArtProvider::GetNativeSizeHint() then the bitmap should be
rescaled appropriately.
Closes#17071.
Closes https://github.com/wxWidgets/wxWidgets/pull/64
Move duplicated code responsible for rescaling bitmaps in wxArtProvider to the
shared wxArtPrvider::RescaleBitmap() method.
Additionally, make this new method work even in wxUSE_IMAGE==0 case.
See #17071.
See https://github.com/wxWidgets/wxWidgets/pull/64.
Improve code quality and also fix the following issue: when 2 or more
wxDataViewCtrl were frozen, only the first one was sorted on thaw as g_column
was erased by the first wxDataViewCtrl to be sorted and so preventing the
other one from being sorted.
Closes https://github.com/wxWidgets/wxWidgets/pull/63
OS version checks improvements and updates.
Remove code for the no longer supported OS versions (MSW < XP, OS X < 10.7).
Add new `wxCheckOsVersion()` which should be used when testing for the OS version instead of comparing the versions directly which may not work reliably because of compatibility shims.
NSProcessInfo is the recommended way to determine OS X OS version, but the operatingSystemVersion property is only available in OS X 10.10+. Because of that a fallback to Gestalt() is implemented.
The NSProcessInfo.operatingSystemVersionString in the form “Version 10.10.4 (Build 14E46)" now used by wxGetOsDescription() should be more useful to the user than the carbon implementations darwin version.
Windows implements VerifyVersionInfo api since Win2k. Starting with Windows 8.1 GetVersionEx is deprecated and may not return the expected version number if the application does not contain the correct compatibility information in its manifest. VerifyVersionInfo works independent of manifest in the executable (and is the recommend way to check).
Existing code may already use wxPlatformInfo::CheckOSVersion() so the method forwards the call to wxCheckOsVersion if initialized for the current system.
Some OS versions mentioned were a little bit outdated and the paragraph about wxGetHostName on Windows simply didn’t match the implementation any more.
Size of labels with new values can be different then size of current labels
and hence they should be re-laid out every time when the range is changed.
Closes#17093.
The current master doesn't support Win9x any more but does support Windows 10
and MSVC 15 and while the platform details page of the manual was already
updated to reflect this, the more visible introduction page was not, update it
as well.
Also update MSW installation instructions in install.txt.
Not all widgets are controls and we don't use any of wxControl-specific
methods in the sample, so don't require RecreateWidget() to return a wxControl
when a simple wxWindow suffices.
No real changes.