mainWindow.h--mianwindow.h
[lttv.git] / ltt / branches / poly / include / lttv / mainWindow.h
index 0a43bfa59f6d9750b19a034e6d56f49c064675df..db39fd6e1b316b3e21aa249bc0018134db208e78 100644 (file)
@@ -1,3 +1,21 @@
+/* This file is part of the Linux Trace Toolkit viewer
+ * Copyright (C) 2003-2004 Xiangxiu Yang
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License Version 2 as
+ * published by the Free Software Foundation;
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, 
+ * MA 02111-1307, USA.
+ */
+
 #ifndef _MAIN_WINDOW_
 #define _MAIN_WINDOW_
 
@@ -9,7 +27,7 @@
 #include <lttv/processTrace.h>
 
 #include <lttv/common.h>
-#include <lttv/gtkcustom.h>
+#include <lttv/gtkmultivpaned.h>
 #include <lttv/hook.h>
 #include <lttv/stats.h>
 
@@ -18,31 +36,17 @@ typedef struct _WindowCreationData {
        char ** argv;
 } WindowCreationData;
 
-typedef struct _TimeWindow {
-       LttTime startTime;
-       LttTime Time_Width;
-} TimeWindow;
 
 typedef struct _TracesetInfo {
-       gchar* path;
-       LttvHooks 
-         *before_traceset,
-         *after_traceset,
-         *before_trace,
-         *after_trace,
-         *before_tracefile,
-         *after_tracefile,
-         *before_event,
-         *after_event;
-        //FIXME? TracesetContext and stats in same or different variable ?
-       LttvTracesetStats * TracesetContext;
-       LttvTraceset * traceset;
+  //FIXME? TracesetContext and stats in same or different variable ?
+  LttvTracesetStats * traceset_context;
+  LttvTraceset * traceset;
 } TracesetInfo ;
 
 
-struct _mainWindow{
-  GtkWidget*      MWindow;            /* Main Window */
-//  systemView *    SystemView;         /* System view displayed in this window*/
+struct _MainWindow{
+  GtkWidget*      mwindow;            /* Main Window */
+  int             window_width;
 
   /* Status bar information */
   //  guint         MainSBarContextID;    /* Context ID of main status bar */
@@ -54,56 +58,51 @@ struct _mainWindow{
   //viewTimeFrameWindow* ViewTimeFrameWindow;/*Window to select time frame */
   //gotoEventWindow*     GotoEventWindow; /*search for event description*/
   //openFilterWindow*    OpenFilterWindow; /* Open a filter selection window */
-  GtkWidget*           HelpContents;/* Window to display help contents */
-  GtkWidget*           AboutBox;    /* Window  about information */
+  GtkWidget*           help_contents;/* Window to display help contents */
+  GtkWidget*           about_box;    /* Window  about information */
  
-  //LttvTracesetContext * traceset_context; 
-  //LttvTraceset * traceset;  /* trace set associated with the window */
   //  lttv_trace_filter * filter; /* trace filter associated with the window */
 
-  /* Traceset related information */
-  TracesetInfo * Traceset_Info; 
   /* Attributes for trace reading hooks local to the main window */
-  LttvIAttribute * Attributes;
+  LttvIAttribute * attributes;
   
-  tab * Tab;
-  tab * CurrentTab;
+  Tab * tab;
+  Tab * current_tab;
 
-  WindowCreationData * winCreationData; 
-};
+  WindowCreationData * win_creation_data; 
 
+  GHashTable * hash_menu_item;
+  GHashTable * hash_toolbar_item;
+};
 
-//struct _systemView{
-//  gpointer             EventDB;
-//  gpointer             SystemInfo;
-//  gpointer             Options;
-//  mainWindow         * Window;
-//  struct _systemView * Next;
-//};
 
-struct _tab{
+struct _Tab{
   GtkWidget * label;
-  GtkCustom * custom;
-
-  
- // Will have to read directly at the main window level, as we want
- // to be able to modify a traceset on the fly.
-  //LttTime traceStartTime;
-  //LttTime traceEndTime;
-  
+  GtkMultiVPaned * multi_vpaned;
+   
   // startTime is the left of the visible area. Corresponds to the scrollbar
   // value.
   // Time_Width is a zoom dependant value (corresponding to page size)
-  TimeWindow Time_Window;
+  TimeWindow time_window;
   
   // The current time is the time selected in the visible area by the user,
   // not the scrollbar value.
-  LttTime currentTime;
-  LttvIAttribute * Attributes;
+  LttTime current_time;
+  LttvIAttribute * attributes;
+
+  struct _Tab * next;
+  MainWindow  * mw;
 
-  struct _tab * Next;
+  /* Traceset related information */
+  TracesetInfo * traceset_info; 
 };
 
+/**
+ * Remove menu and toolbar item when a module unloaded
+ */
+void main_window_remove_menu_item(lttv_constructor view_constructor);
+void main_window_remove_toolbar_item(lttv_constructor view_constructor);
+
 #endif /* _MAIN_WINDOW_ */
 
 
This page took 0.024192 seconds and 4 git commands to generate.