Commit graph

76049 commits

Author SHA1 Message Date
Maarten Bent
cd7e6308cd
CMake: Generalize determining platform name
It is the same as CMAKE_VS_PLATFORM_NAME. Except for win32, which uses an empty name.
2024-01-28 18:19:20 +01:00
Vadim Zeitlin
ac3cea5bcd Update FreeBSD 13 image name for Cirrus CI
13.0 doesn't seem to be available any longer, so switch to 13.2.
2024-01-24 17:46:21 +01:00
Vadim Zeitlin
5e1890c068 Merge branch 'cef-docs'
CEF-related documentation and build improvements.

See #24230.
2024-01-24 17:44:01 +01:00
Vadim Zeitlin
f265775527 Use C++17 for MSVS wxWebView project
webview_chromium.cpp requires using C++17 as it includes CEF headers
that require it (e.g. they use std::in_place) and we need to use the
same options all files in this project as they share the same PCH, so
just use C++17 for all of them -- it should do no harm.
2024-01-24 00:14:03 +01:00
Vadim Zeitlin
f05177db2a Improve CMake error message if C++17 is not used with CEF
The previous error didn't make sense if CMAKE_CXX_STANDARD wasn't set,
so use a slightly different message in this case.

Also improve the comment explaining why we need C++17 in the first
place.

Co-Authored-By: Maarten Bent <MaartenBent@users.noreply.github.com>
2024-01-24 00:08:04 +01:00
Vadim Zeitlin
fca0c75b2e Don't give an error if compiler supports C++17 by default
Previously CMake would give an error if CMAKE_CXX_STANDARD wasn't
explicitly set to C++17 or greater when using CEF, but this is not
really needed if the compiler supports C++17 without any non-default
options, so check for this too.
2024-01-23 03:45:59 +01:00
Vadim Zeitlin
5480296dd0 Use C++17 when using CEF and not C++14
CEF uses std::in_place_t which is not available in C++14.
2024-01-23 03:29:23 +01:00
Vadim Zeitlin
8463b13c14 Don't use -Wno-extra with MSVS when building wxWebviewChromium
Only set it for the other compilers.

This fixes a problem introduced in 26025e2652 (Disable -Wextra when
building libcef_dll_wrapper, 2023-12-29).
2024-01-23 03:29:04 +01:00
Blake-Madden
509f853757 Add holiday authority overview
Closes #24240.
2024-01-23 03:23:41 +01:00
ali kettab
9e61385878 Add wxRendererNative implementation for wxQt
Closes #24223.
2024-01-23 03:22:06 +01:00
Vadim Zeitlin
1b4dfc292a Merge branch 'vlistbox-current-accessors' of https://github.com/wsu-cb/wxWidgets
wxVListBox: add GetCurrent()/SetCurrent() accessors.

See #24204.
2024-01-22 21:41:28 +01:00
Blake Madden
21ae234a37 Add support for hidden panels in ribbon
If a panel window is hidden, then don't include its size when laying out
the ribbon bar. After toggling a panel's visibility, calling Realize()
and Layout() will properly include the panel (if shown) or not show it
and move panels to the right of it over (without a blank gap in the
ribbon bar where the hidden panel would be).

Closes #24237.
2024-01-22 21:39:10 +01:00
taler21
0c3afbe580 Mention __WXGTK3__ in the preprocessor symbols documentation 2024-01-22 11:00:26 +01:00
Vadim Zeitlin
2a74f6a644 Merge branch 'more-std-obj-array'
Make wxObjArray a bit more standard-like.

See #24233.
2024-01-21 01:48:41 +01:00
Lauri Nurmi
99bc43cefe Introduce minimal MSW ARM support
wxMSW could already be compiled for ARM with MSVC, but due to not
defining any ARCH_SUFFIX for ARM, makefile.vc used to place objectsi
and libraries to the same folder as x86 objects and libraries.

A completely different question is what kind of Windows runs on 32-bit
ARM, and whether one can run regular desktop apps on it.

This commit mimics what f69dbaa1 did for ARM64, and adapts it for ARM.

Closes #24222.
2024-01-21 01:48:16 +01:00
Vadim Zeitlin
ed89fc5f3b Make wxImageListBase DLL-exported to fix MSVS warnings
Without a DLL export declaration on this class MSVS complains about
using it as a base class for DLL-exported wxImageList, so do provide
this declaration, even if it's not normally necessary because there are
no member functions of this class in the shared library, just to avoid
the warning.

