[sysprof/newui: 7/24] Initial WIP new ui



commit 0817bb295ccc0346e4c3f502f6d965114d4f2a7b
Author: SÃren Sandmann Pedersen <sandmann daimi au dk>
Date:   Tue Nov 9 07:07:40 2010 -0500

    Initial WIP new ui

 sysprof.c     |  116 ++++++++++----------------------------------------------
 sysprof.glade |   76 +++++++++----------------------------
 tracker.c     |    4 --
 3 files changed, 39 insertions(+), 157 deletions(-)
---
diff --git a/sysprof.c b/sysprof.c
index 1016261..f911e1d 100644
--- a/sysprof.c
+++ b/sysprof.c
@@ -53,7 +53,6 @@ struct Application
 
     GtkWidget *		main_window;
 
-    GtkTreeView *	object_view;
     GtkTreeView *	callers_view;
     GtkTreeView *	descendants_view;
 
@@ -71,7 +70,6 @@ struct Application
     GtkWidget *		screenshot_item;
     GtkWidget *		about_item;
     GtkWidget *		quit_item;
-    GtkWidget *		hpaned;
     GtkWidget *		vpaned;
 
     GtkTreeSelection *	object_selection;
@@ -85,7 +83,6 @@ struct Application
     GtkWidget *         screenshot_window;
 
     Profile *		profile;
-    ProfileDescendant * descendants;
     ProfileCaller *	callers;
 
     int			timeout_id;
@@ -233,7 +230,6 @@ update_sensitivity (Application *app)
 			      sensitive_reset_button);
 #endif
 
-    gtk_widget_set_sensitive (GTK_WIDGET (app->object_view), sensitive_tree_views);
     gtk_widget_set_sensitive (GTK_WIDGET (app->callers_view), sensitive_tree_views);
     gtk_widget_set_sensitive (GTK_WIDGET (app->descendants_view), sensitive_tree_views);
     gtk_widget_set_sensitive (GTK_WIDGET (app->samples_hbox), sensitive_samples_hbox);
@@ -309,7 +305,6 @@ delete_data (Application *app)
 	profile_free (app->profile);
 	app->profile = NULL;
 
-	gtk_tree_view_set_model (GTK_TREE_VIEW (app->object_view), NULL);
 	gtk_tree_view_set_model (GTK_TREE_VIEW (app->callers_view), NULL);
 	gtk_tree_view_set_model (GTK_TREE_VIEW (app->descendants_view), NULL);
     }
@@ -384,14 +379,6 @@ on_start_toggled (GtkWidget *widget, gpointer data)
 
 enum
 {
-    OBJECT_NAME,
-    OBJECT_SELF,
-    OBJECT_TOTAL,
-    OBJECT_OBJECT
-};
-
-enum
-{
     CALLERS_NAME,
     CALLERS_SELF,
     CALLERS_TOTAL,
@@ -416,7 +403,7 @@ get_current_object (Application *app)
     if (gtk_tree_selection_get_selected (app->object_selection, &model, &selected))
     {
 	gtk_tree_model_get (model, &selected,
-			    OBJECT_OBJECT, &object,
+			    DESCENDANTS_OBJECT, &object,
 			    -1);
 	return object;
     }
@@ -427,54 +414,6 @@ get_current_object (Application *app)
 }
 
 static void
