[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gEDA: GEDA code sprint?



DJ Delorie wrote:
> My ideas:
> 
> * Conversion programs can be installed in a user-defined menu.  When
>   selected, gschem saves the schematic, runs the program, and reloads
>   the schematic; preserving the zoom, pan, and option settings.
>   Consider options to save the highlighted symbol for the helper; for
>   example you could run gattrib from a menu option to edit the
>   properties of the highlighted symbol.

I'd love to see an easy way to define a menu and actions for the menu 
choices in scheme.  Actually, I've played around a bit with this and can 
easily add the menu.  I just haven't figured out how to add the 
callbacks directly in scheme but I haven't really tried yet.

I think it would be most cool to be able to load a user-defined menu 
while already running.  I'm thinking of something like changing major 
modes in emacs.  In my vision of the future, you could go into, for 
example, pcb mode and you'd have a pcb menu with a 'run gsch2pcb' option 
and whatever else makes sense for pcb.  In spice mode, you'd have 
something like "netlist create", "netlist and run", "run", "plot", 
"annotate", etc.

FWIW, I've been playing around with adding {de,}select-component hooks 
and also the same for nets in gschem and think I have it all working. 
PCB (in CVS) can currently take a --listen flag which causes pcb to 
listen on the standard input for actions.  This should be about 90% of 
whats needed for cross probing the layout.  In other words, click an 
element in the schematic and PCB selects it.  I just haven't had the 
free minutes to actually try it out...


My other lofty goal ideas;

*  make gnetlist truely support hierarchy.  By this I mean the ability 
to produce hierarchical netlists, not just a flattened netlist.  I think 
this is a pretty big deal.

* teach gschem about net names to make it easier to implement a "click 
and plot" feature (via the select-net-hook I mentioned earlier) in 
"spice-mode" or "gnucap-mode".

-Dan