c8516e18e5774fa1c34a68dacb8e884cdb1d9e54
[lttv.git] / lttv / modules / gui / controlflow / cfv.h
1 /* This file is part of the Linux Trace Toolkit viewer
2 * Copyright (C) 2003-2004 Mathieu Desnoyers
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License Version 2 as
6 * published by the Free Software Foundation;
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
16 * MA 02111-1307, USA.
17 */
18
19
20
21 #ifndef _CFV_H
22 #define _CFV_H
23
24 #include <gtk/gtk.h>
25 #include <lttvwindow/mainwindow.h>
26 #include <lttv/filter.h>
27 #include "processlist.h"
28 #include <lttvwindow/lttv_plugin_tab.h>
29
30 extern GQuark LTT_NAME_CPU;
31
32 #ifndef TYPE_DRAWING_T_DEFINED
33 #define TYPE_DRAWING_T_DEFINED
34 typedef struct _Drawing_t Drawing_t;
35 #endif //TYPE_DRAWING_T_DEFINED
36
37 #ifndef TYPE_CONTROLFLOWDATA_DEFINED
38 #define TYPE_CONTROLFLOWDATA_DEFINED
39 typedef struct _ControlFlowData ControlFlowData;
40 #endif //TYPE_CONTROLFLOWDATA_DEFINED
41
42 struct _ControlFlowData {
43
44 GtkWidget *top_widget;
45 Tab *tab;
46 LttvPluginTab *ptab;
47
48 GtkWidget *hbox;
49 GtkWidget *toolbar; /* Vbox that contains the viewer's toolbar */
50 GtkToolItem *button_prop; /* Properties button. */
51 GtkToolItem *button_filter; /* Properties button. */
52 GtkToolItem *button_legend; /* Properties button. */
53 GtkWidget *box; /* box that contains the hpaned. necessary for it to work */
54 GtkWidget *h_paned;
55
56 ProcessList *process_list;
57
58 Drawing_t *drawing;
59 GtkAdjustment *v_adjust ;
60
61 /* Shown events information */
62 // TimeWindow time_window;
63 // LttTime current_time;
64
65 //guint currently_Selected_Event ;
66 guint number_of_process;
67 guint background_info_waiting; /* Number of background requests waited for
68 in order to have all the info ready. */
69
70 LttvFilter *filter;
71
72 } ;
73
74 /* Control Flow Data constructor */
75 ControlFlowData *guicontrolflow(LttvPluginTab *ptab);
76 void
77 guicontrolflow_destructor_full(gpointer data);
78 void
79 guicontrolflow_destructor(gpointer data);
80
81 static inline GtkWidget *guicontrolflow_get_widget(
82 ControlFlowData *control_flow_data)
83 {
84 return control_flow_data->top_widget ;
85 }
86
87 static inline ProcessList *guicontrolflow_get_process_list
88 (ControlFlowData *control_flow_data)
89 {
90 return control_flow_data->process_list ;
91 }
92
93
94
95 #endif // _CFV_H
This page took 0.040059 seconds and 3 git commands to generate.