Closes #24232.
2024-01-21 01:42:54 +01:00
Vadim Zeitlin
6d0b1369aa Also add wxObjArray::swap() for consistency with the other arrays
As with the previous commit, make this kind of arrays a bit more
comfortable to use as long as we can't avoid using them completely.
2024-01-21 00:01:54 +01:00
Vadim Zeitlin
a5f02170c4 Add possibility to iterate over wxObjArray using range-for
While such arrays are deprecated, we still use some of them, e.g. in
wxAUI code, so make using them slightly less painful by allowing
iterating over them naturally.
2024-01-20 23:58:48 +01:00
Vadim Zeitlin
046eb38bf0 Use explicit scope in wxBaseObjectArray implementation
This doesn't change anything yet, but will when this class defines its
own begin() and end() in the next commit.
2024-01-20 23:53:09 +01:00
Vadim Zeitlin
0fa605abb5 Only use CMAKE_BUILD_TYPE to set wxHAVE_CEF_DEBUG if it's defined
If it isn't, as is the case for MSVS for example, we don't need to set
wxHAVE_CEF_DEBUG anyhow, as it's set automatically if _DEBUG is defined
during the build.

Co-Authored-By: Maarten Bent <MaartenBent@users.noreply.github.com>
2024-01-20 02:13:46 +01:00
Vadim Zeitlin
b3c1a6adfd Document CEF_RUNTIME_LIBRARY_FLAG switch for building CEF
This must match the options used when building wx itself.

Also mention CEF_USE_SANDBOX while discussing CEF build options.
2024-01-20 00:58:39 +01:00
Vadim Zeitlin
19aee81c1d Update nanosvg to the latest upstream version
This notably fixes crash with SVGs using 1 stop gradients.

Relax the check in a test added in #24064 as it doesn't quite pass with
the new version -- this is somewhat suspicious but as it wasn't really
clear where did the original tolerance of 3 come from, it doesn't seem
to be a huge problem to increase it to 4 neither.

Closes #24213.
2024-01-19 21:17:43 +01:00
Vadim Zeitlin
f37401dde3 Merge branch 'webview-chromium'
Add Chromium-based wxWebView backend.

See #706.
2024-01-19 03:07:44 +01:00
ali kettab
152ec01122 Fix wxEVT_SET_CURSOR handling under wxQt
Really fix wxSetCursorEvent handling for wxAUI done in commit f608b34
(Send set cursor events whenever there is mouse movement) without
breaking the other controls, i.e. wxSplitterWindow, wxHeaderCtrl and
wxGrid.

Pass the mouse position by const reference to QtSendSetCursorEvent().

Closes #24217.
2024-01-19 02:56:45 +01:00
Randalphwa
38d8980283 Add optional wxXmlParseError to wxXmlDocument::Load()
If a pointer to the structure is passed in to Load(), it will be filled
in if a parsing error occurs.

Closes #24215.
2024-01-19 02:55:54 +01:00
Randalphwa
30b98c81b1 Replace #ifdef with #if in WXWIN_COMPATIBILITY_3_2 check
This matches the rest of the code base, allowing setup.h to have:

    #define WXWIN_COMPATIBILITY_3_2  0

See #24215.
2024-01-19 02:52:51 +01:00
Blake Madden
567f8c47af Add wxRibbonBar::GetPageById()
To find a page by ID currently you have to use a recursive FindWindow
(which would also look at the child Panel windows). This function allows
for finding a page by ID more elegantly.

Closes #24211.
2024-01-19 02:49:47 +01:00
Vadim Zeitlin
ee691af12d Merge branch 'qt-some-cleanups' of https://github.com/AliKet/wxWidgets
Some more wxQt fixes and cleanups.

See #24210.
2024-01-19 02:47:52 +01:00
Vadim Zeitlin
5ae3b771ad Merge branch 'win32-native-dialogs-pmdpi' of https://github.com/MaartenBent/wxWidgets
Improve native MSW dialog DPI awareness.

