kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #29434
Re: [FEATURE] Partial selection in pcbnew
Brian,
Welcome back! It's good to hear from you after such a long absence.
Cheers,
Wayne
On 5/10/2017 6:18 AM, Brian Sidebotham wrote:
> I've been away from the coal face for so long. I've just been catching
> up with the list and can't wait to compile the latest!
>
> Good work to all who've been doing some amazing work recently!
>
> Hopefully I'll be able to start contributing again soon. :)
>
> Brian.
>
> On 10 May 2017 at 10:41, Maciej Sumiński <maciej.suminski@xxxxxxx
> <mailto:maciej.suminski@xxxxxxx>> wrote:
>
> Hi Oliver,
>
> Thank you very much for your effort, I have just pushed your patches to
> the master branch.
>
> Regards,
> Orson
>
> On 05/09/2017 09:32 AM, Oliver Walters wrote:
> > Two more patches for this set (attached)
> >
> > 0017 - Slight fix for arc segment hit test (line width was not
> accounted
> > for)
> > 0018 - SELECTION_AREA color now indicates selection mode as
> discussed above:
> >
> > a) Normal selection = BLUE
> > b) Addition selection = GREEN (Shift modifier)
> > c) Subtraction selection = RED (Control modifier)
> >
> > Additionally the line color indicates whether it is window
> selection (left
> > to right) or crossing selection (right to left). This is in lieu
> of making
> > the line dashed which does not seem to be possible unless that is
> added to
> > GAL_CAIRO and GAL_OPENGL.
> >
> > Regards,
> > Oliver
> >
> > On Tue, May 9, 2017 at 3:22 PM, Andrey Kuznetsov
> <kandrey89@xxxxxxxxx <mailto:kandrey89@xxxxxxxxx>>
> > wrote:
> >
> >> 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 <mailto:jose.cyborg@xxxxxxxxx>>
> >> wrote:
> >>
> >>> Or switching between object and grid snap :)
> >>>
> >>> On Mon, May 8, 2017 at 5:34 PM, Wayne Stambaugh
> <stambaughw@xxxxxxxxx <mailto: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>
> >>>>> <mailto: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>
> >>>>> <mailto: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>
> >>>>> <mailto: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>
> <mailto: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>
> >>>>> <mailto: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>
> >>>>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> >>>>> >>>>> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> >>>>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> >>>>> >>>>> Unsubscribe :
> https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> >>>>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> >>>>> >>>>> More help : https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> >>>>> <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> >>>>> >>>>>
> >>>>> >>>>
> >>>>> >>>> _______________________________________________
> >>>>> >>>> Mailing list: https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> >>>>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> >>>>> >>>> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> >>>>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> >>>>> >>>> Unsubscribe : https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> >>>>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> >>>>> >>>> More help : https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> >>>>> <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> >>>>> >>>>
> >>>>> >>>
> >>>>> >>>
> >>>>> >>
> >>>>> >
> >>>>> >
> >>>>> >
> >>>>> > _______________________________________________
> >>>>> > Mailing list: https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> >>>>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> >>>>> > Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> >>>>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> >>>>> > Unsubscribe : https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> >>>>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> >>>>> > More help : https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> >>>>> <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
> <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>
> >>>
> >>>
> >>
> >>
> >> --
> >> 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 <mailto:kandrey89@xxxxxxxxx>
> >> Live Long and Prosper,
> >> Andrey
> >>
> >> _______________________________________________
> >> 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
>
References
-
[FEATURE] Partial selection in pcbnew
From: Oliver Walters, 2017-05-02
-
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
-
Re: [FEATURE] Partial selection in pcbnew
From: Andrey Kuznetsov, 2017-05-09
-
Re: [FEATURE] Partial selection in pcbnew
From: Oliver Walters, 2017-05-09
-
Re: [FEATURE] Partial selection in pcbnew
From: Maciej Sumiński, 2017-05-10
-
Re: [FEATURE] Partial selection in pcbnew
From: Brian Sidebotham, 2017-05-10