Commit Graph
334 Commits
Author SHA1 Message Date
Scott TalbertandVadim Zeitlin f9ffb1bc82 Update Unicode mapping tables to current versions
The primary motivation for this is to resolve a licensing issue with
these files (the files have been relicensed with a Debian-approved
license), but there were a few minor fixes/additions since the previous
update.  The generation code/scripts required some modernization to get
it working on a current system, as well as needing to handle the format
of CP866.TXT, which is a bit different than the other files.

Update the whitespace check to exclude these files from it as we prefer
not to modify them to avoid any divergences with the upstream copies
(even trivial ones).

Closes #26700.
2026-07-21 16:01:15 +02:00
Lauri NurmiandVadim Zeitlin 78b6140d44 Recommend adding wxWidgets.natvis to one's project
The primary documented way of using a .natvis, in the Microsoft
documentation linked to, is to add it to one's project, not to copy
it under %USERPROFILE%.

Closes #26452.
2026-05-15 02:05:46 +02:00
Vadim Zeitlin 7891d1403d Change all version occurrences in release notes files
There may be multiple versions in the same line, so substitute the
version "globally".
2026-02-28 17:59:39 +01:00
Vadim Zeitlin 2125f520d9 Avoid codespell false positive for "useES" member variable
It shouldn't replaced with "uses".
2025-12-06 17:31:04 +01:00
Václav SlavíkandVadim Zeitlin 77dd42f3c6 Fix MSVS debug visualizer of wxStrings
Fix the visualizer to display full Unicode string.

Previously, only the first character was shown in recent versions of
Visual Studio. This was due to the use of "sb" format specifier meaning
an ANSI string.

Use condition expressions to cover both wchar_t and UTF-8 builds.

Correct the specifier for UTF-8 case to be "s8b" so that it interprets
and displays UTF-8 correctly.

