It doesn't seem like it is meant to be overridden, so don't imply that
it should be possible to do it and make it non-virtual.
Also rename to DoTranslateBorder() to make it more clear that this is a
private function and not part of the public API.
Finally, improve its comment and never return wxBORDER_THEME from this
functions if themes support is off.
The default wxBORDER_SUNKEN uses 2px border and one of those pixels is
white, which is too light in the dark mode, so don't use it by default.
See #23622.
This function was added back in a047aff270 (Added wxBORDER_THEME,
wxWindow::GetDefaultBorderForControl(), wxWindow::CanApplyThemeBorder(),
2007-08-07) but seems to have been made completely unnecessary by
dc797d8e1b (More border rationalisation. GetDefaultBorder is now mostly
defined in base class files., 2007-11-13) soon afterwards and never did
anything other than returning wxBORDER_THEME, with no explanation as to
when it might be useful to override it not to do it.
It also doesn't seem to be really used anywhere outside wxWidgets and
has never been documented, so make it non-virtual and deprecate it to
avoid confusion and simplify things.
In the note about building wxWidgets with MinGW makefile and using
parallel build, explain that "-jN" option cannot be used when building
"setup_h" target.
Closes#23642.
We need to check for the column row to avoid generating an event with an
invalid index, which may result in a crash in the application code.
Closes#23636.
libwebkit2gtk-4.1 has the same API as libwebkit2gtk-4.0, except that the
former links with libsoup-3.0 and the latter links with libsoup-2.4.
Fixes#23630.
Checking LOCATION{_CONFIG} property on interfaces is only supported since CMake 3.19.
Also check the LOCATION and IMPORTED_LIBNAME properties for possible library locations.
Fixes#23632
The _NL_WALTMON_xxx constants used since 5b424ea181 (Add wxUILocale
methods for getting month and day names, 2023-05-24) are only available
in glibc 2.27 or later.
See #23191.
Since 1c64bd506c (Use grep instead of fgrep and egrep, 2023-05-10) EGREP
wasn't defined in CMake build any longer, so finding the correct config
script always failed.
Fix this by using "grep -E" directly instead of "$EGREP".
Avoid implicit copy constructor warnings by using
wxDECLARE_DYNAMIC_CLASS_NO_ASSIGN_DEF_COPY/wxDECLARE_NO_ASSIGN_DEF_COPY
instead of wxDECLARE_DYNAMIC_CLASS_NO_ASSIGN.
Closes#23625.
Closes#23626.
CMake's has built-in support for checking xkbcommon using FindX11 since
3.18.
But because older CMake versions are supported, add our own module that
checks if the header and library is available.
See #23410.
Closes#23613.
XPM files demonstrating the use of wxBitmapBundle in the XRC files
were not copied when building the XRC sample with CMake.
This should have been part of eaa769a (Use wxBitmapBundle in
wxBitmapComboBox XRC handler, 2022-02-09).
Closes#23612.
Fix compilation errors when wxNO_RTTI and wxUSE_UIACTIONSIMULATOR are
on, but one or more of wxUSE_COMBOBOX, wxUSE_CHOICE and wxUSE_LISTBOX
are off.
Closes#23611.
This reverts commit cd637663c8 (Add wxWindow::MSWAfterReparent() virtual
function, 2022-10-16) and removes wxListCtrl::MSWAfterReparent() added
in ff629f3853 (Fix drawing wxListCtrl since enabling double buffering by
default, 2022-10-16) which is not used any more now.
Clear the cached attributes when replacing the table they were used
with.
Add unit test checking that the attributes are not used any longer.
Closes#23607.
It seems that simply creating wxPaintDC, i.e. calling BeginPaint(),
ourselves and then letting the native control draw into it, disables
whichever optimizations are used by the control that break its drawing
with WS_EX_COMPOSITED, so always do this in our OnPaint(), even if we
don't need to draw anything ourselves.
This allows to avoid disabling WS_EX_COMPOSITED when wxListCtrl is used,
which resulted in horrible flicker before.
See #23585.
For some reason, "DarkMode_Explorer" theme started drawing vertical item
separators under Windows 11 even though it did not do this under Windows
10. These separators are unwanted, as they are not shown in the Explorer
list control that we try to emulate, and look ugly because they are
shifted by 1px compared to the separators drawn by the header control
with "ItemsView" theme, which is the only one in which the header looks
right in dark mode.
So explicitly erase everything below the last item when using dark mode
under Windows 11 to get rid of these separators.
Unfortunately drawing just the selected item ourselves and let the
control draw all the other ones doesn't work too well as the offsets
used for the items differ between Windows versions and so it's difficult
to get them right, but getting them wrong is very noticeable as when
browsing through the control the current item seems to jump because it's
shifted compared to the other ones.
So just draw all the items ourselves: this is not as nice as letting
Windows do it, but it ensures that they use consistent positions.
Fix wxSocketImpl::RecvDgram() when caller requests fewer bytes than
are present in datagram, as we must always read all the available bytes
when using UDP -- they are not buffered by the OS and so won't be
provided by the next Read() call.
Closes#23594.
Closes#23604.
This was accidentally broken by the previous changes and the C-level
locale was not set at all any more, even when using wxLocale (and not
just wxUILocale, which is not supposed to set it) under macOS.
Fix this by explicitly calling setlocale() on this platform to restore
the previous, and documented, behaviour.
Closes#23557.
See #23603.
None of the major ports need the removed code anyhow. We can always restore it
later if any of the (still) supported ports are affected by this removal.
This fixes several minor bugs in the loading of `BI_BITFIELDS` bitmaps,
related to handling different header sizes and the colour and alpha
masks.
Closes#23601.