gEDA-dev: Hooking into selection changes

Peter TB Brett peter at peter-b.co.uk
Wed Aug 9 04:36:32 EDT 2006


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://www.seul.org/pipermail/geda-dev/attachments/20060809/6637fcfd/attachment.pgp


More information about the geda-dev mailing list