glade3 r1945 - in trunk: . gladeui plugins/gnome plugins/gtk+



Author: tvb
Date: Sat Sep 20 23:49:05 2008
New Revision: 1945
URL: http://svn.gnome.org/viewvc/glade3?rev=1945&view=rev

Log:

	* gladeui/glade-xml-utils.h, gladeui/glade-catalog.[ch], 
	gladeui/glade-widget-adaptor.[ch], gladeui/glade-property-class.[ch],
	gladeui/glade-project.c, glade-palette-item.c: Added "supports" catalog element
	to supply supported formats, added libglade-only and libglade-unsupported properties
	for widget classes and property classes, those metadata will show up in the editor
	like versioning info, in the verify logs as well, and the palette will adjust
	sensitivity according to the new properties.

	* plugins/gtk+/gtk+.xml.in, plugins/gnome/gnome.xml.in: Added supports
	elements and marked widgets/properties as libglade-only/libglade-unsupported in
	the gtk+ catalog.



Modified:
   trunk/ChangeLog
   trunk/gladeui/glade-catalog.c
   trunk/gladeui/glade-catalog.h
   trunk/gladeui/glade-inspector.c
   trunk/gladeui/glade-palette-item.c
   trunk/gladeui/glade-project.c
   trunk/gladeui/glade-project.h
   trunk/gladeui/glade-property-class.c
   trunk/gladeui/glade-property-class.h
   trunk/gladeui/glade-widget-adaptor.c
   trunk/gladeui/glade-widget-adaptor.h
   trunk/gladeui/glade-xml-utils.h
   trunk/plugins/gnome/gnome.xml.in
   trunk/plugins/gtk+/gtk+.xml.in

Modified: trunk/gladeui/glade-catalog.c
==============================================================================
--- trunk/gladeui/glade-catalog.c	(original)
+++ trunk/gladeui/glade-catalog.c	Sat Sep 20 23:49:05 2008
@@ -40,6 +40,9 @@
 
 	GList *targetable_versions; /* list of suitable version targets */
 
+	gboolean libglade_supported; /* whether this catalog supports libglade */
+	gboolean builder_supported; /* whether this catalog supports gtkbuilder */
+
 	gchar *library;          /* Library name for backend support  */
 
 	gchar *name;             /* Symbolic catalog name             */
@@ -139,7 +142,9 @@
 	catalog->context = NULL;
 	catalog->adaptors = NULL;
 	catalog->widget_groups = NULL;
-	
+
+	catalog->libglade_supported = FALSE;
+	catalog->builder_supported = TRUE;
 	return catalog;
 }
 
@@ -207,6 +212,25 @@
 	catalog->book         = glade_xml_get_property_string (root, GLADE_TAG_BOOK);
 	catalog->icon_prefix  = glade_xml_get_property_string (root, GLADE_TAG_ICON_PREFIX);
 	catalog->init_function_name = glade_xml_get_value_string (root, GLADE_TAG_INIT_FUNCTION);
+
+	if (!catalog->domain)
+		catalog->domain = g_strdup (catalog->library);
+
+	if ((str = glade_xml_get_property_string (root, GLADE_TAG_SUPPORTS)) != NULL)
+	{
+		gchar **split = g_strsplit (str, ",", 0);
+		gint i;
+
+		catalog->builder_supported = FALSE;
+		
+		for (i = 0; split[i]; i++)
+		{
+			if (!strcmp (split[i], GLADE_TAG_LIBGLADE))
+				catalog->libglade_supported = TRUE;
+			else if (!strcmp (split[i], GLADE_TAG_GTKBUILDER))
+				catalog->builder_supported = TRUE;
+		}
+	}
 	
 	/* catalog->icon_prefix defaults to catalog->name */
 	if (!catalog->icon_prefix)
@@ -358,12 +382,7 @@
 	
 		domain = catalog->domain ? catalog->domain : catalog->library;
 		
-		adaptor = glade_widget_adaptor_from_catalog (node,
-							     catalog->name,
-							     catalog->icon_prefix,
-							     module,
-			 				     domain, 
-			 				     catalog->book);
+		adaptor = glade_widget_adaptor_from_catalog (catalog, node, module);
 
 		catalog->adaptors = g_list_prepend (catalog->adaptors, adaptor);
 	}
@@ -403,8 +422,7 @@
 	group->expanded = TRUE;
 
 	/* Translate it */
