kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #29380
Re: [FEATURE] Partial selection in pcbnew
-
To:
<kicad-developers@xxxxxxxxxxxxxxxxxxx>
-
From:
Maciej Suminski <maciej.suminski@xxxxxxx>
-
Date:
Sat, 6 May 2017 14:17:58 +0200
-
Authentication-results:
spf=pass (sender IP is 188.184.36.50) smtp.mailfrom=cern.ch; lists.launchpad.net; dkim=none (message not signed) header.d=none;lists.launchpad.net; dmarc=bestguesspass action=none header.from=cern.ch;
-
In-reply-to:
<CAMfgvU_Cid3SPQuQih=EiWRqOUhECWFdsCAKPjy6gN7wO9yiFg@mail.gmail.com>
-
Spamdiagnosticmetadata:
NSPM
-
Spamdiagnosticoutput:
1:99
-
User-agent:
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
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> 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
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp
>
Follow ups
References