X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2FguiControlFlow%2FCFV.c;h=d49bd13112102cfd1821c020268b66b9a1c2aeb4;hb=41a769851adc36c024821e859ed6569409f71d8f;hp=9a29ae1a901b6066022da0127723f2f93c65e0ce;hpb=784177915a639df2d016b63ac6a9cce3101cc084;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/guiControlFlow/CFV.c b/ltt/branches/poly/lttv/modules/guiControlFlow/CFV.c index 9a29ae1a..d49bd131 100644 --- a/ltt/branches/poly/lttv/modules/guiControlFlow/CFV.c +++ b/ltt/branches/poly/lttv/modules/guiControlFlow/CFV.c @@ -6,6 +6,8 @@ #include "CFV.h" #include "Drawing.h" #include "Process_List.h" +#include "Event_Hooks.h" +#include "CFV-private.h" extern GSList *gControl_Flow_Data_List; @@ -13,39 +15,6 @@ extern GSList *gControl_Flow_Data_List; /***************************************************************************** * Control Flow Viewer class implementation * *****************************************************************************/ - - -struct _ControlFlowData { - - GtkWidget *Drawing_Area_V; - GtkWidget *Scrolled_Window_VC; - - ProcessList *Process_List; - Drawing_t *Drawing; - - //GtkWidget *HBox_V; - GtkWidget *Inside_HBox_V; - - GtkAdjustment *VAdjust_C ; - - /* Trace information */ - //TraceSet *Trace_Set; - //TraceStatistics *Trace_Statistics; - - /* Shown events information */ - guint First_Event, Last_Event; - ltt_time Begin_Time, End_Time; - - - /* TEST DATA, TO BE READ FROM THE TRACE */ - gint Number_Of_Events ; - guint Currently_Selected_Event ; - gboolean Selected_Event ; - guint Number_Of_Process; - -} ; - - /** * Control Flow Viewer's constructor * @@ -57,12 +26,15 @@ struct _ControlFlowData { ControlFlowData * GuiControlFlow(void) { - GtkWidget *Process_List_Widget; + GtkWidget *Process_List_Widget, *Drawing_Widget; ControlFlowData* Control_Flow_Data = g_new(ControlFlowData,1) ; /* Create the Drawing */ - //Control_Flow_Data->Drawing = Drawing(); + Control_Flow_Data->Drawing = Drawing_construct(Control_Flow_Data); + + Drawing_Widget = + Drawing_getWidget(Control_Flow_Data->Drawing); /* TEST DATA, TO BE READ FROM THE TRACE */ Control_Flow_Data->Number_Of_Events = 1000 ; @@ -75,19 +47,19 @@ GuiControlFlow(void) /* Create the Process list */ - //Control_Flow_Data->Process_List = ProcessList_contruct(); + Control_Flow_Data->Process_List = ProcessList_construct(); - //Process_List_Widget = - // ProcessList_getWidget(Control_Flow_Data->Process_List); + Process_List_Widget = + ProcessList_getWidget(Control_Flow_Data->Process_List); Control_Flow_Data->Inside_HBox_V = gtk_hbox_new(0, 0); - //gtk_box_pack_start( - // GTK_BOX(Control_Flow_Data->Inside_HBox_V), - // Process_List_Widget, FALSE, TRUE, 0); - //gtk_box_pack_start( - // GTK_BOX(Control_Flow_Data->Inside_HBox_V), - // Control_Flow_Data->Drawing_Area_V, TRUE, TRUE, 0); + gtk_box_pack_start( + GTK_BOX(Control_Flow_Data->Inside_HBox_V), + Process_List_Widget, FALSE, TRUE, 0); // FALSE TRUE + gtk_box_pack_start( + GTK_BOX(Control_Flow_Data->Inside_HBox_V), + Drawing_Widget, TRUE, TRUE, 0); Control_Flow_Data->VAdjust_C = @@ -132,8 +104,8 @@ GuiControlFlow(void) //Control_Flow_Data->Trace_Statistics = get_trace_statistics(Trace); - //gtk_widget_show(Control_Flow_Data->Drawing_Area_V); - //gtk_widget_show(Process_List_Widget); + gtk_widget_show(Drawing_Widget); + gtk_widget_show(Process_List_Widget); gtk_widget_show(Control_Flow_Data->Inside_HBox_V); gtk_widget_show(Control_Flow_Data->Scrolled_Window_VC); @@ -143,7 +115,14 @@ GuiControlFlow(void) Control_Flow_Data, (GDestroyNotify)GuiControlFlow_Destructor); - g_slist_append(gControl_Flow_Data_List,Control_Flow_Data); + gControl_Flow_Data_List = g_slist_append( + gControl_Flow_Data_List, + Control_Flow_Data); + + //WARNING : The widget must be + //inserted in the main window before the Drawing area + //can be configured (and this must happend bedore sending + //data) return Control_Flow_Data; @@ -164,8 +143,16 @@ void GuiControlFlow_Destructor(ControlFlowData *Control_Flow_Data) { guint index; - + + /* Process List is removed with it's widget */ //ProcessList_destroy(Control_Flow_Data->Process_List); + unreg_update_time_window(Update_Time_Window_Hook, + Control_Flow_Data, + Control_Flow_Data->Scrolled_Window_VC->parent); + + unreg_update_current_time(Update_Current_Time_Hook, + Control_Flow_Data, + Control_Flow_Data->Scrolled_Window_VC->parent); g_slist_remove(gControl_Flow_Data_List,Control_Flow_Data); g_free(Control_Flow_Data); @@ -176,3 +163,19 @@ GtkWidget *GuiControlFlow_get_Widget(ControlFlowData *Control_Flow_Data) return Control_Flow_Data->Scrolled_Window_VC ; } +ProcessList *GuiControlFlow_get_Process_List + (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; +} + +