-fill_main_list (Application *app)
-{
-    GList *list;
-    GtkListStore *list_store;
-    Profile *profile = app->profile;
-    GList *objects;
-
-    if (profile)
-    {
-	list_store = gtk_list_store_new (4,
-					 G_TYPE_STRING,
-					 G_TYPE_DOUBLE,
-					 G_TYPE_DOUBLE,
-					 G_TYPE_POINTER);
-
-	objects = profile_get_objects (profile);
-	for (list = objects; list != NULL; list = list->next)
-	{
-	    ProfileObject *object = list->data;
-	    GtkTreeIter iter;
-	    double profile_size = profile_get_size (profile);
-
-	    gtk_list_store_append (list_store, &iter);
-
-	    gtk_list_store_set (list_store, &iter,
-				OBJECT_NAME, object->name,
-				OBJECT_SELF, 100.0 * object->self / profile_size,
-				OBJECT_TOTAL, 100.0 * object->total / profile_size,
-#if 0
-				OBJECT_SELF, (double)object->self,
-				OBJECT_TOTAL, (double)object->total,
-#endif
-				OBJECT_OBJECT, object->name,
-				-1);
-	}
-	g_list_foreach (objects, (GFunc)g_free, NULL);
-	g_list_free (objects);
-
-	tree_view_set_model_with_default_sort (app->object_view, GTK_TREE_MODEL (list_store),
-					       OBJECT_TOTAL, GTK_SORT_DESCENDING);
-
-	g_object_unref (G_OBJECT (list_store));
-    }
-
-    gtk_tree_view_columns_autosize (app->object_view);
-}
-
-static void
 add_node (FooTreeStore      *store,
 	  int                size,
 	  const GtkTreeIter *parent,
@@ -484,7 +423,7 @@ add_node (FooTreeStore      *store,
 
     if (!node)
 	return;
-    
+
     foo_tree_store_insert (store, &iter, (GtkTreeIter *)parent, 0);
     
     foo_tree_store_set (store, &iter,
@@ -507,12 +446,6 @@ fill_descendants_tree (Application *app)
 {
     FooTreeStore *tree_store;
 
-    if (app->descendants)
-    {
-	profile_descendant_free (app->descendants);
-	app->descendants = NULL;
-    }
-
     tree_store =
 	foo_tree_store_new (4,
 			    G_TYPE_STRING,
@@ -625,12 +558,9 @@ enter_display_mode (Application *app)
 
     app->inhibit_forced_redraw = TRUE;
 
-    fill_main_list (app);
-
-    /* This has the side effect of selecting the first row, which in turn causes
-     * the other lists to be filled out
-     */
-    gtk_widget_grab_focus (GTK_WIDGET (app->object_view));
+    fill_descendants_tree (app);
+    
+    gtk_widget_grab_focus (GTK_WIDGET (app->descendants_view));
 
     app->inhibit_forced_redraw = FALSE;
 }
@@ -925,7 +855,7 @@ expand_descendants_tree (Application *app)
 
     gtk_tree_model_get_iter (model, &iter, first_path);
     gtk_tree_model_get (model, &iter,
-			OBJECT_TOTAL, &top_value,
+			DESCENDANTS_CUMULATIVE, &top_value,
 			-1);
 
     while (all_paths && n_rows < max_rows)
@@ -950,7 +880,7 @@ expand_descendants_tree (Application *app)
 	    {
 		double value;
 		gtk_tree_model_get (model, &iter,
-				    OBJECT_TOTAL, &value,
+				    DESCENDANTS_CUMULATIVE, &value,
 				    -1);
 
 		if (value >= best_value)
@@ -1106,6 +1036,7 @@ update_screenshot_window_idle (gpointer data)
 
     gtk_text_buffer_set_text (text_buffer, "", -1);
 
+#if 0
     if (app->descendants)
     {
 	AddTextInfo info;
@@ -1127,6 +1058,7 @@ update_screenshot_window_idle (gpointer data)
 
 	g_string_free (info.text, TRUE);
     }
+#endif
 
     app->update_screenshot_id = 0;
 
@@ -1196,6 +1128,7 @@ on_object_selection_changed (GtkTreeSelection *selection,
     set_busy (app->main_window, FALSE);
 }
 
+#if 0
 static void
 really_goto_object (Application *app,
 		    char *object)
@@ -1233,7 +1166,9 @@ really_goto_object (Application *app,
 	gtk_tree_view_set_cursor (app->object_view, path, 0, FALSE);
     }
 }
+#endif
 
+#if 0
 static void
 goto_object (Application *app,
 	     GtkTreeView *tree_view,
@@ -1254,6 +1189,7 @@ goto_object (Application *app,
 
     really_goto_object (app, object);
 }
+#endif
 
 static void
 on_descendants_row_activated (GtkTreeView *tree_view,
@@ -1263,7 +1199,9 @@ on_descendants_row_activated (GtkTreeView *tree_view,
 {
     Application *app = data;
 
+#if 0
     goto_object (app, tree_view, path, DESCENDANTS_OBJECT);
+#endif
 
     gtk_widget_grab_focus (GTK_WIDGET (app->descendants_view));
 }
@@ -1276,7 +1214,9 @@ on_callers_row_activated (GtkTreeView *tree_view,
 {
     Application *app = data;
 
+#if 0
     goto_object (app, tree_view, path, CALLERS_OBJECT);
+#endif
 
     gtk_widget_grab_focus (GTK_WIDGET (app->callers_view));
 }
@@ -1314,7 +1254,6 @@ on_screenshot_close_button_clicked (GtkWidget *widget,
 static void
 set_sizes (GtkWindow *window,
 	   GtkWindow *screenshot_window,
-	   GtkWidget *hpaned,
 	   GtkWidget *vpaned)
 {
     GdkScreen *screen;
@@ -1333,8 +1272,7 @@ set_sizes (GtkWindow *window,
 
     gtk_window_resize (window, width, height);
 
-    gtk_paned_set_position (GTK_PANED (vpaned), height / 2);
-    gtk_paned_set_position (GTK_PANED (hpaned), width * 3 / 8);
+    gtk_paned_set_position (GTK_PANED (vpaned), 10 * height / 13);
 
     width = monitor.width * 5 / 8;
     height = monitor.height * 5 / 8;
@@ -1371,14 +1309,12 @@ gather_widgets (Application *app)
 	    { &app->screenshot_item, "screenshot_item" },
 	    { &app->quit_item, "quit" },
 	    { &app->about_item, "about" },
-	    { &app->object_view, "object_view" },
 	    { &app->callers_view, "callers_view" },
 	    { &app->descendants_view, "descendants_view" },
 	    { &app->screenshot_window, "screenshot_window" },
 	    { &app->screenshot_textview, "screenshot_textview" },
 	    { &app->screenshot_close_button, "screenshot_close_button" },
 	    { &app->vpaned, "vpaned" },
-	    { &app->hpaned, "hpaned" },
 	};
 
     GladeXML *xml = glade_xml_new (GLADE_FILE, NULL, NULL);
@@ -1422,7 +1358,9 @@ connect_signals (Application *app)
 	    { app->screenshot_item, "activate", on_screenshot_activated, app },
 	    { app->quit_item, "activate", on_delete, NULL },
 	    { app->about_item, "activate", on_about_activated, app },
+#if 0
 	    { app->object_selection, "changed", on_object_selection_changed, app },
+#endif
 	    { app->callers_view, "row-activated", on_callers_row_activated, app },
 	    { app->descendants_view, "row-activated", on_descendants_row_activated, app },
 	    { app->descendants_view, "row-expanded", on_descendants_row_expanded_or_collapsed, app },
@@ -1528,17 +1466,6 @@ build_gui (Application *app)
 
     /* TreeViews */
 
-    /* object view */
-    gtk_tree_view_set_enable_search (app->object_view, FALSE);
-    col = add_plain_text_column (app->object_view, _("Functions"),
-				 OBJECT_NAME);
-    add_double_format_column (app->object_view, _("Self"),
-			      OBJECT_SELF, PCT_FORMAT);
-    add_double_format_column (app->object_view, _("Total"),
-			      OBJECT_TOTAL, PCT_FORMAT);
-    app->object_selection = gtk_tree_view_get_selection (app->object_view);
-    gtk_tree_view_column_set_expand (col, TRUE);
-
     /* callers view */
     gtk_tree_view_set_enable_search (app->callers_view, FALSE);
     col = add_plain_text_column (app->callers_view, _("Callers"),
@@ -1564,14 +1491,13 @@ build_gui (Application *app)
     /* set sizes */
     set_sizes (GTK_WINDOW (app->main_window),
 	       GTK_WINDOW (app->screenshot_window),
-	       app->hpaned, app->vpaned);
+	       app->vpaned);
 
     /* hide/show widgets */
     gtk_widget_show_all (app->main_window);
     gtk_widget_hide (app->dummy_button);
     gtk_widget_hide (app->screenshot_window);
 
-    gtk_widget_grab_focus (GTK_WIDGET (app->object_view));
     queue_show_samples (app);
 
     connect_signals (app);
diff --git a/sysprof.glade b/sysprof.glade
index dea0ade..4263841 100644
--- a/sysprof.glade
+++ b/sysprof.glade
@@ -473,7 +473,7 @@
 				  <property name="justify">GTK_JUSTIFY_LEFT</property>
 				  <property name="wrap">False</property>
 				  <property name="selectable">False</property>
-				  <property name="xalign">1.0</property>
+				  <property name="xalign">1</property>
 				  <property name="yalign">0.5</property>
 				  <property name="xpad">0</property>
 				  <property name="ypad">0</property>
@@ -670,72 +670,32 @@
 	  <property name="spacing">0</property>
 
 	  <child>
-	    <widget class="GtkHPaned" id="hpaned">
-	      <property name="border_width">3</property>
+	    <widget class="GtkVPaned" id="vpaned">
 	      <property name="visible">True</property>
 	      <property name="can_focus">True</property>
+	      <property name="position">0</property>
 
 	      <child>
-		<widget class="GtkVPaned" id="vpaned">
+		<widget class="GtkScrolledWindow" id="scrolledwindow2">
 		  <property name="visible">True</property>
 		  <property name="can_focus">True</property>
+		  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+		  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+		  <property name="shadow_type">GTK_SHADOW_IN</property>
+		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
 		  <child>
-		    <widget class="GtkScrolledWindow" id="scrolledwindow1">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-		      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-		      <property name="shadow_type">GTK_SHADOW_IN</property>
-		      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-		      <child>
-			<widget class="GtkTreeView" id="object_view">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="headers_visible">True</property>
-			  <property name="rules_hint">True</property>
-			  <property name="reorderable">False</property>
-			  <property name="enable_search">True</property>
-			  <property name="fixed_height_mode">False</property>
-			  <property name="hover_selection">False</property>
-			  <property name="hover_expand">False</property>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="shrink">True</property>
-		      <property name="resize">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkScrolledWindow" id="scrolledwindow3">
+		    <widget class="GtkTreeView" id="descendants_view">
 		      <property name="visible">True</property>
 		      <property name="can_focus">True</property>
-		      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-		      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-		      <property name="shadow_type">GTK_SHADOW_IN</property>
-		      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-		      <child>
-			<widget class="GtkTreeView" id="callers_view">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="headers_visible">True</property>
-			  <property name="rules_hint">True</property>
-			  <property name="reorderable">False</property>
-			  <property name="enable_search">True</property>
-			  <property name="fixed_height_mode">False</property>
-			  <property name="hover_selection">False</property>
-			  <property name="hover_expand">False</property>
-			</widget>
-		      </child>
+		      <property name="headers_visible">True</property>
+		      <property name="rules_hint">True</property>
+		      <property name="reorderable">False</property>
+		      <property name="enable_search">True</property>
+		      <property name="fixed_height_mode">False</property>
+		      <property name="hover_selection">False</property>
+		      <property name="hover_expand">False</property>
 		    </widget>
-		    <packing>
-		      <property name="shrink">True</property>
-		      <property name="resize">True</property>
-		    </packing>
 		  </child>
 		</widget>
 		<packing>
@@ -745,7 +705,7 @@
 	      </child>
 
 	      <child>
-		<widget class="GtkScrolledWindow" id="scrolledwindow2">
+		<widget class="GtkScrolledWindow" id="scrolledwindow3">
 		  <property name="visible">True</property>
 		  <property name="can_focus">True</property>
 		  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
@@ -754,7 +714,7 @@
 		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
 		  <child>
-		    <widget class="GtkTreeView" id="descendants_view">
+		    <widget class="GtkTreeView" id="callers_view">
 		      <property name="visible">True</property>
 		      <property name="can_focus">True</property>
 		      <property name="headers_visible">True</property>
diff --git a/tracker.c b/tracker.c
index 49ba459..d8dc2d3 100644
--- a/tracker.c
+++ b/tracker.c
@@ -962,8 +962,6 @@ static const context_info_t context_info[] =
     { PERF_CONTEXT_GUEST_USER,		"- - guest user - -" },
 };
 
-static const char *const everything = "[Everything]";
-
 static const context_info_t *
 get_context_info (enum perf_callchain_context context)
 {
@@ -1059,8 +1057,6 @@ process_sample (state_t *state, StackStash *resolved, sample_t *sample)
     cmdline = make_message (state, "[%s]", process->comm);
 
     resolved_traces[len++] = POINTER_TO_U64 (cmdline);
-    resolved_traces[len++] = POINTER_TO_U64 (
-	unique_dup (state->unique_symbols, everything));
 
     stack_stash_add_trace (resolved, resolved_traces, len, 1);
 



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