basic time bar
[lttv.git] / ltt / branches / poly / lttv / modules / gui / controlflow / eventhooks.c
index 2f44a0cf4a0eff3d7d96de83ca93583f83345a51..ea08a9d7bbac082cc0374e0c94651244b531c2dd 100644 (file)
@@ -31,6 +31,7 @@
 #include <glib.h>
 #include <assert.h>
 #include <string.h>
+#include <stdio.h>
 
 //#include <pango/pango.h>
 
@@ -41,7 +42,7 @@
 #include <lttv/hook.h>
 #include <lttv/common.h>
 #include <lttv/state.h>
-#include <lttv/gtkTraceSet.h>
+#include <lttv/gtktraceset.h>
 
 
 #include "eventhooks.h"
@@ -271,7 +272,9 @@ int draw_event_hook(void *hook_data, void *call_data)
 
     DrawContext *draw_context_out = hashed_process_data_out->draw_context;
     draw_context_out->current->modify_over->x = x;
+    draw_context_out->current->modify_under->x = x;
     draw_context_out->current->modify_over->y = y_out;
+    draw_context_out->current->modify_under->y = y_out+(height/2)+2;
     draw_context_out->drawable = control_flow_data->drawing->pixmap;
     draw_context_out->pango_layout = control_flow_data->drawing->pango_layout;
     GtkWidget *widget = control_flow_data->drawing->drawing_area;
@@ -429,7 +432,9 @@ int draw_event_hook(void *hook_data, void *call_data)
 
     DrawContext *draw_context_in = hashed_process_data_in->draw_context;
     draw_context_in->current->modify_over->x = x;
+    draw_context_in->current->modify_under->x = x;
     draw_context_in->current->modify_over->y = y_in;
+    draw_context_in->current->modify_under->y = y_in+(height/2)+2;
     draw_context_in->drawable = control_flow_data->drawing->pixmap;
     draw_context_in->pango_layout = control_flow_data->drawing->pango_layout;
     widget = control_flow_data->drawing->drawing_area;
@@ -739,6 +744,7 @@ int draw_after_hook(void *hook_data, void *call_data)
     DrawContext *draw_context_out = hashed_process_data_out->draw_context;
     //draw_context_out->current->modify_over->x = x;
     draw_context_out->current->modify_over->y = y_out;
+    draw_context_out->current->modify_under->y = y_out+(height/2)+2;
     draw_context_out->drawable = control_flow_data->drawing->pixmap;
     draw_context_out->pango_layout = control_flow_data->drawing->pango_layout;
     GtkWidget *widget = control_flow_data->drawing->drawing_area;
@@ -817,7 +823,7 @@ int draw_after_hook(void *hook_data, void *call_data)
       prop_text_out.text = "U";
     
     draw_text((void*)&prop_text_out, (void*)draw_context_out);
-
     draw_context_out->current->middle->y = y_out+height/2;
     draw_context_out->current->status = process_out->state->s;
     
@@ -858,6 +864,7 @@ int draw_after_hook(void *hook_data, void *call_data)
     DrawContext *draw_context_in = hashed_process_data_in->draw_context;
     //draw_context_in->current->modify_over->x = x;
     draw_context_in->current->modify_over->y = y_in;
+    draw_context_in->current->modify_under->y = y_in+(height/2)+2;
     draw_context_in->drawable = control_flow_data->drawing->pixmap;
     draw_context_in->pango_layout = control_flow_data->drawing->pango_layout;
     widget = control_flow_data->drawing->drawing_area;
@@ -938,6 +945,27 @@ int draw_after_hook(void *hook_data, void *call_data)
     
     draw_text((void*)&prop_text_in, (void*)draw_context_in);
     
+    if(process_in->state->s == LTTV_STATE_RUN)
+    { 
+      gchar tmp[255];
+      prop_text_in.foreground = &colorfg_in;
+      prop_text_in.background = &colorbg_in;
+      prop_text_in.foreground->red = 0xffff;
+      prop_text_in.foreground->green = 0xffff;
+      prop_text_in.foreground->blue = 0xffff;
+      prop_text_in.size = 6;
+      prop_text_in.position = UNDER;
+
+      prop_text_in.text = g_new(gchar, 260);
+      strcpy(prop_text_in.text, "CPU ");
+      snprintf(tmp, 255, "%u", tfc->index);
+      strcat(prop_text_in.text, tmp);
+
+      draw_text((void*)&prop_text_in, (void*)draw_context_in);
+      g_free(prop_text_in.text);
+    }
+
+    
     draw_context_in->current->middle->y = y_in+height/2;
     draw_context_in->current->status = process_in->state->s;
 
@@ -988,6 +1016,11 @@ gint update_time_window_hook(void *hook_data, void *call_data)
     guicontrolflow_get_time_window(control_flow_data);
   TimeWindow *new_time_window = ((TimeWindow*)call_data);
   
+  /* Update the ruler */
+  drawing_update_ruler(control_flow_data->drawing,
+                       new_time_window);
+
+
   /* Two cases : zoom in/out or scrolling */
   
   /* In order to make sure we can reuse the old drawing, the scale must
@@ -1169,6 +1202,8 @@ gint update_time_window_hook(void *hook_data, void *call_data)
         control_flow_data->drawing->height);
   }
 
+
+  
   return 0;
 }
 
This page took 0.023716 seconds and 4 git commands to generate.