kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #29414
Re: [FEATURE] Partial selection in pcbnew
What's CTRL taken by?
I thought CTRL would be used to toggle grid snapping?
On Mon, May 8, 2017 at 3:39 PM, José Ignacio <jose.cyborg@xxxxxxxxx> wrote:
> Or switching between object and grid snap :)
>
> On Mon, May 8, 2017 at 5:34 PM, Wayne Stambaugh <stambaughw@xxxxxxxxx>
> wrote:
>
>> 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
>> >
>>
>>
>> _______________________________________________
>> 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
>>
>
>
> _______________________________________________
> 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
>
>
--
Remember The Past, Live The Present, Change The Future
Those who look only to the past or the present are certain to miss the
future [JFK]
kandrey89@xxxxxxxxx
Live Long and Prosper,
Andrey
Follow ups
References
-
[FEATURE] Partial selection in pcbnew
From: Oliver Walters, 2017-05-02
-
Re: [FEATURE] Partial selection in pcbnew
From: Oliver Walters, 2017-05-06
-
Re: [FEATURE] Partial selection in pcbnew
From: Maciej Suminski, 2017-05-06
-
Re: [FEATURE] Partial selection in pcbnew
From: Oliver Walters, 2017-05-06
-
Re: [FEATURE] Partial selection in pcbnew
From: Oliver Walters, 2017-05-07
-
Re: [FEATURE] Partial selection in pcbnew
From: Maciej Sumiński, 2017-05-08
-
Re: [FEATURE] Partial selection in pcbnew
From: Nick Østergaard, 2017-05-08
-
Re: [FEATURE] Partial selection in pcbnew
From: Oliver Walters, 2017-05-08
-
Re: [FEATURE] Partial selection in pcbnew
From: Wayne Stambaugh, 2017-05-08
-
Re: [FEATURE] Partial selection in pcbnew
From: José Ignacio, 2017-05-08