Commit Graph
5541 Commits
Author SHA1 Message Date
Vadim Zeitlin 3c93711f4b Don't show the window if it is currently hidden in Raise()
Behaviour of this function when the window was hidden was inconsistent:
it didn't show the window in wxMSW but did in wxGTK (where doing this
broke decoration size computation logic, see #25348) and partially did
(meaning it was broken) in wxOSX.

Fix this in the simplest possible way and don't show the window in all
ports now, as it seems to be a safer change than starting to show it in
all of them.

Also document this behaviour.

Closes #18762.
2026-02-28 15:47:22 +01:00
Vadim Zeitlin 475182cd9c Merge branch 'auibook-split'
Improve wxAuiNotebook splitting behaviour.

See #26233.
2026-02-27 14:52:53 +01:00
Vadim Zeitlin 33a595c9aa Merge branch 'auibar-findtool-fix'
Fix for right/middle click handling in wxAuiToolBar and related cleanup.

See #26243
2026-02-27 14:52:00 +01:00
Vadim Zeitlin 66b13fcc30 Don't accumulate timer events when calling YieldFor() in wxMSW
Repeated calls to this function could result in unbounded input queue
growth because timer events were synthesized for each call to it, put
back into the queue if not processed, and then another event would be
synthesized again during the next call.

Fix this by discarding timer events instead. This is not ideal when
using one-off timers, but better than the alternative.

Document this limitation of wxMSW.

See #26204.

Closes #26192.
2026-02-27 14:49:54 +01:00
Vadim Zeitlin d1a283cb84 Resize all AUI panes to have the same size in the split direction
This is not ideal because it loses the sizes before splitting, but is
better than preserving the same sizes for the existing docks as we did
before because this resulted in there not being enough size for all of
them and some docks became completely hidden.

A future improvement could consist in preserving the current proportions
of the docks, but it's not really clear if it's worth doing this.

Closes #26081.
2026-02-26 23:36:31 +01:00
Vadim Zeitlin ed768ceaf5 Use new wxAuiManager::CalculateNewSplitSize() from wxAuiNotebook
Add a new function doing what the function with the same name in
wxAuiNotebook used to do but doing it better, i.e. at least not
returning a hardcoded 180x180 size if there are 2 or more existing
panes.

The current, very simple, algorithm seems to be not too bad (and using
1/N seems to be better in practice than using 1/2^N), but it could be
always improved in the future.

Document the existing virtual wxAuiNotebook::CalculateNewSplitSize() as
well because it provides a way for the application to customize the size
used for the splits if the default algorithm is not appropriate.
2026-02-26 23:36:31 +01:00
Vadim Zeitlin b9628930bd Add wxAuiManager::SplitPane()
This function is very simple for now, but it needs to be in wxAuiManager
itself, and not in wxAuiNotebook, where it previously was, to be
enhanced later.

It can also be useful for splitting any kind of panes, not just the
notebook one.
2026-02-26 23:36:31 +01:00
Vadim Zeitlin 68b689f85b Don't push/pop event handlers for showing popup menu
Just use GetPopupMenuSelectionFromUser() which handles this internally.

Also document that ShowDropDown() returns -1 if the menu is dismissed.

No real changes.
2026-02-24 23:44:29 +01:00
mcorino d0405788c2 Allow passing null config to wxHtmlHelpWindow::UseConfig()
Null argument is allowed in wxHtmlHelpController::ReadCustomization()
and is potentially useful here to prevent the use of a dangling pointer.

Also explicitly document that this parameter can be null.

Closes #26238.
2026-02-24 16:49:05 +01:00
Vadim Zeitlin 0aaf8a964e Make wxSizerItem::GetRect() const
There is really no reason for it not to be.

There also doesn't seem to be any reason for it to be virtual, but keep
this just to warn any people who override it in their code so that they
could add "const".
2026-02-23 20:25:26 +01:00
Vadim Zeitlin fed72e53a4 Merge branch 'msw-menu-appearance-fixes'
Appearance fixes for wxMSW menus in dark mode.

See #26182.
2026-02-23 11:24:42 +01:00
Vadim Zeitlin 4f9b9ff2d3 Add a note about rectangle position to wxWindow::GetRect() docs
Explicitly say that the position is relative to the parent for child
windows but display origin for the TLWs.
2026-02-22 13:52:57 +01:00
Vadim Zeitlin 1528506767 Merge branch 'autoscroll-zone' of github.com:wsu-cb/wxWidgets
Make wxScrolled<> autoscroll region configurable.

See #25978.
2026-02-21 21:23:18 +01:00
Vadim Zeitlin 29e6610a50 Merge branch 'qt-artprov' of github.com:AliKet/wxWidgets
Add wxArtProvider implementation for wxQt.

See #26210.
2026-02-21 20:13:14 +01:00
Bill Su 673ee930e7 wxScrolled<>: simplify autoscroll zone config API 2026-02-21 00:52:13 -05:00
Vadim Zeitlin b0d50ffe91 Add wxGLContext::GetProcAddress()
Implement this function as a trivial wrapper for wglGetProcAddress(),
glXGetProcAddressARB() or eglGetProcAddress() depending on the platform
(currently not implemented for macOS).

