bind lasy
[lttv.git] / ltt / branches / poly / lttv / modules / guiControlFlow / module.c
1 /*! \defgroup guiEvents libguiControlFlow: The GUI ControlFlow display plugin */
2 /*\@{*/
3
4 /*! \file guiControlFlow.c
5 * \brief Graphical plugin for showing control flow of a trace.
6 *
7 * This plugin adds a Control Flow Viewer functionnality to Linux TraceToolkit
8 * GUI when this plugin is loaded. The init and destroy functions add the
9 * viewer's insertion menu item and toolbar icon by calling gtkTraceSet's
10 * API functions. Then, when a viewer's object is created, the constructor
11 * creates ans register through API functions what is needed to interact
12 * with the TraceSet window.
13 *
14 * This plugin uses the gdk library to draw the events and gtk to interact
15 * with the user.
16 *
17 * Author : Mathieu Desnoyers, June 2003
18 */
19
20 #include <glib.h>
21 #include <gmodule.h>
22 #include <lttv/module.h>
23 //#include <lttv/gtkTraceSet.h>
24
25 //#include "CFV.h"
26 //#include "Event_Hooks.h"
27
28 // #include "../icons/hGuiControlFlowInsert.xpm"
29
30 LttvModule *Main_Win_Module;
31
32
33 /** Array containing instanced objects. Used when module is unloaded */
34 //GSList *gControl_Flow_Data_List = NULL ;
35
36
37
38
39 /*****************************************************************************
40 * Functions for module loading/unloading *
41 *****************************************************************************/
42 /**
43 * plugin's init function
44 *
45 * This function initializes the Control Flow Viewer functionnality through the
46 * gtkTraceSet API.
47 */
48 G_MODULE_EXPORT void init(LttvModule *self, int argc, char *argv[]) {
49
50 Main_Win_Module = lttv_module_require(self, "mainwin", argc, argv);
51
52 if(Main_Win_Module == NULL)
53 {
54 g_critical("Can't load Control Flow Viewer : missing mainwin\n");
55 return;
56 }
57
58 g_critical("GUI ControlFlow Viewer init()");
59
60 /* Register the toolbar insert button */
61 //ToolbarItemReg(hGuiControlFlowInsert_xpm, "Insert Control Flow Viewer",
62 // hGuiControlFlow);
63
64 /* Register the menu item insert entry */
65 //MenuItemReg("/", "Insert Control Flow Viewer", hGuiControlFlow);
66
67 }
68
69 void destroy_walk(gpointer data, gpointer user_data)
70 {
71 // GuiControlFlow_Destructor((ControlFlowData*)data);
72 }
73
74
75
76 /**
77 * plugin's destroy function
78 *
79 * This function releases the memory reserved by the module and unregisters
80 * everything that has been registered in the gtkTraceSet API.
81 */
82 G_MODULE_EXPORT void destroy() {
83 g_critical("GUI Control Flow Viewer destroy()");
84 int i;
85
86 // ControlFlowData *Control_Flow_Data;
87
88 g_critical("GUI Event Viewer destroy()");
89
90 // g_slist_foreach(gControl_Flow_Data_List, destroy_walk, NULL );
91
92 /* Unregister the toolbar insert button */
93 //ToolbarItemUnreg(hGuiControlFlow);
94
95 /* Unregister the menu item insert entry */
96 //MenuItemUnreg(hGuiControlFlow);
97
98
99 lttv_module_unload(Main_Win_Module);
100
101 }
This page took 0.03155 seconds and 4 git commands to generate.