traceset per tab
[lttv.git] / ltt / branches / poly / include / lttv / mainWindow.h
1 #ifndef _MAIN_WINDOW_
2 #define _MAIN_WINDOW_
3
4 #include <gtk/gtk.h>
5
6 #include <ltt/ltt.h>
7 #include <lttv/attribute.h>
8 #include <lttv/traceset.h>
9 #include <lttv/processTrace.h>
10
11 #include <lttv/common.h>
12 #include <lttv/gtkcustom.h>
13 #include <lttv/hook.h>
14 #include <lttv/stats.h>
15
16 typedef struct _WindowCreationData {
17 int argc;
18 char ** argv;
19 } WindowCreationData;
20
21
22 typedef struct _TracesetInfo {
23 //FIXME? TracesetContext and stats in same or different variable ?
24 LttvTracesetStats * traceset_context;
25 LttvTraceset * traceset;
26 } TracesetInfo ;
27
28
29 struct _MainWindow{
30 GtkWidget* mwindow; /* Main Window */
31
32 /* Status bar information */
33 // guint MainSBarContextID; /* Context ID of main status bar */
34 // guint BegTimeSBarContextID; /* Context ID of BegTime status bar */
35 // guint EndTimeSBarContextID; /* Context ID of EndTime status bar */
36
37 /* Child windows */
38 //openTracesetWindow* OpenTracesetWindow;/* Window to get prof and proc file*/
39 //viewTimeFrameWindow* ViewTimeFrameWindow;/*Window to select time frame */
40 //gotoEventWindow* GotoEventWindow; /*search for event description*/
41 //openFilterWindow* OpenFilterWindow; /* Open a filter selection window */
42 GtkWidget* help_contents;/* Window to display help contents */
43 GtkWidget* about_box; /* Window about information */
44
45 // lttv_trace_filter * filter; /* trace filter associated with the window */
46
47 /* Attributes for trace reading hooks local to the main window */
48 LttvIAttribute * attributes;
49
50 Tab * tab;
51 Tab * current_tab;
52
53 WindowCreationData * win_creation_data;
54
55 GHashTable * hash_menu_item;
56 GHashTable * hash_toolbar_item;
57 };
58
59
60 struct _Tab{
61 GtkWidget * label;
62 GtkCustom * custom;
63
64 // startTime is the left of the visible area. Corresponds to the scrollbar
65 // value.
66 // Time_Width is a zoom dependant value (corresponding to page size)
67 TimeWindow time_window;
68
69 // The current time is the time selected in the visible area by the user,
70 // not the scrollbar value.
71 LttTime current_time;
72 LttvIAttribute * attributes;
73
74 struct _Tab * next;
75 MainWindow * mw;
76
77 /* Traceset related information */
78 TracesetInfo * traceset_info;
79 };
80
81 /**
82 * Remove menu and toolbar item when a module unloaded
83 */
84 void main_window_remove_menu_item(lttv_constructor view_constructor);
85 void main_window_remove_toolbar_item(lttv_constructor view_constructor);
86
87 #endif /* _MAIN_WINDOW_ */
88
89
This page took 0.030089 seconds and 4 git commands to generate.