gsignal.h File Reference

__G_SIGNAL_H__

Typedef GSignalQuery

typedef typedefG_BEGIN_DECLS struct _GSignalQueryGSignalQuery

Typedef GSignalInvocationHint

typedef struct _GSignalInvocationHintGSignalInvocationHint

Typedef GSignalCMarshaller

typedef GClosureMarshal GSignalCMarshaller

GSignalCMarshaller:

This is the signature of marshaller functions, required to marshall arrays of parameter values to signal emissions into C language callback invocations. It is merely an alias to GClosureMarshal since the GClosure mechanism takes over responsibility of actual function invocation for the signal system.

Typedef GSignalEmissionHook

typedef gboolean(*GSignalEmissionHook

GSignalEmissionHook: : Signal invocation hint, see GSignalInvocationHint. : the number of parameters to the function, including the instance on which the signal was emitted. : the instance on which the signal was emitted, followed by the parameters of the emission. : user data associated with the hook.

A simple function pointer to get invoked when the signal is emitted. This allows you to tie a hook to the signal type, so that it will trap all emissions of that signal, from any object.

You may not attach these to signals created with the G_SIGNAL_NO_HOOKS flag.

Returns: whether it wants to stay connected. If it returns FALSE, the signal hook is disconnected (and destroyed).

Typedef GSignalAccumulator

typedef gboolean(*GSignalAccumulator

GSignalAccumulator: : Signal invocation hint, see GSignalInvocationHint. : Accumulator to collect callback return values in, this is the return value of the current signal emission. : A GValue holding the return value of the signal handler. : Callback data that was specified when creating the signal.

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 specified at signal creation time, if it is left NULL, no accumulation of callback return values is performed. The return value of signal emissions is then the value returned by the last callback.

Returns: The accumulator function returns whether the signal emission should be aborted. Returning FALSE means to abort the current emission and TRUE is returned for continuation.

Enum GSignalFlags

GSignalFlags: : Invoke the object method handler in the first emission stage. : Invoke the object method handler in the third emission stage. : Invoke the object method handler in the last emission stage. : Signals being emitted for an object while currently being in emission for this very object will not be emitted recursively, but instead cause the first emission to be restarted. : This signal supports "::detail" appendices to the signal name upon handler connections and emissions. : Action signals are signals that may freely be emitted on alive objects from user code via g_signal_emit() and friends, without the need of being embedded into extra code that performs pre or post emission adjustments on the object. They can also be thought of as object methods which can be called generically by third-party code. : No emissions hooks are supported for this signal.

The signal flags are used to specify a signal's behaviour, the overall signal description outlines how especially the RUN flags control the stages of a signal emission.

G_SIGNAL_FLAGS_MASK

G_SIGNAL_FLAGS_MASK:

A mask for all GSignalFlags bits.

Enum GConnectFlags

GConnectFlags: : whether the handler should be called before or after the default handler of the signal. : whether the instance and data should be swapped when calling the handler.

The connection flags are used to specify the behaviour of a signal's connection.

EnumeratorValueDescription
G_CONNECT_AFTER1 << 0
G_CONNECT_SWAPPED1 << 1

Enum GSignalMatchType

GSignalMatchType: : The signal id must be equal. : The signal detail be equal. : The closure must be the same. : The C closure callback must be the same. : The closure data must be the same. : Only unblocked signals may matched.

The match types specify what g_signal_handlers_block_matched(), g_signal_handlers_unblock_matched() and g_signal_handlers_disconnect_matched() match signals by.

G_SIGNAL_MATCH_MASK

G_SIGNAL_MATCH_MASK:

A mask for all GSignalMatchType bits.

G_SIGNAL_TYPE_STATIC_SCOPE

G_SIGNAL_TYPE_STATIC_SCOPE:

This macro flags signal argument types for which the signal system may assume that instances thereof remain persistent across all signal emissions they are used in. This is only useful for non ref-counted, value-copy types.

To flag a signal argument in this way, add <literal>| G_SIGNAL_TYPE_STATIC_SCOPE</literal> to the corresponding argument of g_signal_new(). |[ g_signal_new ("size_request", G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GtkWidgetClass, size_request), NULL, NULL, _gtk_marshal_VOID__BOXED, G_TYPE_NONE, 1, GTK_TYPE_REQUISITION | G_SIGNAL_TYPE_STATIC_SCOPE); ]|

g_signal_newv ( const gchar *, GType, GSignalFlags, GClosure *, GSignalAccumulator, gpointer, GSignalCMarshaller, GType, guint, GType * )

IMPORT_C guintg_signal_newv(const gchar *signal_name,
GTypeitype,
GSignalFlagssignal_flags,
GClosure *class_closure,
GSignalAccumulatoraccumulator,
gpointeraccu_data,
GSignalCMarshallerc_marshaller,
GTypereturn_type,
guintn_params,
GType *param_types
)

g_signal_newv: : the name for the signal : the type this signal pertains to. It will also pertain to types which are derived from this type : a combination of GSignalFlags specifying detail of when the default handler is to be invoked. You should at least specify G_SIGNAL_RUN_FIRST or G_SIGNAL_RUN_LAST : The closure to invoke on signal emission; may be NULL : the accumulator for this signal; may be NULL : user data for the : the function to translate arrays of parameter values to signal emissions into C language callback invocations : the type of return value, or G_TYPE_NONE for a signal without a return value : the length of : an array of types, one for each parameter

Creates a new signal. (This is usually done in the class initializer.)

See g_signal_new() for details on allowed signal names.

Returns: the signal id

g_signal_new_valist ( const gchar *, GType, GSignalFlags, GClosure *, GSignalAccumulator, gpointer, GSignalCMarshaller, GType, guint, va_list )

IMPORT_C guintg_signal_new_valist(const gchar *signal_name,
GTypeitype,
GSignalFlagssignal_flags,
GClosure *class_closure,
GSignalAccumulatoraccumulator,
gpointeraccu_data,
GSignalCMarshallerc_marshaller,
GTypereturn_type,
guintn_params,
va_listargs
)

g_signal_new_valist: : the name for the signal : the type this signal pertains to. It will also pertain to types which are derived from this type. : a combination of GSignalFlags specifying detail of when the default handler is to be invoked. You should at least specify G_SIGNAL_RUN_FIRST or G_SIGNAL_RUN_LAST. : The closure to invoke on signal emission; may be NULL. : the accumulator for this signal; may be NULL. : user data for the . : the function to translate arrays of parameter values to signal emissions into C language callback invocations. : the type of return value, or G_TYPE_NONE for a signal without a return value. : the number of parameter types in . : va_list of GType, one for each parameter.

Creates a new signal. (This is usually done in the class initializer.)

See g_signal_new() for details on allowed signal names.

Returns: the signal id

g_signal_new ( const gchar *, GType, GSignalFlags, guint, GSignalAccumulator, gpointer, GSignalCMarshaller, GType, guint, ... )

IMPORT_C guintg_signal_new(const gchar *signal_name,
GTypeitype,
GSignalFlagssignal_flags,
guintclass_offset,
GSignalAccumulatoraccumulator,
gpointeraccu_data,
GSignalCMarshallerc_marshaller,
GTypereturn_type,
guintn_params,
...
)

g_signal_new: : the name for the signal : the type this signal pertains to. It will also pertain to types which are derived from this type. : a combination of GSignalFlags specifying detail of when the default handler is to be invoked. You should at least specify G_SIGNAL_RUN_FIRST or G_SIGNAL_RUN_LAST. : The offset of the function pointer in the class structure for this type. Used to invoke a class method generically. Pass 0 to not associate a class method with this signal. : the accumulator for this signal; may be NULL. : user data for the . : the function to translate arrays of parameter values to signal emissions into C language callback invocations. : the type of return value, or G_TYPE_NONE for a signal without a return value. : the number of parameter types to follow. @...: a list of types, one for each parameter.

Creates a new signal. (This is usually done in the class initializer.)

A signal name consists of segments consisting of ASCII letters and digits, separated by either the '-' or '_' character. The first character of a signal name must be a letter. Names which violate these rules lead to undefined behaviour of the GSignal system.

When registering a signal and looking up a signal, either separator can be used, but they cannot be mixed.

Returns: the signal id

g_signal_new_class_handler ( const gchar *, GType, GSignalFlags, GCallback, GSignalAccumulator, gpointer, GSignalCMarshaller, GType, guint, ... )

IMPORT_C guintg_signal_new_class_handler(const gchar *signal_name,
GTypeitype,
GSignalFlagssignal_flags,
GCallbackclass_handler,
GSignalAccumulatoraccumulator,
gpointeraccu_data,
GSignalCMarshallerc_marshaller,
GTypereturn_type,
guintn_params,
...
)

g_signal_new_class_handler: : the name for the signal : the type this signal pertains to. It will also pertain to types which are derived from this type. : a combination of GSignalFlags specifying detail of when the default handler is to be invoked. You should at least specify G_SIGNAL_RUN_FIRST or G_SIGNAL_RUN_LAST. : a GCallback which acts as class implementation of this signal. Used to invoke a class method generically. Pass NULL to not associate a class method with this signal. : the accumulator for this signal; may be NULL. : user data for the . : the function to translate arrays of parameter values to signal emissions into C language callback invocations. : the type of return value, or G_TYPE_NONE for a signal without a return value. : the number of parameter types to follow. @...: a list of types, one for each parameter.

Creates a new signal. (This is usually done in the class initializer.)

This is a variant of g_signal_new() that takes a C callback instead off a class offset for the signal's class handler. This function doesn't need a function pointer exposed in the class structure of an object definition, instead the function pointer is passed directly and can be overriden by derived classes with g_signal_override_class_closure() or g_signal_override_class_handler()and chained to with g_signal_chain_from_overridden() or g_signal_chain_from_overridden_handler().

See g_signal_new() for information about signal names.

Returns: the signal id

Since: 2.18

g_signal_emitv ( const GValue *, guint, GQuark, GValue * )

IMPORT_C voidg_signal_emitv(const GValue *instance_and_params,
guintsignal_id,
GQuarkdetail,
GValue *return_value
)

g_signal_emitv: : argument list for the signal emission. The first element in the array is a GValue for the instance the signal is being emitted on. The rest are any arguments to be passed to the signal. : the signal id : the detail : Location to store the return value of the signal emission.

Emits a signal.

Note that g_signal_emitv() doesn't change if no handlers are connected, in contrast to g_signal_emit() and g_signal_emit_valist().

g_signal_emit_valist ( gpointer, guint, GQuark, va_list )

IMPORT_C voidg_signal_emit_valist(gpointerinstance,
guintsignal_id,
GQuarkdetail,
va_listvar_args
)

g_signal_emit_valist: : the instance the signal is being emitted on. : the signal id : the detail : a list of parameters to be passed to the signal, followed by a location for the return value. If the return type of the signal is G_TYPE_NONE, the return value location can be omitted.

Emits a signal.

Note that g_signal_emit_valist() resets the return value to the default if no handlers are connected, in contrast to g_signal_emitv().

g_signal_emit ( gpointer, guint, GQuark, ... )

IMPORT_C voidg_signal_emit(gpointerinstance,
guintsignal_id,
GQuarkdetail,
...
)

g_signal_emit: : the instance the signal is being emitted on. : the signal id : the detail @...: parameters to be passed to the signal, followed by a location for the return value. If the return type of the signal is G_TYPE_NONE, the return value location can be omitted.

Emits a signal.

Note that g_signal_emit() resets the return value to the default if no handlers are connected, in contrast to g_signal_emitv().

g_signal_emit_by_name ( gpointer, const gchar *, ... )

IMPORT_C voidg_signal_emit_by_name(gpointerinstance,
const gchar *detailed_signal,
...
)

g_signal_emit_by_name: : the instance the signal is being emitted on. : a string of the form "signal-name::detail". @...: parameters to be passed to the signal, followed by a location for the return value. If the return type of the signal is G_TYPE_NONE, the return value location can be omitted.

Emits a signal.

Note that g_signal_emit_by_name() resets the return value to the default if no handlers are connected, in contrast to g_signal_emitv().

g_signal_lookup ( const gchar *, GType )

IMPORT_C guintg_signal_lookup(const gchar *name,
GTypeitype
)

g_signal_name ( guint )

IMPORT_C G_CONST_RETURN gchar *g_signal_name(guintsignal_id)

g_signal_name: : the signal's identifying number.

Given the signal's identifier, finds its name.

Two different signals may have the same name, if they have differing types.

Returns: the signal name, or NULL if the signal number was invalid.

g_signal_query ( guint, GSignalQuery * )

IMPORT_C voidg_signal_query(guintsignal_id,
GSignalQuery *query
)

g_signal_query: : The signal id of the signal to query information for. : A user provided structure that is filled in with constant values upon success.

Queries 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 signal id is passed in, the member of the GSignalQuery is 0. All members filled into the GSignalQuery structure should be considered constant and have to be left untouched.

g_signal_list_ids ( GType, guint * )

IMPORT_C guint *g_signal_list_ids(GTypeitype,
guint *n_ids
)

g_signal_list_ids: : Instance or interface type. : Location to store the number of signal ids for .

Lists the signals by id that a certain instance or interface type created. Further information about the signals can be acquired through g_signal_query().

Returns: Newly allocated array of signal IDs.

g_signal_parse_name ( const gchar *, GType, guint *, GQuark *, gboolean )

IMPORT_C gbooleang_signal_parse_name(const gchar *detailed_signal,
GTypeitype,
guint *signal_id_p,
GQuark *detail_p,
gbooleanforce_detail_quark
)

g_signal_parse_name: : a string of the form "signal-name::detail". : The interface/instance type that introduced "signal-name". : Location to store the signal id. : Location to store the detail quark. : TRUE forces creation of a GQuark for the detail.

Internal function to parse a signal name into its and quark.

Returns: Whether the signal name could successfully be parsed and and contain valid return values.

g_signal_get_invocation_hint ( gpointer )

IMPORT_C GSignalInvocationHint *g_signal_get_invocation_hint(gpointerinstance)

g_signal_get_invocation_hint: : the instance to query

Returns the invocation hint of the innermost signal emission of instance.

Returns: the invocation hint of the innermost signal emission.

g_signal_stop_emission ( gpointer, guint, GQuark )

IMPORT_C voidg_signal_stop_emission(gpointerinstance,
guintsignal_id,
GQuarkdetail
)

g_signal_stop_emission: : the object whose signal handlers you wish to stop. : the signal identifier, as returned by g_signal_lookup(). : the detail which the signal was emitted with.

Stops a signal's current emission.

This will prevent the default method from running, if the signal was G_SIGNAL_RUN_LAST and you connected normally (i.e. without the "after" flag).

Prints a warning if used on a signal which isn't being emitted.

g_signal_stop_emission_by_name ( gpointer, const gchar * )

IMPORT_C voidg_signal_stop_emission_by_name(gpointerinstance,
const gchar *detailed_signal
)

g_signal_stop_emission_by_name: : the object whose signal handlers you wish to stop. : a string of the form "signal-name::detail".

Stops a signal's current emission.

This is just like g_signal_stop_emission() except it will look up the signal id for you.

g_signal_add_emission_hook ( guint, GQuark, GSignalEmissionHook, gpointer, GDestroyNotify )

IMPORT_C gulongg_signal_add_emission_hook(guintsignal_id,
GQuarkdetail,
GSignalEmissionHookhook_func,
gpointerhook_data,
GDestroyNotifydata_destroy
)

g_signal_add_emission_hook: : the signal identifier, as returned by g_signal_lookup(). : the detail on which to call the hook. : a GSignalEmissionHook function. : user data for . : a GDestroyNotify for .

Adds an emission hook for a signal, which will get called for any emission of that signal, independent of the instance. This is possible only for signals which don't have G_SIGNAL_NO_HOOKS flag set.

Returns: the hook id, for later use with g_signal_remove_emission_hook().

g_signal_remove_emission_hook ( guint, gulong )

IMPORT_C voidg_signal_remove_emission_hook(guintsignal_id,
gulonghook_id
)

g_signal_remove_emission_hook: : the id of the signal : the id of the emission hook, as returned by g_signal_add_emission_hook()

Deletes an emission hook.

g_signal_has_handler_pending ( gpointer, guint, GQuark, gboolean )

IMPORT_C gbooleang_signal_has_handler_pending(gpointerinstance,
guintsignal_id,
GQuarkdetail,
gbooleanmay_be_blocked
)

g_signal_has_handler_pending: : the object whose signal handlers are sought. : the signal id. : the detail. : whether blocked handlers should count as match.

Returns whether there are any handlers connected to for the given signal id and detail.

One example of when you might use this is when the arguments to the signal are difficult to compute. A class implementor may opt to not emit the signal if no one is attached anyway, thus saving the cost of building the arguments.

Returns: TRUE if a handler is connected to the signal, FALSE otherwise.

g_signal_connect_closure_by_id ( gpointer, guint, GQuark, GClosure *, gboolean )

IMPORT_C gulongg_signal_connect_closure_by_id(gpointerinstance,
guintsignal_id,
GQuarkdetail,
GClosure *closure,
gbooleanafter
)

g_signal_connect_closure_by_id: : the instance to connect to. : the id of the signal. : the detail. : the closure to connect. : whether the handler should be called before or after the default handler of the signal.

Connects a closure to a signal for a particular object.

Returns: the handler id

g_signal_connect_closure ( gpointer, const gchar *, GClosure *, gboolean )

IMPORT_C gulongg_signal_connect_closure(gpointerinstance,
const gchar *detailed_signal,
GClosure *closure,
gbooleanafter
)

g_signal_connect_closure: : the instance to connect to. : a string of the form "signal-name::detail". : the closure to connect. : whether the handler should be called before or after the default handler of the signal.

Connects a closure to a signal for a particular object.

Returns: the handler id

g_signal_connect_data ( gpointer, const gchar *, GCallback, gpointer, GClosureNotify, GConnectFlags )

IMPORT_C gulongg_signal_connect_data(gpointerinstance,
const gchar *detailed_signal,
GCallbackc_handler,
gpointerdata,
GClosureNotifydestroy_data,
GConnectFlagsconnect_flags
)

g_signal_connect_data: : the instance to connect to. : a string of the form "signal-name::detail". : the GCallback to connect. : data to pass to calls. : a GClosureNotify for . : a combination of GConnectFlags.

Connects a GCallback function to a signal for a particular object. Similar to g_signal_connect(), but allows to provide a GClosureNotify for the data which will be called when the signal handler is disconnected and no longer used. Specify if you need <literal>..._after()</literal> or <literal>..._swapped()</literal> variants of this function.

Returns: the handler id

g_signal_handler_block ( gpointer, gulong )

IMPORT_C voidg_signal_handler_block(gpointerinstance,
gulonghandler_id
)

g_signal_handler_block: : The instance to block the signal handler of. : Handler id of the handler to be blocked.

Blocks a handler of an instance so it will not be called during any signal emissions unless it is unblocked again. Thus "blocking" a signal handler means to temporarily deactive it, a signal handler has to be unblocked exactly the same amount of times it has been blocked before to become active again.

The has to be a valid signal handler id, connected to a signal of .

g_signal_handler_unblock ( gpointer, gulong )

IMPORT_C voidg_signal_handler_unblock(gpointerinstance,
gulonghandler_id
)

g_signal_handler_unblock: : The instance to unblock the signal handler of. : Handler id of the handler to be unblocked.

Undoes the effect of a previous g_signal_handler_block() call. A blocked handler is skipped during signal emissions and will not be invoked, unblocking it (for exactly the amount of times it has been blocked before) reverts its "blocked" state, so the handler will be recognized by the signal system and is called upon future or currently ongoing signal emissions (since the order in which handlers are called during signal emissions is deterministic, whether the unblocked handler in question is called as part of a currently ongoing emission depends on how far that emission has proceeded yet).

The has to be a valid id of a signal handler that is connected to a signal of and is currently blocked.

g_signal_handler_disconnect ( gpointer, gulong )

IMPORT_C voidg_signal_handler_disconnect(gpointerinstance,
gulonghandler_id
)

g_signal_handler_disconnect: : The instance to remove the signal handler from. : Handler id of the handler to be disconnected.

Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to. The becomes invalid and may be reused.

The has to be a valid signal handler id, connected to a signal of .

g_signal_handler_is_connected ( gpointer, gulong )

IMPORT_C gbooleang_signal_handler_is_connected(gpointerinstance,
gulonghandler_id
)

g_signal_handler_is_connected: : The instance where a signal handler is sought. : the handler id.

Returns whether is the id of a handler connected to .

Returns: whether identifies a handler connected to .

g_signal_handler_find ( gpointer, GSignalMatchType, guint, GQuark, GClosure *, gpointer, gpointer )

IMPORT_C gulongg_signal_handler_find(gpointerinstance,
GSignalMatchTypemask,
guintsignal_id,
GQuarkdetail,
GClosure *closure,
gpointerfunc,
gpointerdata
)

g_signal_handler_find: : The instance owning the signal handler to be found. : Mask indicating which of , , , and/or the handler has to match. : Signal the handler has to be connected to. : Signal detail the handler has to be connected to. : The closure the handler will invoke. : The C closure callback of the handler (useless for non-C closures). : The closure data of the handler's closure.

Finds the first signal handler that matches certain selection criteria. The criteria mask is passed as an OR-ed combination of GSignalMatchType flags, and the criteria values are passed as arguments. The match has to be non-0 for successful matches. If no handler was found, 0 is returned.

Returns: A valid non-0 signal handler id for a successful match.

g_signal_handlers_block_matched ( gpointer, GSignalMatchType, guint, GQuark, GClosure *, gpointer, gpointer )

IMPORT_C guintg_signal_handlers_block_matched(gpointerinstance,
GSignalMatchTypemask,
guintsignal_id,
GQuarkdetail,
GClosure *closure,
gpointerfunc,
gpointerdata
)

g_signal_handlers_block_matched: : The instance to block handlers from. : Mask indicating which of , , , and/or the handlers have to match. : Signal the handlers have to be connected to. : Signal detail the handlers have to be connected to. : The closure the handlers will invoke. : The C closure callback of the handlers (useless for non-C closures). : The closure data of the handlers' closures.

Blocks all handlers on an instance that match a certain selection criteria. The criteria mask is passed as an OR-ed combination of GSignalMatchType flags, and the criteria values are passed as arguments. Passing at least one of the G_SIGNAL_MATCH_CLOSURE, G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA match flags is required for successful matches. If no handlers were found, 0 is returned, the number of blocked handlers otherwise.

Returns: The number of handlers that matched.

g_signal_handlers_unblock_matched ( gpointer, GSignalMatchType, guint, GQuark, GClosure *, gpointer, gpointer )

IMPORT_C guintg_signal_handlers_unblock_matched(gpointerinstance,
GSignalMatchTypemask,
guintsignal_id,
GQuarkdetail,
GClosure *closure,
gpointerfunc,
gpointerdata
)

g_signal_handlers_unblock_matched: : The instance to unblock handlers from. : Mask indicating which of , , , and/or the handlers have to match. : Signal the handlers have to be connected to. : Signal detail the handlers have to be connected to. : The closure the handlers will invoke. : The C closure callback of the handlers (useless for non-C closures). : The closure data of the handlers' closures.

Unblocks all handlers on an instance that match a certain selection criteria. The criteria mask is passed as an OR-ed combination of GSignalMatchType flags, and the criteria values are passed as arguments. Passing at least one of the G_SIGNAL_MATCH_CLOSURE, G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA match flags is required for successful matches. If no handlers were found, 0 is returned, the number of unblocked handlers otherwise. The match criteria should not apply to any handlers that are not currently blocked.

Returns: The number of handlers that matched.

g_signal_handlers_disconnect_matched ( gpointer, GSignalMatchType, guint, GQuark, GClosure *, gpointer, gpointer )

IMPORT_C guintg_signal_handlers_disconnect_matched(gpointerinstance,
GSignalMatchTypemask,
guintsignal_id,
GQuarkdetail,
GClosure *closure,
gpointerfunc,
gpointerdata
)

g_signal_handlers_disconnect_matched: : The instance to remove handlers from. : Mask indicating which of , , , and/or the handlers have to match. : Signal the handlers have to be connected to. : Signal detail the handlers have to be connected to. : The closure the handlers will invoke. : The C closure callback of the handlers (useless for non-C closures). : The closure data of the handlers' closures.

Disconnects all handlers on an instance that match a certain selection criteria. The criteria mask is passed as an OR-ed combination of GSignalMatchType flags, and the criteria values are passed as arguments. Passing at least one of the G_SIGNAL_MATCH_CLOSURE, G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA match flags is required for successful matches. If no handlers were found, 0 is returned, the number of disconnected handlers otherwise.

Returns: The number of handlers that matched.

g_signal_override_class_closure ( guint, GType, GClosure * )

IMPORT_C voidg_signal_override_class_closure(guintsignal_id,
GTypeinstance_type,
GClosure *class_closure
)

g_signal_override_class_closure: : the signal id : the instance type on which to override the class closure for the signal. : the closure.

Overrides the class closure (i.e. the default handler) for the given signal for emissions on instances of . must be derived from the type to which the signal belongs.

See g_signal_chain_from_overridden() and g_signal_chain_from_overridden_handler() for how to chain up to the parent class closure from inside the overridden one.

g_signal_override_class_handler ( const gchar *, GType, GCallback )

IMPORT_C voidg_signal_override_class_handler(const gchar *signal_name,
GTypeinstance_type,
GCallbackclass_handler
)

g_signal_override_class_handler: : the name for the signal : the instance type on which to override the class handler for the signal. : the handler.

Overrides the class closure (i.e. the default handler) for the given signal for emissions on instances of with callabck . must be derived from the type to which the signal belongs.

See g_signal_chain_from_overridden() and g_signal_chain_from_overridden_handler() for how to chain up to the parent class closure from inside the overridden one.

Since: 2.18

g_signal_chain_from_overridden ( const GValue *, GValue * )

IMPORT_C voidg_signal_chain_from_overridden(const GValue *instance_and_params,
GValue *return_value
)

g_signal_chain_from_overridden: : the argument list of the signal emission. The first element in the array is a GValue for the instance the signal is being emitted on. The rest are any arguments to be passed to the signal. : Location for the return value.

Calls the original class closure of a signal. This function should only be called from an overridden class closure; see g_signal_override_class_closure() and g_signal_override_class_handler().

g_signal_chain_from_overridden_handler ( gpointer, ... )

IMPORT_C voidg_signal_chain_from_overridden_handler(gpointerinstance,
...
)

g_signal_chain_from_overridden_handler: : the instance the signal is being emitted on. @...: parameters to be passed to the parent class closure, followed by a location for the return value. If the return type of the signal is G_TYPE_NONE, the return value location can be omitted.

Calls the original class closure of a signal. This function should only be called from an overridden class closure; see g_signal_override_class_closure() and g_signal_override_class_handler().

Since: 2.18

g_signal_connect

g_signal_connect: : the instance to connect to. : a string of the form "signal-name::detail". : the GCallback to connect. : data to pass to calls.

Connects a GCallback function to a signal for a particular object.

The handler will be called before the default handler of the signal.

Returns: the handler id

g_signal_connect_after

g_signal_connect_after: : the instance to connect to. : a string of the form "signal-name::detail". : the GCallback to connect. : data to pass to calls.

Connects a GCallback function to a signal for a particular object.

The handler will be called after the default handler of the signal.

Returns: the handler id

g_signal_connect_swapped

g_signal_connect_swapped: : the instance to connect to. : a string of the form "signal-name::detail". : the GCallback to connect. : data to pass to calls.

Connects a GCallback function to a signal for a particular object.

The instance on which the signal is emitted and will be swapped when calling the handler.

Returns: the handler id

g_signal_handlers_disconnect_by_func

g_signal_handlers_disconnect_by_func: : The instance to remove handlers from. : The C closure callback of the handlers (useless for non-C closures). : The closure data of the handlers' closures.

Disconnects all handlers on an instance that match and .

Returns: The number of handlers that matched.

g_signal_handlers_block_by_func

g_signal_handlers_block_by_func: : The instance to block handlers from. : The C closure callback of the handlers (useless for non-C closures). : The closure data of the handlers' closures.

Blocks all handlers on an instance that match and .

Returns: The number of handlers that matched.

g_signal_handlers_unblock_by_func

g_signal_handlers_unblock_by_func: : The instance to unblock handlers from. : The C closure callback of the handlers (useless for non-C closures). : The closure data of the handlers' closures.

Unblocks all handlers on an instance that match and .

Returns: The number of handlers that matched.

g_signal_accumulator_true_handled ( GSignalInvocationHint *, GValue *, const GValue *, gpointer )

IMPORT_C gbooleang_signal_accumulator_true_handled(GSignalInvocationHint *ihint,
GValue *return_accu,
const GValue *handler_return,
gpointerdummy
)

g_signal_accumulator_true_handled: : standard GSignalAccumulator parameter : standard GSignalAccumulator parameter : standard GSignalAccumulator parameter : standard GSignalAccumulator parameter

A predefined GSignalAccumulator for signals that return a boolean values. The behavior that this accumulator gives is that a return of TRUE stops the signal emission: no further callbacks will be invoked, while a return of FALSE allows the emission to coninue. The idea here is that a TRUE return indicates that the callback <emphasis>handled</emphasis> the signal, and no further handling is needed.

Since: 2.4

Returns: standard GSignalAccumulator result

g_signal_handlers_destroy ( gpointer )

IMPORT_C voidg_signal_handlers_destroy(gpointerinstance)

_g_signals_destroy ( GType )

void_g_signals_destroy(GTypeitype)