Drop disabled by default and pretty useless memory tracing code and all
the overlapping and poorly documented build options related to it.
Remove memory.cpp entirely and update all the make/project files, but
preserve the now completely trivial wx/memory.h for compatibility and
also keep including wx/string.h from wx/object.h as it seems like a lot
of existing code actually depends on this, even if it should not.
Replace the options in the propgrid sample with a couple of other
debug-related options that were not used before to avoid leaving the
"Debugging Section" completely empty.
Assume they are always 1 now, there is no good reason to ever set them
to 0 any more.
Note that we still keep wxUSE_STD_IOSTREAM for now, but we can drop
wxUSE_STD_DEFAULT as it's not worth having it just for this single
option (previously it was used as the default value for 3 of them).
Supporting XP requires too many hacks, and while it wouldn't be very
difficult to support Vista as long as we support Windows 7, it's still
not worth it because nobody uses this system anyhow.
Remove most of XP-specific code and don't use wxDynamicLibrary for using
the functions not present in it any longer.
Don't use <wspiapi.h> neither as we shouldn't use it any more.
Update some comments to not mention Windows versions not supported any
longer and also remove mentions of "Vista and newer Windows versions"
from the documentation as this is now always the case.
This commit is best viewed ignoring whitespace-only changes.
Always use thread_local as we can rely on compiler TLS support working
under Windows 7 and later.
There are some known problems in MinGW thread local variable support,
but they only affect (obsolete) 32-bit builds and will hopefully be
fixed in this compiler soon.
See #22917.
Remove mentions of unsupported rar and cab formats.
Mention that XZ format using LZMA2 algorithm can be used.
Update the code examples (remove wxT() and use unique_ptr instead of
auto_ptr).
Don't use compiler-specific __thread and use the standard keyword
instead.
Keep the existing TLS-related macros for compatibility, but remove our
custom implementation of them, so that they're always trivial now.
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.
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.
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.
There are a couple of non-trivial points when using wxrc in this
configuration, so document using $<TARGET_FILE:wxrc> and having to use
"DEPENDS wxrc" in this case.
See #22815.
In many cases it should be 'either'.
No changes to actual code.
Complements #22723, which focused on API docs and comments in C++ code.
Co-authored-by: Ian McInerney <ian.s.mcinerney@ieee.org>
See #22798.
The most recent form designer, current with the XRC changes added up
through wxWidgets 3.2.0, and also the only tool that creates XRC file(s)
directly instead of requiring cut/paste.
Closes#22709.
This allows to avoid having an untracked file in the repository, so it
doesn't need to be ignored any longer, as it shouldn't exist after a
successful run.
Also output a warning if the log file is not empty, even though the full
dump is only shown in the GitHub workflow file, as when running the
script locally it may be more convenient to examine the log file in some
other way.
New version of Doxygen interprets __foo__ as Markdown markup and
consumes the underscores, which mangles the identifier.
Prevent this from happening by escaping the leading underscore for all
occurrences of "__" outside of the code blocks, this seems to be the
least intrusive fix.
See #22671.
Provide a link to the latest and working version of this file.
See #22590.
Closes#22594.
Co-Authored-By: Maarten Bent <MaartenBent@users.noreply.github.com>
Unsurprisingly, this doesn't work at all with CHM, so allow disabling
using the custom theme when doing it by adding more custom variables.
Using (multiple) variables for this is rather ugly, but we already use
them for other options, so it seems better to keep adding them rather
than using some other mechanism.
Adding a different custom header file is even uglier, but it seems to be
the only way to avoid including the theme JS files into CHM.
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.
This fixes the problem with empty descriptions in the annotated class
list and is a prerequisite for using custom CSS theme in the upcoming
commits.
Closes#22288.
Turn off syntax highlighting entirely because using ".xml" here results
in total garbage in output for some reason (while not using any specific
language uses C++ highlighting which is confusing).
We need to pass the physical size, not scaled by DPI, as the "size"
parameter of GetBitmapBundle(), so that a user-defined art provider
could use it to select one of the available bitmap sizes (which will
then be scaled, if necessary, by wxBitmapBundle itself).
This change is not 100% backwards-compatible because, in theory, bitmap
sizes could be specified using dialog units previously, but this is not
supported any more. However in practice this never happened because it
simply doesn't make sense to use dialog units for the bitmap sizes and
it doesn't seem worth complicating the code by adding another XRC type
of "DPI-independent pixels that can be expressed in dialog units",
especially considering that DUs are DPI-dependent by definition.
See #22584.