#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));
}
/* 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);
g_signal_connect (G_OBJECT (process_list_widget), "grab-focus",
G_CALLBACK (control_flow_grab_focus),
control_flow_data);
-
-
+
+
return 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);
}
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)
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;
-}
-