I tend to lean toward Oliver's approach. Most CAD tools I've used have this type of includes vs intersects selection paradigm. I don't see the need to tie up the modifier key if we don't have to. I would prefer that we keep a modifier key open for something like orthogonal move.
On 5/8/2017 5:51 PM, Oliver Walters wrote: > I was approaching this from having used mechanical CAD tools where the > direction of selection is the standard approach. Whatever function is > chosen, it will still be required that the users adjust to the new > style, manuals updated, etc. > > Is assigning what is essentially the last remaining modifier key worth > it for this? > > On 8 May 2017 23:55, "Nick Østergaard" <[email protected] > <mailto:[email protected]>> wrote: > > 2017-05-08 14:59 GMT+02:00 Maciej Sumiński <[email protected] > <mailto:[email protected]>>: > > Hi Oliver, > > > > I took your set of patches for a test drive. I am glad that you > thought > > about the subtractive mode in the selection tool, it really fits > there. > > Regarding different selection modes - I like the idea, but I think the > > two modes should be more distinct, changing the selection direction > > might be not enough. > > > > I personally prefer modifier keys as we are used to in Gimp and > Inkscape. > > > I observed another user trying out the tool and he could not tell how > > does it work, but noticed it is a bit different than the old tool. > > > > Perhaps one of the following would work: > > > > - change the selection box colors so they are easier to tell apart (my > > mate was surprised to find out there were two colors for the > selection box) > > > > - change the mode using a key modifier (I think only Alt is left free) > > or mouse button > > > > - add an option to select the default mode (though I do not really > like > > having too many options to set) > > > > I agree with Tom about the geometry library. IIRC currently it is only > > used by the PNS router, but ultimately we would like to use it in the > > primary model. The library already provides methods to check for > > collisions between basic shapes, yet we still need a few more. > > It would be a pity to drop your code now, so perhaps we could > merge the > > code as is and fix the methods during the model refactor. > > > > Just to let you know, there are a few code formatting violations > (mostly > > not keeping two empty lines between method definitions in .cpp files), > > but as they are infrequent - I can handle them myself. > > > > Regards, > > Orson > > > > On 05/07/2017 02:11 AM, Oliver Walters wrote: > >> Maciej, > >> > >> That was it! Thanks for the hint. > >> > >> #0016 attached, which fixes both issues: > >> > >> a) No more double-selection of module and module-items (pads / > lines / etc) > >> in PCBNEW > >> b) Disable selection of entire module in MODEDIT > >> > >> As far as I can tell this patchset is now working very well. > >> > >> Regards, > >> Oliver > >> > >> On Sat, May 6, 2017 at 10:21 PM, Oliver Walters < > >> [email protected] > <mailto:[email protected]>> wrote: > >> > >>> Maciej, > >>> > >>> Thanks, I'll look into that. If you have a chance to look over > what I've > >>> done, I'd appreciate that :) > >>> > >>> On Sat, May 6, 2017 at 10:17 PM, Maciej Suminski > <[email protected] <mailto:[email protected]>> > >>> wrote: > >>> > >>>> Hi Oliver, > >>>> > >>>> I have not tested the patches yet, but my gut feeling says that > you miss > >>>> calling SELECTION_TOOL::selectable() to filter out redundant items. > >>>> > >>>> Regards, > >>>> Orson > >>>> > >>>> On 05/06/2017 09:21 AM, Oliver Walters wrote: > >>>>> Three further patch files attached: > >>>>> > >>>>> - Different color select box based on direction > >>>>> - Fixed HitTest for EDA_TEXT > >>>>> - Control modifier unselects anything in rectangle. > >>>>> > >>>>> The major piece of feedback I need right now is how to perfect the > >>>>> behaviour of the tool in PCBNEW and MODEDIT: > >>>>> > >>>>> a) PCBNEW > >>>>> > >>>>> Selecting part of a MODULE (right to left) will select both > the entire > >>>>> module and also any parts of the module that you touched > (lines, pads, > >>>>> etc). Then, when you move the module, the doubly-selected > items are > >>>> moved > >>>>> twice! It is hard to describe properly but if you try this you > will see > >>>>> what I mean. > >>>>> > >>>>> b) MODEDIT > >>>>> > >>>>> Selecting any item in the footprint selects the entire > footprint, which > >>>> is > >>>>> highly undesirable. In this case I think the best approach is > to filter > >>>> the > >>>>> MODULE from the selection entirely. But I am not sure how to > do this. > >>>>> > >>>>> Feedback welcome :) > >>>>> > >>>>> Regards, > >>>>> Oliver > >>>>> > >>>>> On Tue, May 2, 2017 at 5:25 PM, Oliver Walters < > >>>>> [email protected] > <mailto:[email protected]>> wrote: > >>>>> > >>>>>> I have attached a patch-set that implements "partial > selection" of > >>>> objects > >>>>>> when the selection box is dragged right-to-left. > >>>>>> > >>>>>> L -> R = Objects must be completely enclosed to be selected > >>>>>> R -> L = Objects that intersect the selection rectangle will be > >>>> selected. > >>>>>> > >>>>>> To achieve this I had to fix a lot of the HitTest > implementations as > >>>> this > >>>>>> was broken for most shapes, under a variety of edge cases > (some HitTest > >>>>>> code did not work at all). > >>>>>> > >>>>>> There are two issues I see as outstanding, and am unsure how to > >>>> proceed: > >>>>>> > >>>>>> 1. When editing a PCB, selecting part of a footprint (e.g. a > line of > >>>> the > >>>>>> courtyard) selects both that line and the entire footprint. > This causes > >>>>>> some issues when the footprint is dragged around the PCB. I > believe > >>>> that > >>>>>> the line should not be selected separately, but the entire > footprint > >>>> should. > >>>>>> > >>>>>> 2. The inverse of 1. In the footprint editor, selecting a single > >>>> graphical > >>>>>> item selects the entire footprint. Somehow I would like to > filter the > >>>>>> selection such that individual items are selected but NOT the > entire > >>>>>> footprint. > >>>>>> > >>>>>> Feedback please! :) > >>>>>> > >>>>>> I have fixed hit testing (both for wxPoint and EDA_RECT > comparison) > >>>> for: > >>>>>> > >>>>>> - Pads (all shapes) > >>>>>> - Lines > >>>>>> - Circles > >>>>>> - Arcs > >>>>>> - Text items > >>>>>> - Zones > >>>>>> - Footprints > >>>>>> > >>>>>> Cheers, > >>>>>> Oliver > >>>>>> > >>>>>> > >>>>>> > >>>>> > >>>>> > >>>>> > >>>>> _______________________________________________ > >>>>> Mailing list: https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers> > >>>>> Post to : [email protected] > <mailto:[email protected]> > >>>>> Unsubscribe : https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers> > >>>>> More help : https://help.launchpad.net/ListHelp > <https://help.launchpad.net/ListHelp> > >>>>> > >>>> > >>>> _______________________________________________ > >>>> Mailing list: https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers> > >>>> Post to : [email protected] > <mailto:[email protected]> > >>>> Unsubscribe : https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers> > >>>> More help : https://help.launchpad.net/ListHelp > <https://help.launchpad.net/ListHelp> > >>>> > >>> > >>> > >> > > > > > > > > _______________________________________________ > > Mailing list: https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers> > > Post to : [email protected] > <mailto:[email protected]> > > Unsubscribe : https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers> > > More help : https://help.launchpad.net/ListHelp > <https://help.launchpad.net/ListHelp> > > > > > > > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : [email protected] > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