-	translated_title = dgettext (catalog->domain ?
-				     catalog->domain : catalog->library, 
+	translated_title = dgettext (catalog->domain, 
 				     title);
         if (translated_title != title)
         {
@@ -555,18 +573,59 @@
 	return loaded_catalogs;
 }
 
-const gchar *
+G_CONST_RETURN gchar *
 glade_catalog_get_name (GladeCatalog *catalog)
 {
-	g_return_val_if_fail (catalog != NULL, NULL);
+	g_return_val_if_fail (GLADE_IS_CATALOG (catalog), NULL);
 
 	return catalog->name;
 }
 
+G_CONST_RETURN gchar *
+glade_catalog_get_book (GladeCatalog *catalog)
+{
+	g_return_val_if_fail (GLADE_IS_CATALOG (catalog), NULL);
+
+	return catalog->book;
+}
+
+G_CONST_RETURN gchar *
+glade_catalog_get_domain (GladeCatalog *catalog)
+{
+	g_return_val_if_fail (GLADE_IS_CATALOG (catalog), NULL);
+
+	return catalog->domain;
+}
+
+G_CONST_RETURN gchar *
+glade_catalog_get_icon_prefix (GladeCatalog *catalog)
+{
+	g_return_val_if_fail (GLADE_IS_CATALOG (catalog), NULL);
+
+	return catalog->icon_prefix;
+}
+
+gboolean
+glade_catalog_supports_libglade (GladeCatalog *catalog)
+{
+	g_return_val_if_fail (GLADE_IS_CATALOG (catalog), FALSE);
+
+	return catalog->libglade_supported;
+}
+
+gboolean
+glade_catalog_supports_gtkbuilder (GladeCatalog *catalog)
+{
+	g_return_val_if_fail (GLADE_IS_CATALOG (catalog), FALSE);
+
+	return catalog->builder_supported;
+}
+
+
 gint
 glade_catalog_get_major_version (GladeCatalog *catalog)
 {
-	g_return_val_if_fail (catalog != NULL, 0);
+	g_return_val_if_fail (GLADE_IS_CATALOG (catalog), 0);
 
 	return catalog->major_version;
 }
@@ -574,7 +633,7 @@
 gint
 glade_catalog_get_minor_version (GladeCatalog *catalog)
 {
-	g_return_val_if_fail (catalog != NULL, 0);
+	g_return_val_if_fail (GLADE_IS_CATALOG (catalog), 0);
 
 	return catalog->minor_version;
 }
@@ -583,7 +642,7 @@
 GList *
 glade_catalog_get_targets (GladeCatalog *catalog)
 {
-	g_return_val_if_fail (catalog != NULL, NULL);
+	g_return_val_if_fail (GLADE_IS_CATALOG (catalog), NULL);
 
 	return catalog->targetable_versions;
 }
@@ -591,7 +650,7 @@
 GList *
 glade_catalog_get_widget_groups (GladeCatalog *catalog)
 {
-	g_return_val_if_fail (catalog != NULL, NULL);
+	g_return_val_if_fail (GLADE_IS_CATALOG (catalog), NULL);
 
 	return catalog->widget_groups;	
 }
@@ -599,7 +658,7 @@
 GList *
 glade_catalog_get_adaptors (GladeCatalog *catalog)
 {
-	g_return_val_if_fail (catalog != NULL, NULL);
+	g_return_val_if_fail (GLADE_IS_CATALOG (catalog), NULL);
 
 	return catalog->adaptors;	
 }

Modified: trunk/gladeui/glade-catalog.h
==============================================================================
--- trunk/gladeui/glade-catalog.h	(original)
+++ trunk/gladeui/glade-catalog.h	Sat Sep 20 23:49:05 2008
@@ -72,7 +72,10 @@
 
 const GList  *glade_catalog_load_all                (void);
 
-const gchar  *glade_catalog_get_name                (GladeCatalog     *catalog);
+G_CONST_RETURN gchar  *glade_catalog_get_name       (GladeCatalog     *catalog);
+G_CONST_RETURN gchar  *glade_catalog_get_icon_prefix(GladeCatalog     *catalog);
+G_CONST_RETURN gchar  *glade_catalog_get_domain     (GladeCatalog     *catalog);
+G_CONST_RETURN gchar  *glade_catalog_get_book       (GladeCatalog     *catalog);
 
 GList        *glade_catalog_get_targets             (GladeCatalog     *catalog);
 
@@ -100,6 +103,10 @@
 						     GladeProject     *project,
 						     GladeProjectFormat  new_format);
 
