← Back to team overview

kicad-developers team mailing list archive

Re: block select


The patch seems to work, but....

Remembering the TAB key is asking a lot of the user. I myself may not remember it a month from now if I don't use the software everyday. And I would challenge your assertion that users expect a selection to happen on the "mouse down" rather than a "mouse click". By mouse click I mean the mouse release. I think there is user acceptance of either behavior in other software packages in general.

Because of the difficulty of remembering TAB, I am still leaning towards handling block selection on the mouse down, and single item selection on the click completion. Double click handling should also be at the completion of the second click. There may be a deficiency in wxWindows that makes this difficult to implement, but conceptually it seem like a solution to the problem if wxWindows can handle it.

I think we should both (or all) play with the software for a while and give it more thought.



You are right...
And the same problem exists for the double click command.

One possible solution is that we change that logic at line 94 by
moving it to a "mouse button up" handler, or at least the "completed
click handler". That way the single footprint selection and block
selection logic is mutually exclusive.

This solution works for the block commands, but it does not solve the double click command.

And users expect a selection rather at the beginning of the click than at its end.

What other solutions can you think of, or is this our best?

Can you try this solution (for the logic in line 94)
if ( ! wxGetKeyState(WXK_SHIFT) && ! wxGetKeyState(WXK_ALT) &&
! wxGetKeyState(WXK_CONTROL) && ! wxGetKeyState(WXK_TAB))
DrawStruct = PcbGeneralLocateAndDisplay();
if( DrawStruct )
SendMessageToEESCHEMA( DrawStruct );

If the single click popu menu is displayed, the copy block (or the double click command ) can be reached by pressing the TAB key, when clicking.
Other block commands do not change and they are always accessible.