Account for the known bug in some Windows OpenGL drivers by checking for
manifestly invalid return values and handling them as null.

Use the new function in wxGL code itself and in the pyramid sample.

Closes #9215.

Closes #26209.
2026-02-20 15:26:58 +01:00
ali kettab 79f8446ddb Update wxRenderer::DrawTitleBarBitmap() documentation 2026-02-20 00:28:25 +01:00
Vadim Zeitlin 11e5cae93a Document wxStockHelpStringClient used by wxGetStockHelpString()
This should have been done in e80d78c2c9 (Document
wxGetStockHelpString() function, 2026-02-04) as all types used by the
documented functions should themselves be documented.

Closes #26206.
2026-02-19 14:31:49 +01:00
Maarten Bent 02cff90601 Change return type of wxGetTranslation
Change it from 'const wxString&' to just 'wxString' so there is no need to keep a copy around of untranslated strings.
This allows to remove thread_local UntranslatedStringHolder used by GetUntranslatedString, which causes many problems with MinGW.

Fixes #26195.
2026-02-15 22:16:40 +01:00
Bill Su 4ab8c81222 wxScrolled<>: simplify autoscroll configuration API 2026-02-14 23:15:16 -05:00
Bill Su 46bd5ff160 wxTipWindow: fix some documentation typos
See #25978.
2026-02-14 22:06:01 +01:00
Vadim Zeitlin 2fdad1d246 Document wxScrolled::Set{Inner,Outer}ScrollZone() 2026-02-14 22:05:33 +01:00
Vadim Zeitlin f8de4bc084 Replace recently added wxFrame::Modality with wxWindowMode
Don't make the modality enum wxFrame-specific as a very similar enum was
also used with wxDialog.

Replace both of them with wxWindowMode defined in the common header.

Also use "Normal" instead of "None" to avoid conflict with a symbol
defined in X11 headers.

See #26147, #26188.

Closes #26183.
2026-02-14 19:31:44 +01:00
Mohmed abdel-fattahandVadim Zeitlin e8e92529d5 Fix appearance of owner drawn menus in dark mode
Also fix appearance of the menus with breaks by making them owner drawn.

Co-Authored-By: Vadim Zeitlin <vadim@wxwidgets.org>
2026-02-14 16:39:10 +01:00
Vadim Zeitlin 15850a5de5 Merge branch 'dt-format-t'
Add forgotten support for %T to our own wxDateTime::Format() code.

See #26180.
2026-02-11 13:51:26 +01:00
Vadim Zeitlin 9aa2abcd80 Improve documentation of POSIX extensions to strftime()
Mention that wxWidgets internal implementation may be used in this case
and replace the mention of MSVC (whose CRT now supports these
extensions) with MinGW.
2026-02-11 13:50:08 +01:00
Lauri Nurmi d7fd467f18 Add wxTextEntryDialog::SetHint()
Sets the hint text for the underlying wxTextCtrl.

Closes #26176.
2026-02-11 13:46:22 +01:00
AliKet ceab6b93e4 Add documentation for wxFrame::SetWindowModality() 2026-02-10 21:00:59 +01:00
Daniel Collins acd8b7295e Document that wxApp::OnExit() should be called from overrides
And update the samples to follow the advice in the documentation.

Closes #26173.
2026-02-10 01:05:59 +01:00
Vadim Zeitlin 688b55206b Add support for requesting adaptive VSync to wxGLCanvas
Mimic the low level OpenGL APIs by allowing to pass -1 to
SetSwapInterval() to request adaptive VSync and implement this for GLX
and WGL.

Change return type of SetSwapInterval() to allow returning a value
indicating that enabling adaptive VSync failed but standard VSync could
still be set.
2026-02-07 16:30:53 +01:00
Vadim Zeitlin 104dad301d Add wxGLCanvas::SetSwapInterval() and GetSwapInterval()
Allow setting the swap interval value or not setting it at all instead
of always forcing it to 0.

The changes of 3dde6bdeb0 (Disable swap interval in GLX wxGLCanvas
implementation too, 2023-12-25) are not always desirable, so allow to
customize the behaviour.

Implement this for Unix (GLX and EGL) backends for now and allow testing
using these functions in the cube sample.

See #24163, #24165.
2026-02-06 17:57:33 +01:00
mcorino 109ad87d64 Fix wxPropertyGridInterface::SetPropertyImage() documentation
It takes wxBitmapBundle by const reference, but "const" was omitted.

Closes #26158.
2026-02-04 22:15:35 +01:00
Vadim Zeitlin 5a95c14a39 Minor corrections to standard IDs documentation
Remove misleading Doxygen comments copied from the comments in C++
header which didn't make sense here.

Improve the documentation of menu ID ranges.
2026-02-04 15:14:06 +01:00
Vadim Zeitlin e80d78c2c9 Document wxGetStockHelpString() function
It was added back in 345319d60c (fixes to menu stock items support
(patch 1547639), 2006-09-05) and even if it's not particularly useful,
it still should be documented, so add documentation for it.

