ControlFlowData *Control_Flow_Data = guicontrolflow() ;
Control_Flow_Data->Parent_Window = pmParentWindow;
+ TimeWindow *time_window = guicontrolflow_get_time_window(Control_Flow_Data);
+ time_window->start_time.tv_sec = 0;
+ time_window->start_time.tv_nsec = 0;
+ time_window->time_width.tv_sec = 0;
+ time_window->time_width.tv_nsec = 0;
+ LttTime *current_time = guicontrolflow_get_current_time(Control_Flow_Data);
+ current_time->tv_sec = 0;
+ current_time->tv_nsec = 0;
+
+ //g_critical("time width1 : %u",time_window->time_width);
+
get_time_window(pmParentWindow,
- guicontrolflow_get_time_window(Control_Flow_Data));
+ time_window);
get_current_time(pmParentWindow,
- guicontrolflow_get_current_time(Control_Flow_Data));
+ current_time);
+ //g_critical("time width2 : %u",time_window->time_width);
// Unreg done in the GuiControlFlow_Destructor
reg_update_time_window(update_time_window_hook, Control_Flow_Data,
pmParentWindow);
}
-#ifdef DEBUG
/* Hook called before drawing. Gets the initial context at the beginning of the
* drawing interval and copy it to the context in Event_Request.
*/
int draw_before_hook(void *hook_data, void *call_data)
{
EventRequest *Event_Request = (EventRequest*)hook_data;
- EventsContext Events_Context = (EventsContext*)call_data;
+ //EventsContext Events_Context = (EventsContext*)call_data;
- Event_Request->Events_Context = Events_Context;
+ //Event_Request->Events_Context = Events_Context;
return 0;
}
{
EventRequest *Event_Request = (EventRequest*)hook_data;
+ //static int i=0;
+
+ //i++;
+ //g_critical("%i", i);
+
+ /* Text dumping if the information */
+ GString *string = g_string_new("");;
+ gboolean field_names = TRUE, state = TRUE;
+ LttvTracefileContext *tfc = (LttvTracefileContext *)call_data;
+
+ LttvTracefileState *tfs = (LttvTracefileState *)call_data;
+
+ LttEvent *e;
+
+ e = tfc->e;
+
+ lttv_event_to_string(e, tfc->tf, string, TRUE, field_names, tfs);
+ g_string_append_printf(string,"\n");
+
+ if(state) {
+ g_string_append_printf(string, " %s",
+ g_quark_to_string(tfs->process->state->s));
+ }
+
+ g_info("%s",string->str);
+
+ g_string_free(string, TRUE);
+
+ /* End of text dump */
+
+ /* Add process to process list (if not present) and get drawing "y" from
+ * process position */
+ guint pid = tfs->process->pid;
+ LttTime birth = tfs->process->creation_time;
+ guint y = 0, height = 0;
+ ProcessList *process_list =
+ guicontrolflow_get_process_list(Event_Request->Control_Flow_Data);
+
+ if(processlist_get_process_pixels(process_list,
+ pid,
+ &birth,
+ &y,
+ &height) == 1)
+ {
+ /* Process not present */
+ processlist_add(process_list,
+ pid,
+ &birth,
+ &y);
+ drawing_insert_square( Event_Request->Control_Flow_Data->Drawing, y, height);
+ }
+
+ /* Find pixels corresponding to time of the event. If the time does
+ * not fit in the window, show a warning, not supposed to happend. */
+
+
+ /* Finally, draw what represents the event. */
+
+
return 0;
}
g_free(Event_Request);
return 0;
}
-#endif