fix line size and collision indicator!
[lttv.git] / ltt / branches / poly / lttv / modules / gui / controlflow / module.c
index dd99d1302348a0237ef803ac4cb5d1fd361885e1..48995c0a91685f7834ccbeef90a82be86f16f445 100644 (file)
  * Author : Mathieu Desnoyers, June 2003
  */
 
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
 #include <glib.h>
 #include <lttv/lttv.h>
 #include <lttv/module.h>
 #include <lttvwindow/lttvwindow.h>
 
 #include "cfv.h"
+#include "lttv_plugin_cfv.h"
 #include "eventhooks.h"
 
 #include "hGuiControlFlowInsert.xpm"
+#include "hLegendInsert.xpm"
+
+GQuark LTT_NAME_CPU;
 
 /** Array containing instanced objects. Used when module is unloaded */
 GSList *g_control_flow_data_list = NULL ;
 
+GSList *g_legend_list = NULL ;
 
 /*****************************************************************************
  *                 Functions for module loading/unloading                    *
@@ -71,12 +80,28 @@ static void init() {
                                   hGuiControlFlowInsert_xpm,
                                   "Insert Control Flow Viewer",
                                   h_guicontrolflow);
+  
+  lttvwindow_register_constructor("guicontrolflowlegend",
+                                  "/",
+                                  "Popup Control Flow Viewer Legend",
+                                  hLegendInsert_xpm,
+                                  "Popup Control Flow Viewer Legend",
+                                  h_legend);
+
+
+  LTT_NAME_CPU = g_quark_from_string("/cpu");
 }
 
 void destroy_walk(gpointer data, gpointer user_data)
 {
   g_info("Walk destroy GUI Control Flow Viewer");
-  guicontrolflow_destructor_full((ControlFlowData*)data);
+  guicontrolflow_destructor_full((LttvPluginCFV*)data);
+}
+
+void destroy_legend_walk(gpointer data, gpointer user_data)
+{
+  g_info("Walk destroy GUI Control Flow Viewer");
+  legend_destructor((GtkWindow*)data);
 }
 
 
@@ -94,8 +119,13 @@ static void destroy() {
   
   g_slist_free(g_control_flow_data_list);
 
+  g_slist_foreach(g_legend_list, destroy_legend_walk, NULL );
+  
+  g_slist_free(g_control_flow_data_list);
+  
   /* Unregister the toolbar insert button and menu entry */
   lttvwindow_unregister_constructor(h_guicontrolflow);
+  lttvwindow_unregister_constructor(h_legend);
 }
 
 
This page took 0.032024 seconds and 4 git commands to generate.