See #8090.
2026-02-04 15:08:04 +01:00
arch1t3cht 2ccb240df3 Document wxGLAttributes::Default no longer using multi-sampling
This was changed in 46857a73ba (Don't use multi-sampling in
wxGLAttributes::Defaults(), 2023-02-14) but the documentation wasn't
updated.

Closes #26143.
2026-02-01 14:58:44 +01:00
Vadim Zeitlin 21b5e055ca Merge branch 'generic-treectrl-col'
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.10 (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Update Documentation / Update Online Documentation (push) Has been cancelled
Show generic wxTreeCtrl in the sample and improve its colours under MSW,
in both light and dark mode (although the latter could/should still be
improved to be made more similar to the native control).

See #26123.
2026-01-30 00:08:18 +01:00
Lauri Nurmi 7945150061 Remove implementation details from wxGetLinuxDistribution() docs
An introduction to lsb_release is unnecessary, and saying it is very
common on modern Linux distributions is an exaggeration, at least today.

And besides those, the details are not even accurate since
aef7df6 (Read Linux distribution info from os-release file, 2023-07-14)
(#23712), which made lsb_release the fallback method for obtaining
information.

Closes #26125.
2026-01-28 13:27:39 +01:00
Vadim Zeitlin b4f09add01 Merge branch 'wxbitmapbundlesvgimpl-refactor' of github.com:MaartenBent/wxWidgets
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.10 (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
Update Documentation / Update Online Documentation (push) Has been cancelled
No Response / no-response (push) Has been cancelled
Refactor wxBitmapBundleImplSVG: reduce code duplication by adding
wxBitmapBundleLunaSVG and wxBitmapBundleNanoSVG that implement
DoRasterize().

Allow to use SVG size in wxBitmapBundle::FromSVG() by default.

See #26116.
2026-01-28 01:40:49 +01:00
Blake-Madden 00d87581c0 Update wxFrame documentation for macOS style
Document deprecation of metallic look style on macOS.

Closes #26114.

Closes #26119.
2026-01-28 01:13:57 +01:00
Scott Talbert de3f658ca4 Fix wxAuiDefaultToolBarArt::Get{Label,Tool}Size "dc" params type
They are now wxReadOnlyDC and not wxDC.

Closes #26122.
2026-01-28 01:11:40 +01:00
Vadim Zeitlin 22e93d723a Map wxSYS_COLOUR_LISTBOXHIGHLIGHTTEXT to LISTBOXTEST in wxMSW
This is a better value for this colour than the previously used
wxSYS_COLOUR_HIGHLIGHTTEXT which doesn't provide good enough contrast
with the background of the selected items.

Also mention that this colour should provide good contrast in this case.

See #26118.
2026-01-28 01:10:33 +01:00
Vadim Zeitlin 9b312abc75 Add wxIMPLEMENT_DYNAMIC_TEMPLATE_SPECIALIZATION()
This will be used in the upcoming commit.
2026-01-28 01:10:33 +01:00
Robert Roebling e3c25deebb Add wxSYS_COLOUR_LISTBOXHIGHLIGHT
Unlike wxSYS_COLOUR_HIGHLIGHT, this returns the background of the
selected items, not the selected text.

Closes #26109.
2026-01-28 01:06:27 +01:00
Maarten Bent 99abe09211 Allow to use SVG size in wxBitmapBundle::FromSVG
If no default size is provided, get the size from the SVG.
2026-01-25 22:07:59 +01:00
Vadim Zeitlin 8245e1073a Improve documentation of null wxDialog parent
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.10 (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
Update Documentation / Update Online Documentation (push) Has been cancelled
No Response / no-response (push) Has been cancelled
Mention wxDIALOG_NO_PARENT in the documentation of the parent parameter
as people who don't know about this style are not going to see this
style documentation either.

See #23560.
2026-01-25 01:43:52 +01:00
Vadim Zeitlin 6bf31c76f7 Merge branch 'display-raw-ppi'
Add wxDisplay::GetRawPPI().

See #26082.

Closes #26080.
2026-01-18 00:53:07 +01:00
Vadim Zeitlin 19067dd4f1 Merge branch 'point-ctor-round-document'
Document change in wxPoint(wxRealPoint) behaviour and provide
alternatives.

See #26100.
2026-01-18 00:52:06 +01:00
Randalphwa 6228eaf449 Add support for using LunaSVG for SVG rasterization
Optionally use LunaSVG library from the new submodule instead of
NanoSVG.

Closes #25902.
2026-01-18 00:48:57 +01:00
Vadim Zeitlin 13de999a2b Fix typo in OnUnhandledException() documentation
The name of this function itself was mistakenly used instead of
OnExceptionInMainLoop() which was meant.

Closes #26101.
2026-01-16 13:45:52 +01:00
Vadim Zeitlin 69ad684156 Add wxPoint::Truncate() and Round() static function
Provide a simpler way of creating wxPoint from wxRealPoint by
truncating, instead of rounding, its coordinates.
2026-01-15 18:40:38 +01:00