kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #29419
Re: [FEATURE] Partial selection in pcbnew
In the improved selection tool Ctrl switch to subtractive selection mode.
Regards,
Orson
On 05/09/2017 07:22 AM, Andrey Kuznetsov 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> 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
>>
>>
>
>
>
>
> _______________________________________________
> 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
>
Attachment:
signature.asc
Description: OpenPGP digital signature
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
-
Re: [FEATURE] Partial selection in pcbnew
From: Andrey Kuznetsov, 2017-05-09