X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2Ffilter%2Ffilter.c;h=8d1232b0016fe4fbf3d797b75dc0d5fcf646903e;hb=294a2716158ad1d821b3e47b55950d40fd752d14;hp=881c5365dcfa73766694d3e9834f219b3920fb2b;hpb=064565c502f3914516406a002475b19ceb2d05b1;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/gui/filter/filter.c b/ltt/branches/poly/lttv/modules/gui/filter/filter.c index 881c5365..8d1232b0 100644 --- a/ltt/branches/poly/lttv/modules/gui/filter/filter.c +++ b/ltt/branches/poly/lttv/modules/gui/filter/filter.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include @@ -72,6 +73,9 @@ void filter_destroy_walk(gpointer data, gpointer user_data); * Callback functions */ void callback_process_button(GtkWidget *widget, gpointer data); +gboolean callback_enter_check(GtkWidget *widget, + GdkEventKey *event, + gpointer user_data); void callback_add_button(GtkWidget *widget, gpointer data); void callback_logical_op_box(GtkWidget *widget, gpointer data); void callback_expression_field(GtkWidget *widget, gpointer data); @@ -122,7 +126,6 @@ struct _FilterViewerData { GtkWidget *f_add_button; /**< add expression to current expression (GtkButton) */ - gchar *name; /**< Name of the window in the main window */ }; /** @@ -212,6 +215,10 @@ gui_filter(Tab *tab) fvd->f_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); + gtk_window_set_title(GTK_WINDOW(fvd->f_window), "LTTV Filter"); + gtk_window_set_transient_for(GTK_WINDOW(fvd->f_window), + GTK_WINDOW(main_window_get_widget(tab))); + gtk_window_set_destroy_with_parent(GTK_WINDOW(fvd->f_window), TRUE); /* * Initiating GtkTable layout @@ -230,6 +237,8 @@ gui_filter(Tab *tab) * - processing button */ fvd->f_expression_field = gtk_entry_new(); //gtk_scrolled_window_new (NULL, NULL); + g_signal_connect (G_OBJECT(fvd->f_expression_field), + "key-press-event", G_CALLBACK (callback_enter_check), (gpointer)fvd); // gtk_entry_set_text(GTK_ENTRY(fvd->f_expression_field),"state.cpu>0"); gtk_widget_show (fvd->f_expression_field); @@ -428,10 +437,6 @@ gui_filter_destructor(FilterViewerData *fvd) g_filter_list = g_slist_remove(g_filter_list, fvd); - main_window_remove_child_window(tab, fvd->name); - - g_free(fvd->name); - g_free(fvd); } @@ -450,15 +455,8 @@ GtkWidget * h_guifilter(Tab *tab) { FilterViewerData* f = gui_filter(tab) ; - f->name = g_new(gchar, 256); - snprintf(f->name, 256, "guifilter %p", f); - - if(f) - main_window_add_child_window(tab, f, - f->name, (GDestroyNotify)gui_filter_destructor); return NULL; - } /** @@ -537,6 +535,24 @@ callback_process_button(GtkWidget *widget, gpointer data) { lttvwindow_report_filter(fvd->tab, filter); } +gboolean callback_enter_check(GtkWidget *widget, + GdkEventKey *event, + gpointer user_data) +{ + g_debug("typed : %x", event->keyval); + switch(event->keyval) { + case GDK_Return: + case GDK_KP_Enter: + case GDK_ISO_Enter: + case GDK_3270_Enter: + callback_process_button(widget, user_data); + break; + default: + break; + } + return FALSE; +} + /** * @fn void callback_expression_field(GtkWidget*,gpointer) *