This is not as much of a simplification as the previous two commits
because there is no simple replacement of EVT_MOUSE_EVENTS() using
Bind() and a loop over all mouse event types has to be written
explicitly, but it still avoids the need to allocate and delete a
separate object, so is still worth it.
There is no need to use a separate wxEvtHandler here when we can just
use Bind() to directly handle the child text control events in
wxComboCtrlBase itself, this code was a left over from pre-wx3 days.
No real changes, just make the code simpler and smaller (and also
marginally more efficient at run-time).
This function was always called after calling CreateTextCtrl() and
couldn't be called at any other moment, so it didn't make much sense to
have it as a separate function, just install the custom input handler
when (re)creating the text control.
This simplifies the derived classes code.
Don't use wxClientDC in WM_NCCALCSIZE handler as creating it results in
another WM_NCCALCSIZE in wxUniv due to the call to DoSetClippingRegion()
in its wxClientDCImpl::InitDC().
Using simple WindowHDC is also a small performance gain and is all that
we need as we just need some HDC for this window and should have
probably been done like this even back in a047aff270 (Added
wxBORDER_THEME..., 2007-08-07) in which handling WM_NCCALCSIZE was
added.
Closes#19221.
We don't need to cater for gcc < 3.1 any longer and can just use
-single_module option unconditionally.
This is simpler and avoids spurious errors about "unknown option" when
using -fsanitize=xxx in LDFLAGS from the script.
The new method is currently supported in Qt, Cocoa, MSW ports (i.e. all
major ones except for wxGTK).
Keyboard example updated with a "Repeat" column.
Closes https://github.com/wxWidgets/wxWidgets/pull/2414
We can produce simpler and more readable PostScript code by doing
the calculations of Bézier curve parameters in the code instead
of delegating this task to the PostScript processor.
Drawing Bézier curves is supported natively in SVG so these curves
should be used instead of generic wxDC implementation based on
polygonal approximation.
Exclude just the single test which fails when using Wine, but not all
the rest of them.
This is again similar to the grand-parent commit for the file functions
tests.
Using c_str() for arguments to wxString::Printf(), Format() and
wxLogXXX() is useless since wx 2.9 days, so simply remove them.
No real changes, this is just a (long due) cleanup.
Add an assert to this function checking that the index is valid before
using it with wxGridOperations::GetLineStartPos(), and actually avoid
calling the function when this is not the case to avoid assertion
failures when wxEVT_GRID_CELL_LEFT_CLICK is handled in user code.
Also add comments clarifying the preconditions for calling various
drag-related functions.
Closes#19218.
This reverts commits 7d796c6aa6 (Install python3 and pip for httpbin,
2021-06-27) and 3808e6a28d (Install winbind package required for using
wxWebRequest with Wine, 2021-06-28) as we skip wxWebRequest tests anyhow
under Wine because they don't work with its WinHTTP implementation, so
running httpbin is not necessary any longer and so neither is installing
Python.
These commits are still preserved in history and this commit itself
could be reverted later if Wine WinHTTP becomes functional enough to run
wxWebRequest tests successfully.
Ideally these failures ought to be debugged and fixed, but this is not
really critical as the tests pass under native MSW systems, so it seems
like the failures are due to problems in Wine rather than with the tests
themselves, so for now simply skip the failing tests to let the entire
build pass.
Use wxTEST_RUNNER in this test, which can be/is set to "wine" by the
GitHub wxMSW CI workflow and can also be set manually if necessary, to
make executing MSW commands under non-MSW systems have a chance to
actually work (but note that the tests still fail when run under Wine).
This should address
009a:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is
outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually,
you can find it in the winbind package of your distribution.
Wine error and the subsequent test failures.
We must be able to create windows even in non-GUI tests for the windows
used internally, e.g. the one created during wxSocket initialization, so
ensure Xvfb is running before the tests start.