Hi folks, I'm busy writing a widget for gschem that needs to update whenever the selection changes. At the moment, there's quite a lot of gschem code that uses the functions from libgeda's o_select.c to manipulate the selection directly. In addition, some libgeda functions manipulate the selection within libgeda. This causes problems: - It's impossible to make my widget work properly, because I can't get any sort of guarantee that the necessary callback function will be run when it needs to be. - The Scheme callback function o_select_run_hooks() suffers from the same issue. In fact, this causes problems for _any_ code that needs to monitor the current user selection. A fairly obvious solution would be to make SELECTION subclass GObject, and then to make any function that modifies a selection list emit a "selection-changed" signal on it. Any callback functions could then be registered using g_signal_connect() as appropriate. Anyway, since this would require *extensive* changes to libgeda and gschem, I would of course like some indication that it's okay to go ahead with it before ploughing in. :) And any simpler solution would be nice, if such a thing exists! Peter -- Fisher Society publicity officer http://tinyurl.com/o39w2 CUSBC novices, match and league secretary http://tinyurl.com/mwrc9 Quake II build tools maintainer http://tinyurl.com/fkldd v2sw6YShw7$ln5pr6ck3ma8u6/8Lw3+2m0l7Ci6e4+8t4Eb8Aen5+6g6Pa2Xs5MSr5p4 hackerkey.com
Attachment:
pgpJ03L2CeH14.pgp
Description: PGP signature
_______________________________________________ geda-dev mailing list geda-dev@xxxxxxxxxxxxxx http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev