[glade3] * gladeui/glade-project.[ch]: - Added MISC column to the project model (displayable information



commit f8048511d2c8ce2b7d97c018f684d3434ef28825
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date:   Sun Aug 29 15:00:15 2010 +0900

    	* gladeui/glade-project.[ch]:
    	  - Added MISC column to the project model (displayable information
    	    about whether the widget is an internal child of a composite widget
    	    or a frame's label or notebook's tab).
    
    	* gladeui/glade-inspector.c: Fixed regression in the inspector; inspector
    	  was failing to display information about frame labels and internal action
    	  areas and such.

 ChangeLog                 |   10 ++++++-
 gladeui/glade-inspector.c |   33 ++++++++++++++-------
 gladeui/glade-project.c   |   71 ++++++++++++++++++++++++++------------------
 gladeui/glade-project.h   |    1 +
 4 files changed, 74 insertions(+), 41 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index c9f33dd..e86bf7a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,14 @@
 2010-08-29  Tristan Van Berkom <tristanvb openismus com>
 
-	* gladeui/glade-project.c: Applied Johannes Schmid's changes in bug 623879.
+	* gladeui/glade-project.[ch]:
+	  - Applied Johannes Schmid's changes in bug 623879.
+	  - Added MISC column to the project model (displayable information
+	    about whether the widget is an internal child of a composite widget
+	    or a frame's label or notebook's tab).
+
+	* gladeui/glade-inspector.c: Fixed regression in the inspector; inspector
+	  was failing to display information about frame labels and internal action 
+	  areas and such.
 
 2010-08-26  Tristan Van Berkom <tristanvb openismus com>
 
diff --git a/gladeui/glade-inspector.c b/gladeui/glade-inspector.c
index ae85d48..64fbb8e 100644
--- a/gladeui/glade-inspector.c
+++ b/gladeui/glade-inspector.c
@@ -671,32 +671,43 @@ static void
 add_columns (GtkTreeView *view)
 {
 	GtkTreeViewColumn *column;
-	GtkCellRenderer *renderer_pixbuf, *renderer_name, *renderer_type;
+	GtkCellRenderer *renderer;
 
 	column = gtk_tree_view_column_new ();
 
-	renderer_pixbuf = gtk_cell_renderer_pixbuf_new ();
-	gtk_tree_view_column_pack_start (column, renderer_pixbuf, FALSE);
+	renderer = gtk_cell_renderer_pixbuf_new ();
+	gtk_tree_view_column_pack_start (column, renderer, FALSE);
 	gtk_tree_view_column_set_attributes (column,
-	                                     renderer_pixbuf,
+	                                     renderer,
 	                                     "icon_name", GLADE_PROJECT_MODEL_COLUMN_ICON_NAME,
 	                                     NULL);
 
-	renderer_name = gtk_cell_renderer_text_new ();
-	gtk_tree_view_column_pack_start (column, renderer_name, FALSE);
+	renderer = gtk_cell_renderer_text_new ();
+	gtk_tree_view_column_pack_start (column, renderer, FALSE);
 	gtk_tree_view_column_set_attributes (column,
-	                                     renderer_name,
+	                                     renderer,
 	                                     "text", GLADE_PROJECT_MODEL_COLUMN_NAME,
 	                                     NULL);
 
-	renderer_type = gtk_cell_renderer_text_new ();
-	g_object_set (renderer_type, "style", PANGO_STYLE_ITALIC, NULL);
-	gtk_tree_view_column_pack_start (column, renderer_type, FALSE);	
+	renderer = gtk_cell_renderer_text_new ();
+	g_object_set (renderer, "style", PANGO_STYLE_ITALIC, NULL);
+	gtk_tree_view_column_pack_start (column, renderer, FALSE);	
 	gtk_tree_view_column_set_attributes (column,
-	                                     renderer_type,
+	                                     renderer,
 	                                     "text", GLADE_PROJECT_MODEL_COLUMN_TYPE_NAME,
 	                                     NULL);
 
+
+	renderer = gtk_cell_renderer_text_new ();
+	g_object_set (G_OBJECT (renderer), 
+		      "style", PANGO_STYLE_ITALIC,
+		      "foreground", "Gray", NULL);
+	gtk_tree_view_column_pack_start (column, renderer, FALSE);	
+	gtk_tree_view_column_set_attributes (column,
+	                                     renderer,
+	                                     "text", GLADE_PROJECT_MODEL_COLUMN_MISC,
+	                                     NULL);
+
 	gtk_tree_view_append_column (view, column);
 	gtk_tree_view_set_headers_visible (view, FALSE);
 }
diff --git a/gladeui/glade-project.c b/gladeui/glade-project.c
index a2a3cfa..dd7d162 100644
--- a/gladeui/glade-project.c
+++ b/gladeui/glade-project.c
@@ -4284,17 +4284,19 @@ glade_project_model_get_column_type (GtkTreeModel* model,
 {
 	switch (column)
 	{
-		case GLADE_PROJECT_MODEL_COLUMN_ICON_NAME:
-			return G_TYPE_STRING;
-		case GLADE_PROJECT_MODEL_COLUMN_NAME:
-			return G_TYPE_STRING;
-		case GLADE_PROJECT_MODEL_COLUMN_TYPE_NAME:
-			return G_TYPE_STRING;
-		case GLADE_PROJECT_MODEL_COLUMN_OBJECT:
-			return G_TYPE_OBJECT;
-		default:
-			g_assert_not_reached();
-			return G_TYPE_NONE;
+	case GLADE_PROJECT_MODEL_COLUMN_ICON_NAME:
+		return G_TYPE_STRING;
+	case GLADE_PROJECT_MODEL_COLUMN_NAME:
+		return G_TYPE_STRING;
+	case GLADE_PROJECT_MODEL_COLUMN_TYPE_NAME:
+		return G_TYPE_STRING;
+	case GLADE_PROJECT_MODEL_COLUMN_OBJECT:
+		return G_TYPE_OBJECT;
+	case GLADE_PROJECT_MODEL_COLUMN_MISC:
+		return G_TYPE_STRING;
+	default:
+		g_assert_not_reached();
+		return G_TYPE_NONE;
 	}
 }
 
@@ -4422,7 +4424,7 @@ glade_project_model_get_value (GtkTreeModel* model,
 {
 	GObject* object;
 	GladeWidget* widget;
-	gchar* icon_name;
+	gchar *str = NULL, *child_type;
 
 	g_return_if_fail (VALID_ITER (model, iter));
 
@@ -4434,23 +4436,34 @@ glade_project_model_get_value (GtkTreeModel* model,
 	
 	switch (column)
 	{
-		case GLADE_PROJECT_MODEL_COLUMN_ICON_NAME:
-			g_object_get (widget->adaptor, "icon-name", &icon_name, NULL);
-			g_value_take_string (value, icon_name);
-			break;
-		case GLADE_PROJECT_MODEL_COLUMN_NAME:
-			g_value_set_string (value,
-			                    glade_widget_get_name (widget));
-			break;
-		case GLADE_PROJECT_MODEL_COLUMN_TYPE_NAME:
-			g_value_set_static_string (value,
-			                           G_OBJECT_TYPE_NAME(object));
-			break;
-		case GLADE_PROJECT_MODEL_COLUMN_OBJECT:
-			g_value_set_object (value, object);
-			break;
-		default:
-			g_assert_not_reached();
+	case GLADE_PROJECT_MODEL_COLUMN_ICON_NAME:
+		g_object_get (widget->adaptor, "icon-name", &str, NULL);
+		g_value_take_string (value, str);
+		break;
+	case GLADE_PROJECT_MODEL_COLUMN_NAME:
+		g_value_set_string (value,
+				    glade_widget_get_name (widget));
+		break;
+	case GLADE_PROJECT_MODEL_COLUMN_TYPE_NAME:
+		g_value_set_static_string (value,
+					   G_OBJECT_TYPE_NAME(object));
+		break;
+	case GLADE_PROJECT_MODEL_COLUMN_OBJECT:
+		g_value_set_object (value, object);
+		break;
+	case GLADE_PROJECT_MODEL_COLUMN_MISC:
+		/* special child type / internal child */
+		if (glade_widget_get_internal (widget) != NULL)
+			str = g_strdup_printf (_("(internal %s)"),  
+					       glade_widget_get_internal (widget));
+		else if ((child_type = g_object_get_data (glade_widget_get_object (widget),
+							  "special-child-type")) != NULL)
+			str = g_strdup_printf (_("(%s child)"), child_type);
+		
+		g_value_take_string (value, str);
+		break;
+	default:
+		g_assert_not_reached();
 	}
 }
 
diff --git a/gladeui/glade-project.h b/gladeui/glade-project.h
index 455eda0..ebffbb8 100644
--- a/gladeui/glade-project.h
+++ b/gladeui/glade-project.h
@@ -46,6 +46,7 @@ typedef enum
 	GLADE_PROJECT_MODEL_COLUMN_NAME,
 	GLADE_PROJECT_MODEL_COLUMN_TYPE_NAME,
 	GLADE_PROJECT_MODEL_COLUMN_OBJECT,
+	GLADE_PROJECT_MODEL_COLUMN_MISC,
 	GLADE_PROJECT_MODEL_N_COLUMNS
 } GladeProjectModelColumns;
 



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