Draw_Item.h attribute name change
[lttv.git] / ltt / branches / poly / lttv / modules / guiControlFlow / module.c
index b25ebcfecdb40d6c6e8ccf7dc1a3d394697f6a5b..216688fb380bc19e8f5395472c5820811f6c6858 100644 (file)
  * 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 *g_control_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[]) {
 
-       /* Register the toolbar insert button */
-       ToolbarItemReg(guiEventsInsert_xpm, "Insert Control Flow Viewer", guiEvent);
+  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 menu item insert entry */
-       MenuItemReg("/", "Insert Control Flow Viewer", guiEvent);
-       
+  /* Register the toolbar insert button */
+  toolbar_item_reg(hGuiControlFlowInsert_xpm, "Insert Control Flow Viewer",
+      h_guicontrolflow);
+
+  /* Register the menu item insert entry */
+  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);
 }
 
 
@@ -58,19 +84,17 @@ void destroy_walk(gpointer data, gpointer user_data)
  * everything that has been registered in the gtkTraceSet API.
  */
 G_MODULE_EXPORT void destroy() {
-       g_critical("GUI Control Flow Viewer destroy()");
-       int i;
+  g_info("GUI Control Flow Viewer destroy()");
+  int i;
 
-       ControlFlowData *Control_Flow_Data;
-       
-       g_critical("GUI Event Viewer destroy()");
+  g_slist_foreach(g_control_flow_data_list, destroy_walk, NULL );
+  
+  g_slist_free(g_control_flow_data_list);
 
-       g_slist_foreach(sControl_Flow_Data_List, destroy_walk, NULL );
-       
-       /* Unregister the toolbar insert button */
-       //ToolbarItemUnreg(hGuiEvents);
+  /* Unregister the toolbar insert button */
+  toolbar_item_unreg(h_guicontrolflow);
 
-       /* Unregister the menu item insert entry */
-       //MenuItemUnreg(hGuiEvents);
+  /* Unregister the menu item insert entry */
+  menu_item_unreg(h_guicontrolflow);
+  
 }
-
This page took 0.023325 seconds and 4 git commands to generate.