* 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 *
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);
}
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);
}