+
+gboolean      glade_catalog_supports_libglade       (GladeCatalog     *catalog);
+gboolean      glade_catalog_supports_gtkbuilder     (GladeCatalog     *catalog);
+
 G_END_DECLS
 
 #endif /* __GLADE_CATALOG_H__ */

Modified: trunk/gladeui/glade-inspector.c
==============================================================================
--- trunk/gladeui/glade-inspector.c	(original)
+++ trunk/gladeui/glade-inspector.c	Sat Sep 20 23:49:05 2008
@@ -872,7 +872,7 @@
 	/* Make sure we expended to the right path */
 	project_selection_changed_cb (project, inspector);
 
-	return inspector;
+	return GTK_WIDGET (inspector);
 }
 
 

Modified: trunk/gladeui/glade-palette-item.c
==============================================================================
--- trunk/gladeui/glade-palette-item.c	(original)
+++ trunk/gladeui/glade-palette-item.c	Sat Sep 20 23:49:05 2008
@@ -182,10 +182,10 @@
 	    (warning = 
 	     glade_project_verify_widget_adaptor (project, priv->adaptor, &support)) != NULL)
 	{
-
 		/* set sensitivity */
 		gtk_widget_set_sensitive (GTK_WIDGET (item), 
-					  !(support & (GLADE_SUPPORT_BUILDER_UNSUPPORTED | 
+					  !(support & (GLADE_SUPPORT_LIBGLADE_UNSUPPORTED | 
+						       GLADE_SUPPORT_LIBGLADE_ONLY |
 						       GLADE_SUPPORT_MISMATCH)));
 
 		if (support & GLADE_SUPPORT_DEPRECATED)

Modified: trunk/gladeui/glade-project.c
==============================================================================
--- trunk/gladeui/glade-project.c	(original)
+++ trunk/gladeui/glade-project.c	Sat Sep 20 23:49:05 2008
@@ -584,7 +584,7 @@
 		}
 
 		if (project->priv->format == GLADE_PROJECT_FORMAT_GTKBUILDER &&
-		    GWA_BUILDER_UNSUPPORTED (adaptor_iter))
+		    GWA_LIBGLADE_ONLY (adaptor_iter))
 		{
 			if (forwidget)
 			{
@@ -592,7 +592,7 @@
 					g_string_append (string, "\n");
 				g_string_append_printf
 					(string,
-					 _("This widget is not supported by GtkBuilder"));
+					 _("This widget is only supported in libglade format"));
 			}
 			else
 				/* translators: reffers to a widget '[%s]'  
@@ -600,11 +600,34 @@
 				g_string_append_printf
 					(string,
 					 _("[%s] Object class '%s' from %s %d.%d "
-					   "is not supported by GtkBuilder\n"),
+					   "is only supported in libglade format\n"),
 					 path_name, adaptor_iter->title, catalog,
 					 target_major, target_minor);
 
-			support_mask |= GLADE_SUPPORT_BUILDER_UNSUPPORTED;
+			support_mask |= GLADE_SUPPORT_LIBGLADE_ONLY;
+		}
+		else if (project->priv->format == GLADE_PROJECT_FORMAT_LIBGLADE &&
+			 GWA_LIBGLADE_UNSUPPORTED (adaptor_iter))
+		{
+			if (forwidget)
+			{
+				if (string->len)
+					g_string_append (string, "\n");
+				g_string_append_printf
+					(string,
+					 _("This widget is not supported in libglade format"));
+			}
+			else
+				/* translators: reffers to a widget '[%s]'  
+				 * loaded from toolkit version '%s %d.%d' */
+				g_string_append_printf
+					(string,
+					 _("[%s] Object class '%s' from %s %d.%d "
+					   "is not supported in libglade format\n"),
+					 path_name, adaptor_iter->title, catalog,
+					 target_major, target_minor);
+
+			support_mask |= GLADE_SUPPORT_LIBGLADE_UNSUPPORTED;
 		}
 
 		if (!saving && GWA_DEPRECATED (adaptor_iter))
@@ -1519,7 +1542,8 @@
 
 
 static void
-glade_project_verify_property (GladeProperty  *property, 
+glade_project_verify_property (GladeProject   *project,
+			       GladeProperty  *property, 
 			       const gchar    *path_name,
 			       GString        *string,
 			       gboolean        forwidget)
@@ -1538,9 +1562,49 @@
 						  &target_major,
 						  &target_minor);
 	
