lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lmi] F2 in wxGrid checkbox cell


From: Vadim Zeitlin
Subject: Re: [lmi] F2 in wxGrid checkbox cell
Date: Fri, 17 Jul 2020 01:44:56 +0200

On Thu, 16 Jul 2020 10:31:26 +0000 Greg Chicares <gchicares@sbcglobal.net> 
wrote:

GC> On 2020-07-15 21:25, Vadim Zeitlin wrote:
GC> > On Wed, 15 Jul 2020 18:29:23 +0000 Greg Chicares 
<gchicares@sbcglobal.net> wrote:
[...]
GC> >  FWIW wxGrid previously "started editing" the boolean cells when F2 was
GC> > pressed too, but this was definitely surprising, as the cell being edited
GC> > had the same appearance as the cell not being edited, except for the lack
GC> > of focus rectangle. And it was especially bad for ending editing, because
GC> > you had to "accept" the changes by pressing Enter (or Tab) or clicking
GC> > outside the cell, but it was easy to forget to do it because there was no
GC> > visual clue that the cell was being edited.
GC> 
GC> Is there some relatively easy way we could experiment
GC> with both behaviors, e.g., by applying some small
GC> patch and rebuilding wx? I ask because it's often
GC> easier to evaluate alternative behaviors by playing
GC> with both. One idea would be a throwaway patch that
GC> leaves the F2 behavior as is, and maps F3 to the
GC> previous wxGrid behavior you describe above.

 We could indeed do this easily enough, but, trust me, we don't want to go
to the old behaviour: while I might be not sure about what is best, I am
very certain that it was worse.

GC> BTW, that sounds weird to me, for a different reason:
GC> other controls (comboboxes, for instance) that ask
GC> the user to make a choice do not end editing as soon
GC> as a choice is made.

 Funny that you should say this because I've recently merged a patch to
wxGridCellChoiceEditor which changes it do exactly this (see
https://github.com/wxWidgets/wxWidgets/commit/857bb9e80684a4edb980b722cfd36b18441bf97d
if you're curious). I hesitated to do it initially, but after experimenting
with it a bit, I've decided that it was really better to make it behave
like this: you almost never want to change the choice you've just made, but
it is annoying to have to accept the choice you've made once again after
making it.

 There is unfortunately no easy way to test this behaviour in lmi easily
because it relies on the code added in that commit, but you can see it if
you modify the commit used by install_wx.sh to the one above and rebuild
wxWidgets.

GC> Yet this leads me down a new line of inquiry...
GC> 
GC>  - Should Space be a synonym for F2?

 Generally speaking, no. F2 is a universal "start editing" shortcut, while
Space may mean something else, or even nothing at all (e.g. it's difficult
to imagine what could it reasonably do in a cell accepting only numeric
entry). It just so happens that they do the same thing in boolean cells
right now, but it's nothing more than a coincidence.

GC>  - Then why do we even ask what Space should do?

 I don't know, but then I don't really ask this. IMO it's pretty clear that
Space should toggle the checkbox drawn in the grid because it can be used
to do it with any real checkbox.

GC>  - Might end users think of Space as the census
GC> manager's begin-editing key, because of previous
GC> experience with the wxDVC implementation? Or would
GC> they have used F2 for that purpose, as I did because
GC> of my experience with disco-era spreadsheet programs?
GC> Or, these being modern times, would they avoid the
GC> keyboard and just use the mouse or tap the screen, in
GC> which case we don't need to worry about what F2 does?

 For an average computer user, I'm quite sure that the last hypothesis is
the correct one. Maybe lmi users differ from the average, but in this case
I can only hope that they will find Space behaviour convenient. As for F2,
I think it's pretty much unknown nowadays and also difficult to discover if
you don't already know about it, so I wouldn't worry that much about any
complaints about it (which doesn't mean that I wouldn't improve it if I
could, but I just don't see how).

GC> > So I've finally implemented the current solution which never shows
GC> > the editor (i.e. the actual wxCheckBox control) at all, as it just
GC> > seems to work best in practice. And it also happens to work in the
GC> > same way as in wxDVC, so should be familiar to the users of the
GC> > existing lmi version.
GC> 
GC> Comparing the wxDVC and wxGrid census managers,
GC> when a checkbox cell is selected: Space does the
GC> same thing in both, but F2 behaves differently,

 Just to be clear: by "in the same as in wxDVC" I meant that now the
checkbox is toggled directly instead of entering a separate editing mode.
This was a much more important difference, as it applied to all methods of
editing, including Space, mouse click and "-" and "+" keys. The remaining
difference is almost unnoticeable in comparison.

GC> which might surprise users accustomed to the
GC> old behavior. Again, we'll want to consult them.

 Sure, I am always glad to have user feedback, but I'd be rather surprised
if people told you that the fact that F2 toggles the checkbox now when it
did nothing before is a problem. Why would people rely on the behaviour of
a key which used to do nothing?

 Regards,
VZ

Attachment: pgp1tjhukNgC2.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]