From 817110279d642daf35b54de36ef653a7b1ed7e6e Mon Sep 17 00:00:00 2001 From: Tim Janik Date: Mon, 30 Oct 2000 05:03:19 +0000 Subject: [PATCH] opened up a new section on signals. Mon Oct 30 06:01:43 2000 Tim Janik * gobject/gobject-sections.txt: opened up a new section on signals. Mon Oct 30 05:52:45 2000 Tim Janik * gsignal.c (g_signal_list_ids): get rid of inline documentation owen added, the doc system would ignore it anyways (for some reason not aparent to me). --- docs/reference/ChangeLog | 4 + docs/reference/gobject/Makefile.am | 1 + docs/reference/gobject/gobject-docs.sgml | 4 +- docs/reference/gobject/gobject-sections.txt | 35 ++- docs/reference/gobject/tmpl/gobject-unused.sgml | 12 + docs/reference/gobject/tmpl/param_specs.sgml | 2 +- docs/reference/gobject/tmpl/signals.sgml | 307 ++++++++++++++++++++++++ docs/reference/gobject/tmpl/types.sgml | 38 +++ gobject/ChangeLog | 6 + gobject/gsignal.c | 9 - 10 files changed, 406 insertions(+), 12 deletions(-) create mode 100644 docs/reference/gobject/tmpl/signals.sgml diff --git a/docs/reference/ChangeLog b/docs/reference/ChangeLog index 2bc9ca3..d06825b 100644 --- a/docs/reference/ChangeLog +++ b/docs/reference/ChangeLog @@ -1,3 +1,7 @@ +Mon Oct 30 06:01:43 2000 Tim Janik + + * gobject/gobject-sections.txt: opened up a new section on signals. + 2000-10-27 Sebastian Wilhelmi * glib/tmpl/misc_utils.sgml: Removed the win32 limitation. diff --git a/docs/reference/gobject/Makefile.am b/docs/reference/gobject/Makefile.am index 5cbe650..0d0dbe4 100644 --- a/docs/reference/gobject/Makefile.am +++ b/docs/reference/gobject/Makefile.am @@ -21,6 +21,7 @@ tmpl_sources = \ tmpl/gobject-unused.sgml \ tmpl/objects.sgml \ tmpl/param_specs.sgml \ + tmpl/signals.sgml \ tmpl/standard_params.sgml \ tmpl/types.sgml \ tmpl/value_collection.sgml \ diff --git a/docs/reference/gobject/gobject-docs.sgml b/docs/reference/gobject/gobject-docs.sgml index c8a907d..303d173 100644 --- a/docs/reference/gobject/gobject-docs.sgml +++ b/docs/reference/gobject/gobject-docs.sgml @@ -3,6 +3,7 @@ + @@ -24,6 +25,7 @@ &gobject-value-collection; &gobject-param-specs; &gobject-standard-params; + &gobject-signals; - \ No newline at end of file + diff --git a/docs/reference/gobject/gobject-sections.txt b/docs/reference/gobject/gobject-sections.txt index e874ae2..8f352b4 100644 --- a/docs/reference/gobject/gobject-sections.txt +++ b/docs/reference/gobject/gobject-sections.txt @@ -81,6 +81,10 @@ g_type_remove_class_cache_func g_type_class_unref_uncached g_type_get_plugin g_type_fundamental_last +g_type_check_instance +g_type_check_value +g_type_is_dynamic +g_type_value_conforms_to g_log_domain_gobject @@ -220,7 +224,7 @@ g_value_dup_string
-Object Parameter Specifications +Parameter Specifications param_specs GParamSpec GParamSpecClass @@ -316,3 +320,32 @@ G_VALUE_COLLECT G_VALUE_LCOPY
+
+Signals +signals +GSignalInvocationHint +GSignalAccumulator +GSignalCMarshaller +GSignalEmissionHook +GSignalFlags +GSignalMatchType +GSignalQuery +g_signal_newv +g_signal_emitv +g_signal_lookup +g_signal_name +g_signal_query +g_signal_list_ids +g_signal_connect_closure +g_signal_handler_find +g_signal_handler_block +g_signal_handler_unblock +g_signal_handler_disconnect +g_signal_has_handler_pending +g_signal_stop_emission +g_signal_type_closure_new +g_signal_add_emission_hook_full +g_signal_remove_emission_hook +g_signal_handlers_destroy +g_signals_destroy +
diff --git a/docs/reference/gobject/tmpl/gobject-unused.sgml b/docs/reference/gobject/tmpl/gobject-unused.sgml index e69de29..21d3b02 100644 --- a/docs/reference/gobject/tmpl/gobject-unused.sgml +++ b/docs/reference/gobject/tmpl/gobject-unused.sgml @@ -0,0 +1,12 @@ + + + + + +@G_SIGNAL_RUN_FIRST: +@G_SIGNAL_RUN_LAST: +@G_SIGNAL_RUN_CLEANUP: +@G_SIGNAL_NO_RECURSE: +@G_SIGNAL_ACTION: +@G_SIGNAL_NO_HOOKS: + diff --git a/docs/reference/gobject/tmpl/param_specs.sgml b/docs/reference/gobject/tmpl/param_specs.sgml index 2401f5e..17ee613 100644 --- a/docs/reference/gobject/tmpl/param_specs.sgml +++ b/docs/reference/gobject/tmpl/param_specs.sgml @@ -1,5 +1,5 @@ -Object Parameter Specifications +Parameter Specifications diff --git a/docs/reference/gobject/tmpl/signals.sgml b/docs/reference/gobject/tmpl/signals.sgml new file mode 100644 index 0000000..128106c --- /dev/null +++ b/docs/reference/gobject/tmpl/signals.sgml @@ -0,0 +1,307 @@ + +Signals + + +Signals provide a means for customization of object behaviour and are used +as general purpose notification mechanism. + + + + + + + + + + + + + +The @GSignalInvocationHint structure is used to pass on additional information +to callbacks during a signal emission. + + +@signal_id: The signal id of the signal invoking the callback +@detail: The detail passed on for this emission +@run_type: The stage the signal emission is currently in, this + field will contain either of @G_SIGNAL_RUN_FIRST, + @G_SIGNAL_RUN_LAST or @G_SIGNAL_RUN_CLEANUP. + + + +The signal accumulator is a special callback function that can be used +to collect return values of the various callbacks that are called +during a signal emission. The signal accumulator is at signal creation +time, if it is left NULL, no accumulation of callback return values is +perfomed, the return value of the signal emission is the value returned +by the last callback. + + +@ihint: Signal invokation hint, see @GSignalInvocationHint +@return_accu: Accumulator to collect callback return values in, this + is the return value of the current signal emission +@return_value: The return value of the most recent callback function +@Returns: The accumulator function returns whether signal emission + should be aborted. Returning @FALSE means to abort the + current emission and @TRUE is returned for continuation. + + + + + + + + + + + + + +@ihint: +@n_param_values: +@param_values: +@Returns: + +@signal_id: +@n_values: +@values: + + + + + + + +@G_SIGNAL_RUN_FIRST: +@G_SIGNAL_RUN_LAST: +@G_SIGNAL_RUN_CLEANUP: +@G_SIGNAL_NO_RECURSE: +@G_SIGNAL_DETAILED: +@G_SIGNAL_ACTION: +@G_SIGNAL_NO_HOOKS: + + + + + + +@G_SIGNAL_MATCH_ID: +@G_SIGNAL_MATCH_DETAIL: +@G_SIGNAL_MATCH_CLOSURE: +@G_SIGNAL_MATCH_FUNC: +@G_SIGNAL_MATCH_DATA: +@G_SIGNAL_MATCH_UNBLOCKED: + + + +A structure holding in-depth information for a specific signal. It is +filled in by the @g_signal_query() function. + + +@signal_id: The signal id of the signal being querried, or 0 if the + signal to be querried was unknown +@signal_name: The signal name +@itype: The interface/instance type that this signal can be emitted for +@signal_flags: The signal flags as passed in to @g_signal_new() +@return_type: The return type for user callbacks +@n_params: The number of parameters that user callbacks take +@param_types: The individual parameter types for user callbacks, note that the + effective callback signature is: + @return_type callback (gpointer data1, @[parameters], gpointer data2); + + + + + + +@signal_name: +@itype: +@signal_flags: +@class_closure: +@accumulator: +@c_marshaller: +@return_type: +@n_params: +@param_types: +@Returns: + + + + + + + +@instance_and_params: +@signal_id: +@detail: +@return_value: + + + + + + + +@name: +@itype: +@Returns: + + + + + + + +@signal_id: +@Returns: + + + + +Query the signal system for in-depth information about a +specific signal. This function will fill in a user-provided +structure to hold signal-specific information. If an invalid +dignal id is passed in, the @signal_id member of the @GSignalQuery +is 0. All members filled into the @GSignalQuery structure should +be considered constant and have to be left untouched. + + +@signal_id: The signal id of the signal to query information for +@query: A user provided structure that is filled in with constant + values upon success. + + + + +List the signals by id, that a certain instance or interface type +created. Further information about the signals can be aquired through +@g_signal_query(). + + +@itype: Instance or interface type +@n_ids: Location to store the number of signal ids for @itype +@Returns: Newly allocated array of signal ids + + + + + + + +@instance: +@signal_id: +@detail: +@closure: +@after: +@Returns: + + + + + + + +@instance: +@mask: +@signal_id: +@detail: +@closure: +@func: +@data: +@Returns: + + + + + + + +@instance: +@handler_id: + + + + + + + +@instance: +@handler_id: + + + + + + + +@instance: +@handler_id: + + + + + + + +@instance: +@signal_id: +@detail: +@may_be_blocked: +@Returns: + + + + + + + +@instance: +@signal_id: +@detail: + + + + + + + +@itype: +@struct_offset: +@Returns: + + + + + + + +@signal_id: +@closure: +@Returns: + + + + + + + +@signal_id: +@hook_id: + + + + + + + +@instance: + + + + + + + +@itype: + + diff --git a/docs/reference/gobject/tmpl/types.sgml b/docs/reference/gobject/tmpl/types.sgml index f5cc2fb..6911625 100644 --- a/docs/reference/gobject/tmpl/types.sgml +++ b/docs/reference/gobject/tmpl/types.sgml @@ -750,3 +750,41 @@ GType @Returns: + + + + + +@instance: +@Returns: + + + + + + + +@value: +@Returns: + + + + + + + +@type: +@flags: +@Returns: + + + + + + + +@value: +@type: +@Returns: + + diff --git a/gobject/ChangeLog b/gobject/ChangeLog index 2b4b184..c28b0dd 100644 --- a/gobject/ChangeLog +++ b/gobject/ChangeLog @@ -1,3 +1,9 @@ +Mon Oct 30 05:52:45 2000 Tim Janik + + * gsignal.c (g_signal_list_ids): get rid of inline documentation owen + added, the doc system would ignore it anyways (for some reason not + aparent to me). + Mon Oct 30 03:00:07 2000 Tim Janik * gsignal.[hc] (g_signal_list_ids): renamed owen's g_type_signals(), diff --git a/gobject/gsignal.c b/gobject/gsignal.c index 6744eac..26f3176 100644 --- a/gobject/gsignal.c +++ b/gobject/gsignal.c @@ -692,15 +692,6 @@ g_signal_query (guint signal_id, G_UNLOCK (g_signal_mutex); } -/** - * g_signal_list_ids: - * @itype: an - * @n_ids: location to store number of signal ids for @itype - * - * List all signals for a given type. - * - * Return value: Newly allocated array of signal ids. - **/ guint* g_signal_list_ids (GType itype, guint *n_ids) -- 2.7.4