[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: Code Sprint prep.
> (1) for the implementation of the ":foo" process. Specificly this, I
> would like to change the dialog from a dropdown menu to a more
> vim-like prompt on the bottom of the window. For now I'd like to
> give a go at allowing up/down keys for history, so I don't need to
> use a mouse.
The lesstif HID does it this way; the : key replaces the status bar
with a command prompt window. I have no idea how to do it in gtk, but
it's all going to be in src/hid/gtk/*
> (2) for drc() window focus, so you can deal with each DRC
> individually, as it appears. That way there is no need to re-call
> drc().
Lesstif does this also, so again, a gtk hid thing.
> (3) adding non-90deg rotates. I found rotate.{ch}, and I think I
> have a grasp on those routines, but where do I look for the calls to
> the functions in rotate.c.
This is more interesting. I've asked Harry about this, and there's a
bunch of things that need to know about rotated parts (specifically,
rotated pads) in order for it all to work right.
There are a couple of things that can be worked on independently:
* The code to draw non-90 pads. Easy to test; make a footprint file
and edit the pads with a text editor to be at an angle. Use the
library window to add it to a blank board and make sure everything
works. Specifically, square pads at odd angles need to be drawn as
polygons for gerber output.
* The code to rotate things by other than 90 degrees. rotate.c does
the work (or should). The calls come through the rotate tool in
src/action.c via Notify(). Be careful - free rotation can easily
mess up spacing due to rounding errors. I'm thinking that storing
the rotation angle in the element, rather than actually rotating it,
avoids this; although it makes everything else more complex.
A separate action that free-rotates might be safer, less likely to
be accidentally invoked. Also easier to specify the angle, like
:RotateAny(35)
* Everything else, like drc, autorouter, optimizer, connection
checking ("find"), reports, etc.
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user