time_infinite const
[lttv.git] / ltt / branches / poly / lttv / modules / gui / controlflow / cfv.c
index bf444b65239ea30dd0bbde8bae7c5bb1952379d5..64254f24f87361324e941e5bfdfbf6f220328364 100644 (file)
 #include "processlist.h"
 #include "eventhooks.h"
 #include "cfv-private.h"
-
-
-#define g_info(format...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, format)
-#define g_debug(format...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, format)
+#include <lttv/lttv.h>
 
 extern GSList *g_control_flow_data_list;
 
 static void control_flow_grab_focus(GtkWidget *widget, gpointer data){
   ControlFlowData * control_flow_data = (ControlFlowData *)data;
-  MainWindow * mw = control_flow_data->mw;
-  set_focused_pane(mw, gtk_widget_get_parent(control_flow_data->scrolled_window));
+  Tab * tab = control_flow_data->tab;
+  lttvwindow_report_focus(tab, guicontrolflow_get_widget(control_flow_data));
 }
 
 
@@ -107,7 +104,6 @@ guicontrolflow(void)
   /* Get trace statistics */
   //control_flow_data->Trace_Statistics = get_trace_statistics(Trace);
 
-
   gtk_widget_show(drawing_widget);
   gtk_widget_show(process_list_widget);
   gtk_widget_show(control_flow_data->h_paned);
@@ -136,8 +132,8 @@ guicontrolflow(void)
   g_signal_connect (G_OBJECT (process_list_widget), "grab-focus",
         G_CALLBACK (control_flow_grab_focus),
         control_flow_data);
-
-
+  
+  
   return control_flow_data;
 
 }
@@ -148,8 +144,8 @@ guicontrolflow_destructor_full(ControlFlowData *control_flow_data)
 {
   g_info("CFV.c : guicontrolflow_destructor_full, %p", control_flow_data);
   /* May already have been done by GTK window closing */
-  if(GTK_IS_WIDGET(control_flow_data->scrolled_window))
-    gtk_widget_destroy(control_flow_data->scrolled_window);
+  if(GTK_IS_WIDGET(guicontrolflow_get_widget(control_flow_data)))
+    gtk_widget_destroy(guicontrolflow_get_widget(control_flow_data));
   //control_flow_data->mw = NULL;
   //FIXME guicontrolflow_destructor(control_flow_data);
 }
@@ -159,27 +155,40 @@ void
 guicontrolflow_destructor(ControlFlowData *control_flow_data)
 {
   guint index;
+  Tab *tab = control_flow_data->tab;
   
   g_info("CFV.c : guicontrolflow_destructor, %p", control_flow_data);
-  g_info("%p, %p, %p", update_time_window_hook, control_flow_data, control_flow_data->mw);
-  if(GTK_IS_WIDGET(control_flow_data->scrolled_window))
+  g_info("%p, %p, %p", update_time_window_hook, control_flow_data, tab);
+  if(GTK_IS_WIDGET(guicontrolflow_get_widget(control_flow_data)))
     g_info("widget still exists");
   
   /* Process List is removed with it's widget */
   //ProcessList_destroy(control_flow_data->process_list);
-  if(control_flow_data->mw != NULL)
+  if(tab != NULL)
   {
-    unreg_update_time_window(update_time_window_hook,
-        control_flow_data,
-        control_flow_data->mw);
+      /* Delete reading hooks */
+    lttvwindow_unregister_time_window_notify(tab,
+        update_time_window_hook,
+        control_flow_data);
   
-    unreg_update_current_time(update_current_time_hook,
-        control_flow_data,
-        control_flow_data->mw);
+    lttvwindow_unregister_current_time_notify(tab,
+        update_current_time_hook,
+        control_flow_data);
+
+    lttvwindow_unregister_redraw_notify(tab, redraw_notify, control_flow_data);
+    lttvwindow_unregister_continue_notify(tab,
+                                          continue_notify,
+                                          control_flow_data);
+    
+    lttvwindow_events_request_remove_all(control_flow_data->tab,
+                                         control_flow_data);
   }
-  g_info("CFV.c : guicontrolflow_destructor, %p", control_flow_data);
-  g_slist_remove(g_control_flow_data_list,control_flow_data);
+  g_control_flow_data_list = 
+         g_slist_remove(g_control_flow_data_list,control_flow_data);
+
+  g_info("CFV.c : guicontrolflow_destructor end, %p", control_flow_data);
   g_free(control_flow_data);
 }
 
 GtkWidget *guicontrolflow_get_widget(ControlFlowData *control_flow_data)
@@ -193,13 +202,4 @@ ProcessList *guicontrolflow_get_process_list
     return control_flow_data->process_list ;
 }
 
-TimeWindow *guicontrolflow_get_time_window(ControlFlowData *control_flow_data)
-{
-  return &control_flow_data->time_window;
-}
-LttTime *guicontrolflow_get_current_time(ControlFlowData *control_flow_data)
-{
-  return &control_flow_data->current_time;
-}
-
 
This page took 0.024903 seconds and 4 git commands to generate.