Commit graph

43690 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Vadim Zeitlin
5dac42edc0 Merge branch 'datetime-f-fmt'
Add support for %F (ISO 8601 date) format specifier to wxDateTime.

See #24175.
2024-01-10 18:44:30 +01:00
Vadim Zeitlin
afc635f845 Merge branch 'aui-repaint'
Fix some wxAUI repaint problems and switch to using live resize
everywhere by default.

See #24166.
2024-01-10 18:43:24 +01:00
Vadim Zeitlin
4f666c227a Merge branches 'aui-close-on-all-fix', 'aui-current-after-drag', 'aui-hint', 'aui-tbar-realize' and 'aui-book-rm-current'
Merge miscellaneous AUI fixes and improvements.

See #24159, #24160, #24161, #24164, #24184.
2024-01-10 18:39:41 +01:00
Vadim Zeitlin
78a8da7142 Fix a typo in comment in wxGCDC::DoStretchBlit()
No real changes.
2024-01-10 18:15:47 +01:00
Vadim Zeitlin
6655f6e41c Fix wrong uses of wxBitmap::CreateWithDIPSize()
In portable code CreateWithLogicalSize() must be used when its arguments
are logical coordinates, e.g. window sizes, so using CreateWithDIPSize()
was wrong and resulted in missized bitmaps in high DPI under MSW.
2024-01-09 15:09:31 +01:00
Vadim Zeitlin
006a84db14 Use CreateWithLogicalSize() instead of ...DIPSize() in wxOSX
These functions behave in exactly the same way in this port, but using
CreateWithLogicalSize() seems to be more clear, as we're passing it the
coordinates in logical pixels (e.g. window sizes etc) and not DIPs.

No real changes.
2024-01-09 15:09:31 +01:00
Vadim Zeitlin
d254a7d752 Use wxBitmap::CreateWithLogicalSize() in wxSTC code
This is simpler than using ToPhys() to explicitly compute the needed
bitmap size and more clear.

No real changes.
2024-01-09 15:09:31 +01:00
Vadim Zeitlin
2cef35b321 Use wxBitmap::CreateWithLogicalSize() in wxMSW wxStaticBox code
This is slightly simpler and hopefully more clear than creating bitmap
using the physical size and then setting the scale factor.

No real changes.
2024-01-09 03:15:56 +01:00
Vadim Zeitlin
9cc5e5d276 Add wxBitmap::CreateWithLogicalSize()
This function should be used instead of CreateWithDIPSize() in portable
code, the latter is currently often used to do what this function is
doing, but this only works correctly in wxOSX and wxGTK3 but not wxMSW.
2024-01-09 03:15:56 +01:00
Vadim Zeitlin
d7b9548c19 Create output directory in wxFileConfig if it doesn't exist
This seems like the most sensible thing to do. Alternative would be to
not use XDG directories if ~/.config doesn't exist yet, but this doesn't
seem right, especially if wxCONFIG_USE_XDG is explicitly specified.
2024-01-08 02:02:18 +01:00
Vadim Zeitlin
6586afb0a5 Use XDG-compliant location by default in wxFileConfig
Still use the traditional dot file if it already exists, but prefer
using the new location otherwise, i.e. for the new program installation.

Add wxCONFIG_USE_HOME to allow forcing the use of the old location if
really necessary.

Also use the new style as default "old style" of MigrateLocalFile() so
that calling it even when using XDG layout in wxStandardPaths still
works as expected.
2024-01-08 00:43:26 +01:00
Vadim Zeitlin
e717ac5a86 Return more detailed errors from wxFileConfig::MigrateLocalFile()
Add the errors logged by various file functions called from this
function to the returned error message instead of letting wxLog show
them as usual because it may be necessary to show an interactive message
box, asking the user about the action to take, if migrating the existing
file failed, and it is poor UI to show both the message box from wxLog
and this message box at the same time -- so avoid showing the former.
2024-01-07 22:44:09 +01:00
Vadim Zeitlin
b294a6b2bc Merge branch 'config-xdg'
Make it easier to use wxFileConfig in XDG-compliant way.

See #24180.
2024-01-07 16:13:15 +01:00
Vadim Zeitlin
cc8fbeed56 Merge branch 'xml-conv-simplify'
Simplify and modernize wxXmlDocument code.

See #24179.
2024-01-07 16:12:31 +01:00
Vadim Zeitlin
2349586e28 Hide operator<<() overloads for wxString and related classes
As not defining operator<<() overload taking wxScopedCharBuffer in the
global scope prevents it from being considered as an overload resolution
candidate (which is, of course, the whole point), it also prevents it
from being used for the classes convertible to it, such as wxCharBuffer,
so we need to define operator<<() overloaded for the latter explicitly
too.

We also need a new wxScopedCharTypeBufferStreamSupport helper in order
to define different operators inside different specializations of
wxScopedCharTypeBuffer<>.
2024-01-07 00:28:16 +01:00
Artur Wieczorek
dc627da250 Use std::array instead of raw array in wxCursorProperty 2024-01-06 22:43:28 +01:00
Artur Wieczorek
084d70fbe2 Use std::array instead of raw array in wxFontProperty 2024-01-06 22:43:22 +01:00
Artur Wieczorek
8095672309 Use std::array instead of raw array in wxSystemColourProperty 2024-01-06 22:43:16 +01:00
Artur Wieczorek
080b778d17 Use std::array instead of raw array in wxColourProperty 2024-01-06 22:43:11 +01:00
Artur Wieczorek
72a909c971 Use std::array instead of raw array in wxUIntProperty 2024-01-06 22:43:06 +01:00
Artur Wieczorek
efa2870cb4 Rename wxPGKeyboardActions type to wxPGKeyboardAction
For regular enumeration singular name is more appropriate.
2024-01-06 22:42:55 +01:00
Artur Wieczorek
3cb3d62212 Use enum class to represent NumericType
This is for better type safety.
2024-01-06 22:42:49 +01:00
Artur Wieczorek
e7ab6a6d53 Use enum class to represent wxPGNumericValidationConstants
This is for better type safety.
2024-01-06 22:42:43 +01:00
Artur Wieczorek
ca3acd7a03 Use enum class to implement wxPGPropValFormatFlags as bitmask
This is for better type safety of the flags.
2024-01-06 22:42:38 +01:00
Artur Wieczorek
b681a80b96 Explicitly create all sub-controls in wxPropertyGridManager::Create()
Instead of deferring creation of wxPropertyGrid and other controls
to EVT_SIZE handler we can create them when wxPropertyGridManager
is created and its initial size is known.
This way we can avoid using a trick with magic number used as a flag
to determine when to create all controls in OnResize().

Closes #24171.
2024-01-06 22:42:23 +01:00
Vadim Zeitlin
94252d84b1 Merge branch 'msw-fix-hdr-memleak'
Fix memory leak in wxMSWHeaderCtrl in dark mode and some cleanup.

See #24192.
2024-01-06 17:40:01 +01:00