[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: PCB property tweak dialog [was PCB Ground Plane - Autowiring?]



On Tue, 2009-02-03 at 11:33 -0500, Ethan Swint wrote:
> I agree with Kai on this.  Moving back'n'forth between PCB and text 
> breaks the undo/redo history and I frequently get interrupted and then 
> forget which editor - PCB or text - has the changes I want.  
> One feature that I use quite frequently in Inkscape (vector graphics 
> program) is the ability to bring up the XML data and manipulate it 
> directly.  It parses into a nice tree and clicking on a leaf brings up 
> the XML data directly related to that leaf. 
> 
> I've yet to dig into PCB's innards, but I'd be willing to help code this 
> with a bit of mis/in/direction...  Give me a holler, on- or off-list, if 
> you can provide a little guidance.

Interesting one.. and I suspect, tricky.

Since PCB doesn't store its internal structures in a way which directly
maps the file-format (sensible), handing off to a text-editor would
require the equivalent of saving the board contents to a file (or memory
buffer), then editing that.

The problem then comes at having to re-parse (possibly) the whole file
each time the user edits it (or wants to update their board on screen).
Then what happens if the user types a syntax error?

Oh.. and parsing the file, computing polygons etc.. is expensive - look
at the load time of a complex board with polygons (I'm working on it,
but haven't made great headway yet).

I'd personally suggest that we get the GUI up to the point where you can
do what you want directly, in preference to investing lots of time to
provide a bad GUI (text editing) to a relatively unfriendly file-format.

I'll pretty much only be happy if $EDITOR is gvim, and I know others
would feel the same about emacs, or "n" other editors. We ought not to
try and reinvent those wheels inside PCB.


IMO, the way this ought to be done, is similar to how my own favourite
editor, GVIM works.. If you modify the file outside the running program,
when you switch back... it notices - and asks if you want to reload.
Your flow would then be "save", "switch apps", "respond to prompt to
reload".

We could / probably should prompt to warn if there are unsaved changes
on the board, but the file has changed on disk. If we were _really_
smart, we might make the reload step part of the undo stack. 


-- 
Peter Clifton

Electrical Engineering Division,
Engineering Department,
University of Cambridge,
9, JJ Thomson Avenue,
Cambridge
CB3 0FA

Tel: +44 (0)7729 980173 - (No signal in the lab!)



_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user