From bcac2596f1d858b450b860762f3abde978e765e4 Mon Sep 17 00:00:00 2001 From: pmf Date: Wed, 24 Oct 2007 17:46:12 +0000 Subject: [PATCH] controlflow: move legend icon to plugin toolbar git-svn-id: http://ltt.polymtl.ca/svn@2714 04897980-b3bd-0310-b5e0-8ef037075253 --- .../lttv/modules/gui/controlflow/Makefile.am | 3 +- .../poly/lttv/modules/gui/controlflow/cfv.c | 30 ++++++++++++ .../poly/lttv/modules/gui/controlflow/cfv.h | 1 + .../lttv/modules/gui/controlflow/eventhooks.c | 42 ---------------- .../modules/gui/controlflow/hLegendInsert.xpm | 45 ------------------ .../lttv/modules/gui/controlflow/module.c | 21 -------- .../gui/lttvwindow/pixmaps/Makefile.am | 5 +- ...-color-list.png => controlflow-legend.png} | Bin .../modules/gui/lttvwindow/pixmaps/qmark.png | Bin 0 -> 244 bytes 9 files changed, 35 insertions(+), 112 deletions(-) delete mode 100644 ltt/branches/poly/lttv/modules/gui/controlflow/hLegendInsert.xpm rename ltt/branches/poly/lttv/modules/gui/lttvwindow/pixmaps/{lttv-color-list.png => controlflow-legend.png} (100%) create mode 100644 ltt/branches/poly/lttv/modules/gui/lttvwindow/pixmaps/qmark.png diff --git a/ltt/branches/poly/lttv/modules/gui/controlflow/Makefile.am b/ltt/branches/poly/lttv/modules/gui/controlflow/Makefile.am index cd98834a..0d977d41 100644 --- a/ltt/branches/poly/lttv/modules/gui/controlflow/Makefile.am +++ b/ltt/branches/poly/lttv/modules/gui/controlflow/Makefile.am @@ -38,5 +38,4 @@ libguicontrolflow_la_SOURCES = module.c eventhooks.c cfv.c processlist.c\ noinst_HEADERS = eventhooks.h cfv.h processlist.h\ drawing.h drawitem.h lttv_plugin_cfv.h -EXTRA_DIST = \ - hGuiControlFlowInsert.xpm hLegendInsert.xpm +EXTRA_DIST = hGuiControlFlowInsert.xpm diff --git a/ltt/branches/poly/lttv/modules/gui/controlflow/cfv.c b/ltt/branches/poly/lttv/modules/gui/controlflow/cfv.c index f7a25827..a049bdf2 100644 --- a/ltt/branches/poly/lttv/modules/gui/controlflow/cfv.c +++ b/ltt/branches/poly/lttv/modules/gui/controlflow/cfv.c @@ -119,6 +119,20 @@ static void filter_button (GtkToolButton *toolbutton, //FIXME : viewer returned. } +static void legend_button(GtkToolButton *toolbutton, gpointer user_data) +{ + GtkWindow *legend = GTK_WINDOW(gtk_window_new(GTK_WINDOW_TOPLEVEL)); + + gtk_window_set_title(legend, "Control Flow View Legend"); + + GtkWidget *pixmap = create_pixmap(GTK_WIDGET(legend), "lttv-color-list.png"); + + gtk_container_add(GTK_CONTAINER(legend), GTK_WIDGET(pixmap)); + + gtk_widget_show(GTK_WIDGET(pixmap)); + gtk_widget_show(GTK_WIDGET(legend)); +} + /***************************************************************************** @@ -230,6 +244,21 @@ guicontrolflow(LttvPluginTab *ptab) control_flow_data->button_prop, 1); + tmp_toolbar_icon = create_pixmap (main_window_get_widget(tab), + "qmark.png"); + gtk_widget_show(tmp_toolbar_icon); + control_flow_data->button_legend = gtk_tool_button_new(tmp_toolbar_icon, + "Legend"); + g_signal_connect (G_OBJECT(control_flow_data->button_legend), + "clicked", + G_CALLBACK (legend_button), + (gpointer)plugin_cfv); + gtk_toolbar_insert(GTK_TOOLBAR(control_flow_data->toolbar), + control_flow_data->button_legend, + 0); + gtk_tool_item_set_tooltip(GTK_TOOL_ITEM(control_flow_data->button_legend), + tooltips, "Show the legend", NULL); + gtk_toolbar_set_style(GTK_TOOLBAR(control_flow_data->toolbar), GTK_TOOLBAR_ICONS); @@ -266,6 +295,7 @@ guicontrolflow(LttvPluginTab *ptab) gtk_widget_show(control_flow_data->toolbar); gtk_widget_show(GTK_WIDGET(control_flow_data->button_prop)); gtk_widget_show(GTK_WIDGET(control_flow_data->button_filter)); + gtk_widget_show(GTK_WIDGET(control_flow_data->button_legend)); gtk_widget_show(control_flow_data->hbox); g_object_set_data_full( diff --git a/ltt/branches/poly/lttv/modules/gui/controlflow/cfv.h b/ltt/branches/poly/lttv/modules/gui/controlflow/cfv.h index 5c2276e4..c8516e18 100644 --- a/ltt/branches/poly/lttv/modules/gui/controlflow/cfv.h +++ b/ltt/branches/poly/lttv/modules/gui/controlflow/cfv.h @@ -49,6 +49,7 @@ struct _ControlFlowData { GtkWidget *toolbar; /* Vbox that contains the viewer's toolbar */ GtkToolItem *button_prop; /* Properties button. */ GtkToolItem *button_filter; /* Properties button. */ + GtkToolItem *button_legend; /* Properties button. */ GtkWidget *box; /* box that contains the hpaned. necessary for it to work */ GtkWidget *h_paned; diff --git a/ltt/branches/poly/lttv/modules/gui/controlflow/eventhooks.c b/ltt/branches/poly/lttv/modules/gui/controlflow/eventhooks.c index dc6c1617..34beb3d7 100644 --- a/ltt/branches/poly/lttv/modules/gui/controlflow/eventhooks.c +++ b/ltt/branches/poly/lttv/modules/gui/controlflow/eventhooks.c @@ -217,48 +217,6 @@ h_guicontrolflow(LttvPlugin *plugin) } -void legend_destructor(GtkWindow *legend) -{ - g_legend_list = g_slist_remove(g_legend_list, legend); -} - -/* Create a popup legend */ -GtkWidget * -h_legend(LttvPlugin *plugin) -{ - LttvPluginTab *ptab = LTTV_PLUGIN_TAB(plugin); - Tab *tab = ptab->tab; - g_info("h_legend, %p", tab); - - GtkWindow *legend = GTK_WINDOW(gtk_window_new(GTK_WINDOW_TOPLEVEL)); - - g_legend_list = g_slist_append( - g_legend_list, - legend); - - g_object_set_data_full( - G_OBJECT(legend), - "legend", - legend, - (GDestroyNotify)legend_destructor); - - gtk_window_set_title(legend, "Control Flow View Legend"); - - GtkWidget *pixmap = create_pixmap(GTK_WIDGET(legend), "lttv-color-list.png"); - - // GtkImage *image = GTK_IMAGE(gtk_image_new_from_pixmap( - // GDK_PIXMAP(pixmap), NULL)); - - gtk_container_add(GTK_CONTAINER(legend), GTK_WIDGET(pixmap)); - - gtk_widget_show(GTK_WIDGET(pixmap)); - gtk_widget_show(GTK_WIDGET(legend)); - - - return NULL; /* This is a popup window */ -} - - int event_selected_hook(void *hook_data, void *call_data) { ControlFlowData *control_flow_data = (ControlFlowData*) hook_data; diff --git a/ltt/branches/poly/lttv/modules/gui/controlflow/hLegendInsert.xpm b/ltt/branches/poly/lttv/modules/gui/controlflow/hLegendInsert.xpm deleted file mode 100644 index a6ff0f39..00000000 --- a/ltt/branches/poly/lttv/modules/gui/controlflow/hLegendInsert.xpm +++ /dev/null @@ -1,45 +0,0 @@ -/* XPM */ -static char * hLegendInsert_xpm[] = { -"22 22 20 1", -" c None", -". c #0DF904", -"+ c #000000", -"@ c #000500", -"# c #000B00", -"$ c #034001", -"% c #000200", -"& c #0CF403", -"* c #0BD603", -"= c #034901", -"- c #F90404", -"; c #0AC503", -"> c #000F00", -", c #034601", -"' c #0CF503", -") c #D60303", -"! c #001000", -"~ c #044E01", -"{ c #0CF203", -"] c #E40303", -" ", -" . ", -" .. ", -" ++@#$ ", -" ++++++% ", -" + &*=++ ", -" .. ++ ", -" . ++ ", -" ++ ", -"----------;>+,'.......", -"---------)!+~{........", -" +++ ", -" ++]---- ", -" ++----- ", -" ++----- ", -" ------ ", -" ++----- ", -" ++----- ", -" ", -"..........------------", -"..........------------", -" "}; diff --git a/ltt/branches/poly/lttv/modules/gui/controlflow/module.c b/ltt/branches/poly/lttv/modules/gui/controlflow/module.c index 48995c0a..1ad14c16 100644 --- a/ltt/branches/poly/lttv/modules/gui/controlflow/module.c +++ b/ltt/branches/poly/lttv/modules/gui/controlflow/module.c @@ -51,15 +51,12 @@ #include "eventhooks.h" #include "hGuiControlFlowInsert.xpm" -#include "hLegendInsert.xpm" GQuark LTT_NAME_CPU; /** Array containing instanced objects. Used when module is unloaded */ GSList *g_control_flow_data_list = NULL ; -GSList *g_legend_list = NULL ; - /***************************************************************************** * Functions for module loading/unloading * *****************************************************************************/ @@ -81,14 +78,6 @@ static void init() { "Insert Control Flow Viewer", h_guicontrolflow); - lttvwindow_register_constructor("guicontrolflowlegend", - "/", - "Popup Control Flow Viewer Legend", - hLegendInsert_xpm, - "Popup Control Flow Viewer Legend", - h_legend); - - LTT_NAME_CPU = g_quark_from_string("/cpu"); } @@ -98,13 +87,6 @@ void destroy_walk(gpointer data, gpointer user_data) guicontrolflow_destructor_full((LttvPluginCFV*)data); } -void destroy_legend_walk(gpointer data, gpointer user_data) -{ - g_info("Walk destroy GUI Control Flow Viewer"); - legend_destructor((GtkWindow*)data); -} - - /** * plugin's destroy function @@ -119,13 +101,10 @@ static void destroy() { g_slist_free(g_control_flow_data_list); - g_slist_foreach(g_legend_list, destroy_legend_walk, NULL ); - g_slist_free(g_control_flow_data_list); /* Unregister the toolbar insert button and menu entry */ lttvwindow_unregister_constructor(h_guicontrolflow); - lttvwindow_unregister_constructor(h_legend); } diff --git a/ltt/branches/poly/lttv/modules/gui/lttvwindow/pixmaps/Makefile.am b/ltt/branches/poly/lttv/modules/gui/lttvwindow/pixmaps/Makefile.am index f1a7e756..30ce5f88 100644 --- a/ltt/branches/poly/lttv/modules/gui/lttvwindow/pixmaps/Makefile.am +++ b/ltt/branches/poly/lttv/modules/gui/lttvwindow/pixmaps/Makefile.am @@ -28,6 +28,7 @@ EXTRA_DIST = \ close.png\ stock_jump_to_24.png\ properties.png\ - lttv-color-list.png\ + controlflow-legend.png\ guifilter22x22.png\ - guifilter16x16.png + guifilter16x16.png\ + qmark.png diff --git a/ltt/branches/poly/lttv/modules/gui/lttvwindow/pixmaps/lttv-color-list.png b/ltt/branches/poly/lttv/modules/gui/lttvwindow/pixmaps/controlflow-legend.png similarity index 100% rename from ltt/branches/poly/lttv/modules/gui/lttvwindow/pixmaps/lttv-color-list.png rename to ltt/branches/poly/lttv/modules/gui/lttvwindow/pixmaps/controlflow-legend.png diff --git a/ltt/branches/poly/lttv/modules/gui/lttvwindow/pixmaps/qmark.png b/ltt/branches/poly/lttv/modules/gui/lttvwindow/pixmaps/qmark.png new file mode 100644 index 0000000000000000000000000000000000000000..9d2043ff3b8dba2aa9006d3daac1763221fd6331 GIT binary patch literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP`mju7Q(uGU+K}I!tx;TbdoW6QVk?&A|K+D7R=S?J3 zUIy;qYT_;s;h7i5)anwlu)0BxQAmZupd<8)EeEI1ro89peT@DrdUhk}0I#^rMyILF zJNEA=zrD_c4mOj(uW89!=c>V(W=Xa5s(Z3V&CVD-NXHNLE^