diff --git a/modules/inspector/widget-tree.c b/modules/inspector/widget-tree.c index df81096907..165339a2a2 100644 --- a/modules/inspector/widget-tree.c +++ b/modules/inspector/widget-tree.c @@ -31,6 +31,7 @@ enum OBJECT, OBJECT_TYPE, OBJECT_NAME, + OBJECT_LABEL, OBJECT_ADDRESS, SENSITIVE }; @@ -75,7 +76,7 @@ object_data_free (gpointer data) gtk_tree_iter_free (od->iter); - if (od->map_handler) + if (g_signal_handler_is_connected (od->object, od->map_handler)) { g_signal_handler_disconnect (od->object, od->map_handler); g_signal_handler_disconnect (od->object, od->unmap_handler); @@ -184,7 +185,9 @@ gtk_inspector_widget_tree_append_object (GtkInspectorWidgetTree *wt, gchar *address; gboolean mapped; ObjectData *od; + const gchar *label; + label = NULL; mapped = FALSE; if (GTK_IS_WIDGET (object)) @@ -197,16 +200,24 @@ gtk_inspector_widget_tree_append_object (GtkInspectorWidgetTree *wt, if (name == NULL || g_strcmp0 (name, class_name) == 0) { - if (GTK_IS_LABEL (object)) - name = gtk_label_get_text (GTK_LABEL (object)); - else if (GTK_IS_BUTTON (object)) - name = gtk_button_get_label (GTK_BUTTON (object)); - else if (GTK_IS_WINDOW (object)) - name = gtk_window_get_title (GTK_WINDOW (object)); - else - name = ""; + if (GTK_IS_BUILDABLE (object)) + name = gtk_buildable_get_name (GTK_BUILDABLE (object)); } + if (name == NULL) + name = ""; + + if (GTK_IS_LABEL (object)) + label = gtk_label_get_text (GTK_LABEL (object)); + else if (GTK_IS_BUTTON (object)) + label = gtk_button_get_label (GTK_BUTTON (object)); + else if (GTK_IS_WINDOW (object)) + label = gtk_window_get_title (GTK_WINDOW (object)); + else if (GTK_IS_TREE_VIEW_COLUMN (object)) + label = gtk_tree_view_column_get_title (GTK_TREE_VIEW_COLUMN (object)); + else + label = ""; + address = g_strdup_printf ("%p", object); gtk_tree_store_append (wt->priv->model, &iter, parent_iter); @@ -214,6 +225,7 @@ gtk_inspector_widget_tree_append_object (GtkInspectorWidgetTree *wt, OBJECT, object, OBJECT_TYPE, class_name, OBJECT_NAME, name, + OBJECT_LABEL, label, OBJECT_ADDRESS, address, SENSITIVE, !GTK_IS_WIDGET (object) || mapped, -1); diff --git a/modules/inspector/widget-tree.ui b/modules/inspector/widget-tree.ui index 5b94e00de3..74518847a9 100644 --- a/modules/inspector/widget-tree.ui +++ b/modules/inspector/widget-tree.ui @@ -6,6 +6,7 @@ + @@ -28,7 +29,7 @@ 1 - 4 + 5 @@ -43,7 +44,22 @@ 2 - 4 + 5 + + + + + + + Label + True + + + 0.8 + + + 3 + 5 @@ -58,8 +74,8 @@ monospace - 3 - 4 + 4 + 5