They didn't reset the existing selection when used without Shift and
didn't extend the selection when used with Shift.
Fix both of these problems by reusing the existing logic from
GoToRelativeRow() and, added in this commit, GoToRow() which was
extracted from GoToRelativeRow().
Closes#19068.
This is not an event handler itself, so it shouldn't use "On" prefix
which is reserved, by convention, for the event handlers.
It also doesn't need wxKeyEvent, but just wxKeyboardState, so change its
signature accordingly. This will notably allow to use it from mouse
event handlers too if necessary.
No real changes.
A single line MSW wxTextCtrl created with a value too long to fit into
it continued showing the value only partially even if its size was
subsequently increased to allow the entire value to be shown.
This apparently happens because changing the native EDIT control size
doesn't affect its (horizontal) scroll offset. Moreover, there doesn't
seem to be any way to explicitly tell the control to update it neither,
except for changing its text.
So do change its text every time its width changes, as long as it is not
visible (because visible jumps in the visible text position could be an
even worse problem than the one we're trying to solve here). This fixes
the originally reported bug at the cost of a bunch of extra calls to
DoWriteText() which should hopefully be not too expensive for single
line controls that don't typically contain that much text.
Closes#18268.
Respect wxTE_PROCESS_TAB and wxTE_PROCESS_ENTER flags even for readonly
text controls. Previously there were ignored for them due to the changes
of 080c709f70 (fix for handling TAB presses in readonly text controls,
2002-09-07), but there doesn't seem to be any good reason to do this, so
revert the changes of that commit by removing IsEditable() check from
our WM_GETDLGCODE handler.
We also need to avoid inserting TABs into readonly controls ourselves in
the default wxEVT_CHAR handler, so add a check for IsEditable() there to
compensate for the fact that these events are now received even for the
readonly controls.
This commit is best viewed ignoring whitespace-only changes.
Closes#19064.
The order of refcounting operations should be the opposite of what it
was: first check if the path is not watched already and only if it is
not call m_service->Add() to actually watch it. (Previously reference
count was kept track of, but m_service->Add() was always called, i.e.
the calls were repeated and unbalanced with Remove() calls.)
Remove() already has the correct order and only calls
m_service->Remove() when the path's refcount reaches zero.
This fixes a problem which was there since the original code was added
back in 76cfd1bf95 (Make wxFileSystemWatcher watch entries
reference-counted., 2012-10-15).
Closes https://github.com/wxWidgets/wxWidgets/pull/2203
This might break using it with the older versions, but it's not clear
whether we still need to support them, so for now apply the simplest fix
which works with the recent NDK and we'll add configure tests later if
we really need them.
See https://github.com/wxWidgets/wxWidgets/pull/2195
wxPG_ACTION_EDIT should not be considered done when wxPGProperty is
not editable (i.e. is disabled, read-only, is a wxPropertyCategory)
to prevent from blocking secondary actions (like
wxPG_ACTION_NEXT_PROPERTY) in this case.
Closes#19060.
Simply remove the premature "return true" which was somehow added back
in df13791078 (Merge wxQT branch into the trunk., 2014-08-24) and add
WX_GL_MAJOR_VERSION support.
These functions incorrectly multiplied an increment of wchar_t pointer
by sizeof(wchar_t), which made the result quite wrong, so just don't do
this.
See 744ea8a618 (For Android (wxQT), add private wcstol, wcstoul and
wcstod, 2015-02-11).
This is supposed to always be the same as HAVE_GETHOSTBYNAME, but
wasn't, because the latter was explicitly defined for Android after
defining the former as it.
Check for DrawThemeTextEx availability only once, which also seems to be
what ddceaab001 (Remove MSW wxUxThemeEngine class, 2017-10-27) intended
to do here by already introducing a static function pointer. Simply add
an init guard, also because the repeated check is not a cheap operation
(judging by comparing performance with drawing short texts).
Closes https://github.com/wxWidgets/wxWidgets/pull/2196
This reverts commit 8e26b8d54e because it
has been superseded by 17239d5c3d (macOS add fallback for retrieving
color channels from dynamic system colors on pre 10.14 systems,
2021-01-26) in master.
See #18977.
Get rid of ms_isInitialized as it must be kept synchronized with
ms_loaderDll.IsLoaded() anyhow, and it's simpler to not have it at all
rather than ensuring this.
Also ensure that calling Initialize() again, after doing it first
unsuccessfully, doesn't assert because ms_loaderDll is already loaded,
by only leaving it with a valid handle if the initialization succeeded.
Closes#19041.
wxGtkValue class was added back in 3f84cb17ca (Add wxActivityIndicator
control., 2015-03-06), but somehow never used. Start using it now
(better late than never...) as it makes the code simpler, shorter and
more robust.
No real changes.
Assume that hidden windows do accept focus because, even if this is
still wrong, in general, it is less harmful than wrongly returning false
from CanFocus() for them.
Closes#18987.
Move existing code for sending wxEVT_DATAVIEW_ITEM_EDITING_DONE to a new
sendEditingDoneEvent:isCancelled function and also call it, with true
argument, from cancelOperation: to generate the expected event.
Closes#17835.
This is more consistent with the other ports and allows to use
wxEVT_CHAR_HOOK handler to preempt processing of the accelerators (but
notice that under macOS this only works for accelerators that are part
of wxAcceleratorTable and not those associated with the menu items, as
the latter ones are not handled by this code at all).
Also simplify the code structure a little by getting rid of an
unnecessary and more confusing than helpful "handled" variable.
Check accelerator tables when handling wxEVT_CHAR_HOOK, not
wxEVT_KEY_DOWN, as we don't get the latter at all for some events, e.g.
Cmd-Alt-1 doesn't generate wxEVT_KEY_DOWN (which looks like another bug)
but does generate wxEVT_CHAR_HOOK.
Closes#13937.