← Back to team overview

kicad-developers team mailing list archive

Re: Re: eeschema: how to handle component references

 

Hi Tim,

Tim Hanson escreveu:
Yes, I have been worried about the fact that this may piss a number of
people off. The changes are very significant -- I've modified at
least half of the files in eeschema/. A branch seems like a very
reasonable way to handle this design change, and integrate changes as
I get feedback. I will investigate it,

I vote for it, I believe that this is an important improuvement.

but, of course, I hope that it
will ultimately be used in the distribution, especially given all the
work I've put into it! I'll just keep modifying my branch until there
is overbearing reason to use it (like import gEDA files..)

Please don't put two improvements in the same branch. It may be a bad publicity...

Alain

Concerning 'maintaining' a schematic, that still, to me, seems like
the 'wrong' way to do things. I'm a firm believer that once coded, a
clear, efficient algorithm integrated at the correct place will save
everybody time, and in the process of writing /debugging it, all the
code it touches will be further polished.

As for C/C++, this has left me yearning for a better level.. I have no
problem with C++ used properly, but there /has/ to be a better way to
do this lisp? Ocaml? haskell?

Tim

On Jan 21, 2008 6:00 PM, Dick Hollenbeck <dick@...> wrote:






Tim,

This is a significant design change, and with it you might take home
some marbles or you might end up on everybody's shit list, depending on
what it adds and what it breaks. My original thoughts on this I've
already expressed. I'll briefly restate them here: a feature like this
could more safely be done by a separate utility which auto generates
sheets for the stock, unmodified eeschema. The auto generation process
can be done any way that makes sense, including using a template
schematic (the one you *maintain* as a circuit designer, and the whole
point of the discussion is that only one sheet is maintained).

Having said that, there are clearly and certainly other potentially
excellent paths to the end goal, which stated again is roughly:
"maintain one sheet, use several sheets like it".

Because your changes are significant, they would require non-trivial
amounts of time for me to formulate an informed opinion on them.
Unfortunately I do not want to spend that time now, and it would be
easier if the code were in a place where we could see it. Maybe you
could create a branch/tim directory in the svn repository and put your
changes in there in directories where a person could pull those out and
have them overwrite the base line working copy. See the subversion
manual if you have questions. I can envision a partial tree consisting
of the files that have changed only.

In any case the opinions will eventually roll in, either favorably or
unfavorably. So you may end up being a hero, I am not saying one way or
another here. This whole "macro templating" concept can be taken
further of course, and has been done so in other places in life.


> I'm on the gEDA developer list, too, and they do not have this
> feature; rather than updating the references based in instantiation,
> they put the path in the netlist. We are, kinda, competing with
> them.. two free software products still competing! -- this would put
> us 'ahead' :) (In addition to all the work done on pcbnew.. and the
> fact we use c++ not vanilla c)
>

What do we get if we win, or capture the lead? If it was a real
valuable prize, I might actually begin to feel like I was competing and
do more. ;-)

Yes, the decision to use C is a curious one. There are folks who
prefer to program on their hands and knees, or who have never looked up
off the ground to see what they are doing. And some of those folks will
tell you they are doing it the "right way", and actually believe it.
Different strokes....


> thanks & sorry about the long email,
> Tim
>
> ps. Dick: I had some look at the visitor design pattern -- it looks
> cool

It is a "directed visitor design pattern". I have not seen anything
like it anywhere else. So I am inclined to hereby ordain it the
"tourist" design pattern, because a tourist vists with a guide, whereas
what visitor visits is not defined, but in the typicial visitor software
design pattern it is usually "every destination".

Dick Hollenbeck
SoftPLC Corporation
http://softplc.com


> and i wanted to try to solve the GetScreen() issue without
> resorting to a 'virtual BASE_SCREEN*' (as this requires typcasting to
> any of the derived classes), but, I couldn't come up with any better
> solutions. :(
>
>





Yahoo! Groups Links











Follow ups

References