* Author : Mathieu Desnoyers, June 2003
*/
+#define g_info(format...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, format)
+#define g_debug(format...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, format)
+
+#include <glib.h>
#include <gmodule.h>
#include <lttv/module.h>
#include <lttv/gtkTraceSet.h>
#include "CFV.h"
#include "Event_Hooks.h"
+ #include "../icons/hGuiControlFlowInsert.xpm"
+
+static LttvModule *Main_Win_Module;
+
+
+/** Array containing instanced objects. Used when module is unloaded */
+GSList *gControl_Flow_Data_List = NULL ;
+
+
+
+
/*****************************************************************************
* Functions for module loading/unloading *
*****************************************************************************/
* This function initializes the Control Flow Viewer functionnality through the
* gtkTraceSet API.
*/
-G_MODULE_EXPORT void init() {
- g_critical("GUI ControlFlow Viewer init()");
+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 Control Flow Viewer : missing mainwin\n");
+ return;
+ }
+
+ g_info("GUI ControlFlow Viewer init()");
/* Register the toolbar insert button */
- ToolbarItemReg(guiEventsInsert_xpm, "Insert Control Flow Viewer", guiEvent);
+ toolbar_item_reg(hGuiControlFlowInsert_xpm, "Insert Control Flow Viewer",
+ h_guicontrolflow);
/* Register the menu item insert entry */
- MenuItemReg("/", "Insert Control Flow Viewer", guiEvent);
+ menu_item_reg("/", "Insert Control Flow Viewer", h_guicontrolflow);
}
void destroy_walk(gpointer data, gpointer user_data)
{
- GuiControlFlow_Destructor((ControlFlowData*)data);
+ g_info("Walk destroy GUI Control Flow Viewer");
+ guicontrolflow_destructor_full((ControlFlowData*)data);
}
* everything that has been registered in the gtkTraceSet API.
*/
G_MODULE_EXPORT void destroy() {
- g_critical("GUI Control Flow Viewer destroy()");
+ g_info("GUI Control Flow Viewer destroy()");
int i;
- ControlFlowData *Control_Flow_Data;
+ g_slist_foreach(gControl_Flow_Data_List, destroy_walk, NULL );
- g_critical("GUI Event Viewer destroy()");
+ g_slist_free(gControl_Flow_Data_List);
- g_slist_foreach(sControl_Flow_Data_List, destroy_walk, NULL );
-
/* Unregister the toolbar insert button */
- //ToolbarItemUnreg(hGuiEvents);
+ toolbar_item_unreg(h_guicontrolflow);
/* Unregister the menu item insert entry */
- //MenuItemUnreg(hGuiEvents);
+ menu_item_unreg(h_guicontrolflow);
+
}
-