Add config.h support : will fix the LARGEFILE problem
[lttv.git] / ltt / branches / poly / lttv / modules / gui / lttvwindow / lttvwindow / lttvwindow.c
index aa42477282a62f4e02ea39d2b548958f76c151a3..2cc2bf2c85a3ba7fd8ca0c8a707ef99178bf488a 100644 (file)
  * 
  */
 
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
 #include <ltt/ltt.h>
 #include <lttv/lttv.h>
 #include <lttv/state.h>
@@ -759,24 +763,24 @@ void lttvwindow_report_time_window(Tab *tab,
                "upper",
                ltt_time_to_double(
                  ltt_time_sub(time_span.end_time, time_span.start_time)) 
-                 * NANOSECONDS_PER_SECOND, /* upper */
+                 , /* upper */
                "step_increment",
                ltt_time_to_double(time_window->time_width)
                              / SCROLL_STEP_PER_PAGE
-                             * NANOSECONDS_PER_SECOND, /* step increment */
+                            , /* step increment */
                "page_increment",
                ltt_time_to_double(time_window->time_width) 
-                 * NANOSECONDS_PER_SECOND, /* page increment */
+                 , /* page increment */
                "page_size",
                ltt_time_to_double(time_window->time_width) 
-                 * NANOSECONDS_PER_SECOND, /* page size */
+                 , /* page size */
                NULL);
   gtk_adjustment_changed(adjustment);
 
   //g_object_set(G_OBJECT(adjustment),
   //             "value",
   //             ltt_time_to_double(time_window->start_time) 
-  //               * NANOSECONDS_PER_SECOND, /* value */
+  //               , /* value */
   //               NULL);
   /* Note : the set value will call set_time_window if scrollbar value changed
    */
@@ -784,7 +788,7 @@ void lttvwindow_report_time_window(Tab *tab,
                            ltt_time_to_double(
                              ltt_time_sub(time_window->start_time,
                                           time_span.start_time))
-                           * NANOSECONDS_PER_SECOND);
+                           );
 #endif //0
 }
 
@@ -905,8 +909,6 @@ void lttvwindow_events_request_remove_all(Tab       *tab,
 
 }
 
-
-
 /**
  * Function to get the current time interval shown on the current tab.
  * It will be called by a viewer's hook function to update the 
@@ -916,10 +918,9 @@ void lttvwindow_events_request_remove_all(Tab       *tab,
  * @return time window.
  */
 
-__inline TimeWindow lttvwindow_get_time_window(Tab *tab)
+TimeWindow lttvwindow_get_time_window(Tab *tab)
 {
   return tab->time_window;
-  
 }
 
 
@@ -939,18 +940,45 @@ LttTime lttvwindow_get_current_time(Tab *tab)
 
 /**
  * Function to get the filter of the current tab.
- * It will be called by the constructor of the viewer and also be
- * called by a hook funtion of the viewer to update its filter.
- * @param tab viewer's tab 
+ * @param main_win, the main window the viewer belongs to.
+ * @param filter, a pointer to a filter.
+ */
+
+LttvFilter *lttvwindow_get_filter(Tab *tab)
+{
+  return tab->filter;
+}
+
+/**
+ * Function to set the filter of the current tab.
+ * It should be called by the filter GUI to tell the
+ * main window to update the filter tab's lttv_filter.
+ *
+ * This function does change the current filter, removing the
+ * old one when necessary, and call the updatefilter hooks
+ * of the registered viewers.
+ *
+ * @param main_win, the main window the viewer belongs to.
  * @param filter, a pointer to a filter.
  */
-const lttv_filter *lttvwindow_get_filter(Tab *tab)
+
+void lttvwindow_report_filter(Tab *tab, LttvFilter *filter)
 {
-  //FIXME
-  g_warning("lttvwindow_get_filter not implemented in viewer.c");
+  LttvAttributeValue value;
+  LttvHooks * tmp;
+
+  lttv_filter_destroy(tab->filter);
+  tab->filter = filter;
+  
+  g_assert(lttv_iattribute_find_by_path(tab->attributes,
+           "hooks/updatefilter", LTTV_POINTER, &value));
+  tmp = (LttvHooks*)*(value.v_pointer);
+  if(tmp == NULL) return;
+  lttv_hooks_call(tmp, filter);
 }
 
 
+
 /**
  * Function to get the stats of the traceset 
  * @param tab viewer's tab 
This page took 0.02421 seconds and 4 git commands to generate.