Statistic viewer
authoryangxx <yangxx@04897980-b3bd-0310-b5e0-8ef037075253>
Wed, 8 Oct 2003 17:21:58 +0000 (17:21 +0000)
committeryangxx <yangxx@04897980-b3bd-0310-b5e0-8ef037075253>
Wed, 8 Oct 2003 17:21:58 +0000 (17:21 +0000)
git-svn-id: http://ltt.polymtl.ca/svn@291 04897980-b3bd-0310-b5e0-8ef037075253

ltt/branches/poly/include/lttv/gtkTraceSet.h
ltt/branches/poly/lttv/modules/gui/API/gtkTraceSet.c
ltt/branches/poly/lttv/modules/gui/mainWin/src/callbacks.c
ltt/branches/poly/lttv/modules/gui/mainWin/src/init_module.c
ltt/branches/poly/lttv/modules/guiStatistic/.deps/guiStatistic.Plo [new file with mode: 0644]
ltt/branches/poly/lttv/modules/guiStatistic/Makefile.am [new file with mode: 0644]
ltt/branches/poly/lttv/modules/guiStatistic/guiStatistic.c [new file with mode: 0644]
ltt/branches/poly/lttv/modules/icons/Makefile.am
ltt/branches/poly/lttv/modules/icons/hGuiStatisticInsert.xpm [new file with mode: 0644]

index 62aaf2ad4f8f75e0685fe9702cc7ac62723981e2..6dd9ccd4132b40f925daadd16f1f2d1ddcf1c37c 100644 (file)
@@ -14,6 +14,7 @@
 #include <ltt/ltt.h>
 #include <lttv/hook.h>
 #include <lttv/common.h>
+#include <lttv/stats.h>
 
 /**
  * Function to register a view constructor so that main window can generate
@@ -378,3 +379,29 @@ void contextRemoveHooks(mainWindow *main_win ,
  */
 
 void getTracesetTimeSpan(mainWindow *main_win, LttTime * start, LttTime* end);
+
+
+/**
+ * Function to add/remove event hooks for state 
+ * @param main_win the main window the viewer belongs to.
+ */
+
+void stateAddEventHooks(mainWindow *main_win );
+void stateRemoveEventHooks(mainWindow *main_win );
+
+
+/**
+ * Function to add/remove event hooks for stats 
+ * @param main_win the main window the viewer belongs to.
+ */
+
+void statsAddEventHooks(mainWindow *main_win );
+void statsRemoveEventHooks(mainWindow *main_win );
+
+
+/**
+ * Function to get the stats of the traceset 
+ * @param main_win the main window the viewer belongs to.
+ */
+
+LttvTracesetStats* getTracesetStats(mainWindow *main_win);
index f5ba86b96a3b91c9846274d1c505115886f862ae..336e1f8b21cdf49bdcf446cd7ca7335548e3565f 100644 (file)
@@ -18,6 +18,9 @@
 #include <lttv/processTrace.h>
 #include <lttv/toolbar.h>
 #include <lttv/menu.h>
+#include <lttv/state.h>
+#include <lttv/stats.h>
+
 
 /**
  * Internal function parts
@@ -675,3 +678,45 @@ void getTracesetTimeSpan(mainWindow *main_win, LttTime * start, LttTime* end)
     }
   }
 }
+
+
+/**
+ * Function to add/remove event hooks for state 
+ * @param main_win the main window the viewer belongs to.
+ */
+
+void stateAddEventHooks(mainWindow *main_win )
+{
+  lttv_state_add_event_hooks((LttvTracesetState*)main_win->traceset_context);
+}
+
+void stateRemoveEventHooks(mainWindow *main_win )
+{
+  lttv_state_remove_event_hooks((LttvTracesetState*)main_win->traceset_context);
+}
+
+
+/**
+ * Function to add/remove event hooks for stats 
+ * @param main_win the main window the viewer belongs to.
+ */
+
+void statsAddEventHooks(mainWindow *main_win )
+{
+  lttv_stats_add_event_hooks((LttvTracesetStats*)main_win->traceset_context);
+}
+
+void statsRemoveEventHooks(mainWindow *main_win )
+{
+  lttv_stats_remove_event_hooks((LttvTracesetStats*)main_win->traceset_context);
+}
+
+/**
+ * Function to get the stats of the traceset 
+ * @param main_win the main window the viewer belongs to.
+ */
+
+LttvTracesetStats* getTracesetStats(mainWindow *main_win)
+{
+  return (LttvTracesetStats*)main_win->traceset_context;
+}
index 1c184ab05578cee678088608c149e39df7ae601a..4d6499c658d26aec172f4eda5001296ae91ee56c 100644 (file)
@@ -12,6 +12,9 @@
 #include <lttv/menu.h>
 #include <lttv/toolbar.h>
 #include <lttv/gtkTraceSet.h>
+#include <lttv/module.h>
+
+#define PATH_LENGTH     256
 
 extern systemView * gSysView;
 extern LttvTracesetContext * gTracesetContext;
@@ -108,22 +111,20 @@ void get_label_string (GtkWidget * text, gchar * label)
     strcpy(label,gtk_entry_get_text(entry)); 
 }
 
