← Back to team overview

kicad-developers team mailing list archive

Re: [FEATURE] Partial selection in pcbnew

 

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