-	if (target_major < property->klass->version_since_major ||
-	    (target_major == property->klass->version_since_major &&
-	     target_minor < property->klass->version_since_minor))
+	if (project->priv->format == GLADE_PROJECT_FORMAT_LIBGLADE &&
+	    property->klass->libglade_unsupported)
+	{
+		if (forwidget)
+			glade_property_set_support_warning
+				(property, _("This property is not supported in libglade format"));
+		else
+			/* translators: reffers to a property '%s' of widget '[%s]' 
+			 * introduced in toolkit version '%s %d.%d' */
+			g_string_append_printf
+				(string,
+				 property->klass->packing ?
+				 _("[%s] Packing property '%s' of object class '%s' is not "
+				   "supported in libglade format\n") :
+				 _("[%s] Property '%s' of object class '%s' is not "
+				   "supported in libglade format\n"),
+				 path_name,
+				 property->klass->name, 
+				 adaptor->title);
+	}
+	else if (project->priv->format == GLADE_PROJECT_FORMAT_GTKBUILDER &&
+		 property->klass->libglade_only)
+	{
+		if (forwidget)
+			glade_property_set_support_warning
+				(property, _("This property is only supported in libglade format"));
+		else
+			/* translators: reffers to a property '%s' of widget '[%s]' 
+			 * introduced in toolkit version '%s %d.%d' */
+			g_string_append_printf
+				(string,
+				 property->klass->packing ?
+				 _("[%s] Packing property '%s' of object class '%s' is only "
+				   "supported in libglade format\n") :
+				 _("[%s] Property '%s' of object class '%s' is only "
+				   "supported in libglade format\n"),
+				 path_name,
+				 property->klass->name, 
+				 adaptor->title);
+	} 
+	else if (target_major < property->klass->version_since_major ||
+		 (target_major == property->klass->version_since_major &&
+		  target_minor < property->klass->version_since_minor))
 	{
 		if (forwidget)
 		{
@@ -1579,7 +1643,6 @@
 		glade_property_set_support_warning (property, NULL);
 
 	g_free (catalog);
-		
 }
 
 
@@ -1595,7 +1658,7 @@
 	for (list = widget->properties; list; list = list->next)
 	{
 		property = list->data;
-		glade_project_verify_property (property, path_name, string, forwidget);
+		glade_project_verify_property (widget->project, property, path_name, string, forwidget);
 	}
 
 	for (list = widget->packing_properties; list; list = list->next)
@@ -1604,7 +1667,7 @@
 
 		g_assert (widget->parent);
 		property = list->data;
-		glade_project_verify_property (property, path_name, string, forwidget);
+		glade_project_verify_property (widget->project, property, path_name, string, forwidget);
 	}
 }
 
@@ -3246,6 +3309,7 @@
 	{
 		project->priv->format = format; 
 		g_object_notify (G_OBJECT (project), "format");
+		glade_project_verify_project_for_ui (project);
 	}
 }
 

Modified: trunk/gladeui/glade-project.h
==============================================================================
--- trunk/gladeui/glade-project.h	(original)
+++ trunk/gladeui/glade-project.h	Sat Sep 20 23:49:05 2008
@@ -25,7 +25,8 @@
 	GLADE_SUPPORT_OK                   = 0x00,
 	GLADE_SUPPORT_DEPRECATED           = 0x01,
 	GLADE_SUPPORT_MISMATCH             = 0x02,
-	GLADE_SUPPORT_BUILDER_UNSUPPORTED  = 0x04
+	GLADE_SUPPORT_LIBGLADE_UNSUPPORTED = 0x04,
+	GLADE_SUPPORT_LIBGLADE_ONLY        = 0x08
 } GladeSupportMask;
 
 struct _GladeProject

Modified: trunk/gladeui/glade-property-class.c
==============================================================================
--- trunk/gladeui/glade-property-class.c	(original)
+++ trunk/gladeui/glade-property-class.c	Sat Sep 20 23:49:05 2008
@@ -92,6 +92,9 @@
 	property_class->virt = TRUE;
 	property_class->transfer_on_paste = FALSE;
 	property_class->weight = -1.0;
+	property_class->libglade_only = FALSE;
+	property_class->libglade_unsupported = FALSE;
+	property_class->parentless_widget = FALSE;
 
 	/* Initialize them to the base version */
 	property_class->version_since_major = GWA_VERSION_SINCE_MAJOR (handle);
@@ -1508,7 +1511,10 @@
 	klass->transfer_on_paste = glade_xml_get_property_boolean (node, GLADE_TAG_TRANSFER_ON_PASTE, klass->transfer_on_paste);
 	klass->save_always = glade_xml_get_property_boolean (node, GLADE_TAG_SAVE_ALWAYS, klass->save_always);
 	klass->parentless_widget = glade_xml_get_property_boolean (node, GLADE_TAG_PARENTLESS_WIDGET, klass->parentless_widget);
