On Wed, 2008-10-08 at 14:50 +0200, Werner Hoch wrote: > Hi Peter B, > > On Dienstag, 7. Oktober 2008, Peter TB Brett wrote: > > On Tuesday 07 October 2008 18:58:30 Werner Hoch wrote: > > > He're the current hack of the component selector: > > > http://repo.or.cz/w/geda-gaf/werner.git?a=commitdiff;h=2b0ae504fa60 > > >5f4e36a4 54109883222344b39bb1 > > > > Hrm. My way, ugly though it might be, would be to utilise in some way > > the fact that the preview pane fully loads the symbol. I assume you > > are, right? > > That's how it is currently implemented. > > > The o_complex_get_promotable() function could probably be made a > > wrapper around a function that filters an object list for promotable > > attributes. That would be of greater general utility *and* more > > elegant at the same time, IMHO.
Did you look how it is implemented? > Yes. No, the rules are complex. It isn't just about a list of attributes, it is about visibility as well, and various magic settings in TOPLEVEL. There is not much point in trying to abstract a filter backend to pick out the specifically named attributes in this case, since we have to look at each attribute anyway. > A function that collects all toplevel attributes. > e.g. > GList *o_attrib_get_all_toplevel_attributes(TOPLEVEL *toplevel, OBJECT > *head) > > This function should not take the complex object. It should just take > the underlying object->complex->prim_objs->next. > > That function could also collect toplevel attributes if it's called with > the object_head of a current page. e.g. attribute from symbols or > toplevel schematic attributes (author, date, revision...) Sounds like the way to go, even if the name is a bit long. since "attributes" is plural, do we need the "_all_" part? -- 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-dev mailing list [email protected] http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev
