X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=tags%2Flttv-0.10.0-pre15-12082008%2Flttv%2Fmodules%2Fgui%2Fresourceview%2Ftest.c;fp=tags%2Flttv-0.10.0-pre15-12082008%2Flttv%2Fmodules%2Fgui%2Fresourceview%2Ftest.c;h=0000000000000000000000000000000000000000;hb=27828bc1b0010ee87c2f68e31fb77fd4ae39fa6b;hp=8a71a52e2658457bbf46fd9a4246999eb94f2eb7;hpb=88ae7929eb1d847ca663f1b594bb70255c63622f;p=lttv.git diff --git a/tags/lttv-0.10.0-pre15-12082008/lttv/modules/gui/resourceview/test.c b/tags/lttv-0.10.0-pre15-12082008/lttv/modules/gui/resourceview/test.c deleted file mode 100644 index 8a71a52e..00000000 --- a/tags/lttv-0.10.0-pre15-12082008/lttv/modules/gui/resourceview/test.c +++ /dev/null @@ -1,578 +0,0 @@ -/* This file is part of the Linux Trace Toolkit viewer - * Copyright (C) 2003-2004 Mathieu Desnoyers - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License Version 2 as - * published by the Free Software Foundation; - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -static void destroy_cb( GtkWidget *widget, - gpointer data ) -{ - gtk_main_quit (); -} - - - -int main(int argc, char **argv) -{ - GtkWidget *Window; - GtkWidget *CF_Viewer; - GtkWidget *VBox_V; - GtkWidget *HScroll_VC; - ControlFlowData *control_flow_data; - guint ev_sel = 444 ; - /* Horizontal scrollbar and it's adjustment */ - GtkWidget *VScroll_VC; - GtkAdjustment *v_adjust ; - - /* Initialize i18n support */ - gtk_set_locale (); - - /* Initialize the widget set */ - gtk_init (&argc, &argv); - - init(); - - Window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_window_set_title (GTK_WINDOW (Window), ("Test Window")); - - g_signal_connect (G_OBJECT (Window), "destroy", - G_CALLBACK (destroy_cb), NULL); - - - VBox_V = gtk_vbox_new(0, 0); - gtk_container_add (GTK_CONTAINER (Window), VBox_V); - - //ListViewer = hGuiEvents(Window); - //gtk_box_pack_start(GTK_BOX(VBox_V), ListViewer, TRUE, TRUE, 0); - - //ListViewer = hGuiEvents(Window); - //gtk_box_pack_start(GTK_BOX(VBox_V), ListViewer, FALSE, TRUE, 0); - - control_flow_data = guicontrolflow(); - CF_Viewer = control_flow_data->scrolled_window; - gtk_box_pack_start(GTK_BOX(VBox_V), CF_Viewer, TRUE, TRUE, 0); - - /* Create horizontal scrollbar and pack it */ - HScroll_VC = gtk_hscrollbar_new(NULL); - gtk_box_pack_start(GTK_BOX(VBox_V), HScroll_VC, FALSE, TRUE, 0); - - - gtk_widget_show (HScroll_VC); - gtk_widget_show (VBox_V); - gtk_widget_show (Window); - - //Event_Selected_Hook(control_flow_data, &ev_sel); - - gtk_main (); - - g_critical("main loop finished"); - - //h_guievents_destructor(ListViewer); - - //g_critical("GuiEvents Destructor finished"); - destroy(); - - return 0; -} - - - -void add_test_process(ControlFlowData *control_flow_data) -{ - GtkTreeIter iter; - int i; - gchar *process[] = { "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten" }; - - for(i=0; inumber_of_process; i++) - { - /* Add a new row to the model */ - gtk_list_store_append (control_flow_data->list_store, &iter); - gtk_list_store_set ( control_flow_data->list_store, &iter, - PROCESS_COLUMN, process[i], - -1); - } - -} - - - - - - -void test_draw(ControlFlowData *control_flow_data) -{ - /* Draw event states using available height, Number of process, cell height - * (don't forget to remove two pixels at beginning and end). - * For horizontal : use width, Time_Begin, Time_End. - * This function calls the reading library to get the draw_hook called - * for the desired period of time. */ - - drawingAreaInfo *drawing_Area_Info = &control_flow_data->drawing_Area_Info; - - -} - -#ifdef DEBUG -void test_draw() { - gint cell_height = get_cell_height(GTK_TREE_VIEW(control_flow_data->process_list_widget)); - GdkGC *GC = gdk_gc_new(widget->window); - GdkColor color = CF_Colors[GREEN]; - - gdk_color_alloc (gdk_colormap_get_system () , &color); - - g_critical("expose"); - - /* When redrawing, use widget->allocation.width to get the width of - * drawable area. */ - control_flow_data->drawing_Area_Info.width = widget->allocation.width; - - test_draw(control_flow_data); - - gdk_gc_copy(GC,widget->style->black_gc); - gdk_gc_set_foreground(GC,&color); - - //gdk_draw_arc (widget->window, - // widget->style->fg_gc[GTK_WIDGET_STATE (widget)], - // TRUE, - // //0, 0, widget->allocation.width, widget->allocation.height, - // 0, 0, widget->allocation.width, - // control_flow_data->drawing_Area_Info.height, - // 0, 64 * 360); - - - //drawing_Area_Init(control_flow_data); - - // 2 pixels for the box around the drawing area, 1 pixel for off-by-one - // (starting from 0) - //gdk_gc_copy (&GC, widget->style->fg_gc[GTK_WIDGET_STATE (widget)]); - - gdk_gc_set_line_attributes(GC,12, GDK_LINE_SOLID, GDK_CAP_NOT_LAST,GDK_JOIN_MITER); - - gdk_draw_line (widget->window, - GC, - 0, (cell_height-1)/2, - widget->allocation.width, (cell_height-1)/2); - - color = CF_Colors[BLUE]; - - gdk_color_alloc (gdk_colormap_get_system () , &color); - - gdk_gc_set_foreground(GC,&color); - - - gdk_gc_set_line_attributes(GC,3, GDK_LINE_SOLID, GDK_CAP_NOT_LAST,GDK_JOIN_MITER); - - gdk_draw_line (widget->window, - GC, - 0, (cell_height-1)/2, - widget->allocation.width,(cell_height-1)/2); - - - - - - - g_object_unref(GC); - - //gdk_colormap_alloc_colors(gdk_colormap_get_system(), TRUE, - - //gdk_gc_set_line_attributes(GC,5, GDK_LINE_SOLID, GDK_CAP_NOT_LAST,GDK_JOIN_MITER); - //gdk_gc_set_foreground(GC, - - //gdk_draw_line (widget->window, - // GC, - // 0, (2*cell_height)-2-1, - // 50, (2*cell_height)-2-1); - -} -#endif //DEBUG - - -/* Event_Hook.c tests */ - -void test_draw_item(Drawing_t *drawing, - GdkPixmap *pixmap) -{ - PropertiesIcon properties_icon; - DrawContext draw_context; - - DrawInfo current, previous; - ItemInfo over, middle, under, modify_over, modify_middle, modify_under; - - int i=0,j=0; - - //for(i=0; i<1024;i=i+15) - { - // for(j=0;j<768;j=j+15) - { - over.x = i; - over.y = j; - - current.modify_over = &over; - - draw_context.drawable = pixmap; - draw_context.gc = drawing->drawing_area->style->black_gc; - - draw_context.current = ¤t; - draw_context.previous = NULL; - - properties_icon.icon_name = g_new(char, MAX_PATH_LEN); - strncpy(properties_icon.icon_name, - "/home/compudj/local/share/LinuxTraceToolkit/pixmaps/mini-display.xpm", - MAX_PATH_LEN); - properties_icon.width = -1; - properties_icon.height = -1; - properties_icon.position = OVER; - draw_icon(&properties_icon, &draw_context); - g_free(properties_icon.icon_name); - } - } - -} - -#ifdef NOTUSE -/* NOTE : no drawing data should be sent there, since the drawing widget - * has not been initialized */ -void send_test_drawing(ProcessList *process_list, - Drawing_t *drawing, - GdkPixmap *pixmap, - gint x, gint y, // y not used here? - gint width, - gint height) // height won't be used here ? -{ - int i,j; - ProcessInfo Process_Info = {10000, 12000, 55600}; - //ProcessInfo Process_Info = {156, 14000, 55500}; - GtkTreeRowReference *row_ref; - PangoContext *context; - PangoLayout *layout; - PangoFontDescription *FontDesc;// = pango_font_description_new(); - gint Font_Size; - - //icon - //GdkBitmap *mask = g_new(GdkBitmap, 1); - //GdkPixmap *icon_pixmap = g_new(GdkPixmap, 1); - GdkGC * gc; - // rectangle - GdkColor color = { 0, 0xffff, 0x0000, 0x0000 }; - - gc = gdk_gc_new(pixmap); - /* Sent text data */ - layout = gtk_widget_create_pango_layout(drawing->drawing_area, - NULL); - context = pango_layout_get_context(layout); - FontDesc = pango_context_get_font_description(context); - Font_Size = pango_font_description_get_size(FontDesc); - pango_font_description_set_size(FontDesc, Font_Size-3*PANGO_SCALE); - - - - - LttTime birth; - birth.tv_sec = 12000; - birth.tv_nsec = 55500; - g_info("we have : x : %u, y : %u, width : %u, height : %u", x, y, width, height); - processlist_get_process_pixels(process_list, - 1, - &birth, - &y, - &height); - - g_info("we draw : x : %u, y : %u, width : %u, height : %u", x, y, width, height); - drawing_draw_line( - drawing, pixmap, x, - y+(height/2), x + width, y+(height/2), - drawing->drawing_area->style->black_gc); - - pango_layout_set_text(layout, "Test", -1); - gdk_draw_layout(pixmap, drawing->drawing_area->style->black_gc, - 0, y+height, layout); - - birth.tv_sec = 14000; - birth.tv_nsec = 55500; - - processlist_get_process_pixels(process_list, - 156, - &birth, - &y, - &height); - - - drawing_draw_line( - drawing, pixmap, x, - y+(height/2), x + width, y+(height/2), - drawing->drawing_area->style->black_gc); - - g_info("y : %u, height : %u", y, height); - - - - birth.tv_sec = 12000; - birth.tv_nsec = 55700; - - processlist_get_process_pixels(process_list, - 10, - &birth, - &y, - &height); - - /* Draw rectangle (background color) */ - gdk_gc_copy(gc, drawing->drawing_area->style->black_gc); - gdk_gc_set_rgb_fg_color(gc, &color); - gdk_draw_rectangle(pixmap, gc, - TRUE, - x, y, width, height); - - drawing_draw_line( - drawing, pixmap, x, - y+(height/2), x + width, y+(height/2), - drawing->drawing_area->style->black_gc); - - - /* Draw arc */ - gdk_draw_arc(pixmap, drawing->drawing_area->style->black_gc, - TRUE, 100, y, height/2, height/2, 0, 360*64); - - g_info("y : %u, height : %u", y, height); - - for(i=0; i<10; i++) - { - birth.tv_sec = i*12000; - birth.tv_nsec = i*55700; - - processlist_get_process_pixels(process_list, - i, - &birth, - &y, - &height); - - - drawing_draw_line( - drawing, pixmap, x, - y+(height/2), x + width, y+(height/2), - drawing->drawing_area->style->black_gc); - - g_critical("y : %u, height : %u", y, height); - - } - - birth.tv_sec = 12000; - birth.tv_nsec = 55600; - - processlist_get_process_pixels(process_list, - 10, - &birth, - &y, - &height); - - - drawing_draw_line( - drawing, pixmap, x, - y+(height/2), x + width, y+(height/2), - drawing->drawing_area->style->black_gc); - - g_info("y : %u, height : %u", y, height); - - - /* IMPORTANT : This action uses the cpu heavily! */ - //icon_pixmap = gdk_pixmap_create_from_xpm(pixmap, &mask, NULL, -// "/home/compudj/local/share/LinuxTraceToolkit/pixmaps/move_message.xpm"); - // "/home/compudj/local/share/LinuxTraceToolkit/pixmaps/mini-display.xpm"); - - // gdk_gc_set_clip_mask(drawing->drawing_area->style->black_gc, mask); - -// for(i=x;idrawing_area->style->black_gc); -// gdk_gc_set_clip_origin(drawing->drawing_area->style->black_gc, i, j); -// gdk_draw_drawable(pixmap, -// drawing->drawing_area->style->black_gc, -// icon_pixmap, -// 0, 0, i, j, -1, -1); - -// } -// } - - test_draw_item(drawing,pixmap); - - //gdk_gc_set_clip_origin(drawing->drawing_area->style->black_gc, 0, 0); - //gdk_gc_set_clip_mask(drawing->drawing_area->style->black_gc, NULL); - - //g_free(icon_pixmap); - //g_free(mask); - - - - - - - pango_font_description_set_size(FontDesc, Font_Size); - g_object_unref(layout); - g_free(gc); -} - -void send_test_process(ProcessList *process_list, Drawing_t *drawing) -{ - guint height, y; - int i; - ProcessInfo Process_Info = {10000, 12000, 55600}; - //ProcessInfo Process_Info = {156, 14000, 55500}; - GtkTreeRowReference *row_ref; - - LttTime birth; - - if(process_list->Test_Process_Sent) return; - - birth.tv_sec = 12000; - birth.tv_nsec = 55500; - - processlist_add(process_list, - 1, - &birth, - &y); - processlist_get_process_pixels(process_list, - 1, - &birth, - &y, - &height); - drawing_insert_square( drawing, y, height); - - //g_critical("y : %u, height : %u", y, height); - - birth.tv_sec = 14000; - birth.tv_nsec = 55500; - - processlist_add(process_list, - 156, - &birth, - &y); - processlist_get_process_pixels(process_list, - 156, - &birth, - &y, - &height); - drawing_insert_square( drawing, y, height); - - //g_critical("y : %u, height : %u", y, height); - - birth.tv_sec = 12000; - birth.tv_nsec = 55700; - - processlist_add(process_list, - 10, - &birth, - &height); - processlist_get_process_pixels(process_list, - 10, - &birth, - &y, - &height); - drawing_insert_square( drawing, y, height); - - //g_critical("y : %u, height : %u", y, height); - - //drawing_insert_square( drawing, height, 5); - - for(i=0; i<10; i++) - { - birth.tv_sec = i*12000; - birth.tv_nsec = i*55700; - - processlist_add(process_list, - i, - &birth, - &height); - processlist_get_process_pixels(process_list, - i, - &birth, - &y, - &height); - drawing_insert_square( drawing, y, height); - - // g_critical("y : %u, height : %u", y, height); - - } - //g_critical("height : %u", height); - - birth.tv_sec = 12000; - birth.tv_nsec = 55600; - - processlist_add(process_list, - 10, - &birth, - &y); - processlist_get_process_pixels(process_list, - 10, - &birth, - &y, - &height); - drawing_insert_square( drawing, y, height); - - //g_critical("y : %u, height : %u", y, height); - - processlist_add(process_list, - 10000, - &birth, - &height); - processlist_get_process_pixels(process_list, - 10000, - &birth, - &y, - &height); - drawing_insert_square( drawing, y, height); - - //g_critical("y : %u, height : %u", y, height); - - //drawing_insert_square( drawing, height, 5); - //g_critical("height : %u", height); - - - processlist_get_process_pixels(process_list, - 10000, - &birth, - &y, &height); - processlist_remove( process_list, - 10000, - &birth); - - drawing_remove_square( drawing, y, height); - - if(row_ref = - (GtkTreeRowReference*)g_hash_table_lookup( - process_list->process_hash, - &Process_Info)) - { - g_critical("key found"); - g_critical("position in the list : %s", - gtk_tree_path_to_string ( - gtk_tree_row_reference_get_path( - (GtkTreeRowReference*)row_ref) - )); - - } - - process_list->Test_Process_Sent = TRUE; - -} -#endif//NOTUSE -