git-svn-id: http://ltt.polymtl.ca/svn@448 04897980-b3bd-0310-b5e0-8ef037075253
[lttv.git] / ltt / branches / poly / include / lttv / mainWindow.h
CommitLineData
97e879d2 1/* This file is part of the Linux Trace Toolkit viewer
2 * Copyright (C) 2003-2004 Xiangxiu Yang
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
e969fd8e 19#ifndef _MAIN_WINDOW_
20#define _MAIN_WINDOW_
21
22#include <gtk/gtk.h>
23
24#include <ltt/ltt.h>
25#include <lttv/attribute.h>
26#include <lttv/traceset.h>
27#include <lttv/processTrace.h>
28
29#include <lttv/common.h>
daecc161 30#include <lttv/gtkmultivpaned.h>
f7afe191 31#include <lttv/hook.h>
32#include <lttv/stats.h>
e969fd8e 33
36b3c068 34typedef struct _WindowCreationData {
35 int argc;
36 char ** argv;
37} WindowCreationData;
e969fd8e 38
f7afe191 39
40typedef struct _TracesetInfo {
716e4367 41 //FIXME? TracesetContext and stats in same or different variable ?
42 LttvTracesetStats * traceset_context;
43 LttvTraceset * traceset;
f7afe191 44} TracesetInfo ;
45
46
bca3b81f 47struct _MainWindow{
48 GtkWidget* mwindow; /* Main Window */
58eecf4a 49 int window_width;
e969fd8e 50
51 /* Status bar information */
52 // guint MainSBarContextID; /* Context ID of main status bar */
53 // guint BegTimeSBarContextID; /* Context ID of BegTime status bar */
54 // guint EndTimeSBarContextID; /* Context ID of EndTime status bar */
55
56 /* Child windows */
57 //openTracesetWindow* OpenTracesetWindow;/* Window to get prof and proc file*/
58 //viewTimeFrameWindow* ViewTimeFrameWindow;/*Window to select time frame */
59 //gotoEventWindow* GotoEventWindow; /*search for event description*/
60 //openFilterWindow* OpenFilterWindow; /* Open a filter selection window */
bca3b81f 61 GtkWidget* help_contents;/* Window to display help contents */
62 GtkWidget* about_box; /* Window about information */
e969fd8e 63
e969fd8e 64 // lttv_trace_filter * filter; /* trace filter associated with the window */
e969fd8e 65
f7afe191 66 /* Attributes for trace reading hooks local to the main window */
bca3b81f 67 LttvIAttribute * attributes;
f7afe191 68
bca3b81f 69 Tab * tab;
70 Tab * current_tab;
36b3c068 71
bca3b81f 72 WindowCreationData * win_creation_data;
e969fd8e 73
2061e03d 74 GHashTable * hash_menu_item;
75 GHashTable * hash_toolbar_item;
76};
e969fd8e 77
e969fd8e 78
bca3b81f 79struct _Tab{
e969fd8e 80 GtkWidget * label;
daecc161 81 GtkMultiVPaned * multi_vpaned;
2061e03d 82
f7afe191 83 // startTime is the left of the visible area. Corresponds to the scrollbar
84 // value.
85 // Time_Width is a zoom dependant value (corresponding to page size)
bca3b81f 86 TimeWindow time_window;
f7afe191 87
88 // The current time is the time selected in the visible area by the user,
89 // not the scrollbar value.
bca3b81f 90 LttTime current_time;
91 LttvIAttribute * attributes;
e969fd8e 92
bca3b81f 93 struct _Tab * next;
94 MainWindow * mw;
716e4367 95
96 /* Traceset related information */
97 TracesetInfo * traceset_info;
e969fd8e 98};
99
2061e03d 100/**
101 * Remove menu and toolbar item when a module unloaded
102 */
103void main_window_remove_menu_item(lttv_constructor view_constructor);
104void main_window_remove_toolbar_item(lttv_constructor view_constructor);
105
e969fd8e 106#endif /* _MAIN_WINDOW_ */
107
108
This page took 0.028883 seconds and 4 git commands to generate.