diff options
author | Tristan Van Berkom <tristan.van.berkom@gmail.com> | 2010-08-29 15:00:15 +0900 |
---|---|---|
committer | Tristan Van Berkom <tristan.van.berkom@gmail.com> | 2010-08-29 15:00:15 +0900 |
commit | f8048511d2c8ce2b7d97c018f684d3434ef28825 (patch) | |
tree | 1b7f8fffdfbffb845eefd0021cc22922e45cbc55 /gladeui | |
parent | c25a2225da48422cc5a4a82f9afa73591e86dadc (diff) | |
download | glade-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.c | 33 | ||||
-rw-r--r-- | gladeui/glade-project.c | 71 | ||||
-rw-r--r-- | gladeui/glade-project.h | 1 |
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; |