Wednesday, 12 May 2010

Coordinate prompts in gschem

Way back when I was a kid I learned a bit of AutoCAD, having spent some time at a naval architect firm on Friday afternoons while my stepdad was having a beer with his mates. I wasn't big into beer, rather into computers, so Christo put me in front of their CAD station and showed me a few basics. Somewhere along the line I also had AutoCAD at home (probably a bootleg copy), and there I learned about AutoLISP, probably even programmed a few simple macros in it.

The possibility of giving gschem a similar capability has been haunting me for quite a while, knowing that it couldn't possibly be that hard, since it already uses Guile for its scheme magic. And now, recently I've taught gschem to let a scheme expression ask for coordinates:



Here I'm getting the REPL to trigger a prompt for a place to put a NAND gate. Actually running this script is a little less in-your-face, and you might not notice it in the screenshot, so I'll apply my magic red marker:


I won't show you a screenshot of the NAND gate once it's on the schematic, because that'd just be boring. Also this function exposes a bug in gschem: the drawing area doesn't refresh after the call to (add-component-at-xy ...)

I'm still tying up some loose ends in the interface related to keyboard focus going to the wrong widget, and I'm not convinced the combobox is the right affordance. Alternatives?

No comments:

Post a Comment