Closes #25684.
2025-08-17 23:43:42 +02:00
Vadim Zeitlin b3831a7559 Update version in release notes too
Just replace all versions there, there are too many occurrences to
target them more accurately.
2025-07-21 00:40:26 +02:00
Bill SuandVadim Zeitlin d18d35523d Add wxAuiPaneInfo::FloatingClientSize()
Unix builds / Ubuntu 24.04 wxGTK with ASAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK with UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.8 (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxMac ARM with ASAN (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
Update Documentation / Update Online Documentation (push) Has been cancelled
No Response / no-response (push) Has been cancelled
Using wxWindow::SetClientSize() can be more convenient than using
wxWindow::SetSize() and is guaranteed to work under all platforms, even
when the window decorations size may be unknown, so allow setting the
client size of floating wxAUI panes directly too.

Closes #25483.
2025-06-26 12:55:09 +02:00
Vadim Zeitlin 8713b52a2f Add support for wxGenericHyperlinkCtrl to XRC too
Allow to create the generic version of wxHyperlinkCtrl in addition to
the native one.
2025-06-14 23:36:20 +02:00
Blake-MaddenandVadim Zeitlin cd07eabd54 Add support for "Do not show this again" checkbox to wxInfoBar
Closes #25394.
2025-05-26 17:54:07 +02:00
Vadim Zeitlin cfc4fff774 Recognize "pressed" and "current" wxBitmapButton attributes
Fix another validation error in our own samples/xrc/rc/controls.xrc.

This should have been part of 652d37ea61 (Add "pressed" and "current"
wxBitmapButton XRC properties, 2022-02-20) but was forgotten there.
2025-05-25 16:55:59 +02:00
Vadim Zeitlin 76d82b6263 Add wxVListBox to the builtin classes list in XRC schema
Make sure this class is recognized when validating, otherwise running
validator on our own samples/xrc/rc/controls.xrc failed.

This should have been part of 12b09a5e5e (Provide wxXmlResourceHandler
for wxVListBox, 2024-10-08) but was forgotten there.

See #24361, #24867.
2025-05-25 16:55:37 +02:00
Maarten Bent d6209abf2d Update and generate build files
Run upmake, bakefile_gen, makeprojects.py, update-setup-h, autogen.
2025-05-10 17:19:29 +02:00
Hermann HöhneandMaarten Bent 15a2a622ec Add support for WebP image file format via libwebp. 2025-05-10 17:18:29 +02:00
Lauri NurmiandVadim Zeitlin f88a0a933d Add a script and CI action for tests/allheaders.h
Check that all headers are either #included or mentioned
in tests/allheaders.h.
2025-01-31 17:32:00 +01:00
Vadim Zeitlin d558eda426 Remove gdb pretty printer for wxArrayString
Now that this class is based on std::vector, having a pretty printer for
it is not really useless, but actively counterproductive, as it doesn't
have the fields used by this printer and so displaying it in gdb doesn't
work at all with it, while it works just fine without it.
2025-01-20 03:36:50 +01:00
Vadim Zeitlin 5252bd3ca9 Update copyright year in the dialogs sample too
Add it to the list of files updated by inc_year script and also change
the copyright to start at 1992 and not 1998 to make things simpler.

See #25041.
2025-01-16 17:59:40 +01:00
Ulrich TelleandVadim Zeitlin 57e1c9e1ee Update wxWidgets language database and improve locale matching
This commit improves the best locale match algorithm by prioritizing
closer matches and add many new tests verifying that this works as
expected.

In order to do this, new information had to be added to the language
database, which was extended with it and updated to use the latest
Unicode CLDR data and latest Windows 11 locale list.

Further, add a set of scripts for maintaining the language database up
to date and a GitHub workflow `genlangdb.yml` which can be run manually
to regenerate the wxWidgets language-related source and header files
from the underlying Windows and Unicode data. It produces 2 artifacts:

- wxLanguageDatabaseDist.zip allows to easily update the
  language-related files in the wxWidgets repository by simply copying
  all files.
- the normal workflow log and wxLanguageDatabaseLog.zip allow to check
  all temporary files of the regeneration process and to detect
  potential issues, before the language-related files are actually
  replaced by the new ones.

Finally, fix wxUILocaleImplName::GetPreferredUILanguages: Under Windows
10 and above the Windows API function ::GetUserPreferredUILanguages()
returns only the primary UI language plus US English. Additional
preferred UI languages installed by the user are ignored, so instead of
using this function read the list of user preferred languages from the
Windows registry.

Closes #24855.
2024-11-18 16:46:25 +01:00
Bill SuandVadim Zeitlin 12b09a5e5e Provide wxXmlResourceHandler for wxVListBox
Fix #24361.

Closes #24867.
2024-11-02 04:03:24 +01:00
Vadim Zeitlin 5044673279 Suppress another bogus error for "AtLeast" from codespell
It really doesn't like this function name.
2024-08-23 00:24:22 +02:00
Vadim Zeitlin 120d7387dd Don't flag "copyable" as a spelling error
It's a perfectly cromulent word.
2024-08-19 02:48:10 +02:00
Vadim Zeitlin 65715453e7 Add minimal support for wxPropertyGrid to the XRC schema
This is too lax and might also not cover everything but it better than
nothing.
2024-02-03 21:46:15 +01:00
Vadim Zeitlin dc55e4fe11 Suppress ASAN report about memory leaks in g_quark_init()
This is a one off allocation which won't be fixed by glib maintainers
(see https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2135 and
https://discourse.gnome.org/t/feature-request-enable-compilation-without-memory-leaks/6960
etc).
2024-01-27 19:06:56 +01:00
Vadim Zeitlin a921f558d9 Remove configure.in to configure.ac
This is the extension expected by all non-ancient autoconf versions.
2023-07-24 00:11:26 +02:00
Vadim Zeitlin 829fe8154b Allow "feature" attribute in XRC schema
This is just a hack because we handle "feature" as part of "platform"
when it's not really related to it, but as it has to be treated in the
same way, it's the simplest way to allow it.

This should also have been done in 3fdebc96cd (Add support for XRC
"feature" attribute, 2023-01-29) but was forgotten there.
2023-07-19 01:58:40 +02:00
Vadim Zeitlin f2f2868de5 Add support for dark mode colours to XRC
Allow specifying a different colour to use in the dark mode in XRC
colour properties.

Closes #23571.
2023-05-27 21:51:51 +02:00
Vadim Zeitlin a0e3f1e1ab Use grep instead of fgrep and egrep
The latter are deprecated and shouldn't be used any longer.

No real changes.

Closes #23537.
2023-05-10 23:44:17 +02:00
Vadim Zeitlin 303b244a99 Allow using "@" symbols in PNG files names
This is needed when dealing with @2x versions of the files.
2023-04-27 19:13:30 +02:00
Vadim Zeitlin ff206213aa Output warnings about skipping filename to stderr
Considering that the output of this script is typically redirected, it
really doesn't make sense to send error messages to the generated .c
file.
2023-04-27 19:13:30 +02:00
Vadim Zeitlin a958683071 Make png2c.py work with Python 3.9+
array.tostring() was removed in 3.9, so use tobytes() instead.

This makes the script incompatible with Python 2, but this shouldn't be
much of a concern any more these days.
2023-04-27 19:13:29 +02:00
utelle 7465f72544 Automate whitespace removal
The downloaded Unicode files contain trailing whitespace. This will now be removed immediately after downloading the files.
2023-04-19 15:41:25 +02:00
utelle 79cd7d034e Remove trailing whitespace 2023-04-19 00:01:21 +02:00
utelle 3bbcadfb5b Add missing data files for regenerating locale list
1) Data files downloaded from Unicode
2) Unicode Data Files and Software license
3) List of known Windows locales (generated by showfiles utility)
2023-04-18 23:47:07 +02:00
utelleandVadim Zeitlin a20aa4de75 Improve generated process for the language database files
Fix some issues and streamline regeneration process:

