There is no need to have them as they were identical for all platforms.
This basically reverts 5b87bd6c0b (Split wxPanel in wxPanelBase and
platform-specific files., 2011-03-20) as, 10+ years later, it turns out
that we're not going to have more MSW-specific parts, but none of them.
No real changes.
All the necessary declarations should be available in the SDK headers of
any still supported compilers.
Note that we still need to keep the run-time checks because the task
dialog may be unavailable even in the latest OS versions when using old
comctl32.dll, as it happens if the application doesn't have a manifest
specifying the use of comctl32.dll v6.
See #22689.
Now that XP is not supported any longer, we can assume that functions
using locale names are always available and they're preferable, so
remove the LCID-based wxUILocale implementation.
Supporting XP requires too many hacks, and while it wouldn't be very
difficult to support Vista as long as we support Windows 7, it's still
not worth it because nobody uses this system anyhow.
Remove most of XP-specific code and don't use wxDynamicLibrary for using
the functions not present in it any longer.
Don't use <wspiapi.h> neither as we shouldn't use it any more.
Update some comments to not mention Windows versions not supported any
longer and also remove mentions of "Vista and newer Windows versions"
from the documentation as this is now always the case.
This commit is best viewed ignoring whitespace-only changes.
For some applications turning off double buffering for individual
windows may be infeasible, so allow doing it globally using this system
option.
Note that wxAutoBufferedPaintDC still does no buffering in wxMSW now,
even when this option is set, so setting it will result in flickering in
any code using it. The solution is to use wxBufferedPaintDC directly in
the programs that use this option.
Closes#22953.
This code was simplified by 16473d9b19 (Make class used as template
parameter local now that we can, 2022-11-11) but we can simplify it even
more by just getting rid of this class completely and using a small
lambda as the event handler.
No real changes.
Use __func__ without checking if the compiler supports it, it's part of
C++11 and so should be supported by all compilers.
Also use __func__ instead of __WXFUNCTION__ in our own code.
No real changes.
This makes the code simpler, as it avoids the need for packing/unpacking
the operation parameters into helper classes and allows to remove
WeightValue completely, and potentially more efficient, as the calls
should be inlined now instead of being performed via a function pointer.
No real changes otherwise.
This gets rid of a hack with unnecessary TextCtrlImpl ctor argument and
allows to reuse AddToLayoutAndReturn() for ChoiceImpl, requiring 2
arguments and not (at most) 1, as all the other classes, too.
No real changes, this is just a simplification/prettification.
Address a minor TODO-C++11 comment in the dialogs sample by moving the
class declaration into the function using it, now that we don't have to
keep it outside it.
This commit is best viewed with Git --color-moved option.
It's only available in comctl32.dll v6.10, not under Windows Vista or
later, i.e. it can be not available even in the latest Windows versions
if comctl32.dll v5.82 is used, as is the case for all applications not
specifying that they use comctl32.dll v6 in their manifest and, in
particular, in the applications not using a manifest at all.
This function is currently only implemented in wxMSW and wxUniv and just
asserts under the other platforms.
Also add a helper GetTabOrientation().
Update the documentation and add a minimal test case for the new
function.
Closes#22941.
Always use thread_local as we can rely on compiler TLS support working
under Windows 7 and later.
There are some known problems in MinGW thread local variable support,
but they only affect (obsolete) 32-bit builds and will hopefully be
fixed in this compiler soon.
See #22917.
Ensure that the right DPI is used for scaling the font for the owner
drawn menu items in wxMSW instead of always using the standard DPI,
which resulted in the menu being too narrow and truncating part of the
label.
Closes#22957.
The code of this function was used in two places, factor it out into
just a single one before modifying it -- see upcoming commit.
No real changes yet.
Add wxNODISCARD macro which is defined as [[nodiscard]] if supported,
or the compiler-specific equivalent if one exists or nothing if not
available.
Start using it for some places with a risk of memory leak.
Closes#22943.
Get rid of a big amount of non-trivial drawing code at the price of
having to switch to using a control label if the foreground colour is
changed, as we can't change the label colour otherwise now.
The only known drawback of this change is that the box will flicker now
if doubler buffering is disabled. But as long as we do use double
buffering, it shouldn't be a problem.
This is similar to the changes of 020b6ebcb8 (Derive from wxTextEntry
instead of wxTextCtrlBase, 2019-12-29) for wxGTK and removes the methods
that don't exist in the other ports from the generic wxSearchCtrl too.