X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2Fcontrolflow%2Fcfv.c;h=47ad080bfb46f9cc91ce2ccc92ddaebe3ae9bf3d;hb=6cec4cd266bde25f87dad0a059fd98c7381eb8c2;hp=75fec21edba5b57773705ba4a0af7cf5d9264c83;hpb=51705146eabfc882972ca6bc815dc78addcee896;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/gui/controlflow/cfv.c b/ltt/branches/poly/lttv/modules/gui/controlflow/cfv.c index 75fec21e..47ad080b 100644 --- a/ltt/branches/poly/lttv/modules/gui/controlflow/cfv.c +++ b/ltt/branches/poly/lttv/modules/gui/controlflow/cfv.c @@ -16,26 +16,35 @@ * MA 02111-1307, USA. */ +#ifdef HAVE_CONFIG_H +#include +#endif + #include #include #include +#include +#include #include "cfv.h" #include "drawing.h" #include "processlist.h" #include "eventhooks.h" -#include "cfv-private.h" -#include extern GSList *g_control_flow_data_list; -static void control_flow_grab_focus(GtkWidget *widget, gpointer data){ - ControlFlowData * control_flow_data = (ControlFlowData *)data; - Tab * tab = control_flow_data->tab; - lttvwindow_report_focus(tab, guicontrolflow_get_widget(control_flow_data)); - //g_assert(GTK_WIDGET_CAN_FOCUS(widget)); - //gtk_widget_grab_focus(widget); - g_debug("FOCUS GRABBED"); +static gboolean +header_size_allocate(GtkWidget *widget, + GtkAllocation *allocation, + gpointer user_data) +{ + Drawing_t *drawing = (Drawing_t*)user_data; + + gtk_widget_set_size_request(drawing->ruler, -1, allocation->height); + //gtk_widget_queue_resize(drawing->padding); + //gtk_widget_queue_resize(drawing->ruler); + gtk_container_check_resize(GTK_CONTAINER(drawing->ruler_hbox)); + return 0; } @@ -51,12 +60,14 @@ static void control_flow_grab_focus(GtkWidget *widget, gpointer data){ * @return The widget created. */ ControlFlowData * -guicontrolflow(void) +guicontrolflow(Tab *tab) { GtkWidget *process_list_widget, *drawing_widget, *drawing_area; ControlFlowData* control_flow_data = g_new(ControlFlowData,1) ; + control_flow_data->tab = tab; + control_flow_data->v_adjust = GTK_ADJUSTMENT(gtk_adjustment_new( 0.0, /* Value */ 0.0, /* Lower */ @@ -75,6 +86,7 @@ guicontrolflow(void) drawing_get_drawing_area(control_flow_data->drawing); control_flow_data->number_of_process = 0; + control_flow_data->background_info_waiting = 0; /* Create the Process list */ control_flow_data->process_list = processlist_construct(); @@ -86,16 +98,32 @@ guicontrolflow(void) GTK_ADJUSTMENT( control_flow_data->v_adjust)); + g_signal_connect (G_OBJECT(control_flow_data->process_list->button), + "size-allocate", + G_CALLBACK(header_size_allocate), + (gpointer)control_flow_data->drawing); +#if 0 /* not ready */ + g_signal_connect ( + // G_OBJECT(control_flow_data->process_list->process_list_widget), + G_OBJECT(control_flow_data->process_list->list_store), + "row-changed", + G_CALLBACK (tree_row_activated), + (gpointer)control_flow_data); +#endif //0 - //control_flow_data->Inside_HBox_V = gtk_hbox_new(0, 0); - control_flow_data->top_widget = control_flow_data->h_paned = - gtk_hpaned_new(); - + control_flow_data->h_paned = gtk_hpaned_new(); + control_flow_data->box = gtk_event_box_new(); + control_flow_data->top_widget = control_flow_data->box; + gtk_container_add(GTK_CONTAINER(control_flow_data->box), + control_flow_data->h_paned); + gtk_paned_pack1(GTK_PANED(control_flow_data->h_paned), process_list_widget, FALSE, TRUE); gtk_paned_pack2(GTK_PANED(control_flow_data->h_paned), drawing_widget, TRUE, TRUE); - + + gtk_container_set_border_width(GTK_CONTAINER(control_flow_data->box), 1); + /* Set the size of the drawing area */ //drawing_Resize(drawing, h, w); @@ -105,6 +133,7 @@ guicontrolflow(void) gtk_widget_show(drawing_widget); gtk_widget_show(process_list_widget); gtk_widget_show(control_flow_data->h_paned); + gtk_widget_show(control_flow_data->box); g_object_set_data_full( G_OBJECT(control_flow_data->top_widget), @@ -125,12 +154,6 @@ guicontrolflow(void) //inserted in the main window before the drawing area //can be configured (and this must happend bedore sending //data) - - //g_signal_connect (G_OBJECT (process_list_widget), "grab-focus", - //g_signal_connect (G_OBJECT (control_flow_data->scrolled_window), - // "button-press-event", - // G_CALLBACK (control_flow_grab_focus), - // control_flow_data); return control_flow_data; @@ -152,7 +175,6 @@ guicontrolflow_destructor_full(ControlFlowData *control_flow_data) 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); @@ -185,8 +207,8 @@ guicontrolflow_destructor(ControlFlowData *control_flow_data) lttvwindow_events_request_remove_all(control_flow_data->tab, control_flow_data); - lttvwindowtraces_background_notify_remove(control_flow_data); } + lttvwindowtraces_background_notify_remove(control_flow_data); g_control_flow_data_list = g_slist_remove(g_control_flow_data_list,control_flow_data); @@ -195,15 +217,4 @@ guicontrolflow_destructor(ControlFlowData *control_flow_data) } -GtkWidget *guicontrolflow_get_widget(ControlFlowData *control_flow_data) -{ - return control_flow_data->top_widget ; -} - -ProcessList *guicontrolflow_get_process_list - (ControlFlowData *control_flow_data) -{ - return control_flow_data->process_list ; -} -