These functions always returned the first partially visible line, not
the first fully visible one as intended because IsXXXShown() always
returned true when it applied to that line and we need to increment the
index first, before calling it -- even if this requires writing the loop
in a slightly uglier way.
This fixes bugs in commits 0920a1646b (Make wxGrid row selecting more
user friendly, 2020-03-04) and 89dd47edee (Make wxGrid column selecting
more user friendly, 2020-03-04).
Show the selected cells/rows/columns/blocks instead of just showing
their number, as we now have an efficient (i.e. taking time proportional
to the number of selected blocks and not to the number of the individual
cells, rows or columns) way of doing this.
See #2576.
Don't use long-lived non-const "block" reference, this makes it
difficult to see that it's never changed until the very end of the
function, when it's updated.
Compare "blockStart" with "block" itself instead of comparing it with
"newBlock" which is initially its copy but gets modified later (however
these modifications don't affect the comparisons involving it).
Add a comment explaining why are we doing what we do here.
Explicitly remove noexcept before static-casting the member function
pointer to the base class pointer type to avoid compilation error with
C++17.
Add a test checking that this does work now.
Closes#18721.
Make command line instructions for vcpgk more similar to those used
for example for nmake. The MS Windows command line does not use $ as
the command prompt and batch files are more commonly used then Unix
shell scripts.
Closes https://github.com/wxWidgets/wxWidgets/pull/1785
Don't assume that files in /sys are 4KiB in size, their actual size is
equal to the kernel page size which varies depending on the architecture
and kernel build options.
We already check that IsOk() returns true before calling these methods,
there is no need to do it again inside them.
Generally speaking, private functions may rely on public ones doing the
precondition checking.
It must use wxGenericAnimationCtrl as the base class in wxRTTI, as
otherwise wxAnimation::IsCompatibleWith() would fail in this case for
the generic implementation of wxAnimation.
Expanding the selection from keyboard with Ctrl pressed should move in
the same way Ctrl-cursor does, but use the same selection anchor as
Shift-cursor does instead of always using the current cell.
This makes the expansion work much more intuitively in the grid, e.g.
pressing Shift-Ctrl-Down in
1 2
3 4
grid when 1 and 2 are selected now selects all the cells instead of
selecting 1 and 3 as it did before.