X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2Fcontrolflow%2Fmodule.c;h=48995c0a91685f7834ccbeef90a82be86f16f445;hb=b6ef18af7254dcb81d4385db8f107721f769f7e5;hp=258356e65f3f067a4778df32f1c04f57d64c1d24;hpb=2d262115fc06b5ffb6038207a6d0c1d5f81763c2;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/gui/controlflow/module.c b/ltt/branches/poly/lttv/modules/gui/controlflow/module.c index 258356e6..48995c0a 100644 --- a/ltt/branches/poly/lttv/modules/gui/controlflow/module.c +++ b/ltt/branches/poly/lttv/modules/gui/controlflow/module.c @@ -37,24 +37,28 @@ * Author : Mathieu Desnoyers, June 2003 */ +#ifdef HAVE_CONFIG_H +#include +#endif + #include #include #include #include #include "cfv.h" +#include "lttv_plugin_cfv.h" #include "eventhooks.h" #include "hGuiControlFlowInsert.xpm" +#include "hLegendInsert.xpm" -static LttvModule *Main_Win_Module; - +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 * @@ -69,19 +73,35 @@ static void init() { g_info("GUI ControlFlow Viewer init()"); - /* Register the toolbar insert button */ - lttvwindow_register_toolbar(hGuiControlFlowInsert_xpm, - "Insert Control Flow Viewer", h_guicontrolflow); - - /* Register the menu item insert entry */ - lttvwindow_register_menu("/", "Insert Control Flow Viewer", h_guicontrolflow); + /* Register the toolbar insert button and menu entry*/ + lttvwindow_register_constructor("guicontrolflow", + "/", + "Insert Control Flow Viewer", + 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,18 +114,18 @@ void destroy_walk(gpointer data, gpointer user_data) */ static void destroy() { g_info("GUI Control Flow Viewer destroy()"); - int i; g_slist_foreach(g_control_flow_data_list, destroy_walk, NULL ); g_slist_free(g_control_flow_data_list); - /* Unregister the toolbar insert button */ - lttvwindow_unregister_toolbar(h_guicontrolflow); - - /* Unregister the menu item insert entry */ - lttvwindow_unregister_menu(h_guicontrolflow); + 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); }