kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #29403
Re: [FEATURE] Partial selection in pcbnew
-
To:
kicad-developers@xxxxxxxxxxxxxxxxxxx
-
From:
Wayne Stambaugh <stambaughw@xxxxxxxxx>
-
Date:
Mon, 8 May 2017 18:34:55 -0400
-
In-reply-to:
<CAMfgvU82r=GOeD-jHb7hyedf=g=BLVYk0rE8Zu8GF=ag1N11Sg@mail.gmail.com>
-
User-agent:
Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0
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" <oe.nick@xxxxxxxxx
> <mailto:oe.nick@xxxxxxxxx>> wrote:
>
> 2017-05-08 14:59 GMT+02:00 Maciej Sumiński <maciej.suminski@xxxxxxx
> <mailto:maciej.suminski@xxxxxxx>>:
> > 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 <
> >> oliver.henry.walters@xxxxxxxxx
> <mailto:oliver.henry.walters@xxxxxxxxx>> 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
> <maciej.suminski@xxxxxxx <mailto:maciej.suminski@xxxxxxx>>
> >>> 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 <
> >>>>> oliver.henry.walters@xxxxxxxxx
> <mailto:oliver.henry.walters@xxxxxxxxx>> 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 : kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> >>>>> 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 : kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> >>>> 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 : kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > 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 : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp
>
Follow ups
References