Commit graph

1123 commits

Author SHA1 Message Date
Vadim Zeitlin
1830c37550 Fix a link in the installation documentation
Using quotes isn't needed and doesn't seem seem to work here.
2023-01-09 23:22:17 +00:00
Vadim Zeitlin
e89f05faba Remove memory debugging/tracing support and all related options
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.
2023-01-05 21:41:38 +01:00
Vadim Zeitlin
d74c9e51da Remove memcheck sample
This sample wasn't really useful and demonstrated functionality which
was disabled by default since many years and will be completely removed
soon.
2023-01-05 18:24:57 +01:00
Vadim Zeitlin
f5daf28932 Update copyright years to 2023
Just run misc/scripts/inc_year and commit the results.

See #18690.
2023-01-03 04:15:08 +01:00
Vadim Zeitlin
06f5267582 Use named links in Markdown instead of numbered ones
This is more clear and avoids problems with mis-numbering.

Closes #23090.
2022-12-31 17:14:26 +01:00
Vadim Zeitlin
be7860c766 Remove wxUSE_STD_STRING and wxUSE_STD_CONTAINERS_COMPATIBLY
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).
2022-11-17 00:40:50 +01:00
Vadim Zeitlin
43ff845e77 Remove Windows XP and Vista support
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.
2022-11-12 16:57:52 +00:00
Vadim Zeitlin
b4b23ac423 Merge branch 'always-use-thread-local'
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.
2022-11-10 16:32:42 +01:00
PB
a46e50b31d Update wxMSW part of Platform Details overview
Just change minimal supported MSVS version from 2005 to 2015.
2022-11-08 23:41:12 +01:00
PB
41fc16489e Update Multithreading Overview programming guide 2022-11-08 23:41:12 +01:00
PB
dd9f47d1a7 Update C++ Exceptions programming guide 2022-11-08 23:41:12 +01:00
PB
6115692265 Update Environment Variables programming guide
No real changes, just add reference to wxSystemOptions,
which also uses system environment variables to affect
behaviour of wxWidgets applications.
2022-11-08 23:41:12 +01:00
PB
cf43c97f7d Update Backwards Compatibility programming guide.
No real changes, basically just update wxWidgets versions used
to more recent ones.
2022-11-08 23:41:12 +01:00
PB
875872b53b Update Archive Formats programming guide.
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).
2022-11-08 23:40:45 +01:00
Vadim Zeitlin
b1a4287b36 Remove mentions of non-Unicode build from wxMBConv overview
Also try to make it more useful for 2022.
2022-10-28 18:56:27 +01:00
Vadim Zeitlin
d5617965a6 Remove extraneous "}" from macros documentation
Somehow this isn't a problem for Doxygen, but it's still wrong to have
unmatched "}" here.
2022-10-27 19:43:30 +02:00
Vadim Zeitlin
c8f29fea8f Remove most mentions of wxUSE_UNICODE from the documentation
Still document this symbol itself, but only as being defined as 1.
2022-10-27 19:43:30 +02:00
Vadim Zeitlin
4e802e6fc7 Remove wxUSE_COMPILER_TLS and always use C++11 thread_local
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.
2022-10-26 03:31:54 +02:00
Vadim Zeitlin
4eae6b7ff1 Improve wxBITMAP() documentation
Document wxHAS_IMAGE_RESOURCES and talk about wxBITMAP_PNG() before
wxBITMAP() instead of doing it as only an afterthought.
2022-10-23 16:31:52 +02:00
Maarten Bent
619071cb71
Fix NULL usage
Ignore scintilla files in NULL check.
Allow to use nullptr as an alias.
2022-10-22 21:30:37 +02: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
Vadim Zeitlin
be5095acdd Update documentation of deprecated C++11-related macros
Still document them for completeness, but mention that they are
deprecated and shouldn't be used.
2022-10-15 18:01:34 +02:00
Vadim Zeitlin
5cfc89c10b Give more details in wxMSVC_VERSION_AUTO documentation
Explicitly list all the prefixes used with it currently.
2022-10-11 21:33:33 +02:00
PB
a2b84d40a0 Prune mentions of no longer supported compilers from the docs
Remove mentions of older MSVC versions and very old gcc versions.
2022-10-11 21:32:27 +02:00
Vadim Zeitlin
5ac3c85cce Add an example of using wxrc docs with CMake add_subdirectory()
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.
2022-09-22 18:26:50 +02:00
Lauri Nurmi
969b1fad4c Fix more double negatives used with 'neither'
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.
2022-09-18 18:02:07 +02:00
Bryan Petty
6a10064d24
Remove dark-mode color invert from screenshots in manual 2022-09-01 18:49:38 -06:00
Lauri Nurmi
66916c74a3 Fix double negatives used with 'neither' in docs and comments
In many cases it should be 'either', and 'nor' should be 'or'
accordingly.

