← Back to team overview

kicad-developers team mailing list archive

Re: Patch to fix a boundary box bug


Brian Sidebotham wrote:

2009/11/17 Dick Hollenbeck <dick@... <mailto:dick%40softplc.com>>:
> Brian Sidebotham wrote:
>> 2009/11/17 Rob Frohne <rob.frohne@... <mailto:rob.frohne%40wallawalla.edu>>:
>>> Thanks Brian,
>>> This behavior has bothered me a lot as well. I think your patches will
>>> improve things.
>>> How do you make the boundary boxes visible? I have had a lot of trouble
>>> selecting things with the present method because I would have to guess
>>> what things might be in the selection box and I was usually wrong.
>>> Seeing the box helps a lot.
>>> Also, I took a look at the code to see if we could have a control left
>>> click keep selecting items and add them to the selected list. I got
>>> sidetracked on this task, but I still think it would be a big help as
>>> well. It appears your skills are better than mine. You might want to
>>> look at it too. :-)
>>> Rob
>> Hi Rob,
>> Look at the Draw method in class_sch_component.cpp under the eeschema
>> source directory. In current SVN line 235 is where you want to look.
>> You can remove the #if(0) and corresponding #endif directives in the
>> code to see the boundary boxes. It is very useful when you're trying
>> to work out what is going on!
>> Multiple selection would be nice to have with Ctrl+Click, especially
>> if common properties could then be edited for the selection. I am
>> trying to fit in bug fixes at the moment as and when I trip over them.
>> I'm under pressure to get a PCB design into production though so my
>> time is extremely limited.
>> Best Regards,
>> Brian.
> Of the two use cases:
> 1) apply the same operation to multiple objects
> 2) tell the app which of multiple objects under the cursor you are
> talking about
> I think 2) wins in frequency.
> We have (or had) in our to do list the desire to add the Collector
> support to eeschema. This is a feature that I added to PCBNEW very
> early on after I joined the team. The result of the collector then
> drives a "Selection Clarification" menu which I'm sure you have all
> seen. This serves us well in PCBNEW, why not stick with this plan,
> which is already in place? With such support it is not essential to
> know the bounds of a box, because when you have multiple mouse hits at a
> given coordinate, the menu tells you what was collected. If only one
> object was HitTest()ed, then the menu is skipped.

Hi Dick,

This patch simply fixes a bug in the component boundary calculations
where invisible fields are included in the boundary calculations. In
some cases this can mean that it's currently impossible to select some
other schematic items because component boundaries are much larger
than their drawn items.

Best Regards,


And it was a very annoying bug indeed! In some cases, I had to delete a whole component to select the one that was being masked by it, and that solution only came after many frustrating attempts to do it some other way. :-)

So far, I have spent more time with eeschema than pcbnew. I'll see if I can play with pcbnew enough to get your selection choice dialog. Maybe it would be pretty easy to put it into eeschema. I do agree that they should operate the same way, but I also think they should follow some user interface guidelines, because my interest in kicad is to use to teach students, and they appreciate it if the tool uses familiar methods of user interface.

I love the ability of eeschema to bring up the pdf of a part. It makes designing so much easier than without that little handiness.


Rob Frohne, Ph.D., P.E.
E.F. Cross School of Engineering
Walla Walla University
100 SW 4th Street
College Place, WA 99324
(509) 527-2075	http://people.wallawalla.edu/~Rob.Frohne/