Commit a3877e63 authored by Tristan Van Berkom's avatar Tristan Van Berkom

* gladeui/Makefile.am, gladeui/glade-signal-class.[ch], gladeui/glade-widget-adaptor.c,

	gladeui/glade-signal-editor.c, plugins/gtk+/glade-accels.c:

	Added glade-signal-class.[ch] as an opaque type.
parent 2e084777
2011-01-05 Tristan Van Berkom <tristanvb@openismus.com>
* gladeui/Makefile.am, gladeui/glade-signal-class.[ch], gladeui/glade-widget-adaptor.c,
gladeui/glade-signal-editor.c, plugins/gtk+/glade-accels.c:
Added glade-signal-class.[ch] as an opaque type.
2011-01-04 Johannes Schmid <jhs@gnome.org>
* data/gladeui-2.0.pc.in: Fix include paths and library name
......
......@@ -48,45 +48,46 @@ EXTRA_DIST = glade-marshallers.list gladeui.rc.in icon-naming-spec.c glade-previ
# The glade core library
libgladeui_2_la_SOURCES = \
glade-widget-adaptor.c \
glade-debug.c \
glade-project.c \
glade-placeholder.c \
glade-inspector.c \
glade-xml-utils.c \
glade-catalog.c \
glade-widget-adaptor.c \
glade-widget.c \
glade-property-class.c \
glade-property.c \
glade-signal-class.c \
glade-signal.c \
glade-editable.c \
glade-editor-table.c \
glade-editor-property.c \
glade-editor.c \
glade-base-editor.c \
glade-signal-editor.c \
glade-palette.c \
glade-inspector.c \
glade-design-layout.c \
glade-design-view.c \
glade-id-allocator.c \
glade-id-allocator.h \
glade-project.c \
glade-cursor.c \
glade-placeholder.c \
glade-named-icon-chooser-dialog.c \
glade-named-icon-chooser-dialog.h \
glade-cursor.c \
glade-catalog.c \
glade-property.c \
glade-property-class.c \
glade-popup.c \
glade-widget.c \
glade-editor-property.c \
glade-editor.c \
glade-utils.c \
glade-signal.c \
glade-signal-editor.c \
glade-clipboard.c \
glade-command.c \
glade-id-allocator.c \
glade-id-allocator.h \
glade-marshallers.c \
glade-accumulators.c \
glade-builtins.c \
glade-app.c \
glade-base-editor.c \
glade-clipboard.c \
glade-popup.h \
glade-marshallers.h \
glade-accumulators.h \
glade-widget-action.c \
glade-name-context.c \
glade-displayable-values.c \
glade-editable.c \
glade-editor-table.c \
glade-cell-renderer-icon.c
libgladeui_2_la_CPPFLAGS = \
......
......@@ -1387,9 +1387,10 @@ static void
glade_project_introspect_signal_versions (GladeSignal *signal,
VersionData *data)
{
GladeSignalClass *signal_class;
gchar *catalog = NULL;
gboolean is_gtk_adaptor = FALSE;
GladeSignalClass *signal_class;
GladeWidgetAdaptor *adaptor;
gchar *catalog = NULL;
gboolean is_gtk_adaptor = FALSE;
signal_class =
glade_widget_adaptor_get_signal_class (glade_widget_get_adaptor (data->widget), signal->name);
......@@ -1397,22 +1398,20 @@ glade_project_introspect_signal_versions (GladeSignal *signal,
/* unknown signal... can it happen ? */
if (!signal_class)
return;
g_assert (signal_class->adaptor);
adaptor = glade_signal_class_get_adaptor (signal_class);
/* Check if the signal comes from a GTK+ widget class */
g_object_get (signal_class->adaptor, "catalog", &catalog, NULL);
g_object_get (adaptor, "catalog", &catalog, NULL);
if (strcmp (catalog, "gtk+") == 0)
is_gtk_adaptor = TRUE;
g_free (catalog);
/* Check GTK+ version that signal was introduced */
if (is_gtk_adaptor &&
(data->major < signal_class->version_since_major ||
(data->major == signal_class->version_since_major &&
data->minor < signal_class->version_since_minor)))
if (is_gtk_adaptor &&
!GSC_VERSION_CHECK (signal_class, data->major, data->minor))
{
data->major = signal_class->version_since_major;
data->minor = signal_class->version_since_minor;
data->major = glade_signal_class_since_major (signal_class);
data->minor = glade_signal_class_since_minor (signal_class);
}
}
......@@ -2247,20 +2246,22 @@ glade_project_verify_signal_internal (GladeWidget * widget,
const gchar * path_name,
GString * string, gboolean forwidget)
{
GladeSignalClass *signal_class;
gint target_major, target_minor;
gchar *catalog;
GladeSignalClass *signal_class;
GladeWidgetAdaptor *adaptor;
gint target_major, target_minor;
gchar *catalog;
signal_class =
glade_widget_adaptor_get_signal_class (glade_widget_get_adaptor (widget), signal->name);
//* Cannot verify unknown signal */
if (!signal_class)
return;
g_assert (signal_class->adaptor);
g_object_get (signal_class->adaptor, "catalog", &catalog, NULL);
adaptor = glade_signal_class_get_adaptor (signal_class);
g_object_get (adaptor, "catalog", &catalog, NULL);
glade_project_target_version_for_adaptor (glade_widget_get_project (widget),
signal_class->adaptor,
adaptor,
&target_major, &target_minor);
if (!GSC_VERSION_CHECK (signal_class, target_major, target_minor))
......@@ -2271,8 +2272,8 @@ glade_project_verify_signal_internal (GladeWidget * widget,
warning = g_strdup_printf (SIGNAL_VERSION_CONFLICT_MSGFMT,
catalog,
signal_class->version_since_major,
signal_class->version_since_minor,
glade_signal_class_since_major (signal_class),
glade_signal_class_since_minor (signal_class),
catalog, target_major, target_minor);
glade_signal_set_support_warning (signal, warning);
g_free (warning);
......@@ -2282,10 +2283,10 @@ glade_project_verify_signal_internal (GladeWidget * widget,
SIGNAL_VERSION_CONFLICT_FMT,
path_name,
signal->name,
glade_widget_adaptor_get_title (signal_class->adaptor),
glade_widget_adaptor_get_title (adaptor),
catalog,
signal_class->version_since_major,
signal_class->version_since_minor);
glade_signal_class_since_major (signal_class),
glade_signal_class_since_minor (signal_class));
}
else if (forwidget)
glade_signal_set_support_warning (signal, NULL);
......
......@@ -37,7 +37,6 @@
#include <string.h>
#include <stdlib.h>
#include <gmodule.h>
#include <glib/gi18n-lib.h>
#include "glade.h"
......@@ -1846,7 +1845,6 @@ glade_property_class_parse_specifications (GladePropertyClass * klass,
/**
* glade_property_class_update_from_node:
* @node: the property node
* @module: a #GModule to lookup symbols from the plugin
* @object_type: the #GType of the owning object
* @property_class: a pointer to the property class
* @domain: the domain to translate catalog strings from
......@@ -1859,7 +1857,6 @@ glade_property_class_parse_specifications (GladePropertyClass * klass,
*/
gboolean
glade_property_class_update_from_node (GladeXmlNode * node,
GModule * module,
GType object_type,
GladePropertyClass ** property_class,
const gchar * domain)
......
......@@ -142,7 +142,6 @@ void glade_property_class_get_from_gvalue (GladePropertyC
...);
gboolean glade_property_class_update_from_node (GladeXmlNode *node,
GModule *module,
GType object_type,
GladePropertyClass **property_class,
const gchar *domain);
......
/* glade-signal-class.c
*
* Copyright (C) 2011 Openismus GmbH
*
* Authors:
* Tristan Van Berkom <tristanvb@openismus.com>
*
* This library is free software; you can redistribute it and/or it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include <config.h>
#include "glade-signal-class.h"
#include "glade-widget-adaptor.h"
struct _GladeSignalClass
{
GladeWidgetAdaptor *adaptor; /* The adaptor that originated this signal.
*/
GSignalQuery query;
guint16 version_since_major; /* Version in which this signal was */
guint16 version_since_minor; /* introduced
*/
const gchar *name; /* Name of the signal, eg clicked */
const gchar *type; /* Name of the object class that this signal
* belongs to eg GtkButton */
};
GladeSignalClass *
glade_signal_class_new (GladeWidgetAdaptor *adaptor,
GType for_type,
guint signal_id)
{
GladeSignalClass *class;
class = g_slice_new0 (GladeSignalClass);
class->adaptor = adaptor;
/* Since glib gave us this signal id... it should
* exist no matter what.
*/
g_signal_query (signal_id, &(class->query));
if (class->query.signal_id != 0)
{
g_critical ("glade_signal_class_new() called with an invalid signal id");
glade_signal_class_free (class);
return NULL;
}
class->name = (class->query.signal_name);
class->type = g_type_name (for_type);
/* Initialize signal versions to adaptor version */
class->version_since_major = GWA_VERSION_SINCE_MAJOR (adaptor);
class->version_since_minor = GWA_VERSION_SINCE_MINOR (adaptor);
return class;
}
void
glade_signal_class_free (GladeSignalClass *signal_class)
{
g_slice_free (GladeSignalClass, signal_class);
}
void
glade_signal_class_update_from_node (GladeSignalClass *signal_class,
GladeXmlNode *node,
const gchar *domain)
{
g_return_if_fail (signal_class != NULL);
g_return_if_fail (node != NULL);
glade_xml_get_property_version (node, GLADE_TAG_VERSION_SINCE,
&signal_class->version_since_major,
&signal_class->version_since_minor);
}
GladeWidgetAdaptor *
glade_signal_class_get_adaptor (GladeSignalClass *signal_class)
{
g_return_val_if_fail (signal_class != NULL, NULL);
return signal_class->adaptor;
}
G_CONST_RETURN gchar *
glade_signal_class_get_name (GladeSignalClass *signal_class)
{
g_return_val_if_fail (signal_class != NULL, NULL);
return signal_class->name;
}
G_CONST_RETURN gchar *
glade_signal_class_get_type (GladeSignalClass *signal_class)
{
g_return_val_if_fail (signal_class != NULL, NULL);
return signal_class->type;
}
GSignalFlags
glade_signal_class_get_flags (GladeSignalClass *signal_class)
{
g_return_val_if_fail (signal_class != NULL, 0);
return signal_class->query.signal_flags;
}
void
glade_signal_class_set_since (GladeSignalClass *signal_class,
guint16 since_major,
guint16 since_minor)
{
g_return_if_fail (signal_class != NULL);
signal_class->version_since_major = since_major;
signal_class->version_since_minor = since_minor;
}
guint16
glade_signal_class_since_major (GladeSignalClass *signal_class)
{
g_return_val_if_fail (signal_class != NULL, 0);
return signal_class->version_since_major;
}
guint16
glade_signal_class_since_minor (GladeSignalClass *signal_class)
{
g_return_val_if_fail (signal_class != NULL, 0);
return signal_class->version_since_minor;
}
/* glade-signal-class.h
*
* Copyright (C) 2011 Openismus GmbH
*
* Authors:
* Tristan Van Berkom <tristanvb@openismus.com>
*
* This library is free software; you can redistribute it and/or it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef _GLADE_SIGNAL_CLASS_H_
#define _GLADE_SIGNAL_CLASS_H_
#include <glib-object.h>
#include <gladeui/glade-xml-utils.h>
G_BEGIN_DECLS
/**
* GSC_VERSION_CHECK:
* @klass: A #GladeSignalClass
* @major_version: The major version to check
* @minor_version: The minor version to check
*
* Evaluates to %TRUE if @klass is available in its owning library version-@major_verion.@minor_version.
*
*/
#define GSC_VERSION_CHECK(klass, major_version, minor_version) \
((glade_signal_class_since_major (GLADE_SIGNAL_CLASS (klass)) == major_version) ? \
(glade_signal_class_since_minor (GLADE_SIGNAL_CLASS (klass)) <= minor_version) : \
(glade_signal_class_since_major (GLADE_SIGNAL_CLASS (klass)) <= major_version))
#define GLADE_SIGNAL_CLASS(klass) ((GladeSignalClass *)(klass))
typedef struct _GladeSignalClass GladeSignalClass;
GladeSignalClass *glade_signal_class_new (GladeWidgetAdaptor *adaptor,
GType for_type,
guint signal_id);
void glade_signal_class_free (GladeSignalClass *signal_class);
void glade_signal_class_update_from_node (GladeSignalClass *signal_class,
GladeXmlNode *node,
const gchar *domain);
GladeWidgetAdaptor *glade_signal_class_get_adaptor (GladeSignalClass *signal_class);
G_CONST_RETURN gchar *glade_signal_class_get_name (GladeSignalClass *signal_class);
G_CONST_RETURN gchar *glade_signal_class_get_type (GladeSignalClass *signal_class);
GSignalFlags glade_signal_class_get_flags (GladeSignalClass *signal_class);
void glade_signal_class_set_since (GladeSignalClass *signal_class,
guint16 since_major,
guint16 since_minor);
guint16 glade_signal_class_since_major (GladeSignalClass *signal_class);
guint16 glade_signal_class_since_minor (GladeSignalClass *signal_class);
G_END_DECLS
#endif /* _GLADE_SIGNAL_CLASS_H_ */
......@@ -715,11 +715,12 @@ glade_signal_editor_devhelp_cb (GtkCellRenderer * cell,
GladeSignalEditor * editor)
{
GladeSignalEditorPrivate *priv = editor->priv;
GtkTreePath *path = gtk_tree_path_new_from_string (path_str);
GtkTreeModel *model = GTK_TREE_MODEL (priv->model);
GtkTreeIter iter;
GladeSignalClass *signal_class;
gchar *signal, *search, *book = NULL;
GladeWidgetAdaptor *adaptor;
GtkTreePath *path = gtk_tree_path_new_from_string (path_str);
GtkTreeModel *model = GTK_TREE_MODEL (priv->model);
GtkTreeIter iter;
GladeSignalClass *signal_class;
gchar *signal, *search, *book = NULL;
g_return_if_fail (gtk_tree_model_get_iter (model, &iter, path));
gtk_tree_path_free (path);
......@@ -731,9 +732,10 @@ glade_signal_editor_devhelp_cb (GtkCellRenderer * cell,
glade_widget_adaptor_get_signal_class (glade_widget_get_adaptor (priv->widget), signal);
g_assert (signal_class);
g_object_get (signal_class->adaptor, "book", &book, NULL);
adaptor = glade_signal_class_get_adaptor (signal_class);
g_object_get (adaptor, "book", &book, NULL);
glade_app_search_docs (book, glade_widget_adaptor_get_name (signal_class->adaptor), search);
glade_app_search_docs (book, glade_widget_adaptor_get_name (adaptor), search);
g_free (search);
g_free (book);
......@@ -1208,36 +1210,36 @@ glade_signal_editor_load_widget (GladeSignalEditor * editor,
{
GladeSignalClass *signal = (GladeSignalClass *) list->data;
GladeSignal *sig =
glade_signal_new (signal->name, NULL, NULL, FALSE, FALSE);
glade_signal_new (glade_signal_class_get_name (signal), NULL, NULL, FALSE, FALSE);
/* Check versioning here with a virtual signal */
glade_project_verify_signal (priv->widget, sig);
/* Add class name that this signal belongs to.
*/
if (strcmp (last_type, signal->type))
if (strcmp (last_type, glade_signal_class_get_type (signal)))
{
gtk_tree_store_append (priv->model, &parent_class, NULL);
gtk_tree_store_set (priv->model, &parent_class,
GSE_COLUMN_SIGNAL, signal->type,
GSE_COLUMN_SIGNAL, glade_signal_class_get_type (signal),
GSE_COLUMN_AFTER_VISIBLE, FALSE,
GSE_COLUMN_HANDLER_EDITABLE, FALSE,
GSE_COLUMN_USERDATA_EDITABLE, FALSE,
GSE_COLUMN_SLOT, FALSE,
GSE_COLUMN_BOLD, FALSE,
GSE_COLUMN_CONTENT, FALSE, -1);
last_type = signal->type;
last_type = glade_signal_class_get_type (signal);
}
gtk_tree_store_append (priv->model, &parent_signal, &parent_class);
signals = glade_widget_list_signal_handlers (widget, signal->name);
signals = glade_widget_list_signal_handlers (widget, glade_signal_class_get_name (signal));
if (!signals || signals->len == 0)
{
gtk_tree_store_set
(priv->model, &parent_signal,
GSE_COLUMN_SIGNAL, signal->name,
GSE_COLUMN_SIGNAL, glade_signal_class_get_name (signal),
GSE_COLUMN_HANDLER, HANDLER_DEFAULT,
GSE_COLUMN_AFTER, FALSE,
GSE_COLUMN_USERDATA, USERDATA_DEFAULT,
......@@ -1272,7 +1274,7 @@ glade_signal_editor_load_widget (GladeSignalEditor * editor,
gtk_tree_store_set
(priv->model, &parent_signal,
GSE_COLUMN_SIGNAL, signal->name,
GSE_COLUMN_SIGNAL, glade_signal_class_get_name (signal),
GSE_COLUMN_HANDLER, widget_signal->handler,
GSE_COLUMN_AFTER, widget_signal->after,
GSE_COLUMN_USERDATA,
......
......@@ -278,63 +278,46 @@ glade_widget_adaptor_get_parent_adaptor (GladeWidgetAdaptor * adaptor)
}
static gint
gwa_signal_comp (gconstpointer a, gconstpointer b)
gwa_signal_comp (gpointer a, gpointer b)
{
const GladeSignalClass *signal_a = a, *signal_b = b;
return strcmp (signal_b->query.signal_name, signal_a->query.signal_name);
GladeSignalClass *signal_a = a, *signal_b = b;
return strcmp (glade_signal_class_get_name (signal_b),
glade_signal_class_get_name (signal_a));
}
static gint
gwa_signal_find_comp (gconstpointer a, gconstpointer b)
gwa_signal_find_comp (gpointer a, gpointer b)
{
const GladeSignalClass *signal = a;
const gchar *name = b;
return strcmp (name, signal->query.signal_name);
GladeSignalClass *signal = a;
gchar *name = b;
return strcmp (name, glade_signal_class_get_name (signal));
}
static void
gwa_add_signals (GladeWidgetAdaptor * adaptor, GList ** signals, GType type)
{
guint count, *sig_ids, num_signals;
guint count, *sig_ids, num_signals;
GladeWidgetAdaptor *type_adaptor;
GladeSignalClass *cur;
GList *list = NULL;
GladeSignalClass *signal;
GList *list = NULL;
type_adaptor = glade_widget_adaptor_get_by_type (type);
if (G_TYPE_IS_INSTANTIATABLE (type) || G_TYPE_IS_INTERFACE (type))
{
sig_ids = g_signal_list_ids (type, &num_signals);
for (count = 0; count < num_signals; count++)
{
cur = g_new0 (GladeSignalClass, 1);
g_signal_query (sig_ids[count], &(cur->query));
/* Since glib gave us this signal id... it should
* exist no matter what.
*/
g_assert (cur->query.signal_id != 0);
/* When creating this type, this type is not registered yet,
* but we still get the right value here.
*/
cur->adaptor = type_adaptor ? type_adaptor : adaptor;
cur->name = (cur->query.signal_name);
cur->type = (gchar *) g_type_name (type);
/* Initialize signal versions to adaptor version */
cur->version_since_major = GWA_VERSION_SINCE_MAJOR (cur->adaptor);
cur->version_since_minor = GWA_VERSION_SINCE_MINOR (cur->adaptor);
sig_ids = g_signal_list_ids (type, &num_signals);
list = g_list_prepend (list, cur);
}
g_free (sig_ids);
for (count = 0; count < num_signals; count++)
{
signal = glade_signal_class_new (type_adaptor ?
type_adaptor : adaptor,
type, sig_ids[count]);
list = g_list_sort (list, gwa_signal_comp);
*signals = g_list_concat (list, *signals);
list = g_list_prepend (list, signal);
}
g_free (sig_ids);
list = g_list_sort (list, (GCompareFunc)gwa_signal_comp);
*signals = g_list_concat (list, *signals);
}
static GList *
......@@ -523,23 +506,20 @@ gwa_inherit_signals (GladeWidgetAdaptor * adaptor)
{
signal = list->data;
if ((node = g_list_find_custom
(parent_adaptor->priv->signals, signal->name,
(GCompareFunc) gwa_signal_find_comp)) != NULL)
if ((node = g_list_find_custom (parent_adaptor->priv->signals,
glade_signal_class_get_name (signal),
(GCompareFunc) gwa_signal_find_comp)) != NULL)
{
parent_signal = node->data;
/* Reset versioning in derived catalogs just once */
if (strcmp (adaptor->priv->catalog,
parent_adaptor->priv->catalog))
signal->version_since_major = 0;
glade_signal_class_set_since (signal, 0, 0);
else
{
signal->version_since_major =
parent_signal->version_since_major;
signal->version_since_minor =
parent_signal->version_since_minor;
}
glade_signal_class_set_since (signal,
glade_signal_class_since_major (parent_signal),
glade_signal_class_since_minor (parent_signal));
}
}
}
......@@ -1876,8 +1856,10 @@ gwa_update_properties_from_node (GladeWidgetAdaptor * adaptor,
list = g_list_last (*properties);
}
if ((updated = glade_property_class_update_from_node
(child, module, adaptor->priv->type, &property_class, domain)) == FALSE)
if ((updated = glade_property_class_update_from_node (child,
adaptor->priv->type,
&property_class,
domain)) == FALSE)
{
g_warning ("failed to update %s property of %s from xml",
id, adaptor->priv->name);
......@@ -2145,12 +2127,14 @@ gwa_action_update_from_node (GladeWidgetAdaptor * adaptor,
}
static void
gwa_set_signals_from_node (GladeWidgetAdaptor * adaptor, GladeXmlNode * node)
gwa_set_signals_from_node (GladeWidgetAdaptor *adaptor,
GladeXmlNode *node,
const gchar *domain)
{
GladeXmlNode *child;
GladeXmlNode *child;
GladeSignalClass *signal;
GList *list;
gchar *id;
GList *list;
gchar *id;
for (child = glade_xml_node_get_children (node);
child; child = glade_xml_node_next (child))
......@@ -2158,9 +2142,7 @@ gwa_set_signals_from_node (GladeWidgetAdaptor * adaptor, GladeXmlNode * node)
if (!glade_xml_node_verify (child, GLADE_TAG_SIGNAL))
continue;
if (!
(id =
glade_xml_get_property_string_required (child, GLADE_TAG_ID, NULL)))
if (!(id = glade_xml_get_property_string_required (child, GLADE_TAG_ID, NULL)))
continue;
if ((list =
......@@ -2168,15 +2150,13 @@ gwa_set_signals_from_node (GladeWidgetAdaptor * adaptor, GladeXmlNode * node)
(GCompareFunc) gwa_signal_find_comp)) != NULL)
{
signal = list->data;
glade_xml_get_property_version
(child, GLADE_TAG_VERSION_SINCE,
&signal->version_since_major, &signal->version_since_minor);
glade_signal_class_update_from_node (signal, child, domain);
}
g_free (id);
}
}
static gboolean
gwa_extend_with_node (GladeWidgetAdaptor * adaptor,
GladeXmlNode * node,
......@@ -2205,7 +2185,7 @@ gwa_extend_with_node (GladeWidgetAdaptor * adaptor,
gwa_set_packing_defaults_from_node (adaptor, child);
if ((child = glade_xml_search_child (node, GLADE_TAG_SIGNALS)) != NULL)
gwa_set_signals_from_node (adaptor, child);
gwa_set_signals_from_node (adaptor, child, domain);
if ((child = glade_xml_search_child (node, GLADE_TAG_ACTIONS)) != NULL)
gwa_action_update_from_node (adaptor, FALSE, child, domain, NULL);
......@@ -3976,7 +3956,7 @@ glade_widget_adaptor_get_signal_class (GladeWidgetAdaptor * adaptor,
for (list = adaptor->priv->signals; list; list = list->next)
{
signal = list->data;
if (!strcmp (signal->name, name))
if (!strcmp (glade_signal_class_get_name (signal), name))
return signal;
}
......
#ifndef __GLADE_WIDGET_ADAPTOR_H__
#define __GLADE_WIDGET_ADAPTOR_H__
#ifndef _GLADE_WIDGET_ADAPTOR_H_
#define _GLADE_WIDGET_ADAPTOR_H_
#include <gladeui/glade-xml-utils.h>
#include <gladeui/glade-property-class.h>
#include <gladeui/glade-editor-property.h>
#include <gladeui/glade-signal-class.h>
#include <gladeui/glade-catalog.h>
#include <gladeui/glade-editable.h>
#include <glib-object.h>
......@@ -139,23 +140,6 @@ typedef struct _GladeWidgetAdaptorClass GladeWidgetAdaptorClass;
#define GWA_GET_OCLASS(type) ((GObjectClass*)GWA_GET_CLASS(type))
#define GLADE_SIGNAL_CLASS(klass) ((GladeSignalClass *)(klass))
/**
* GSC_VERSION_CHECK:
* @klass: A #GladeSignalClass
* @major_version: The major version to check
* @minor_version: The minor version to check
*
* Evaluates to %TRUE if @klass is available in its owning library version-@major_verion.@minor_version.