Home | History | Annotate | Download | only in gobject

Lines Matching full:signal

1227     The signal system which was built in GType is pretty complex and
1232 <para>A Python callback can be connected to any signal on any
1236 to any signal and to stop the emission of any signal at any
1237 state of the signal emission process. This flexibility makes it
1251 "changed" signal.
1262 The <type>MamanFile</type> signal is registered in the class_init
1277 and the signal is emitted in <function>maman_file_write</function>:
1292 could used it for, see <xref linkend="signal-detail"/>
1296 The signature of the signal handler in the above example is defined as
1321 The previous implementation does the job but the signal facility of
1324 process of writing data to the file part of the signal emission
1331 signal emission mechanism, we can register a default class closure
1332 for this signal which will be invoked during the signal emission,
1333 just like any other user-connected signal handler.
1338 the signal: we need to pass around the buffer to write and its size.
1345 and use the Makefile provided in <filename>sample/signal/Makefile</filename> to generate the file named
1351 Once the marshaller is present, we register the signal and its marshaller in the class_init function
1353 <filename>sample/signal/maman-file-complex.{h|c}</filename>):
1377 closure is registered as the default class_closure of the newly created signal.
1389 g_print ("default signal handler: 0x%x %u\n", buffer, size);
1396 triggers the signal emission:
1410 The client code (as shown in <filename>sample/signal/test.c</filename> and below) can now connect signal handlers before
1411 and after the file write is completed: since the default signal handler which does the write itself runs during the
1412 RUN_LAST phase of the signal emission, it will run after all handlers connected with <function><link linkend="g-signal-connect">g_signal_connect</link></function>
1413 and before all handlers connected with <function><link linkend="g-signal-connect-after">g_signal_connect_after</link></function>. If you intent to write a GObject
1458 default signal handler: 0xbfffe280 50
1469 clue. the whole idea of storing the signal ids inside the Class
1483 create a signal with a default handler than this one. Some people have tried to justify that it is done
1490 way to create a signal with a default handler than to create
1491 a closure by hand and to use the <function><link linkend="g-signal-newv">g_signal_newv</link></function>.
1494 <para>For example, <function><link linkend="g-signal-new">g_signal_new</link></function> can be used to create a signal which uses a default
1496 contains a function pointer which is accessed during signal emission to invoke the default handler and
1497 the user is expected to provide to <function><link linkend="g-signal-new">g_signal_new</link></function> the offset from the start of the
1500 <para>I would like to point out here that the reason why the default handler of a signal is named everywhere
1515 /* signal default handlers */
1531 Finally, the signal is created with <function><link linkend="g-signal-new">g_signal_new</link></function> in the same class_init function:
1558 <filename>sample/signal/maman-file-simple.{h|c}</filename>, it contains numerous subtleties.
1562 <filename>sample/signal/maman-file-complex.c</filename> and in
1563 <filename>sample/signal/maman-file-simple.c</filename>.
1567 involves <function><link linkend="g-signal-new">g_signal_new</link></function> rather than <function><link linkend="g-signal-newv">g_signal_newv</link></function>:
1587 the signal emission process thanks to <function><link linkend="g-signal-connect">g_signal_connect</link></function>,
1588 <function><link linkend="g-signal-connect-after">g_signal_connect_after</link></function> and G_SIGNAL_RUN_LAST, it is time to look into how your
1596 <listitem><para>stop the emission of the signal at anytime</para></listitem>
1597 <listitem><para>override the default handler of the signal if it is stored as a function
1598 pointer in the class structure (which is the preferred way to create a default signal handler,
1605 resistant to the fact that the default handler of the signal might not able to run. This is obviously
1612 If all you want to do is to stop the signal emission from one of the callbacks you connected yourself,
1613 you can call <function><link linkend="g-signal-stop-by-name">g_signal_stop_by_name</link></function>. Its use is very simple which is why I won't detail
1618 If the signal's default handler is just a class function pointer, it is also possible to override
1619 it yourself from the class_init function of a type which derives from the parent. That way, when the signal
1620 is emitted, the parent class will use the function provided by the child as a signal default handler.
1621 Of course, it is also possible (and recommended) to chain up from the child to the parent's default signal
1638 <title>Warning on signal creation and default closure</title>
1647 Usually, the <function><link linkend="g-signal-new">g_signal_new</link></function> function is preferred over
1648 <function><link linkend="g-signal-newv">g_signal_newv</link></function>. When <function><link linkend="g-signal-new">g_signal_new</link></function>
1652 signal:
1669 registers the <emphasis>notify</emphasis> signal and initializes this class function
1691 <function><link linkend="g-signal-new">g_signal_new</link></function> creates a <type><link linkend="GClosure">GClosure</link></type> which dereferences the
1697 To understand the reason for such a complex scheme to access the signal's default handler,
1703 process of signal emission which is a bit heavyweight.
1707 This is why some people decided to use class functions for some signal's default handlers:
1708 rather than having users connect a handler to the signal and stop the signal emission