[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-dev: Hooking into selection changes



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