[gtk+] inspector: Add submenus to the tree
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] inspector: Add submenus to the tree
- Date: Tue, 10 Jun 2014 12:54:23 +0000 (UTC)
commit 634972e063194d532a654fdca9e730242b82f712
Author: Matthias Clasen <mclasen redhat com>
Date: Tue Jun 10 08:32:44 2014 -0400
inspector: Add submenus to the tree
gtk/inspector/widget-tree.c | 64 +++++++++++++++++++++++++------------------
1 files changed, 37 insertions(+), 27 deletions(-)
---
diff --git a/gtk/inspector/widget-tree.c b/gtk/inspector/widget-tree.c
index 8c2ba81..774b0c5 100644
--- a/gtk/inspector/widget-tree.c
+++ b/gtk/inspector/widget-tree.c
@@ -319,33 +319,6 @@ gtk_inspector_widget_tree_append_object (GtkInspectorWidgetTree *wt,
g_free (address);
- if (GTK_IS_WIDGET (object))
- {
- struct {
- GtkPropagationPhase phase;
- const gchar *name;
- } phases[] = {
- { GTK_PHASE_CAPTURE, "capture" },
- { GTK_PHASE_TARGET, "target" },
- { GTK_PHASE_BUBBLE, "bubble" },
- { GTK_PHASE_NONE, "" }
- };
- gint i;
-
- for (i = 0; i < G_N_ELEMENTS (phases); i++)
- {
- GList *list, *l;
-
- list = _gtk_widget_list_controllers (GTK_WIDGET (object), phases[i].phase);
- for (l = list; l; l = l->next)
- {
- GObject *controller = l->data;
- gtk_inspector_widget_tree_append_object (wt, controller, &iter, phases[i].name);
- }
- g_list_free (list);
- }
- }
-
if (GTK_IS_CONTAINER (object))
{
FindAllData data;
@@ -361,6 +334,15 @@ gtk_inspector_widget_tree_append_object (GtkInspectorWidgetTree *wt,
* children in the GtkContainer sense, but which we still want
* to show in the tree right away.
*/
+ if (GTK_IS_MENU_ITEM (object))
+ {
+ GtkWidget *submenu;
+
+ submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (object));
+ if (submenu)
+ gtk_inspector_widget_tree_append_object (wt, G_OBJECT (submenu), &iter, "submenu");
+ }
+
if (GTK_IS_TREE_VIEW (object))
{
gint n_columns, i;
@@ -441,6 +423,34 @@ gtk_inspector_widget_tree_append_object (GtkInspectorWidgetTree *wt,
gtk_text_tag_table_foreach (GTK_TEXT_TAG_TABLE (object), tag_callback, &data);
}
+
+ if (GTK_IS_WIDGET (object))
+ {
+ struct {
+ GtkPropagationPhase phase;
+ const gchar *name;
+ } phases[] = {
+ { GTK_PHASE_CAPTURE, "capture" },
+ { GTK_PHASE_TARGET, "target" },
+ { GTK_PHASE_BUBBLE, "bubble" },
+ { GTK_PHASE_NONE, "" }
+ };
+ gint i;
+
+ for (i = 0; i < G_N_ELEMENTS (phases); i++)
+ {
+ GList *list, *l;
+
+ list = _gtk_widget_list_controllers (GTK_WIDGET (object), phases[i].phase);
+ for (l = list; l; l = l->next)
+ {
+ GObject *controller = l->data;
+ gtk_inspector_widget_tree_append_object (wt, controller, &iter, phases[i].name);
+ }
+ g_list_free (list);
+ }
+ }
+
}
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]