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
//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));
+}
+
/*****************************************************************************
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);
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(
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;
}
-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;
+++ /dev/null
-/* 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",
-" ",
-" . ",
-" .. ",
-" ++@#$ ",
-" ++++++% ",
-" + &*=++ ",
-" .. ++ ",
-" . ++ ",
-" ++ ",
-"----------;>+,'.......",
-"---------)!+~{........",
-" +++ ",
-" ++]---- ",
-" ++----- ",
-" ++----- ",
-" ------ ",
-" ++----- ",
-" ++----- ",
-" ",
-"..........------------",
-"..........------------",
-" "};
#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 *
*****************************************************************************/
"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");
}
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
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);
}
close.png\
stock_jump_to_24.png\
properties.png\
- lttv-color-list.png\
+ controlflow-legend.png\
guifilter22x22.png\
- guifilter16x16.png
+ guifilter16x16.png\
+ qmark.png