git-svn-id: http://ltt.polymtl.ca/svn@309 04897980-b3bd-0310-b5e0-8ef037075253
[lttv.git] / ltt / branches / poly / include / lttv / mainWindow.h
index 391cef0fae8e074d187a58434175fcd44e51de59..dc0254f1259a1b684ad674a872edcd59dd588c0c 100644 (file)
 
 #include <lttv/common.h>
 #include <lttv/gtkcustom.h>
+#include <lttv/hook.h>
+#include <lttv/stats.h>
 
 typedef struct _WindowCreationData {
        int argc;
        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;
+} TracesetInfo ;
+
+
 struct _mainWindow{
   GtkWidget*      MWindow;            /* Main Window */
-  systemView *    SystemView;         /* System view displayed in this window*/
 
   /* Status bar information */
   //  guint         MainSBarContextID;    /* Context ID of main status bar */
@@ -33,41 +56,47 @@ struct _mainWindow{
   GtkWidget*           HelpContents;/* Window to display help contents */
   GtkWidget*           AboutBox;    /* 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;
+  
   tab * Tab;
   tab * CurrentTab;
-  LttvIAttribute * Attributes;
 
   WindowCreationData * winCreationData; 
-};
-
 
-struct _systemView{
-  gpointer             EventDB;
-  gpointer             SystemInfo;
-  gpointer             Options;
-  mainWindow         * Window;
-  struct _systemView * Next;
+  GHashTable * hash_menu_item;
+  GHashTable * hash_toolbar_item;
 };
 
+
 struct _tab{
   GtkWidget * label;
   GtkCustom * custom;
-
-  LttTime traceStartTime;
-  LttTime traceEndTime;
-  LttTime startTime;
-  LttTime endTime;
+   
+  // 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;
+  
+  // The current time is the time selected in the visible area by the user,
+  // not the scrollbar value.
   LttTime currentTime;
   LttvIAttribute * Attributes;
 
   struct _tab * Next;
+  mainWindow  * mw;
 };
 
+/**
+ * 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.024321 seconds and 4 git commands to generate.