Testing this class doesn't make much sense any more as it's just a
typedef for std::vector and we can presumably rely on the standard class
working as expected.
Always use std::unordered_{map,set} when we use them at all, don't
bother with checking for their availability and with tr1 or even older
alternatives.
We could, and probably should, set target-level property on wx libraries
instead, but we'll have to increase the minimum required CMake version
to 3.8 in order to be able to do it.
Simplify the code checking for _MSC_VER or __VISUALC__ or using
wxCHECK_VISUALC_VERSION() macro (which is not very useful any longer,
but keep it in case we need it again in the future).
Member template functions are supported by all current compilers as they
are already used in other places without any problems, so there is no
need to test for this.
Don't bother checking for various C++11 features that are available in
all C++11 compilers.
Also assume that std::exception_ptr is available in all still supported
MinGW versions and remove checks for it too (see #16634).
Further simplifications remain possible, this is just the first step.
The previously used v2 uses node12 which is being deprecated by GitHub
and won't be any longer available soon, so switch to the currently
supported version.
Run Ubuntu 18.04 builds in a container on GitHub CI to avoid depending
on the existence of a deprecated and soon to be discontinued runner
environment.
See #22856.
Rerun src/stc/gen_iface.py to update the generated part of the interface
header.
This should have been part of 8ac10d28f8 (Fix all the other comments
with Doxygen grouping commands too, 2022-08-03) but was forgotten there.
See #22248.
For no obvious reason the generic calendar control used
a read-only wxComboBox until now.
While this is more or less identical to a wxChoice on MSW,
it is somewhat different on OSX and Gtk: Whereas a wxChoice
can be opened by clicking anywhere on it, a wxComboBox requires
clicking on the arrows on the right edge. A wxComboBox
allows selecting and copying the current value, but this is
probably not terribly useful in a calendar.
See #22853.
Running it in 18.04 container would require installing libc++-dev and
other packages, it's simpler to just write it on the GitHub-provided
runner where they're already installed.
Note that we need to explicitly choose to use clang-10, as the GitHub
runner has clang-11 and clang-12 installed as well and the default clang
version is 11, but only libc++-10-dev is installed, so using the default
clang with -stdlib=libc++ fails out of the box.
This happens when using gcc 4.8 under Ubuntu 18.04 and has to be
suppressed in the source file including the header as just doing it in
the header itself, with the usual wxGCC_WARNING_SUPPRESS/RESTORE macros,
has no effect, i.e. the warning is still given even if we bracket glib.h
inclusion with them.
Don't always install g++ as an existing build uses clang.
Also modify another build to use g++-4.8 as this is the oldest still
supported compiler and so it's nice to have a build using it.
This doesn't work because the action installs an ABI-incompatible
version of Python 3.10, resulting in errors like the following
python3: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found
(required by /__t/Python/3.10.7/x64/lib/libpython3.10.so.1.0)
so try using the system version (3.6) to avoid this.
Ubuntu 18.04 runner is being discontinued by GitHub, so switch the
builds using it to using a container.
We probably ought to actually run all of the builds in containers to
make them independent of changes to GitHub environment.
Subclass the new EDIT control recreated together with the COMBOBOX
itself to make sure we still process the messages from it correctly.
This notably ensures that we still get wxEVT_TEXT_ENTER events in
wxBitmapComboBox under MSW after adding some items with images to it, as
this recreates the combobox internally.
No real changes, this is just a refactoring moving the code recreating
the native MSW combobox into wxComboBox itself, as it seems better to do
this in this class itself rather than outside of it.
This commit is best viewed with Git --color-moved option.
This is a common convention and is helpful when installing this file,
see https://www.gnu.org/software/automake/manual/html_node/Serials.html
The serial value of 42 corresponds to the number of commits to this file
so far (and is also the right answer to the question of "what should the
serial be", of course, just as to any other question).
See #22848.