-	
+	klass->libglade_only = glade_xml_get_property_boolean (node, GLADE_TAG_LIBGLADE_ONLY, klass->libglade_only);
+	klass->libglade_unsupported = 
+		glade_xml_get_property_boolean (node, GLADE_TAG_LIBGLADE_UNSUPPORTED, 
+						klass->libglade_unsupported);
 
 	/* Special case pixbuf here.
 	 */

Modified: trunk/gladeui/glade-property-class.h
==============================================================================
--- trunk/gladeui/glade-property-class.h	(original)
+++ trunk/gladeui/glade-property-class.h	Sat Sep 20 23:49:05 2008
@@ -37,6 +37,10 @@
 					  */
 	gint        version_since_minor; 
 
+	/* For catalogs that support libglade: */
+	gboolean    libglade_only;       /* Mark special libglade virtual properties */
+	gboolean    libglade_unsupported;/* Mark properties that are not available in libglade */
+
 	GParamSpec *pspec; /* The Parameter Specification for this property.
 			    */
 

Modified: trunk/gladeui/glade-widget-adaptor.c
==============================================================================
--- trunk/gladeui/glade-widget-adaptor.c	(original)
+++ trunk/gladeui/glade-widget-adaptor.c	Sat Sep 20 23:49:05 2008
@@ -1482,9 +1482,13 @@
 		glade_xml_get_property_boolean
 		(node, GLADE_TAG_DEPRECATED, adaptor_class->deprecated);
 
-	adaptor_class->builder_unsupported = 
+	adaptor_class->libglade_unsupported = 
 		glade_xml_get_property_boolean
-		(node, GLADE_TAG_BUILDER_UNSUPPORTED, adaptor_class->builder_unsupported);
+		(node, GLADE_TAG_LIBGLADE_UNSUPPORTED, adaptor_class->libglade_unsupported);
+
+	adaptor_class->libglade_only = 
+		glade_xml_get_property_boolean
+		(node, GLADE_TAG_LIBGLADE_ONLY, adaptor_class->libglade_only);
 
 	adaptor_class->fixed = 
 		glade_xml_get_property_boolean
@@ -1999,25 +2003,19 @@
 
 /**
  * glade_widget_adaptor_from_catalog:
- * @class_node: A #GladeXmlNode
- * @catname: the name of the owning catalog
- * @icon_prefix:
+ * @catalog: A #GladeCatalog
+ * @class_node: the #GladeXmlNode to load
  * @module: the plugin GModule.
- * @domain: the domain to translate strings from this plugin from
- * @book: the devhelp search domain for the owning catalog.
  *
  * Dynamicly creates a subclass of #GladeWidgetAdaptor and subclasses
  * the closest parent adaptor (parent class adapters must be creates/registerd
  * prior to child classes, otherwise inheritance wont work) and parses in
  * the relevent catalog info.
  */