See #24196.
2024-01-19 02:43:11 +01:00
Besnik Bleta
e3be9d2c52 Update Albanian translations 2024-01-17 18:46:47 +01:00
Bill Su
a3951b6863 wxUniv: wxWindow: rename SetCurrent() to WXMakeCurrent()
avoid name conflicts between port-specific function and
wxVListBox::SetCurrent()
2024-01-17 00:52:01 -05:00
Vadim Zeitlin
fae1f35e08 Allow customizing CEF log file and log level
Add new wxWebViewConfigurationChromium class which corresponds to the
"native" configuration used in the other backends and contains (some)
fields of CefSettings in this one.
2024-01-17 01:16:06 +01:00
Vadim Zeitlin
c40cf9c81d Remove __WXDEBUG__ guards around CEF logging configuration
CEF logs in both debug and release builds and we want to allow
customizing this in both cases.
2024-01-17 00:55:57 +01:00
Vadim Zeitlin
207ebe78dd Translate error message given if CefInitialize() fails
Also use more readable "Chromium" rather than "CEF" in a user-visible
message.
2024-01-17 00:40:26 +01:00
Vadim Zeitlin
2d127ba229 Give a debug log message if creating cache directory fails
Things will almost certainly fail to work in this case, as CEF won't be
able to create it neither, but still continue just in case they don't.
2024-01-17 00:30:58 +01:00
Vadim Zeitlin
d4327e81d1 Improve comment explaining setting CEF "root cache" path
This name is rather confusing, so explain that actually it's the same as
"user data" and so shouldn't be put under "cache" directory.
2024-01-17 00:29:50 +01:00
Vadim Zeitlin
ff59ef301b Merge branch 'master' into webview-chromium 2024-01-17 00:22:39 +01:00
Maarten Bent
b1353ffec1
Fix initial and returned font size of MSW wxFontDialog
These sizes depends on the used dpi-awareness context of the font dialog.
2024-01-14 19:41:01 +01:00
Maarten Bent
ea5f585e89
Add system option to never use AutoSystemDpiAware
Add the option 'msw.native-dialogs-pmdpi' that will always show the native msw dialogs
as per monitor dpi aware, even when there are displays with different dpi.
2024-01-14 19:41:01 +01:00
Maarten Bent
9befda5c26
Only use AutoSystemDpiAware when displays have different DPI
So the native win32 dialogs, like font and colour picker, are not shown blurry unnecessary.

Fixes #24121
2024-01-14 19:41:00 +01:00
ali kettab
05ebdb7ebd Emphasize that wxQtSignalHandler is for wxWindow handlers only under wxQt
There is no change in behaviour because this has already been the case since its inception.
2024-01-14 14:23:41 +01:00
ali kettab
90d56e52a3 Fix creating wxMenuItem with nullptr parent under wxQt
This is documented and is already the case for the other ports.
2024-01-14 14:23:41 +01:00
Vadim Zeitlin
a2f7a933e8 Merge branch 'no-global-ops'
Don't define operators for wx types in global scope.

This results in much better error messages when the compiler gives an
error about failing to resolve a call to some operator in user code
because it doesn't list all the wx-defined operators as candidates. In
practice, this cuts down error messages from 500 (!) lines to 2 with
gcc.

See #24190.
2024-01-12 18:42:39 +01:00
Vadim Zeitlin
ec80639d79 Merge branch 'aui-events'
Slightly improve and better document AUI events handling.

No real changes.
2024-01-12 18:38:24 +01:00
Vadim Zeitlin
565775a2c8 Merge branch 'bitmap-create-log-size'
Add wxBitmap::CreateWithLogicalSize() and use it.

See #24199.
2024-01-12 18:37:20 +01:00
Vadim Zeitlin
b822d7d9e1 Fix use of "NULL" in GetOrCreateAccessible() documentation
This should have been part of 81e9373efa (Add missing documentation of
wxWindow accessibility functions, 2024-01-11).
2024-01-12 18:36:24 +01:00
Vadim Zeitlin
d7cff61267 Merge branch 'default-xdg-config'
Use XDG-compliant location by default in wxFileConfig.

See #24195.
2024-01-12 18:31:58 +01:00
ali kettab
03ad7039d6 Don't expose implementation only class to public under wxQt
No real changes
2024-01-11 23:42:36 +01:00
ali kettab
4682d5606d Stop deriving some internal classes from wxQtSignalHandler under wxQt
It is not necessary (nor beneficial) to derive these classes: wxQtActionGroup,
wxQtAction and wxQtShortcutHandler from wxQtSignalHandler ( which is intended
for use exclusively with wxWindow handlers only ).
2024-01-11 23:42:36 +01:00
DietmarSchwertberger
81e9373efa Add missing documentation of wxWindow accessibility functions
Ensure they're present in the interface header as this is also required
for wrapping them in other languages, such as Python.

Closes #24209.
2024-01-11 22:16:36 +01:00