On Mon, 23 Jan 2012 08:41:22 -0700
Michael Torrie <torr...@gmail.com> wrote:
> On 01/23/2012 02:18 AM, Manuel Ferrero wrote:
> > Il 20/01/2012 18.08, Jack ha scritto:
> > 
> >> However, that is separate from knowing that the button has been
> >> pushed, so you can then start the communications. For this, is
> >> there any reason to use a custom signal? Wouldn't it be easier to
> >> catch the standard signal emitted when a button is pushed, by
> >> attaching a call-back routine?
> > 
> > Infact there is no need for a custom signal once you know about
> > GIOChannel. But my question was intended for general cases. If I
> > need to trigger a complicated task when a button is pushed I'll
> > write a callback to manage the standard signal in which I'll start
> > my $COMPLEX_PROCESS then return. The question was about how to
> > write $COMPLEX_PROCESS: it doesn't involve GUI so it doesn't have
> > any standard signal, but I'd like to have the signal-callback
> > paradigm and I was wondering if GTK gives me some tool or if I have
> > to rely on an external infrastructure for it.
> 
> GTK indeed gives you a tool for generating your own signals.  You can
> then catch them normally.

This runs the risk of being horribly misunderstood.  You don't "catch"
emissions from GSignal objects, you connect to them (you "catch" unix/C
asynchronous signals and interrupts).  And rather than "generating" a
GSignal, you implement a GObject which registers the signal in its
class init function to connect to, and emit on the signal.

But the OP's reference to GIOChannels (which don't use GSignals) may
indicate that he wants something different, namely to execute an event
in a glib main loop.  g_idle_add() is available for that.

Chris
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to