Señales

De Wiki GNOME Chile
Saltar a: navegación, buscar

Las señales constituyen la forma que tienen las clases en GLib™ de informar de determinados cambios de estado o de requerir la ejecución de determinadas acciones. Pero antes de entrar en detalle sobre qué son y para qué sirven las señales, es necesario el estudio de una serie de conceptos, que se detallan a continuación.

GValue

GValue representa una forma única de contener un valor de cualquier tipo. Viendo su definición se comprueba mejor qué significa esto:

	struct _GValue
	{
	GType		g_type;

	/* public for GTypeValueTable methods */
	union {
	gint	v_int;
	guint	v_uint;
	glong	v_long;
	gulong	v_ulong;
	gint64      v_int64;
	guint64     v_uint64;
	gfloat	v_float;
	gdouble	v_double;
	gpointer	v_pointer;
	} data[2];
	};
	GValue* g_value_init (GValue *value,
	GType g_type);
	void g_value_unset (GValue *value);

Como puede observarse, GValue permite albergar valores de distintos tipos, todo ello en una unión de C™. Lo interesante es que, a partir de esta simple organización (una estructura que contiene el tipo del valor almacenado y el valor), se pueden pasar valores de distintos tipos de un sitio a otro, usando un método común entre todas las partes involucradas.

Existen multitud de funciones relacionados con GValue, que permiten desde copiarlo (g_value_copy) a alterar su contenido fácilmente (g_value_get/_set).

Herramientas personales
Espacios de nombres

Variantes
Acciones
Navegación
Herramientas