Commit graph

296 commits

Author SHA1 Message Date
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
PB
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
Randalphwa
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
Randalphwa
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
Randalphwa
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
Randalphwa
cb8c0dfb0d Add undetermined state to wxCheckBoxXmlHandler
3-state checkboxes can have their initial value set to checked
or undetermined -- this adds support for the undetermined
state to the handler (only allowed if the style includes wxCHK_3STATE).

Closes #22468.
2022-06-01 16:55:31 +02:00
Randalphwa
080b0f65cb Fix wxCommandLinkButton alphabetical position
The alphabetical order for this handler was wrong, affecting not
only it's placement in the main HTML page, but also the list of
handlers on the right side.

This commit is best viewed with git --color-moved option.

Closes #22478.
2022-06-01 15:51:53 +02:00
Randalphwa
addbc940c0 Update wxCommandLinkButtonXmlHandler
Adds missing bitmap specifications, removes unusable button styles.

Closes #22475.
2022-06-01 15:47:03 +02:00
Randalphwa
8f735c695b Support more styles, bitmaps, margins in wxToggleButtonXmlHandler
Add missing styles, bitmaps, and margin property.

Closes #22474.
2022-05-30 23:54:47 +02:00
Randalphwa
6ce81acda8 Add digits property to wxSpinCtrlDoubleXmlHandler
This makes it possible to set the precision of the number
without changing the increment amount.

Closes #22470.
2022-05-30 17:53:43 +02:00
Randalphwa
d9f36adc8f Minor fixes to wxRichTextCtrlXmlHandler code and docs
Fix the example showing how to use it in the docs.

Don't use "maxlength" property for this control, as it's ignored by it
anyhow.

Closes #22467.
2022-05-30 17:52:14 +02:00
Randalphwa
76d1b3c9a9 Extend wxBitmap XRC handler to support all button attributes
Add support for the missing wxBU_NOTEXT style, bitmaps for the other
than default states (pressed, focus, disabled and current) and margins
to wxBitmapXmlHandler.

Note that the images for the other states were previously already
supported by wxBitmapButton XRC handler, but not by the wxBitmap one,
even though both bitmap classes support them.

Closes #22451.
2022-05-25 15:33:31 +02:00
Vadim Zeitlin
84eb6bfa41 Consistently use 1992 as the start of the copyright period
Use 1992 as the initial date for all non-Mac files, instead of using
slightly later years for some of them without any good reason (or at
least without any good reason still remembered by anybody).

This also allows to simplify the script for updating the year.
2022-05-04 17:24:53 +02:00
Vadim Zeitlin
cacfcb1e61 Allow ignoring revisions when viewing blame on GitHub
Rename the existing file with the revisions to ignore to the name used
by GitHub in order to allow using it there too.
2022-03-24 21:35:39 +01:00
utelle
e129c7149d Generate much smaller code for language database initialization
The initialization function has become too huge to be compiled by some
compilers (notably MinGW-TDM 9.2) after the changes of deef116a09
(Update language database and move support for it to wxUILocale,
2021-11-23), so change the script generating this code to output just an
array element rather than code statements for each language.

This also makes this file much faster to compile with the other
compilers as a nice side effect.

Closes #22100, #22104.
2022-02-08 20:59:10 +01:00
oneeyeman1
995c6e6df5 Add wxSpinCtrl::SetIncrement() and implement it for all ports
SetIncrement() was already available in wxSpinCtrlDouble and GTK version
of wxSpinCtrl, now implement support for it in wxMSW and wxOSX as well.

In fact, in wxMSW, implement it at wxSpinButton level, so that both this
class and wxSpinCtrl inheriting from it (in wxMSW only) support setting
custom increment now.

Also add support for it to XRC, show it in the sample and add a unit
test verifying that it works.

Closes #2597.
2022-02-04 02:16:06 +01:00
Vadim Zeitlin
224d8ffdaf Merge branch 'ak_high_dpi' of https://github.com/kosh543/wxWidgets
Add support for wxBitmapBundle to XRC.

See #22040.
2022-01-27 14:04:01 +01:00
Vadim Zeitlin
8f58562fea Fix typo in bin2c.py comment
Correct the name of the other script.
2022-01-27 13:55:46 +01:00
Alexander Koshelev
df1504dd8f XRC: add GetBitmapBundle function
The function creates wxBitmapBundle from <bitmaps> xrc tag.

Co-authored-by: VZ <vz-github@zeitlins.org>
2022-01-24 17:26:42 +03:00
Vadim Zeitlin
a2ad755b1c Add script for converting arbitrary binary data to C arrays
This is similar to the existing png2c, but works for any binary data,
not just PNG files.

Another small difference is that this script puts 16 bytes per line
instead of 8 -- this still results in reasonably short lines, but twice
shorter files, so seems to be worth it.
2022-01-23 02:07:42 +01:00
Vadim Zeitlin
2064526e3d Revert "Merge branch 'ak_high_dpi' of https://github.com/kosh543/wxWidgets"
This reverts commit a34ab31453, reversing
changes made to 783df59e66.

Undo the addition of wxBitmapBundle support to XRC, as it is finally
going to be done in a different way soon -- but for now just remove it
to ensure that nobody starts using it before it's finalized.

See #2633.

Closes #22014.
2022-01-16 23:40:31 +01:00
Vadim Zeitlin
a34ab31453 Merge branch 'ak_high_dpi' of https://github.com/kosh543/wxWidgets
Add wxBitmapBundle support to wxXmlResource and start adding it to XRC
handlers.

