← Back to team overview

kicad-developers team mailing list archive

Re: Tool-assisted selection disambiguation

 

Jeff,

This sounds like a new feature.  Given that we are in a feature freeze
and have plenty of work to do to get ready for the upcoming stable 5
release, lets hold off on this until the stable 6 development opens up.

Thanks,

Wayne

On 01/04/2018 07:16 PM, Jeff Young wrote:
> Ehh… that probably need a bit of background.
> 
> When you try to drag a corner of a track, Kicad always annoys you with a
> selection disambiguation menu (because there are two segments connected
> at the corner).  Same for dragging a via with one or two tracks connected.
> 
> This change fixes that by allowing tools to register filters which are
> run by the selection tool (which shouldn’t know anything about their
> specific semantics) before invoking the disambiguation menu.
> 
> Cheers,
> Jeff.
> 
> 
>> On 5 Jan 2018, at 00:11, Jeff Young <jeff@xxxxxxxxx
>> <mailto:jeff@xxxxxxxxx>> wrote:
>>
>> I’ve got a version of this up and running.
>>
>> So far I’ve only written one filter which works for dragging a simple
>> track corner, or a non-fan-out via.  But even that is pretty nice.
>>
>> I’ve got a TODO for a footprint filter for ctrl/cmd-E.  It could also
>> be used for Exchange Footprints and Show Local Ratsnest in case anyone
>> assigned hotkeys to them.
>>
>> So should I stash this and wait for 6.0, or is this the kind of thing
>> we’re still accepting into 5?
>>
>> Cheers,
>> Jeff.
>>
>>
>>> On 2 Jan 2018, at 13:10, Jeff Young <jeff@xxxxxxxxx
>>> <mailto:jeff@xxxxxxxxx>> wrote:
>>>
>>> There’s a bug report[1] which complains that every time you attempt
>>> to drag a track corner it asks you which track (when of course they
>>> share the same corner).
>>>
>>> The SELECTION_TOOL shouldn’t know about this kind of stuff, though,
>>> so I propose to add a client filter to
>>> SELECTION_TOOL::RequestSelection().
>>>
>>> Something along the lines of:
>>>
>>> SELECTION_TOOL::RequestSelection( int aFlags, 
>>>                                
>>>   std::function<void(GENERAL_COLLECTOR&)> aClientFilter )
>>>
>>> Comments?
>>>
>>> Thanks,
>>> Jeff.
>>>
>>> [1] https://bugs.launchpad.net/kicad/+bug/1503679
>>> [2] The SanitizeSelection() routines might also be candidates for
>>> moving to this architecture.
>>
> 
> 
> 
> _______________________________________________
> 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