- A few glitches (like duplicate language symbols, wrong Windows
  language ids etc) were fixed.
- Scripts were added to allow to regenerate the list of supported
  locales from the list of known Windows locales.
- Version info when language symbols became available was added to the
  documentation of the language symbol enum.
- Synonyms are no longer hard-coded in the script genlang.py.

See #23453.

Closes #23437.
2023-04-18 14:27:28 +02:00
Vadim Zeitlin b07a77cbf9 Make language table generation script work with Python 3
It still works with Python 2 too for now.

See #23438.
2023-04-18 14:21:48 +02:00
utelleandVadim Zeitlin c8d2244c63 Update language database and fix some problems in it
Update the list of known languages/locales to match the list of known
locales in Windows 11, adding support for a number of new locales.

Additionally, the issues mentioned in #23419 are fixed, except the
native descriptions of Northern Luri (Luri translations of the
territories are not known).

Closes #23419.

Closes #23426.
2023-04-08 14:47:48 +02:00
Vadim Zeitlin 6a47ee1b0c Remove PACKAGE_XXX definitions from Xcode config header
They were not used anyhow and could conflict with the other packages
defining them.

We also don't need to update the version in this file now.

See #23162.
2023-01-26 17:36:14 +01:00
Vadim Zeitlin 6a6061beae Suppress spurious errors about "AtLeast" misspelling
This is a perfectly cromulent function name.
2022-12-04 00:44:09 +01:00
PB 3c53df1f92 Remove GTK notebook test code
Such code does not need to be a part of wxWidgets repository.
2022-11-20 10:21:45 +01:00
Vadim Zeitlin 4f4c5fcfdf Use nullptr instead of NULL in the code and documentation
This is a combination of running clang-tidy with modernize-use-nullptr
check for some ports (GTK, X11, OSX) and manual changes to the ports for
which it couldn't be used easily (MSW, DFB) and also manually updating
the docs.

Also replace NULL with null or nullptr in the comments as this is more
consistent with the use of nullptr in the code and makes it simpler to
grep for the remaining occurrences of NULL itself.