See https://github.com/wxWidgets/wxWidgets/pull/2633
2022-01-11 15:35:54 +01:00
Alexander Koshelev
3907657995 XRC: ability to create wxToolBar with wxBitmapBundle 2022-01-11 17:05:14 +03:00
Alexander Koshelev
4b3233e493 XRC: ability to create wxCommandLinkButton with wxBitmapBundle 2022-01-11 17:05:14 +03:00
Alexander Koshelev
7a13979f5a XRC: ability to create wxButton with wxBitmapBundle 2022-01-11 17:05:14 +03:00
Alexander Koshelev
96f5258df5 XRC: ability to create wxStaticBitmap with wxBitmapBundle 2022-01-11 17:05:14 +03:00
Alexander Koshelev
612c37f706 XRC: add GetBitmapBundle function
The function creates wxBitmapBundle from <bitmaps> xrc tag.

Co-authored-by: Vadim Zeitlin <vadim@wxwidgets.org>
2022-01-11 17:04:27 +03:00
Vadim Zeitlin
910f014065 Fix typo in year update script
Fix wrong function name from 81c4fa449b (Use CMake-compatible variable
names in configure Info.plist files, 2021-08-15).
2022-01-02 13:31:25 +01:00
Vadim Zeitlin
1a0eeed0a8 Ignore commit only removing white space for git blame purposes
That commit didn't really change anything, so it's annoying to have the
changes be attributed to it.
2021-11-29 13:58:52 +01:00
utelle
deef116a09 Update language database and move support for it to wxUILocale
Update the language database from the canonical sources:

- It now includes most locales supported by Windows 10.
- It now also has the following attributes for each entry:
 - BCP 47-like locale tag.
 - Reference to canonical name for generic language entries.
 - Language name in this language itself.
- Also add data file with list of language script identifiers and
  aliases based on ISO 15924.
- And update genlang.py to handle all the new attributes and data.

Also move database-related methods of wxLocale to wxUILocale and
just redirect wxLocale methods to the new wxUILocale ones (they are
still preserved for compatibility).

Closes https://github.com/wxWidgets/wxWidgets/pull/2594
2021-11-27 17:44:20 +01:00
Vadim Zeitlin
17c1bfc0f4 Suppress "Unix" spelling warnings in the samples overview
There doesn't seem to be any good way to avoid codespell warnings about
"unx", so just add the lines containing it to the exceptions file.
2021-11-18 15:47:28 +01:00
Alexander Koshelev
0cd898975c Allow to add extra accelerators to wxMenuItem
These accelerators are not shown in wxMenuItem label, but still will
work.

Implement support for them in all major ports and XRC.

Co-Authored-By: Vadim Zeitlin <vadim@wxwidgets.org>
2021-11-16 17:26:39 +01:00
Vadim Zeitlin
cffd5db562 Ignore the commit removing "$Id$" keywords for git-blame
Not sure if this is actually that useful, as this commit didn't modify
any of the still existing lines anyhow, but it seems logical to exclude
this commit, as it didn't make any real changes, but touched almost all
files.
2021-11-09 13:29:48 +01:00
Vadim Zeitlin
9c17ff731a Ignore the parent commit for git blame purposes
Typo fixes don't affect anything else, so skip the parent commit when
searching for the reason of some change in the future.
2021-10-03 17:09:08 +02:00
Vadim Zeitlin
acb43011c1 Remove extra blank lines from png2c.py output
Adding them just seems unnecessary.
2021-09-15 21:15:19 +02:00
Maarten Bent
2e12779a21 CMake: update Info.plist variables
Use the same values as in build/bakefiles/mac_bundles.bkl.
Use the correct copyright year for in the Info.plist files.
2021-08-17 22:33:45 +02:00
Vadim Zeitlin
81c4fa449b Use CMake-compatible variable names in configure Info.plist files
This will allow reusing them for CMake as well, and is required in order
to be able to do it as CMake variables names are fixed.
2021-08-15 18:39:34 +02:00
Vadim Zeitlin
1ca29b6721 Update copyright years in Info.plist files used by configure
Also update inc_year script to update them automatically the next time,
to prevent them from becoming 3 (for one, or 13 for the other one) years
out of date again.
2021-08-15 16:56:24 +02:00
Vadim Zeitlin
bb767e0ebc Remove apparently unused Info.plist in docview sample
Only Info.plist.in is used by configure and it doesn't hardcode the
version, so there is no need to update it there.
2021-08-15 16:56:24 +02:00
Vadim Zeitlin
f41564a3e2 Add wxRegEx::ConvertFromBasic() helper
This will be used to implement support for BREs using PCRE which doesn't
support them directly in the upcoming commits.
2021-07-15 22:45:29 +02:00
Vadim Zeitlin
3ec24bd981 Exclude cotire.cmake from white space checks
This is a third-party file using TABs for indentation.
2021-07-15 21:40:58 +02:00
Vadim Zeitlin
1a515725b3 Suppress ASAN leak reports when using print dialog in wxGTK
There is nothing we can do about them, as memory is allocated from a
CUPS functions used by GTK itself, so suppress them.
2021-05-16 00:55:04 +02:00
Vadim Zeitlin
c82ff381f5 Suppress memory leak reports from GTK CSS drawing functions
We don't seem to be doing anything wrong, but ASAN detects many such
leaks as soon as we call functions such as gtk_css_style_render_icon()
(used by wxRendererGTK::DrawCheckBox()) and several others.
2021-04-11 17:34:05 +02:00