No changes to actual code.

Closes #22723.
2022-08-19 16:22:21 +02:00
PB
897673db64 Set default build compatibility in CMake builds to 3.2
Remove "2.8" and "3.1" from wxBUILD_COMPATIBILITY options.

Add "3.2" to wxBUILD_COMPATIBILITY options and set it as its default value.

Closes #22715.
2022-08-18 21:49:19 +02:00
Randalphwa
f242ad534b Add link to wxUiEditor in list of XRC tools
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.
2022-08-06 18:32:16 +02:00
Vadim Zeitlin
d8da119ea1 Remove doxygen log file if it's empty in the helper script
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.
2022-08-03 19:43:10 +02:00
Artur Wieczorek
5b2991bb77 Get rid of obsolete wxPropertyGrid documentation 2022-08-02 08:28:52 +02:00
Artur Wieczorek
8a64c8abdc Remove v2.8 compatibility flag, add v3.2 flag 2022-08-02 08:26:04 +02:00
Vadim Zeitlin
57bf9c5af5 Escape all "__" in Doxygen to preserve them in the output
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.
2022-07-30 14:56:23 +02:00
Vadim Zeitlin
67c261b944 Update library version to 3.3
Manually change the minor version value everywhere.

Reset the contents of the README in preparation for the future 3.3.0
release.
2022-07-16 17:02:56 +02:00
Vadim Zeitlin
b5de46c044 Merge branch 'update-contributors'
Update contributors list for 3.2 release.

See #22593.
2022-07-05 01:40:21 +02:00
Vadim Zeitlin
6c65510a2c Warn about using find_package(wxWidgets) with older CMake
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>
2022-07-04 01:20:26 +02:00
Vadim Zeitlin
9ad06f4b81 Update contributors list for 3.2.0
Also move some historical contributors to a separate section.
2022-07-02 19:21:56 +02:00
Vadim Zeitlin
976edaf026 Merge branch 'doxygen-css'
Switch to using Doxygen 1.9.1 with custom theme for the documentation.

Closes #18849.
2022-07-02 17:39:06 +02:00
Vadim Zeitlin
ba7894fca4 Disable custom Doxygen theme support for CHM generation
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.
2022-07-02 17:37:53 +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
Vadim Zeitlin
3c7596f0ff Switch to using Doxygen 1.9.1 for the documentation generation
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.
2022-07-02 16:10:21 +02:00
Vadim Zeitlin
f2e7f6a917 Fix wrong XML fragment syntax highlighting in liblzma docs
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).
2022-07-02 16:06:29 +02:00
Vadim Zeitlin
332e1576a5 Revert "Remove the mention of non-existent translators mailing list"
This reverts commit 155d8546cb as we now
use the translators mailing list again.
2022-07-02 15:18:45 +02:00
Vadim Zeitlin
844e51e672 Revert "Temporarily change the release to 3.2.0-rc1"
This reverts commit 4a286c1868 to set the
version to 3.2.0 again.
2022-06-30 00:21:33 +02:00
Vadim Zeitlin
b44b4ee78b Fix size of the requested bitmap bundle in wxToolBar XRC handler
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.
2022-06-29 22:32:25 +02:00
Vadim Zeitlin
4a286c1868 Temporarily change the release to 3.2.0-rc1
This commit will be simply reverted before the final 3.2.0 release.
2022-06-27 17:19:35 +02:00
Vadim Zeitlin
2a2308d5ed Update version to 3.2.0 and rebake and rerun autoconf
Update all make/project files to use 3.2.0.
2022-06-21 00:54:26 +02:00