summaryrefslogtreecommitdiff
path: root/gladeui
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.van.berkom@gmail.com>2010-08-29 15:00:15 +0900
committerTristan Van Berkom <tristan.van.berkom@gmail.com>2010-08-29 15:00:15 +0900
commitf8048511d2c8ce2b7d97c018f684d3434ef28825 (patch)
tree1b7f8fffdfbffb845eefd0021cc22922e45cbc55 /gladeui
parentc25a2225da48422cc5a4a82f9afa73591e86dadc (diff)
downloadglade-f8048511d2c8ce2b7d97c018f684d3434ef28825.tar.gz
* 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.
Diffstat (limited to 'gladeui')
-rw-r--r--gladeui/glade-inspector.c33
-rw-r--r--gladeui/glade-project.c71
-rw-r--r--gladeui/glade-project.h1
3 files changed, 65 insertions, 40 deletions
diff --git a/gladeui/glade-inspector.c b/gladeui/glade-inspector.c
index ae85d483..64fbb8e6 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 a2a3cfa8..dd7d162b 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 455eda0d..ebffbb8f 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;