gEDA-dev: Embellishing light symbols with heavy attributes
Bernd Jendrissek
bernd.jendrissek at gmail.com
Fri Feb 1 06:28:28 EST 2008
Hi,
I would like some guinea pigs to check out my slotting / heavy-fying
mechanism and tell me what they think of it. It allows you to
separate your library of "light" symbols from your library of "heavy"
orderable-component symbols.
The changes to the libgeda + gschem sources are too many to
mention here. In short, the user-visible new features are:
* A new dialog: the Slot Chooser. It allows you to associate a light
symbol with any of the available slots in heavy components in your
schematic. It also supports arbitrary other actions through a
gschemrc-defined scheme function. The idea is to be able to query
the component library for as-yet-unplaced components that have
slots that support the selected light symbol.
* Another new dialog: the Slots Editor [ugh, overloaded name]. It
allows you to edit the slot objects (OBJ_SLOT, 'S') in a heavy symbol,
so you don't have to do it with vi. I was too tired to implement all
the buttons; activating a row in the tree view does work however.
* libgeda "inherits" attributes from slot owners into light symbols, so
gnetlist still works even though the heavy attributes aren't *really*
in the symbol it thinks it's looking at.
How to try it out:
1. Clone my geda fork from git://repo.or.cz/geda-gaf/berndj.git
2. Rebuild libgeda, gschem, and symbols. For symbols, you need to
./config.status --recheck && make [install]. My dialogs use libglade
if it's available, but should fall back to the generated C code if it isn't.
3. Copy system-gschemrc to your ~/.gEDA/, or just let "make install"
put it where it needs to be if you choose.
4. Open examples/random_circuits/common-emitter.sch and follow
the instructions on the schematic. Also open
symbols/transistor/2N3904-heavy.sym
and edit the slots it has (e + shift-T, or Edit > Edit Slots); double click
on the single row and add heavy attributes.
libgeda will be quite noisy on the console as it spews some debugging
info. I'll kill that eventually. I also expect valgrind to be somewhat
angry about leaked objects and the like.
Thanks in advance for your feedback.
More information about the geda-dev
mailing list