Although wxWidgets doesn't use any C++20 features yet, still allow
compiling it in C++ 20 mode if wanted.
Update the helper macro for detecting available C++ version support from
https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
with just a minor change to de-TAB-ify it to pass our code style check
forbidding indenting with TABs.
Closes#22238.
When using 200% DPI scaling, 400*250 windows are too small as almost
nothing fits into them, so use 800*500 size for them instead.
This is still completely arbitrary, but clearly better.
Closes#22235.
Fall back on the main rich text control if there is no currently focused
window, as the control itself never has focus when a menu is opened with
wxGTK/Wayland, i.e. none of the menu commands, such as wxID_COPY/CUT,
worked for it in this case.
Closes#22121.
Run doxygen and copy the generated files to docs.wxwidgets.org.
Ignore the new workflow in all the existing CI ones, as changes to it
shouldn't require rerunning them.
See #19126.
This is the version available in Ubuntu 20.04 which is currently used
both on docs.wxwidgets.org and in GitHub Actions Ubuntu environment, so
it looks like a reasonable choice, even though the latest version is
1.9.3.
Note that the versions earlier than 1.8.14 can't be used any longer
since the changes in the previous commit because "^^" in the aliases
definition don't work in them and result in garbled output.
Removing "docs/doxygen" and "interface" was both ambiguous (because it
wasn't immediately clear which file the message was referring to) and
insufficient because there are now Markdown files in the other other
directories used as Doxygen input too, and they still appeared with the
full paths.
Fix both problems by removing just the top level directory from all
paths and keeping all the rest.
There doesn't seem to be any way to use backslashes with @c: with a
single backslash, it's interpreted as a command, but a double backslash
appears in the output. So use `\b` instead of @c \b and also use `...`
elsewhere for consistency.
Also fix wxRE_NEWLINE description formatting.
As long as one parameter of a function is documented, all the other ones
should be documented too, as otherwise Doxygen complains about it not
being the case.
Define a custom wxBitmapBundle to represent this bitmap in order to be
able to draw it at any required size instead of scaling up the bitmap in
high DPI.
See #18822.
Also add "wxWindow* win = NULL" argument to the existing functions to
convert from DIPs using the given window instead of the default DPI
scaling factor.
Closes#22022.
This was confusing and completely unnecessary as the version with the
non-default value of the bool argument was just equivalent to calling
GetNativeSizeHint() directly, so why even bother having it.
This function has no need to be inline and it can be written in a more
clear way by just calling GetNativeSizeHint() directly instead of
passing by GetSizeHint(true).
This cache was never updated and so could be wrong and not using it at
all is the simplest (although also the slowest) fix for this.
Notably, it could result in failures in ValNum::Interactive unit test
because the thousands separator was set to nothing during a previous
test execution, instead of the expected comma.
This commit is best viewed ignoring whitespace-only changes.
This had been done before all the recent wxUILocale-related changed and
was still done for non-Unix systems, but not there because we explicitly
skipped calling setlocale() in this case with a comment saying that the
default locale was already in use -- however this comment was wrong and
we do need to call setlocale(LC_ALL, "") in this case for compatibility
and consistency.
Closes#22212.
Ensure that the button is wide enough to show both "Next" and "Finish"
and also make all the buttons of the same size, as they look better like
this.
Co-authored-by: Vadim Zeitlin <vadim@wxwidgets.org>
Closes#22200.
Closes#22221.
This fixes the problem with inconsistent file formats in the repository
apparently introduced in e3535d6481 (Mark MSVS *.vcxproj.filters files
as using CR LF as well, 2021-11-24), which resulted in the files changed
by this commit (sometimes) appearing modified in new clones.
Closes#22214.
Define wxDataFormat::operator==(wxDataFormatId) instead of relying on
the implicit conversion from wxDataFormatId to wxDataFormat, as this
can't be done when the format ID is wxDF_INVALID because creating
wxDataFormat results in an assert failure in this case, while comparing
with wxDF_INVALID is clearly a perfectly valid operation.
Add a unit test checking for this.
Closes#22213.
This is a good idea anyhow, as these classes don't need to have extern
linkage and so shouldn't have it, and it also fixes some gcc 11
-Wsubobject-linkage warnings.
Select the bitmap of the required size from wxBitmapBundle instead of
selecting the bitmap with the default size and then possibly rescaling
it to get the bitmap of the needed size, resulting in fuzzy-looking
bitmaps.
Closes#22189.