-void get_label(GtkWindow * mw, gchar * str)
+void get_label(GtkWindow * mw, gchar * str, gchar* dialogue_title, gchar * label_str)
 {
   GtkWidget * dialogue;
   GtkWidget * text;
   GtkWidget * label;
   gint id;
 
-  strcpy(str,"Page");     //default label
-
-  dialogue = gtk_dialog_new_with_buttons("Get the name of the tab",mw,
+  dialogue = gtk_dialog_new_with_buttons(dialogue_title,mw,
                                         GTK_DIALOG_MODAL,
                                         GTK_STOCK_OK,GTK_RESPONSE_ACCEPT,
                                         GTK_STOCK_CANCEL,GTK_RESPONSE_REJECT,
                                         NULL); 
 
-  label = gtk_label_new("Please input tab's name");
+  label = gtk_label_new(label_str);
   gtk_widget_show(label);
 
   text = gtk_entry_new();
@@ -373,7 +374,7 @@ on_tab_activate                        (GtkMenuItem     *menuitem,
                                         gpointer         user_data)
 {
   GList * list;
-  gchar label[64];
+  gchar label[PATH_LENGTH];
 
   tab * tmpTab;
   GtkWidget * pane;
@@ -415,7 +416,8 @@ on_tab_activate                        (GtkMenuItem     *menuitem,
   gtk_widget_show((GtkWidget*)tmpTab->custom);
   tmpTab->Next = NULL;    
 
-  get_label((GtkWindow*)mwData->MWindow, label);
+  strcpy(label,"Page");
+  get_label((GtkWindow*)mwData->MWindow, label,"Get the name of the tab","Please input tab's name");
   tmpTab->label = gtk_label_new (label);
   gtk_widget_show (tmpTab->label);
 
@@ -606,7 +608,14 @@ void
 on_add_module_search_path_activate     (GtkMenuItem     *menuitem,
                                         gpointer         user_data)
 {
+  gchar  str[PATH_LENGTH];
+  mainWindow * mwData = get_window_data_struct((GtkWidget*)menuitem);
   g_printf("Add module search path\n");
+  str[0] = '\0';
+  get_label((GtkWindow*)mwData->MWindow, str, "Add module search path", "Please input a search path:");
+  if(strlen(str)){
+    lttv_module_path_add(str);
+  }
 }
 
 
index 4ed046f9bb156c3f3d37ff5312a3752029913f79..4e55042deb80ae30168ed662542b402bcc19e25f 100644 (file)
@@ -16,6 +16,7 @@
 #include <lttv/module.h>
 #include <lttv/processTrace.h>
 #include <lttv/state.h>
+#include <lttv/stats.h>
 #include <lttv/menu.h>
 #include <lttv/toolbar.h>
 
@@ -27,7 +28,7 @@
 /* global variable */
 systemView * gSysView;
 
-LttvTracesetState * gTracesetContext = NULL;
+LttvTracesetStats * gTracesetContext = NULL;
 static LttvTraceset * traceset;
 
 /** Array containing instanced objects. */
@@ -118,7 +119,7 @@ static gboolean Window_Creation_Hook(void *hook_data, void *call_data)
   mw->CurrentTab = NULL;
   mw->Attributes = LTTV_IATTRIBUTE(g_object_new(LTTV_ATTRIBUTE_TYPE, NULL));
   if(!gTracesetContext){
-    gTracesetContext = g_object_new(LTTV_TRACESET_STATE_TYPE, NULL);
+    gTracesetContext = g_object_new(LTTV_TRACESET_STATS_TYPE, NULL);
     //FIXME: lttv_context_fini should be called some where.
     lttv_context_init(LTTV_TRACESET_CONTEXT(gTracesetContext), traceset);
   }
diff --git a/ltt/branches/poly/lttv/modules/guiStatistic/.deps/guiStatistic.Plo b/ltt/branches/poly/lttv/modules/guiStatistic/.deps/guiStatistic.Plo
new file mode 100644 (file)
index 0000000..8559946
--- /dev/null
@@ -0,0 +1,937 @@
+guiStatistic.lo guiStatistic.o: guiStatistic.c \
+  /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \
+  /usr/include/glib-2.0/glib/gtypes.h \
+  /usr/lib/glib-2.0/include/glibconfig.h \
+  /usr/include/glib-2.0/glib/gmacros.h \
+  /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \
+  /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \
+  /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \
+  /usr/include/limits.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/gnu/stubs.h /usr/include/bits/posix1_lim.h \
+  /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+  /usr/include/bits/posix2_lim.h \
+  /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/float.h \
+  /usr/include/glib-2.0/glib/garray.h \
+  /usr/include/glib-2.0/glib/gasyncqueue.h \
+  /usr/include/glib-2.0/glib/gthread.h \
+  /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \
+  /usr/include/glib-2.0/glib/gbacktrace.h \
+  /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \
+  /usr/include/glib-2.0/glib/gmem.h \
+  /usr/include/glib-2.0/glib/gcompletion.h \
+  /usr/include/glib-2.0/glib/gconvert.h \
+  /usr/include/glib-2.0/glib/gdataset.h \
+  /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \
+  /usr/include/glib-2.0/glib/gfileutils.h \
+  /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \
+  /usr/include/glib-2.0/glib/giochannel.h \
+  /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \
+  /usr/include/glib-2.0/glib/gstring.h \
+  /usr/include/glib-2.0/glib/gunicode.h \
+  /usr/include/glib-2.0/glib/gmarkup.h \
+  /usr/include/glib-2.0/glib/gmessages.h \
+  /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \
+  /usr/include/glib-2.0/glib/gnode.h \
+  /usr/include/glib-2.0/glib/gpattern.h \
+  /usr/include/glib-2.0/glib/gprimes.h \
+  /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \
+  /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \
+  /usr/include/glib-2.0/glib/gscanner.h \
+  /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \
+  /usr/include/glib-2.0/glib/gstrfuncs.h \
+  /usr/include/glib-2.0/glib/gthreadpool.h \
+  /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \
+  /usr/include/glib-2.0/glib/gutils.h /usr/include/glib-2.0/gmodule.h \
+  /usr/include/gtk-2.0/gtk/gtk.h /usr/include/gtk-2.0/gdk/gdk.h \
+  /usr/include/gtk-2.0/gdk/gdkcolor.h /usr/include/gtk-2.0/gdk/gdktypes.h \
+  /usr/include/pango-1.0/pango/pango.h \
+  /usr/include/pango-1.0/pango/pango-attributes.h \
+  /usr/include/pango-1.0/pango/pango-font.h \
+  /usr/include/pango-1.0/pango/pango-coverage.h \
+  /usr/include/pango-1.0/pango/pango-types.h \
+  /usr/include/glib-2.0/glib-object.h \
+  /usr/include/glib-2.0/gobject/gboxed.h \
+  /usr/include/glib-2.0/gobject/gtype.h \
+  /usr/include/glib-2.0/gobject/genums.h \
+  /usr/include/glib-2.0/gobject/gobject.h \
+  /usr/include/glib-2.0/gobject/gvalue.h \
+  /usr/include/glib-2.0/gobject/gparam.h \
+  /usr/include/glib-2.0/gobject/gclosure.h \
+  /usr/include/glib-2.0/gobject/gsignal.h \
+  /usr/include/glib-2.0/gobject/gmarshal.h \
+  /usr/include/glib-2.0/gobject/gparamspecs.h \
+  /usr/include/glib-2.0/gobject/gsourceclosure.h \
+  /usr/include/glib-2.0/gobject/gtypemodule.h \
+  /usr/include/glib-2.0/gobject/gtypeplugin.h \
+  /usr/include/glib-2.0/gobject/gvaluearray.h \
+  /usr/include/glib-2.0/gobject/gvaluetypes.h \
+  /usr/include/pango-1.0/pango/pango-break.h \
+  /usr/include/pango-1.0/pango/pango-item.h \
+  /usr/include/pango-1.0/pango/pango-context.h \
+  /usr/include/pango-1.0/pango/pango-fontmap.h \
+  /usr/include/pango-1.0/pango/pango-fontset.h \
+  /usr/include/pango-1.0/pango/pango-engine.h \
+  /usr/include/pango-1.0/pango/pango-glyph.h \
+  /usr/include/pango-1.0/pango/pango-enum-types.h \
+  /usr/include/pango-1.0/pango/pango-layout.h \
+  /usr/include/pango-1.0/pango/pango-glyph-item.h \
+  /usr/include/pango-1.0/pango/pango-tabs.h \
+  /usr/lib/gtk-2.0/include/gdkconfig.h \
+  /usr/include/gtk-2.0/gdk/gdkcursor.h \
+  /usr/include/gtk-2.0/gdk/gdkdisplay.h \
+  /usr/include/gtk-2.0/gdk/gdkevents.h /usr/include/gtk-2.0/gdk/gdkdnd.h \
+  /usr/include/gtk-2.0/gdk/gdkinput.h \
+  /usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \
+  /usr/include/gtk-2.0/gdk/gdkrgb.h \
+  /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h \
+  /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h \
+  /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \
+  /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \
+  /usr/include/gtk-2.0/gdk/gdkenumtypes.h \
+  /usr/include/gtk-2.0/gdk/gdkfont.h /usr/include/gtk-2.0/gdk/gdkimage.h \
+  /usr/include/gtk-2.0/gdk/gdkkeys.h \
+  /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h \
+  /usr/include/gtk-2.0/gdk/gdkpango.h \
+  /usr/include/gtk-2.0/gdk/gdkpixbuf.h \
+  /usr/include/gtk-2.0/gdk/gdkpixmap.h \
+  /usr/include/gtk-2.0/gdk/gdkproperty.h \
+  /usr/include/gtk-2.0/gdk/gdkregion.h \
+  /usr/include/gtk-2.0/gdk/gdkscreen.h \
+  /usr/include/gtk-2.0/gdk/gdkselection.h \
+  /usr/include/gtk-2.0/gdk/gdkvisual.h \
+  /usr/include/gtk-2.0/gdk/gdkwindow.h \
+  /usr/include/gtk-2.0/gtk/gtkaccelgroup.h \
+  /usr/include/gtk-2.0/gtk/gtkenums.h \
+  /usr/include/gtk-2.0/gtk/gtkaccellabel.h \
+  /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \
+  /usr/include/gtk-2.0/gtk/gtkwidget.h \
+  /usr/include/gtk-2.0/gtk/gtkobject.h \
+  /usr/include/gtk-2.0/gtk/gtktypeutils.h \
+  /usr/include/gtk-2.0/gtk/gtktypebuiltins.h \
+  /usr/include/gtk-2.0/gtk/gtkdebug.h \
+  /usr/include/gtk-2.0/gtk/gtkadjustment.h \
+  /usr/include/gtk-2.0/gtk/gtkstyle.h \
+  /usr/include/gtk-2.0/gtk/gtksettings.h /usr/include/gtk-2.0/gtk/gtkrc.h \
+  /usr/include/atk-1.0/atk/atkobject.h \
+  /usr/include/atk-1.0/atk/atkstate.h \
+  /usr/include/atk-1.0/atk/atkrelationtype.h \
+  /usr/include/gtk-2.0/gtk/gtkwindow.h /usr/include/gtk-2.0/gtk/gtkbin.h \
+  /usr/include/gtk-2.0/gtk/gtkcontainer.h \
+  /usr/include/gtk-2.0/gtk/gtkmenu.h \
+  /usr/include/gtk-2.0/gtk/gtkmenushell.h \
+  /usr/include/gtk-2.0/gtk/gtkaccelmap.h \
+  /usr/include/gtk-2.0/gtk/gtkaccessible.h /usr/include/atk-1.0/atk/atk.h \
+  /usr/include/atk-1.0/atk/atkaction.h \
+  /usr/include/atk-1.0/atk/atkcomponent.h \
+  /usr/include/atk-1.0/atk/atkutil.h \
+  /usr/include/atk-1.0/atk/atkdocument.h \
+  /usr/include/atk-1.0/atk/atkeditabletext.h \
+  /usr/include/atk-1.0/atk/atktext.h \
+  /usr/include/atk-1.0/atk/atkgobjectaccessible.h \
+  /usr/include/atk-1.0/atk/atkhyperlink.h \
+  /usr/include/atk-1.0/atk/atkhypertext.h \
+  /usr/include/atk-1.0/atk/atkimage.h \
+  /usr/include/atk-1.0/atk/atknoopobject.h \
+  /usr/include/atk-1.0/atk/atknoopobjectfactory.h \
+  /usr/include/atk-1.0/atk/atkobjectfactory.h \
+  /usr/include/atk-1.0/atk/atkregistry.h \
+  /usr/include/atk-1.0/atk/atkrelation.h \
+  /usr/include/atk-1.0/atk/atkrelationset.h \
+  /usr/include/atk-1.0/atk/atkselection.h \
+  /usr/include/atk-1.0/atk/atkstateset.h \
+  /usr/include/atk-1.0/atk/atkstreamablecontent.h \
+  /usr/include/atk-1.0/atk/atktable.h /usr/include/atk-1.0/atk/atkvalue.h \
+  /usr/include/gtk-2.0/gtk/gtkalignment.h \
+  /usr/include/gtk-2.0/gtk/gtkaspectframe.h \
+  /usr/include/gtk-2.0/gtk/gtkframe.h /usr/include/gtk-2.0/gtk/gtkarrow.h \
+  /usr/include/gtk-2.0/gtk/gtkbindings.h \
+  /usr/include/gtk-2.0/gtk/gtkbox.h /usr/include/gtk-2.0/gtk/gtkbbox.h \
+  /usr/include/gtk-2.0/gtk/gtkbutton.h \
+  /usr/include/gtk-2.0/gtk/gtkcalendar.h \
+  /usr/include/gtk-2.0/gtk/gtksignal.h \
+  /usr/include/gtk-2.0/gtk/gtkmarshal.h \
+  /usr/include/gtk-2.0/gtk/gtkcellrenderer.h \
+  /usr/include/gtk-2.0/gtk/gtkcelleditable.h \
+  /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \
+  /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \
+  /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \
+  /usr/include/gtk-2.0/gtk/gtkcheckbutton.h \
+  /usr/include/gtk-2.0/gtk/gtktogglebutton.h \
+  /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \
+  /usr/include/gtk-2.0/gtk/gtkmenuitem.h \
+  /usr/include/gtk-2.0/gtk/gtkitem.h \
+  /usr/include/gtk-2.0/gtk/gtkclipboard.h \
+  /usr/include/gtk-2.0/gtk/gtkselection.h \
+  /usr/include/gtk-2.0/gtk/gtkclist.h \
+  /usr/include/gtk-2.0/gtk/gtkhscrollbar.h \
+  /usr/include/gtk-2.0/gtk/gtkscrollbar.h \
+  /usr/include/gtk-2.0/gtk/gtkrange.h \
+  /usr/include/gtk-2.0/gtk/gtkvscrollbar.h \
+  /usr/include/gtk-2.0/gtk/gtkcolorsel.h \
+  /usr/include/gtk-2.0/gtk/gtkdialog.h /usr/include/gtk-2.0/gtk/gtkvbox.h \
+  /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \
+  /usr/include/gtk-2.0/gtk/gtkcombo.h /usr/include/gtk-2.0/gtk/gtkhbox.h \
+  /usr/include/gtk-2.0/gtk/gtkctree.h /usr/include/gtk-2.0/gtk/gtkcurve.h \
+  /usr/include/gtk-2.0/gtk/gtkdrawingarea.h \
+  /usr/include/gtk-2.0/gtk/gtkdnd.h \
+  /usr/include/gtk-2.0/gtk/gtkeditable.h \
+  /usr/include/gtk-2.0/gtk/gtkentry.h \
+  /usr/include/gtk-2.0/gtk/gtkimcontext.h \
+  /usr/include/gtk-2.0/gtk/gtkeventbox.h \
+  /usr/include/gtk-2.0/gtk/gtkfilesel.h \
+  /usr/include/gtk-2.0/gtk/gtkfixed.h \
+  /usr/include/gtk-2.0/gtk/gtkfontsel.h \
+  /usr/include/gtk-2.0/gtk/gtkgamma.h /usr/include/gtk-2.0/gtk/gtkgc.h \
+  /usr/include/gtk-2.0/gtk/gtkhandlebox.h \
+  /usr/include/gtk-2.0/gtk/gtkhbbox.h \
+  /usr/include/gtk-2.0/gtk/gtkhpaned.h \
+  /usr/include/gtk-2.0/gtk/gtkpaned.h \
+  /usr/include/gtk-2.0/gtk/gtkhruler.h \
+  /usr/include/gtk-2.0/gtk/gtkruler.h \
+  /usr/include/gtk-2.0/gtk/gtkhscale.h \
+  /usr/include/gtk-2.0/gtk/gtkscale.h \
+  /usr/include/gtk-2.0/gtk/gtkhseparator.h \
+  /usr/include/gtk-2.0/gtk/gtkseparator.h \
+  /usr/include/gtk-2.0/gtk/gtkiconfactory.h \
+  /usr/include/gtk-2.0/gtk/gtkimage.h \
+  /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \
+  /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \
+  /usr/include/gtk-2.0/gtk/gtkimmulticontext.h \
+  /usr/include/gtk-2.0/gtk/gtkinputdialog.h \
+  /usr/include/gtk-2.0/gtk/gtkinvisible.h \
+  /usr/include/gtk-2.0/gtk/gtkitemfactory.h \
+  /usr/include/gtk-2.0/gtk/gtklayout.h /usr/include/gtk-2.0/gtk/gtklist.h \
+  /usr/include/gtk-2.0/gtk/gtklistitem.h \
+  /usr/include/gtk-2.0/gtk/gtkliststore.h \
+  /usr/include/gtk-2.0/gtk/gtktreemodel.h \
+  /usr/include/gtk-2.0/gtk/gtktreesortable.h \
+  /usr/include/gtk-2.0/gtk/gtkmain.h \
+  /usr/include/gtk-2.0/gtk/gtkmenubar.h \
+  /usr/include/gtk-2.0/gtk/gtkmessagedialog.h \
+  /usr/include/gtk-2.0/gtk/gtknotebook.h \
+  /usr/include/gtk-2.0/gtk/gtkoldeditable.h \
+  /usr/include/gtk-2.0/gtk/gtkoptionmenu.h \
+  /usr/include/gtk-2.0/gtk/gtkpixmap.h /usr/include/gtk-2.0/gtk/gtkplug.h \
+  /usr/include/gtk-2.0/gtk/gtksocket.h \
+  /usr/include/gtk-2.0/gtk/gtkpreview.h \
+  /usr/include/gtk-2.0/gtk/gtkprogress.h \
+  /usr/include/gtk-2.0/gtk/gtkprogressbar.h \
+  /usr/include/gtk-2.0/gtk/gtkradiobutton.h \
+  /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h \
+  /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \
+  /usr/include/gtk-2.0/gtk/gtkviewport.h \
+  /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \
+  /usr/include/gtk-2.0/gtk/gtksizegroup.h \
+  /usr/include/gtk-2.0/gtk/gtkspinbutton.h \
+  /usr/include/gtk-2.0/gtk/gtkstock.h \
+  /usr/include/gtk-2.0/gtk/gtkstatusbar.h \
+  /usr/include/gtk-2.0/gtk/gtktable.h \
+  /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h \
+  /usr/include/gtk-2.0/gtk/gtktext.h \
+  /usr/include/gtk-2.0/gtk/gtktextbuffer.h \
+  /usr/include/gtk-2.0/gtk/gtktexttagtable.h \
+  /usr/include/gtk-2.0/gtk/gtktexttag.h \
+  /usr/include/gtk-2.0/gtk/gtktextiter.h \
+  /usr/include/gtk-2.0/gtk/gtktextchild.h \
+  /usr/include/gtk-2.0/gtk/gtktextmark.h \
+  /usr/include/gtk-2.0/gtk/gtktextview.h \
+  /usr/include/gtk-2.0/gtk/gtktipsquery.h \
+  /usr/include/gtk-2.0/gtk/gtktoolbar.h \
+  /usr/include/gtk-2.0/gtk/gtktooltips.h \
+  /usr/include/gtk-2.0/gtk/gtktree.h \
+  /usr/include/gtk-2.0/gtk/gtktreednd.h \
+  /usr/include/gtk-2.0/gtk/gtktreeitem.h \
+  /usr/include/gtk-2.0/gtk/gtktreemodelsort.h \
+  /usr/include/gtk-2.0/gtk/gtktreeselection.h \
+  /usr/include/gtk-2.0/gtk/gtktreeview.h \
+  /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \
+  /usr/include/gtk-2.0/gtk/gtktreestore.h \
+  /usr/include/gtk-2.0/gtk/gtkvbbox.h \
+  /usr/include/gtk-2.0/gtk/gtkversion.h \
+  /usr/include/gtk-2.0/gtk/gtkvpaned.h \
+  /usr/include/gtk-2.0/gtk/gtkvruler.h \
+  /usr/include/gtk-2.0/gtk/gtkvscale.h \
+  /usr/include/gtk-2.0/gtk/gtkvseparator.h ../../../include/lttv/module.h \
+  ../../../include/lttv/gtkTraceSet.h ../../../include/ltt/ltt.h \
+  ../../../include/ltt/LTTTypes.h /usr/include/sys/types.h \
+  /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
+  /usr/include/sys/time.h ../../../include/ltt/ltt-private.h \
+  ../../../include/ltt/type.h ../../../include/ltt/trace.h \
+  ../../../include/lttv/hook.h ../../../include/lttv/common.h \
+  /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h ../../../include/lttv/stats.h \
+  ../../../include/lttv/state.h ../../../include/lttv/processTrace.h \
+  ../../../include/lttv/traceset.h ../../../include/lttv/attribute.h \
+  ../../../include/lttv/iattribute.h ../../../include/ltt/event.h \
+  /usr/include/string.h /usr/include/bits/string.h \
+  /usr/include/bits/string2.h /usr/include/stdlib.h \
+  ../icons/hGuiStatisticInsert.xpm
+
+/usr/include/glib-2.0/glib.h:
+
+/usr/include/glib-2.0/glib/galloca.h:
+
+/usr/include/glib-2.0/glib/gtypes.h:
+
+/usr/lib/glib-2.0/include/glibconfig.h:
+
+/usr/include/glib-2.0/glib/gmacros.h:
+
+/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h:
+
+/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h:
+
+/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/float.h:
+
+/usr/include/glib-2.0/glib/garray.h:
+
+/usr/include/glib-2.0/glib/gasyncqueue.h:
+
+/usr/include/glib-2.0/glib/gthread.h:
+
+/usr/include/glib-2.0/glib/gerror.h:
+
+/usr/include/glib-2.0/glib/gquark.h:
+
+/usr/include/glib-2.0/glib/gbacktrace.h:
+
+/usr/include/glib-2.0/glib/gcache.h:
+
+/usr/include/glib-2.0/glib/glist.h:
+
+/usr/include/glib-2.0/glib/gmem.h:
+
+/usr/include/glib-2.0/glib/gcompletion.h:
+
+/usr/include/glib-2.0/glib/gconvert.h:
+
+/usr/include/glib-2.0/glib/gdataset.h:
+
+/usr/include/glib-2.0/glib/gdate.h:
+
+/usr/include/glib-2.0/glib/gdir.h:
+
+/usr/include/glib-2.0/glib/gfileutils.h:
+
+/usr/include/glib-2.0/glib/ghash.h:
+
+/usr/include/glib-2.0/glib/ghook.h:
+
+/usr/include/glib-2.0/glib/giochannel.h:
+
+/usr/include/glib-2.0/glib/gmain.h:
+
+/usr/include/glib-2.0/glib/gslist.h:
+
+/usr/include/glib-2.0/glib/gstring.h:
+
+/usr/include/glib-2.0/glib/gunicode.h:
+
+/usr/include/glib-2.0/glib/gmarkup.h:
+
+/usr/include/glib-2.0/glib/gmessages.h:
+
+/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h:
+
+/usr/include/glib-2.0/glib/gnode.h:
+
+/usr/include/glib-2.0/glib/gpattern.h:
+
+/usr/include/glib-2.0/glib/gprimes.h:
+
+/usr/include/glib-2.0/glib/gqsort.h:
+
+/usr/include/glib-2.0/glib/gqueue.h:
+
+/usr/include/glib-2.0/glib/grand.h:
+
+/usr/include/glib-2.0/glib/grel.h:
+
+/usr/include/glib-2.0/glib/gscanner.h:
+
+/usr/include/glib-2.0/glib/gshell.h:
+
+/usr/include/glib-2.0/glib/gspawn.h:
+
+/usr/include/glib-2.0/glib/gstrfuncs.h:
+
+/usr/include/glib-2.0/glib/gthreadpool.h:
+
+/usr/include/glib-2.0/glib/gtimer.h:
+
+/usr/include/glib-2.0/glib/gtree.h:
+
+/usr/include/glib-2.0/glib/gutils.h:
+
+/usr/include/glib-2.0/gmodule.h:
+
+/usr/include/gtk-2.0/gtk/gtk.h:
+
+/usr/include/gtk-2.0/gdk/gdk.h:
+
+/usr/include/gtk-2.0/gdk/gdkcolor.h:
+
+/usr/include/gtk-2.0/gdk/gdktypes.h:
+
+/usr/include/pango-1.0/pango/pango.h:
+
+/usr/include/pango-1.0/pango/pango-attributes.h:
+
+/usr/include/pango-1.0/pango/pango-font.h:
+
+/usr/include/pango-1.0/pango/pango-coverage.h:
+
+/usr/include/pango-1.0/pango/pango-types.h:
+
+/usr/include/glib-2.0/glib-object.h:
+
+/usr/include/glib-2.0/gobject/gboxed.h:
+
+/usr/include/glib-2.0/gobject/gtype.h:
+
+/usr/include/glib-2.0/gobject/genums.h:
+
+/usr/include/glib-2.0/gobject/gobject.h:
+
+/usr/include/glib-2.0/gobject/gvalue.h:
+
+/usr/include/glib-2.0/gobject/gparam.h:
+
+/usr/include/glib-2.0/gobject/gclosure.h:
+
+/usr/include/glib-2.0/gobject/gsignal.h:
+
+/usr/include/glib-2.0/gobject/gmarshal.h:
+
+/usr/include/glib-2.0/gobject/gparamspecs.h:
+
+/usr/include/glib-2.0/gobject/gsourceclosure.h:
+
+/usr/include/glib-2.0/gobject/gtypemodule.h:
+
+/usr/include/glib-2.0/gobject/gtypeplugin.h:
+
+/usr/include/glib-2.0/gobject/gvaluearray.h:
+
+/usr/include/glib-2.0/gobject/gvaluetypes.h:
+
+/usr/include/pango-1.0/pango/pango-break.h:
+
+/usr/include/pango-1.0/pango/pango-item.h:
+
+/usr/include/pango-1.0/pango/pango-context.h:
+
+/usr/include/pango-1.0/pango/pango-fontmap.h:
+
+/usr/include/pango-1.0/pango/pango-fontset.h:
+
+/usr/include/pango-1.0/pango/pango-engine.h:
+
+/usr/include/pango-1.0/pango/pango-glyph.h:
+
+/usr/include/pango-1.0/pango/pango-enum-types.h:
+
+/usr/include/pango-1.0/pango/pango-layout.h:
+
+/usr/include/pango-1.0/pango/pango-glyph-item.h:
+
+/usr/include/pango-1.0/pango/pango-tabs.h:
+
+/usr/lib/gtk-2.0/include/gdkconfig.h:
+
+/usr/include/gtk-2.0/gdk/gdkcursor.h:
+
+/usr/include/gtk-2.0/gdk/gdkdisplay.h:
+
+/usr/include/gtk-2.0/gdk/gdkevents.h:
+
+/usr/include/gtk-2.0/gdk/gdkdnd.h:
+
+/usr/include/gtk-2.0/gdk/gdkinput.h:
+
+/usr/include/gtk-2.0/gdk/gdkdrawable.h:
+
+/usr/include/gtk-2.0/gdk/gdkgc.h:
+
+/usr/include/gtk-2.0/gdk/gdkrgb.h:
+
+/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h:
+
+/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h:
+
+/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h:
+
+/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h:
+
+/usr/include/gtk-2.0/gdk/gdkenumtypes.h:
+
+/usr/include/gtk-2.0/gdk/gdkfont.h:
+
+/usr/include/gtk-2.0/gdk/gdkimage.h:
+
+/usr/include/gtk-2.0/gdk/gdkkeys.h:
+
+/usr/include/gtk-2.0/gdk/gdkdisplaymanager.h:
+
+/usr/include/gtk-2.0/gdk/gdkpango.h:
+
+/usr/include/gtk-2.0/gdk/gdkpixbuf.h:
+
+/usr/include/gtk-2.0/gdk/gdkpixmap.h:
+
+/usr/include/gtk-2.0/gdk/gdkproperty.h:
+
+/usr/include/gtk-2.0/gdk/gdkregion.h:
+
+/usr/include/gtk-2.0/gdk/gdkscreen.h:
+
+/usr/include/gtk-2.0/gdk/gdkselection.h:
+
+/usr/include/gtk-2.0/gdk/gdkvisual.h:
+
+/usr/include/gtk-2.0/gdk/gdkwindow.h:
+
+/usr/include/gtk-2.0/gtk/gtkaccelgroup.h:
+
+/usr/include/gtk-2.0/gtk/gtkenums.h:
+
+/usr/include/gtk-2.0/gtk/gtkaccellabel.h:
+
+/usr/include/gtk-2.0/gtk/gtklabel.h:
+
+/usr/include/gtk-2.0/gtk/gtkmisc.h:
+
+/usr/include/gtk-2.0/gtk/gtkwidget.h:
+
+/usr/include/gtk-2.0/gtk/gtkobject.h:
+
+/usr/include/gtk-2.0/gtk/gtktypeutils.h:
+
+/usr/include/gtk-2.0/gtk/gtktypebuiltins.h:
+
+/usr/include/gtk-2.0/gtk/gtkdebug.h:
+
+/usr/include/gtk-2.0/gtk/gtkadjustment.h:
+
+/usr/include/gtk-2.0/gtk/gtkstyle.h:
+
+/usr/include/gtk-2.0/gtk/gtksettings.h:
+
+/usr/include/gtk-2.0/gtk/gtkrc.h:
+
+/usr/include/atk-1.0/atk/atkobject.h:
+
+/usr/include/atk-1.0/atk/atkstate.h:
+
+/usr/include/atk-1.0/atk/atkrelationtype.h:
+
+/usr/include/gtk-2.0/gtk/gtkwindow.h:
+
+/usr/include/gtk-2.0/gtk/gtkbin.h:
+
+/usr/include/gtk-2.0/gtk/gtkcontainer.h:
+
+/usr/include/gtk-2.0/gtk/gtkmenu.h:
+
+/usr/include/gtk-2.0/gtk/gtkmenushell.h:
+
+/usr/include/gtk-2.0/gtk/gtkaccelmap.h:
+
+/usr/include/gtk-2.0/gtk/gtkaccessible.h:
+
+/usr/include/atk-1.0/atk/atk.h:
+
+/usr/include/atk-1.0/atk/atkaction.h:
+
+/usr/include/atk-1.0/atk/atkcomponent.h:
+
+/usr/include/atk-1.0/atk/atkutil.h:
+
+/usr/include/atk-1.0/atk/atkdocument.h:
+
+/usr/include/atk-1.0/atk/atkeditabletext.h:
+
+/usr/include/atk-1.0/atk/atktext.h:
+
+/usr/include/atk-1.0/atk/atkgobjectaccessible.h:
+
+/usr/include/atk-1.0/atk/atkhyperlink.h:
+
+/usr/include/atk-1.0/atk/atkhypertext.h:
+
+/usr/include/atk-1.0/atk/atkimage.h:
+
+/usr/include/atk-1.0/atk/atknoopobject.h:
+
+/usr/include/atk-1.0/atk/atknoopobjectfactory.h:
+
+/usr/include/atk-1.0/atk/atkobjectfactory.h:
+
+/usr/include/atk-1.0/atk/atkregistry.h:
+
+/usr/include/atk-1.0/atk/atkrelation.h:
+
+/usr/include/atk-1.0/atk/atkrelationset.h:
+
+/usr/include/atk-1.0/atk/atkselection.h:
+
+/usr/include/atk-1.0/atk/atkstateset.h:
+
+/usr/include/atk-1.0/atk/atkstreamablecontent.h:
+
+/usr/include/atk-1.0/atk/atktable.h:
+
+/usr/include/atk-1.0/atk/atkvalue.h:
+
+/usr/include/gtk-2.0/gtk/gtkalignment.h:
+
+/usr/include/gtk-2.0/gtk/gtkaspectframe.h:
+
+/usr/include/gtk-2.0/gtk/gtkframe.h:
+
+/usr/include/gtk-2.0/gtk/gtkarrow.h:
+
+/usr/include/gtk-2.0/gtk/gtkbindings.h:
+
+/usr/include/gtk-2.0/gtk/gtkbox.h:
+
+/usr/include/gtk-2.0/gtk/gtkbbox.h:
+
+/usr/include/gtk-2.0/gtk/gtkbutton.h:
+
+/usr/include/gtk-2.0/gtk/gtkcalendar.h:
+
+/usr/include/gtk-2.0/gtk/gtksignal.h:
+
+/usr/include/gtk-2.0/gtk/gtkmarshal.h:
+
+/usr/include/gtk-2.0/gtk/gtkcellrenderer.h:
+
+/usr/include/gtk-2.0/gtk/gtkcelleditable.h:
+
+/usr/include/gtk-2.0/gtk/gtkcellrenderertext.h:
+
+/usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h:
+
+/usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h:
+
+/usr/include/gtk-2.0/gtk/gtkcheckbutton.h:
+
+/usr/include/gtk-2.0/gtk/gtktogglebutton.h:
+
+/usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h:
+
+/usr/include/gtk-2.0/gtk/gtkmenuitem.h:
+
+/usr/include/gtk-2.0/gtk/gtkitem.h:
+
+/usr/include/gtk-2.0/gtk/gtkclipboard.h:
+
+/usr/include/gtk-2.0/gtk/gtkselection.h:
+
+/usr/include/gtk-2.0/gtk/gtkclist.h:
+
+/usr/include/gtk-2.0/gtk/gtkhscrollbar.h:
+
+/usr/include/gtk-2.0/gtk/gtkscrollbar.h:
+
+/usr/include/gtk-2.0/gtk/gtkrange.h:
+
+/usr/include/gtk-2.0/gtk/gtkvscrollbar.h:
+
+/usr/include/gtk-2.0/gtk/gtkcolorsel.h:
+
+/usr/include/gtk-2.0/gtk/gtkdialog.h:
+
+/usr/include/gtk-2.0/gtk/gtkvbox.h:
+
+/usr/include/gtk-2.0/gtk/gtkcolorseldialog.h:
+
+/usr/include/gtk-2.0/gtk/gtkcombo.h:
+
+/usr/include/gtk-2.0/gtk/gtkhbox.h:
+
+/usr/include/gtk-2.0/gtk/gtkctree.h:
+
+/usr/include/gtk-2.0/gtk/gtkcurve.h:
+
+/usr/include/gtk-2.0/gtk/gtkdrawingarea.h:
+
+/usr/include/gtk-2.0/gtk/gtkdnd.h:
+
+/usr/include/gtk-2.0/gtk/gtkeditable.h:
+
+/usr/include/gtk-2.0/gtk/gtkentry.h:
+
+/usr/include/gtk-2.0/gtk/gtkimcontext.h:
+
+/usr/include/gtk-2.0/gtk/gtkeventbox.h:
+
+/usr/include/gtk-2.0/gtk/gtkfilesel.h:
+
+/usr/include/gtk-2.0/gtk/gtkfixed.h:
+
+/usr/include/gtk-2.0/gtk/gtkfontsel.h:
+
+/usr/include/gtk-2.0/gtk/gtkgamma.h:
+
+/usr/include/gtk-2.0/gtk/gtkgc.h:
+
+/usr/include/gtk-2.0/gtk/gtkhandlebox.h:
+
+/usr/include/gtk-2.0/gtk/gtkhbbox.h:
+
+/usr/include/gtk-2.0/gtk/gtkhpaned.h:
+
+/usr/include/gtk-2.0/gtk/gtkpaned.h:
+
+/usr/include/gtk-2.0/gtk/gtkhruler.h:
+
+/usr/include/gtk-2.0/gtk/gtkruler.h:
+
+/usr/include/gtk-2.0/gtk/gtkhscale.h:
+
+/usr/include/gtk-2.0/gtk/gtkscale.h:
+
+/usr/include/gtk-2.0/gtk/gtkhseparator.h:
+
+/usr/include/gtk-2.0/gtk/gtkseparator.h:
+
+/usr/include/gtk-2.0/gtk/gtkiconfactory.h:
+
+/usr/include/gtk-2.0/gtk/gtkimage.h:
+
+/usr/include/gtk-2.0/gtk/gtkimagemenuitem.h:
+
+/usr/include/gtk-2.0/gtk/gtkimcontextsimple.h:
+
+/usr/include/gtk-2.0/gtk/gtkimmulticontext.h:
+
+/usr/include/gtk-2.0/gtk/gtkinputdialog.h:
+
+/usr/include/gtk-2.0/gtk/gtkinvisible.h:
+
+/usr/include/gtk-2.0/gtk/gtkitemfactory.h:
+
+/usr/include/gtk-2.0/gtk/gtklayout.h:
+
+/usr/include/gtk-2.0/gtk/gtklist.h:
+
+/usr/include/gtk-2.0/gtk/gtklistitem.h:
+
+/usr/include/gtk-2.0/gtk/gtkliststore.h:
+
+/usr/include/gtk-2.0/gtk/gtktreemodel.h:
+
+/usr/include/gtk-2.0/gtk/gtktreesortable.h:
+
+/usr/include/gtk-2.0/gtk/gtkmain.h:
+
+/usr/include/gtk-2.0/gtk/gtkmenubar.h:
+
+/usr/include/gtk-2.0/gtk/gtkmessagedialog.h:
+
+/usr/include/gtk-2.0/gtk/gtknotebook.h:
+
+/usr/include/gtk-2.0/gtk/gtkoldeditable.h:
+
+/usr/include/gtk-2.0/gtk/gtkoptionmenu.h:
+
+/usr/include/gtk-2.0/gtk/gtkpixmap.h:
+
+/usr/include/gtk-2.0/gtk/gtkplug.h:
+
+/usr/include/gtk-2.0/gtk/gtksocket.h:
+
+/usr/include/gtk-2.0/gtk/gtkpreview.h:
+
+/usr/include/gtk-2.0/gtk/gtkprogress.h:
+
+/usr/include/gtk-2.0/gtk/gtkprogressbar.h:
+
+/usr/include/gtk-2.0/gtk/gtkradiobutton.h:
+
+/usr/include/gtk-2.0/gtk/gtkradiomenuitem.h:
+
+/usr/include/gtk-2.0/gtk/gtkscrolledwindow.h:
+
+/usr/include/gtk-2.0/gtk/gtkviewport.h:
+
+/usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h:
+
+/usr/include/gtk-2.0/gtk/gtksizegroup.h:
+
+/usr/include/gtk-2.0/gtk/gtkspinbutton.h:
+
+/usr/include/gtk-2.0/gtk/gtkstock.h:
+
+/usr/include/gtk-2.0/gtk/gtkstatusbar.h:
+
+/usr/include/gtk-2.0/gtk/gtktable.h:
+
+/usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h:
+
+/usr/include/gtk-2.0/gtk/gtktext.h:
+
+/usr/include/gtk-2.0/gtk/gtktextbuffer.h:
+
+/usr/include/gtk-2.0/gtk/gtktexttagtable.h:
+
+/usr/include/gtk-2.0/gtk/gtktexttag.h:
+
+/usr/include/gtk-2.0/gtk/gtktextiter.h:
+
+/usr/include/gtk-2.0/gtk/gtktextchild.h:
+
+/usr/include/gtk-2.0/gtk/gtktextmark.h:
+
+/usr/include/gtk-2.0/gtk/gtktextview.h:
+
+/usr/include/gtk-2.0/gtk/gtktipsquery.h:
+
+/usr/include/gtk-2.0/gtk/gtktoolbar.h:
+
+/usr/include/gtk-2.0/gtk/gtktooltips.h:
+
+/usr/include/gtk-2.0/gtk/gtktree.h:
+
+/usr/include/gtk-2.0/gtk/gtktreednd.h:
+
+/usr/include/gtk-2.0/gtk/gtktreeitem.h:
+
+/usr/include/gtk-2.0/gtk/gtktreemodelsort.h:
+
+/usr/include/gtk-2.0/gtk/gtktreeselection.h:
+
+/usr/include/gtk-2.0/gtk/gtktreeview.h:
+
+/usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h:
+
+/usr/include/gtk-2.0/gtk/gtktreestore.h:
+
+/usr/include/gtk-2.0/gtk/gtkvbbox.h:
+
+/usr/include/gtk-2.0/gtk/gtkversion.h:
+
+/usr/include/gtk-2.0/gtk/gtkvpaned.h:
+
+/usr/include/gtk-2.0/gtk/gtkvruler.h:
+
+/usr/include/gtk-2.0/gtk/gtkvscale.h:
+
+/usr/include/gtk-2.0/gtk/gtkvseparator.h:
+
+../../../include/lttv/module.h:
+
+../../../include/lttv/gtkTraceSet.h:
+
+../../../include/ltt/ltt.h:
+
+../../../include/ltt/LTTTypes.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/sys/time.h:
+
+../../../include/ltt/ltt-private.h:
+
+../../../include/ltt/type.h:
+
+../../../include/ltt/trace.h:
+
+../../../include/lttv/hook.h:
+
+../../../include/lttv/common.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+../../../include/lttv/stats.h:
+
+../../../include/lttv/state.h:
+
+../../../include/lttv/processTrace.h:
+
+../../../include/lttv/traceset.h:
+
+../../../include/lttv/attribute.h:
+
+../../../include/lttv/iattribute.h:
+
+../../../include/ltt/event.h:
+
+/usr/include/string.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/stdlib.h:
+
+../icons/hGuiStatisticInsert.xpm:
diff --git a/ltt/branches/poly/lttv/modules/guiStatistic/Makefile.am b/ltt/branches/poly/lttv/modules/guiStatistic/Makefile.am
new file mode 100644 (file)
index 0000000..0794479
--- /dev/null
@@ -0,0 +1,16 @@
+#
+# Makefile for LTT New generation user interface : plugins.
+#
+# Created by Mathieu Desnoyers on May 6, 2003
+#
+
+AM_CFLAGS = $(GLIB_CFLAGS) 
+AM_CFLAGS += $(GTK_CFLAGS)
+LIBS += $(GLIB_LIBS)
+LIBS += $(GTK_LIBS) -L${top_srcdir}/lttv/modules/gui/API -lmainWinApi
+
+libdir = ${lttvplugindir}
+
+lib_LTLIBRARIES = libguiStatistic.la
+libguiStatistic_la_LDFLAGS = -module
+libguiStatistic_la_SOURCES = guiStatistic.c
diff --git a/ltt/branches/poly/lttv/modules/guiStatistic/guiStatistic.c b/ltt/branches/poly/lttv/modules/guiStatistic/guiStatistic.c
new file mode 100644 (file)
index 0000000..081a537
--- /dev/null
@@ -0,0 +1,485 @@
+#include <glib.h>
+#include <gmodule.h>
+#include <gtk/gtk.h>
+#include <gdk/gdk.h>
+
+#include <lttv/module.h>
+#include <lttv/gtkTraceSet.h>
+#include <lttv/processTrace.h>
+#include <lttv/hook.h>
+#include <lttv/common.h>
+#include <lttv/state.h>
+#include <lttv/stats.h>
+
+#include <ltt/ltt.h>
+#include <ltt/event.h>
+#include <ltt/type.h>
+#include <ltt/trace.h>
+
+#include <string.h>
+
+#include "../icons/hGuiStatisticInsert.xpm"
+
+#define PATH_LENGTH        256
+
+static LttvModule *Main_Win_Module;
+
+/** Array containing instanced objects. Used when module is unloaded */
+GSList *gStatistic_Viewer_Data_List = NULL ;
+
+typedef struct _StatisticViewerData StatisticViewerData;
+
+//! Statistic Viewer's constructor hook
+GtkWidget *hGuiStatistic(mainWindow *pmParentWindow);
+//! Statistic Viewer's constructor
+StatisticViewerData *GuiStatistic(mainWindow *pmParentWindow);
+//! Statistic Viewer's destructor
+void GuiStatistic_Destructor(StatisticViewerData *Statistic_Viewer_Data);
+void GuiStatistic_free(StatisticViewerData *Statistic_Viewer_Data);
+
+void grab_focus(GtkWidget *widget, gpointer data);
+static void tree_selection_changed_cb (GtkTreeSelection *selection, gpointer data);
+
+void Destroy_hash_key(gpointer key);
+void Destroy_hash_data(gpointer data);
+
+void get_traceset_stats(StatisticViewerData * Statistic_Viewer_Data);
+void show_traceset_stats(StatisticViewerData * Statistic_Viewer_Data);
+void show_tree(StatisticViewerData * Statistic_Viewer_Data,
+              LttvAttribute* stats,  GtkTreeIter* parent);
+void show_statistic(StatisticViewerData * Statistic_Viewer_Data,
+                   LttvAttribute* stats, GtkTextBuffer* buf);
+
+
+enum
+{
+   NAME_COLUMN,
+   N_COLUMNS
+};
+
+struct _StatisticViewerData{
+  mainWindow * mw;
+  LttvTracesetStats * stats;
+
+  GtkWidget    * HPaned_V;
+  GtkTreeStore * Store_M;
+  GtkWidget    * Tree_V;
+
+  //scroll window containing Tree View
+  GtkWidget * Scroll_Win_Tree;
+
+  GtkWidget    * Text_V;  
+  //scroll window containing Text View
+  GtkWidget * Scroll_Win_Text;
+
+  // Selection handler 
+  GtkTreeSelection *Select_C;
+  
+  //hash 
+  GHashTable *Statistic_Hash;
+};
+
+
+/**
+ * plugin's init function
+ *
+ * This function initializes the Statistic Viewer functionnality through the
+ * gtkTraceSet API.
+ */
+G_MODULE_EXPORT void init(LttvModule *self, int argc, char *argv[]) {
+
+  Main_Win_Module = lttv_module_require(self, "mainwin", argc, argv);
+  
+  if(Main_Win_Module == NULL){
+      g_critical("Can't load Statistic Viewer : missing mainwin\n");
+      return;
+  }
+       
+  g_critical("GUI Statistic Viewer init()");
+  
+  /* Register the toolbar insert button */
+  ToolbarItemReg(hGuiStatisticInsert_xpm, "Insert Statistic Viewer", hGuiStatistic);
+  
+  /* Register the menu item insert entry */
+  MenuItemReg("/", "Insert Statistic Viewer", hGuiStatistic);
+  
+}
+
+void destroy_walk(gpointer data, gpointer user_data)
+{
+  GuiStatistic_Destructor((StatisticViewerData*)data);
+}
+
+/**
+ * plugin's destroy function
+ *
+ * This function releases the memory reserved by the module and unregisters
+ * everything that has been registered in the gtkTraceSet API.
+ */
+G_MODULE_EXPORT void destroy() {
+  int i;
+  
+  StatisticViewerData *Statistic_Viewer_Data;
+  
+  g_critical("GUI Statistic Viewer destroy()");
+
+  g_slist_foreach(gStatistic_Viewer_Data_List, destroy_walk, NULL );
+
+  g_slist_free(gStatistic_Viewer_Data_List);
+
+  /* Unregister the toolbar insert button */
+  ToolbarItemUnreg(hGuiStatistic);
+       
+  /* Unregister the menu item insert entry */
+  MenuItemUnreg(hGuiStatistic);
+}
+
+
+void
+GuiStatistic_free(StatisticViewerData *Statistic_Viewer_Data)
+{ 
+  g_hash_table_destroy(Statistic_Viewer_Data->Statistic_Hash);
+  gStatistic_Viewer_Data_List = g_slist_remove(gStatistic_Viewer_Data_List, Statistic_Viewer_Data);
+  g_warning("Delete Statistic data\n");
+  g_free(Statistic_Viewer_Data);
+}
+
+void
+GuiStatistic_Destructor(StatisticViewerData *Statistic_Viewer_Data)
+{
+  /* May already been done by GTK window closing */
+  if(GTK_IS_WIDGET(Statistic_Viewer_Data->HPaned_V))
+    gtk_widget_destroy(Statistic_Viewer_Data->HPaned_V);
+  
+  GuiStatistic_free(Statistic_Viewer_Data);
+}
+
+
+/**
+ * Statistic Viewer's constructor hook
+ *
+ * This constructor is given as a parameter to the menuitem and toolbar button
+ * registration. It creates the list.
+ * @param pmParentWindow A pointer to the parent window.
+ * @return The widget created.
+ */
+GtkWidget *
+hGuiStatistic(mainWindow * pmParentWindow)
+{
+  StatisticViewerData* Statistic_Viewer_Data = GuiStatistic(pmParentWindow) ;
+
+  if(Statistic_Viewer_Data)
+    return Statistic_Viewer_Data->HPaned_V;
+  else return NULL;
+       
+}
+
+/**
+ * Statistic Viewer's constructor
+ *
+ * This constructor is used to create StatisticViewerData data structure.
+ * @return The Statistic viewer data created.
+ */
+StatisticViewerData *
+GuiStatistic(mainWindow *pmParentWindow)
+{
+  GtkCellRenderer *renderer;
+  GtkTreeViewColumn *column;
+
+  StatisticViewerData* Statistic_Viewer_Data = g_new(StatisticViewerData,1);
+
+  Statistic_Viewer_Data->mw     = pmParentWindow;
+  Statistic_Viewer_Data->stats  = getTracesetStats(Statistic_Viewer_Data->mw);
+
+  Statistic_Viewer_Data->Statistic_Hash = g_hash_table_new_full(g_str_hash, g_str_equal,
+                                                               Destroy_hash_key, Destroy_hash_data);
+
+  Statistic_Viewer_Data->HPaned_V  = gtk_hpaned_new();
+  Statistic_Viewer_Data->Store_M = gtk_tree_store_new (N_COLUMNS, G_TYPE_STRING);
+  Statistic_Viewer_Data->Tree_V  = gtk_tree_view_new_with_model (GTK_TREE_MODEL (Statistic_Viewer_Data->Store_M));
+  g_object_unref (G_OBJECT (Statistic_Viewer_Data->Store_M));
+
+  g_signal_connect (G_OBJECT (Statistic_Viewer_Data->Tree_V), "grab-focus",
+                   G_CALLBACK (grab_focus),
+                   Statistic_Viewer_Data);
+
+  // Setup the selection handler
+  Statistic_Viewer_Data->Select_C = gtk_tree_view_get_selection (GTK_TREE_VIEW (Statistic_Viewer_Data->Tree_V));
+  gtk_tree_selection_set_mode (Statistic_Viewer_Data->Select_C, GTK_SELECTION_SINGLE);
+  g_signal_connect (G_OBJECT (Statistic_Viewer_Data->Select_C), "changed",
+                   G_CALLBACK (tree_selection_changed_cb),
+                   Statistic_Viewer_Data);
+
+  renderer = gtk_cell_renderer_text_new ();
+  column = gtk_tree_view_column_new_with_attributes ("Statistic Name",
+                                                    renderer,
+                                                    "text", NAME_COLUMN,
+                                                    NULL);
+  gtk_tree_view_column_set_alignment (column, 0.0);
+  //  gtk_tree_view_column_set_fixed_width (column, 45);
+  gtk_tree_view_append_column (GTK_TREE_VIEW (Statistic_Viewer_Data->Tree_V), column);
+
+
+  gtk_tree_view_set_headers_visible(GTK_TREE_VIEW (Statistic_Viewer_Data->Tree_V), FALSE);
+
+  Statistic_Viewer_Data->Scroll_Win_Tree = gtk_scrolled_window_new (NULL, NULL);
+  gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(Statistic_Viewer_Data->Scroll_Win_Tree), 
+                                GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC);
+
+  gtk_container_add (GTK_CONTAINER (Statistic_Viewer_Data->Scroll_Win_Tree), Statistic_Viewer_Data->Tree_V);
+  gtk_paned_pack1(GTK_PANED(Statistic_Viewer_Data->HPaned_V),Statistic_Viewer_Data->Scroll_Win_Tree, TRUE, FALSE);
+  gtk_paned_set_position(GTK_PANED(Statistic_Viewer_Data->HPaned_V), 160);
+
+  Statistic_Viewer_Data->Scroll_Win_Text = gtk_scrolled_window_new (NULL, NULL);
+  gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(Statistic_Viewer_Data->Scroll_Win_Text), 
+                                GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC);
+
+  Statistic_Viewer_Data->Text_V = gtk_text_view_new ();
+  g_signal_connect (G_OBJECT (Statistic_Viewer_Data->Text_V), "grab-focus",
+                   G_CALLBACK (grab_focus),
+                   Statistic_Viewer_Data);
+  
+  gtk_text_view_set_editable(GTK_TEXT_VIEW(Statistic_Viewer_Data->Text_V),FALSE);
+  gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(Statistic_Viewer_Data->Text_V),FALSE);
+  gtk_container_add (GTK_CONTAINER (Statistic_Viewer_Data->Scroll_Win_Text), Statistic_Viewer_Data->Text_V);
+  gtk_paned_pack2(GTK_PANED(Statistic_Viewer_Data->HPaned_V), Statistic_Viewer_Data->Scroll_Win_Text, TRUE, FALSE);
+
+  gtk_widget_show(Statistic_Viewer_Data->Scroll_Win_Tree);
+  gtk_widget_show(Statistic_Viewer_Data->Scroll_Win_Text);
+  gtk_widget_show(Statistic_Viewer_Data->Tree_V);
+  gtk_widget_show(Statistic_Viewer_Data->Text_V);
+  gtk_widget_show(Statistic_Viewer_Data->HPaned_V);
+
+  g_object_set_data_full(
+                       G_OBJECT(Statistic_Viewer_Data->HPaned_V),
+                       "Statistic_Viewer_Data",
+                       Statistic_Viewer_Data,
+                       (GDestroyNotify)GuiStatistic_free);
+
+  /* Add the object's information to the module's array */
+  gStatistic_Viewer_Data_List = g_slist_append(gStatistic_Viewer_Data_List, Statistic_Viewer_Data);
+
+  get_traceset_stats(Statistic_Viewer_Data);
+
+  return Statistic_Viewer_Data;
+}
+
+void grab_focus(GtkWidget *widget, gpointer data)
+{
+  StatisticViewerData *Statistic_Viewer_Data = (StatisticViewerData *)data;
+  mainWindow * mw = Statistic_Viewer_Data->mw;
+  SetFocusedPane(mw, gtk_widget_get_parent(Statistic_Viewer_Data->HPaned_V));
+}
+
+static void
+tree_selection_changed_cb (GtkTreeSelection *selection, gpointer data)
+{
+  StatisticViewerData *Statistic_Viewer_Data = (StatisticViewerData*)data;
+  GtkTreeIter iter;
+  GtkTreeModel *model = GTK_TREE_MODEL(Statistic_Viewer_Data->Store_M);
+  gchar *Event;
+  GtkTextBuffer* buf;
+  gchar * str;
+  GtkTreePath * path;
+  GtkTextIter   text_iter;
+  LttvAttribute * stats;
+
+  if (gtk_tree_selection_get_selected (selection, &model, &iter))
+    {
+      gtk_tree_model_get (model, &iter, NAME_COLUMN, &Event, -1);
+
+      path = gtk_tree_model_get_path(GTK_TREE_MODEL(model),&iter);
+      str = gtk_tree_path_to_string (path);
+      stats = (LttvAttribute*)g_hash_table_lookup (Statistic_Viewer_Data->Statistic_Hash,str);
+      g_free(str);
+      
+      buf =  gtk_text_view_get_buffer((GtkTextView*)Statistic_Viewer_Data->Text_V);
+      gtk_text_buffer_set_text(buf,"Statistic for  '", -1);
+      gtk_text_buffer_get_end_iter(buf, &text_iter);
+      gtk_text_buffer_insert(buf, &text_iter, Event, strlen(Event));      
+      gtk_text_buffer_get_end_iter(buf, &text_iter);
+      gtk_text_buffer_insert(buf, &text_iter, "' :\n\n",5);
+      
+      show_statistic(Statistic_Viewer_Data, stats, buf);
+
+      g_free (Event);
+    }
+}
+
+void Destroy_hash_key(gpointer key)
+{
+  g_free(key);
+}
+
+void Destroy_hash_data(gpointer data)
+{
+  //  g_free(data);
+}
+
+void get_traceset_stats(StatisticViewerData * Statistic_Viewer_Data)
+{
+  LttTime start, end;
+
+  start.tv_sec = 0;
+  start.tv_nsec = 0;
+  end.tv_sec = G_MAXULONG;
+  end.tv_nsec = G_MAXULONG;
+  
+  stateAddEventHooks(Statistic_Viewer_Data->mw);
+  statsAddEventHooks(Statistic_Viewer_Data->mw);
+
+  processTraceset(Statistic_Viewer_Data->mw, start, end, G_MAXULONG);
+  
+  stateRemoveEventHooks(Statistic_Viewer_Data->mw);
+  statsRemoveEventHooks(Statistic_Viewer_Data->mw);
+
+  //establish tree view for stats
+  show_traceset_stats(Statistic_Viewer_Data);
+}
+
+void show_traceset_stats(StatisticViewerData * Statistic_Viewer_Data)
+{
+  int i, nb;
+  LttvTraceset *ts;
+  LttvTraceStats *tcs;
+  LttSystemDescription *desc;
+  LttvTracesetStats * tscs = Statistic_Viewer_Data->stats;
+  gchar * str, trace_str[PATH_LENGTH];
+  GtkTreePath * path;
+  GtkTreeIter   iter;
+  GtkTreeStore * store = Statistic_Viewer_Data->Store_M;
+
+  if(tscs->stats == NULL) return;
+
+  gtk_tree_store_append (store, &iter, NULL);  
+  gtk_tree_store_set (store, &iter,
+                     NAME_COLUMN, "Traceset statistics",
+                     -1);  
+  path = gtk_tree_model_get_path(GTK_TREE_MODEL(store),        &iter);
+  str = gtk_tree_path_to_string (path);
+  g_hash_table_insert(Statistic_Viewer_Data->Statistic_Hash,
+                     (gpointer)str, tscs->stats);
+  show_tree(Statistic_Viewer_Data, tscs->stats, &iter);
+
+  //show stats for all traces
+  ts = tscs->parent.parent.ts;
+  nb = lttv_traceset_number(ts);
+  
+  for(i = 0 ; i < nb ; i++) {
+    tcs = (LttvTraceStats *)(LTTV_TRACESET_CONTEXT(tscs)->traces[i]);
+    desc = ltt_trace_system_description(tcs->parent.parent.t);    
+    sprintf(trace_str, "Trace on system %s at time %d secs", 
+           desc->node_name,desc->trace_start.tv_sec);
+    
+    gtk_tree_store_append (store, &iter, NULL);  
+    gtk_tree_store_set (store, &iter,NAME_COLUMN,trace_str,-1);  
+    path = gtk_tree_model_get_path(GTK_TREE_MODEL(store), &iter);
+    str = gtk_tree_path_to_string (path);
+    g_hash_table_insert(Statistic_Viewer_Data->Statistic_Hash,
+                       (gpointer)str,tcs->stats);
+    show_tree(Statistic_Viewer_Data, tcs->stats, &iter);
+  }
+}
+
+void show_tree(StatisticViewerData * Statistic_Viewer_Data,
+              LttvAttribute* stats,  GtkTreeIter* parent)
+{
+  int i, nb;
+  LttvAttribute *subtree;
+  LttvAttributeName name;
+  LttvAttributeValue value;
+  LttvAttributeType type;
+  gchar * str, dir_str[PATH_LENGTH];
+  GtkTreePath * path;
+  GtkTreeIter   iter;
+  GtkTreeStore * store = Statistic_Viewer_Data->Store_M;
+
+  nb = lttv_attribute_get_number(stats);
+  for(i = 0 ; i < nb ; i++) {
+    type = lttv_attribute_get(stats, i, &name, &value);
+    switch(type) {
+     case LTTV_GOBJECT:
+        if(LTTV_IS_ATTRIBUTE(*(value.v_gobject))) {
+         sprintf(dir_str, "%s", g_quark_to_string(name));
+          subtree = (LttvAttribute *)*(value.v_gobject);
+         gtk_tree_store_append (store, &iter, parent);  
+         gtk_tree_store_set (store, &iter,NAME_COLUMN,dir_str,-1);  
+         path = gtk_tree_model_get_path(GTK_TREE_MODEL(store), &iter);
+         str = gtk_tree_path_to_string (path);
+         g_hash_table_insert(Statistic_Viewer_Data->Statistic_Hash,
+                             (gpointer)str, subtree);
+          show_tree(Statistic_Viewer_Data, subtree, &iter);
+        }
+        break;
+      default:
+       break;
+    }
+  }    
+}
+
+void show_statistic(StatisticViewerData * Statistic_Viewer_Data,
+                   LttvAttribute* stats, GtkTextBuffer* buf)
+{
+  int i, nb , flag;
+  LttvAttribute *subtree;
+  LttvAttributeName name;
+  LttvAttributeValue value;
+  LttvAttributeType type;
+  gchar type_name[PATH_LENGTH], type_value[PATH_LENGTH];
+  GtkTextIter   text_iter;
+  
+  flag = 0;
+  nb = lttv_attribute_get_number(stats);
+  for(i = 0 ; i < nb ; i++) {
+    type = lttv_attribute_get(stats, i, &name, &value);
+    sprintf(type_name,"%s", g_quark_to_string(name));
+    type_value[0] = '\0';
+    switch(type) {
+      case LTTV_INT:
+        sprintf(type_value, " :  %d\n", *value.v_int);
+        break;
+      case LTTV_UINT:
+        sprintf(type_value, " :  %u\n", *value.v_uint);
+        break;
+      case LTTV_LONG:
+        sprintf(type_value, " :  %ld\n", *value.v_long);
+        break;
+      case LTTV_ULONG:
+        sprintf(type_value, " :  %lu\n", *value.v_ulong);
+        break;
+      case LTTV_FLOAT:
+        sprintf(type_value, " :  %f\n", (double)*value.v_float);
+        break;
+      case LTTV_DOUBLE:
+        sprintf(type_value, " :  %f\n", *value.v_double);
+        break;
+      case LTTV_TIME:
+        sprintf(type_value, " :  %10u.%09u\n", value.v_time->tv_sec, 
+            value.v_time->tv_nsec);
+        break;
+      case LTTV_POINTER:
+        sprintf(type_value, " :  POINTER\n");
+        break;
+      case LTTV_STRING:
+        sprintf(type_value, " :  %s\n", *value.v_string);
+        break;
+      default:
+        break;
+    }
+    if(strlen(type_value)){
+      flag = 1;
+      strcat(type_name,type_value);
+      gtk_text_buffer_get_end_iter(buf, &text_iter);
+      gtk_text_buffer_insert(buf, &text_iter, type_name, strlen(type_name));
+    }
+  }
+
+  if(flag == 0){
+    sprintf(type_value, "No statistic information in this directory.\nCheck in subdirectories please.\n");
+    gtk_text_buffer_get_end_iter(buf, &text_iter);
+    gtk_text_buffer_insert(buf, &text_iter, type_value, strlen(type_value));
+
+  }
+}
+
+
index 101c5d21af2227c28af5f2843c4cff2a3201187b..42ae1fcfefec9d4b6b164f42b8260a73b5a0cfd7 100644 (file)
@@ -6,4 +6,6 @@
 
 EXTRA_DIST = \
                hGuiControlFlowInsert.xpm\
-               hGuiEventsInsert.xpm
+               hGuiEventsInsert.xpm\
+               hGuiStatisticInsert.xpm
+
diff --git a/ltt/branches/poly/lttv/modules/icons/hGuiStatisticInsert.xpm b/ltt/branches/poly/lttv/modules/icons/hGuiStatisticInsert.xpm
new file mode 100644 (file)
index 0000000..e8d4dd9
--- /dev/null
@@ -0,0 +1,48 @@
+/* XPM */
+static char * hGuiStatisticInsert_xpm[] = {
+"40 40 5 1",
+"      c None",
+".     c #000000",
+"+     c #6E6E6E",
+"@     c #BEBEBE",
+"#     c #FFDD00",
+"++++++++++++++++++++++++++++++++++++++++",
+"+@@@@@@@@@@@@@@@@@....@@@@@@@@@@@@@@@@@+",
+"+@@@@@@@@@@@@@@@@......@@@@@@@@@@@@@@@@+",
+"+@@@@@@@@@@@@@@@..####..@@@@@@@@@@@@@@@+",
+"+@@@@@@@@@@@@@@..######..@@@@@@@@@@@@@@+",
+"+@@@@@@@@@@@@@..########..@@@@@@@@@@@@@+",
+"+@@@@@@@@@@@@..##########..@@@@@@@@@@@@+",
+"+@@@@@@@@@@@..############..@@@@@@@@@@@+",
+"+@@@@@@@@@@..#####....#####..@@@@@@@@@@+",
+"+@@@@@@@@@..#####......#####..@@@@@@@@@+",
+"+@@@@@@@@..######......######..@@@@@@@@+",
+"+@@@@@@@..#######......#######..@@@@@@@+",
+"+@@@@@@..########......########..@@@@@@+",
+"+@@@@@..#........#....##########..@@@@@+",
+"+@@@@..##.####....###############..@@@@+",
+"+@@@..###.###......###############..@@@+",
+"+@@..####.#......#.################..@@+",
+"+@..#####.#.....##.#####....########..@+",
+"+..######......###.#####.....########..+",
+"+..######.....................#######..+",
+"+..####..#.....###.#####.....########..+",
+"+..#######......########....#########..+",
+"+@..######.......############..#####..++",
+"+@@..#####...#....###########..####..+@+",
+"+@@@..####...##...#########.######..+@@+",
+"+@@@@..###...##...#####..##.#.###..+@@@+",
+"+@@@@@..##...##...####....###.##..+@@@@+",
+"+@@@@@@..#...##..####......####..+@@@@@+",
+"+@@@@@@@..#..##...##........##..+@@@@@@+",
+"+@@@@@@@@..#.##...##........#..+@@@@@@@+",
+"+@@@@@@@@@..################..+@@@@@@@@+",
+"+@@@@@@@@@@..##############..+@@@@@@@@@+",
+"+@@@@@@@@@@@..############..+@@@@@@@@@@+",
+"+@@@@@@@@@@@@..##########..+@@@@@@@@@@@+",
+"+@@@@@@@@@@@@@..########..+@@@@@@@@@@@@+",
+"+@@@@@@@@@@@@@@..######..+@@@@@@@@@@@@@+",
+"+@@@@@@@@@@@@@@@..####..+@@@@@@@@@@@@@@+",
+"+@@@@@@@@@@@@@@@@......+@@@@@@@@@@@@@@@+",
+"+@@@@@@@@@@@@@@@@@....+@@@@@@@@@@@@@@@@+",
+"++++++++++++++++++++++++++++++++++++++++"};
This page took 0.041515 seconds and 4 git commands to generate.