And also use null in the assert messages.

Only a few occurrences of "NULL" are still left in non-C files, mostly
corresponding to unclear comments or string output which it might not be
safe to change.
2022-10-18 01:25:25 +02:00
Vadim Zeitlin fb4f0b590c Remove wxGTK1 port and GPE support
Remove the port files and references to it from the common headers and
elsewhere.

Also remove GPE (GNOME PDA Environment) support as libgpewidget is
unmaintained since 2006 or so and has never been really used.

Use __WXGTK__ to test for any version of wxGTK now. Still define
__WXGTK20__ for compatibility, but always define it now and don't test
for it in the library code.
2022-10-16 22:01:02 +02:00
Vadim Zeitlin 0ef1cdcc21 Remove support for wxMotif
This port hasn't been updated for ages and is not used by anybody any
longer, so remove its code to facilitate maintenance.

Also remove references to this port from the documentation and most of
the other places (VMS-specific descrip.vms files still check for it
because it's not clear how to update them all), including configure.

Regenerate the latter and rebake all makefiles.

Finally document that this port is not available any longer.
2022-10-16 16:39:56 +02:00
PBandVadim Zeitlin 333a663c70 Update MSVS debug visualisers
Remove autoexp.inc, this format is no longer supported by MSVC.

Merge wxWidgets.2013.natvis with wxWidgets.natvis.

Remove wxVector<> visualizer as it's not used any more and is just a
synonym for std::vector<> now.
2022-10-11 21:33:33 +02:00
Vadim Zeitlin e12f002477 Recognize wxStyledTextCtrl in XRC in the schema
This should have been part of e2aca9cbd5 (Add wxStyledTextCtrl XRC
handler, 2021-09-22).
2022-08-18 20:19:26 +01:00
Vadim Zeitlin 39dfcb95e0 Recognize "msw" as a valid platform in XRC
This should have been done in 8293dcedef (Factor out platform detection
from XRC code into wxPlatformId, 2021-02-02) which added "msw" as an
alternative to "win".
2022-08-18 20:14:29 +01:00
Vadim Zeitlin 9cdbc72f3f Don't check spelling in all change log files
Including the recently added docs/changes_32.txt one.

This should have been in 304f173924 (Rename the existing changelog to
changes_32.txt and add a new one, 2022-07-11) but was forgotten there.
2022-07-13 00:21:31 +02:00
Vadim Zeitlin 7d25054ebf Exclude copyright page of the manual from the spelling checks
There are too many names there for this to be practical.
2022-07-02 21:22:57 +02:00
Vadim Zeitlin 1a53e80bf7 Use Doxygen Awesome CSS theme
Import the theme files into a subdirectory without any changes, even not
removing the trailing whitespace, to facilitate updating them in the
future. Do not add the theme as a submodule as it's surprisingly big
(~12MB) and we don't want to spend extra time on cloning it in each of
our CI builds.

Using this theme gives a nicer appearance and supports the often
requested dark mode.

Remove all colour-related options from the existing custom CSS file as
they don't work well in dark mode.

Also switch to using SVGs with transparent background, rather than PNGs,
for the class diagrams, to avoid background colour mismatch in dark
mode.
2022-07-02 16:57:57 +02:00
RandalphwaandVadim Zeitlin 09b2488577 Add support for empty call size to wxGridBagSizer XRC handler
Add empty_cellsize property.

Closes #22541.
2022-06-20 00:36:47 +02:00
RandalphwaandVadim Zeitlin a0bdcc0d0f Support additional wxWizard properties in XRC
Add support for border, bitmap placement, minimum width and background.

Closes #22539.
2022-06-20 00:35:32 +02:00
RandalphwaandVadim Zeitlin 385547a946 Add support for SetArtProvider in wxAuiNotebook XRC handler
Allow selecting between the "default" and "simple" providers for now, we
might want to extend this to allow user-defined providers in the future.

Closes #22515.
2022-06-16 12:59:58 +01:00