git-svn-id: http://ltt.polymtl.ca/svn@309 04897980-b3bd-0310-b5e0-8ef037075253
[lttv.git] / ltt / branches / poly / include / lttv / mainWindow.h
index 2b31328c95a7aa85aa6926b40f1bf37721672b23..dc0254f1259a1b684ad674a872edcd59dd588c0c 100644 (file)
 
 #include <lttv/common.h>
 #include <lttv/gtkcustom.h>
-
-struct _TimeInterval{
-  LttTime startTime;
-  LttTime endTime;  
-};
+#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 */
@@ -34,40 +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.024026 seconds and 4 git commands to generate.