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 [email protected] http://www.seul.org/cgi-bin/mailman/listinfo/geda-user