-GladeWidgetAdaptor *
-glade_widget_adaptor_from_catalog (GladeXmlNode     *class_node,
-				   const gchar      *catname,
-				   const gchar      *icon_prefix,
-				   GModule          *module,
-				   const gchar      *domain,
-				   const gchar      *book)
+GladeWidgetAdaptor  *
+glade_widget_adaptor_from_catalog (GladeCatalog         *catalog,
+				   GladeXmlNode         *class_node,
+				   GModule              *module)
 {
 	GladeWidgetAdaptor *adaptor = NULL;
 	gchar              *name, *generic_name, *icon_name, *adaptor_icon_name, *adaptor_name, *func_name;
@@ -2105,13 +2103,13 @@
 	adaptor_icon_name = create_icon_name_for_object_class (name,
 							       object_type,
 							       icon_name,
-							       icon_prefix,
+							       glade_catalog_get_icon_prefix (catalog),
 							       generic_name);
 
 	adaptor = g_object_new (adaptor_type, 
 				"type", object_type,
 				"name", name,
-				"catalog", catname,
+				"catalog", glade_catalog_get_name (catalog),
 				"generic-name", generic_name,
 				"icon-name", adaptor_icon_name,
 				NULL);
@@ -2134,7 +2132,7 @@
 	else
 	{
 		/* translate */
-		translated_title = dgettext (domain, title);
+		translated_title = dgettext (glade_catalog_get_domain (catalog), title);
 		if (translated_title != title)
 		{
 			/* gettext owns translated_title */
@@ -2159,12 +2157,17 @@
 	if (adaptor->generic_name == NULL)
 		adaptor->generic_name = g_strdup ("widget");
 	
-	adaptor->priv->catalog = g_strdup (catname);
+	adaptor->priv->catalog = g_strdup (glade_catalog_get_name (catalog));
+
+	if (glade_catalog_get_book (catalog))
+		adaptor->priv->book = g_strdup (glade_catalog_get_book (catalog));
 
-	if (book)
-		adaptor->priv->book = g_strdup (book);
+	gwa_extend_with_node (adaptor, class_node, module, glade_catalog_get_domain (catalog));
 
-	gwa_extend_with_node (adaptor, class_node, module, domain);
+	if (!glade_catalog_supports_libglade (catalog))
+		GLADE_WIDGET_ADAPTOR_GET_CLASS (adaptor)->libglade_unsupported = TRUE;
+	if (!glade_catalog_supports_gtkbuilder (catalog))
+		GLADE_WIDGET_ADAPTOR_GET_CLASS (adaptor)->libglade_only = TRUE;
 
 	/* Set default weight on properties */
 	for (parent_type = adaptor->type;

Modified: trunk/gladeui/glade-widget-adaptor.h
==============================================================================
--- trunk/gladeui/glade-widget-adaptor.h	(original)
+++ trunk/gladeui/glade-widget-adaptor.h	Sat Sep 20 23:49:05 2008
@@ -5,6 +5,7 @@
 #include <gladeui/glade-xml-utils.h>
 #include <gladeui/glade-property-class.h>
 #include <gladeui/glade-editor-property.h>
+#include <gladeui/glade-catalog.h>
 #include <glib-object.h>
 #include <gmodule.h>
 #include <gtk/gtk.h>
@@ -42,13 +43,22 @@
         ((obj) ? GLADE_WIDGET_ADAPTOR_GET_CLASS(obj)->deprecated : FALSE)
 
 /**
- * GWA_BUILDER_UNSUPPORTED:
+ * GWA_LIBGLADE_UNSUPPORTED:
  * @obj: A #GladeWidgetAdaptor
  *
- * Checks whether this widget class unsupported by GtkBuilder
+ * Checks whether this widget class is unsupported by Libglade
  */
-#define GWA_BUILDER_UNSUPPORTED(obj) \
-        ((obj) ? GLADE_WIDGET_ADAPTOR_GET_CLASS(obj)->builder_unsupported : FALSE)
+#define GWA_LIBGLADE_UNSUPPORTED(obj) \
+        ((obj) ? GLADE_WIDGET_ADAPTOR_GET_CLASS(obj)->libglade_unsupported : FALSE)
+
+/**
+ * GWA_LIBGLADE_ONLY:
+ * @obj: A #GladeWidgetAdaptor
+ *
+ * Checks whether this widget class is only supported by libglade
+ */
+#define GWA_LIBGLADE_ONLY(obj) \
+        ((obj) ? GLADE_WIDGET_ADAPTOR_GET_CLASS(obj)->libglade_only : FALSE)
 
 /**
  * GWA_VERSION_SINCE_MAJOR:
@@ -534,9 +544,12 @@
 	gboolean                   deprecated;     /* If this widget is currently
 						    * deprecated
 						    */
-	gboolean                   builder_unsupported; /* If this widget is not supported
-							 * by gtkbuilder
-							 */
+	gboolean                   libglade_unsupported; /* If this widget is not supported
+							  * by libglade
+							  */
+	gboolean                   libglade_only; /* If this widget is only supported
+						   * by libglade
+						   */
 
 	gboolean                   fixed;      /* If this is a GtkContainer, use free-form
 						* placement with drag/resize/paste at mouse...
@@ -644,12 +657,9 @@
 GType                glade_create_reason_get_type          (void) G_GNUC_CONST;
 
 
-GladeWidgetAdaptor  *glade_widget_adaptor_from_catalog     (GladeXmlNode         *class_node,
-							    const gchar          *catname,
-							    const gchar          *icon_prefix,
-							    GModule              *module,
-							    const gchar          *domain,
-							    const gchar          *book);
+GladeWidgetAdaptor  *glade_widget_adaptor_from_catalog     (GladeCatalog         *catalog,
+							    GladeXmlNode         *class_node,
+							    GModule              *module);
 
 void                 glade_widget_adaptor_register         (GladeWidgetAdaptor   *adaptor);
  

Modified: trunk/gladeui/glade-xml-utils.h
==============================================================================
--- trunk/gladeui/glade-xml-utils.h	(original)
+++ trunk/gladeui/glade-xml-utils.h	Sat Sep 20 23:49:05 2008
@@ -79,13 +79,18 @@
 #define GLADE_XML_TAG_SOURCE                      "source"
 #define GLADE_XML_TAG_FILENAME                    "filename"
 #define GLADE_XML_TAG_STOCK_ID                    "stock-id"
+#define GLADE_TAG_FACTORY_STOCK_ID                "factory-stock-id"
 
 #define GLADE_TAG_VERSION                         "version"
 #define GLADE_TAG_TARGETABLE                      "targetable"
 #define GLADE_TAG_VERSION_SINCE                   "since"
 #define GLADE_TAG_DEPRECATED                      "deprecated"
-#define GLADE_TAG_BUILDER_UNSUPPORTED             "builder-unsupported"
-#define GLADE_TAG_FACTORY_STOCK_ID                "factory-stock-id"
+
+#define GLADE_TAG_LIBGLADE_ONLY                   "libglade-only"
+#define GLADE_TAG_LIBGLADE_UNSUPPORTED            "libglade-unsupported"
+#define GLADE_TAG_SUPPORTS                        "supports"
+#define GLADE_TAG_GTKBUILDER                      "gtkbuilder"
+#define GLADE_TAG_LIBGLADE                        "libglade"
 
 #define GLADE_TAG_GLADE_CATALOG                   "glade-catalog"
 #define GLADE_TAG_GLADE_WIDGET_CLASSES            "glade-widget-classes"

Modified: trunk/plugins/gnome/gnome.xml.in
==============================================================================
--- trunk/plugins/gnome/gnome.xml.in	(original)
+++ trunk/plugins/gnome/gnome.xml.in	Sat Sep 20 23:49:05 2008
@@ -1,5 +1,6 @@
 <glade-catalog name="gnome"
                library="gladegnome"
+	       supports="libglade"
                depends="gtk+"
                domain="glade3"
                book="libgnomeui">

Modified: trunk/plugins/gtk+/gtk+.xml.in
==============================================================================
--- trunk/plugins/gtk+/gtk+.xml.in	(original)
+++ trunk/plugins/gtk+/gtk+.xml.in	Sat Sep 20 23:49:05 2008
@@ -1,6 +1,7 @@
 <glade-catalog name="gtk+"
 	       version="2.14"
-	       targetable="2.10,2.8,2.12"
+	       targetable="2.12,2.10,2.8"
+	       supports="libglade,gtkbuilder"
                icon-prefix="gtk"
                library="gladegtk"
                domain="glade3"
@@ -658,7 +659,7 @@
 
       <properties>
 	<!-- Text of the textview -->
-	<property id="text" _name="Text" translatable="True">
+	<property id="text" _name="Text" translatable="True" libglade-only="True">
 	  <_tooltip>Set the text in the view's text buffer</_tooltip>
 	  <spec>glade_standard_string_spec</spec>
 	  <visible-lines>2</visible-lines>
@@ -1542,7 +1543,7 @@
     
     <glade-widget-class name="GtkVRuler" generic-name="vruler" _title="Vertical Ruler"/>
 
-    <glade-widget-class name="GtkCombo" generic-name="combo" _title="Combo" deprecated="True" builder-unsupported="True">
+    <glade-widget-class name="GtkCombo" generic-name="combo" _title="Combo" deprecated="True" libglade-only="True">
       <post-create-function>glade_gtk_combo_post_create</post-create-function>
       <get-internal-child-function>glade_gtk_combo_get_internal_child</get-internal-child-function>
       <get-children-function>glade_gtk_combo_get_children</get-children-function>
@@ -1560,7 +1561,7 @@
 
     </glade-widget-class>
     
-    <glade-widget-class name="GtkOptionMenu" generic-name="optionmenu" _title="Option Menu" deprecated="True" builder-unsupported="True">
+    <glade-widget-class name="GtkOptionMenu" generic-name="optionmenu" _title="Option Menu" deprecated="True" libglade-only="True">
       <properties>
 	<!-- Atk press property -->
 	<property id="atk-press" _name="Press" ignore="True" atk-property="True" save="False">
@@ -1571,7 +1572,7 @@
       </properties>
     </glade-widget-class>
 
-    <glade-widget-class name="GtkList" generic-name="list" _title="List" deprecated="True" builder-unsupported="True">
+    <glade-widget-class name="GtkList" generic-name="list" _title="List" deprecated="True" libglade-only="True">
       <add-child-function>glade_gtk_listitem_add_child</add-child-function>
       <remove-child-function>glade_gtk_listitem_remove_child</remove-child-function>
       <properties>
@@ -1587,7 +1588,7 @@
       </properties>
     </glade-widget-class>
 
-    <glade-widget-class name="GtkListItem" generic-name="listitem" _title="List Item" deprecated="True" builder-unsupported="True">
+    <glade-widget-class name="GtkListItem" generic-name="listitem" _title="List Item" deprecated="True" libglade-only="True">
       <post-create-function>glade_gtk_list_item_post_create</post-create-function>
       <set-property-function>glade_gtk_list_item_set_property</set-property-function>
       <get-property-function>glade_gtk_list_item_get_property</get-property-function>
@@ -1599,7 +1600,7 @@
       </properties>
     </glade-widget-class>
 
-    <glade-widget-class name="GtkCList" generic-name="clist" _title="Columned List" deprecated="True" builder-unsupported="True">
+    <glade-widget-class name="GtkCList" generic-name="clist" _title="Columned List" deprecated="True" libglade-only="True">
       <properties>
         <property id="selection-mode">
   	  <displayable-values>
@@ -1646,7 +1647,7 @@
     
     <glade-widget-class name="GtkGammaCurve" generic-name="gammacurve" _title="Gamma Curve"/>
 
-    <glade-widget-class name="GtkFileSelection" generic-name="fileselection" _title="File Selection" deprecated="True" builder-unsupported="True"/>
+    <glade-widget-class name="GtkFileSelection" generic-name="fileselection" _title="File Selection" deprecated="True" libglade-only="True"/>
     <glade-widget-class name="Custom" generic-name="custom" _title="Custom widget">
       <properties>
 	<property id="creation-function"/>
@@ -1738,7 +1739,7 @@
       </properties>
     </glade-widget-class>
 
-    <glade-widget-class name="GtkSizeGroup" generic-name="sizegroup" _title="Size Group">
+    <glade-widget-class name="GtkSizeGroup" generic-name="sizegroup" _title="Size Group" libglade-unsupported="True">
       <read-widget-function>glade_gtk_size_group_read_widget</read-widget-function>
       <write-widget-function>glade_gtk_size_group_write_widget</write-widget-function>
       <set-property-function>glade_gtk_size_group_set_property</set-property-function>
@@ -1749,14 +1750,13 @@
 	</property>
       </properties>
     </glade-widget-class>
+    <glade-widget-class name="GtkAdjustment" generic-name="adjustment" _title="Adjustment" libglade-unsupported="True"/>
 
-    <glade-widget-class name="GtkTextBuffer" generic-name="textbuffer" _title="Text Buffer"/>
-    <glade-widget-class name="GtkTextTag" generic-name="texttag" _title="Text Tag"/>
-    <glade-widget-class name="GtkTextTagTable" generic-name="texttagtable" _title="Text Tag Table"/>
-
-    <glade-widget-class name="GtkFileFilter" generic-name="filefilter" _title="File Filter"/>
-    <glade-widget-class name="GtkAdjustment" generic-name="adjustment" _title="Adjustment"/>
+    <glade-widget-class name="GtkTextBuffer" generic-name="textbuffer" _title="Text Buffer" libglade-unsupported="True"/>
+    <glade-widget-class name="GtkTextTag" generic-name="texttag" _title="Text Tag" libglade-unsupported="True"/>
+    <glade-widget-class name="GtkTextTagTable" generic-name="texttagtable" _title="Text Tag Table" libglade-unsupported="True"/>
 
+    <glade-widget-class name="GtkFileFilter" generic-name="filefilter" _title="File Filter" libglade-unsupported="True"/>
   </glade-widget-classes>
   
   <glade-widget-group name="gtk-toplevels" _title="Toplevels">
@@ -1844,12 +1844,13 @@
 
   <glade-widget-group name="gtk-objects" title="Objects">
     <glade-widget-class-ref name="GtkSizeGroup"/>
+    <glade-widget-class-ref name="GtkAdjustment"/>
+
     <glade-widget-class-ref name="GtkTextBuffer"/>
     <glade-widget-class-ref name="GtkTextTag"/>
     <glade-widget-class-ref name="GtkTextTagTable"/>
 
     <glade-widget-class-ref name="GtkFileFilter"/>
-    <glade-widget-class-ref name="GtkAdjustment"/>
   </glade-widget-group>
 
   <glade-widget-group name="gtk-specialized" title="Specialized Widgets">



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]