From 952f89e192d848dfbc53e6d1e0da964dd82ffaf6 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Fri, 13 Mar 2020 17:05:45 +0100 Subject: Add View->Peak detection results --- src/crystfel_gui.c | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) (limited to 'src/crystfel_gui.c') diff --git a/src/crystfel_gui.c b/src/crystfel_gui.c index 96a6b78f..5c3b00c3 100644 --- a/src/crystfel_gui.c +++ b/src/crystfel_gui.c @@ -594,11 +594,15 @@ static gint peaksearch_sig(GtkWidget *widget, struct crystfelproject *proj) GtkWidget *hbox; GtkWidget *label; GtkWidget *combo; + GtkWidget *w; if ( proj->peak_params != NULL ) return FALSE; proj->show_peaks = 1; + w = gtk_ui_manager_get_widget(proj->ui, "/ui/mainwindow/view/peaks"); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(w), 1); + /* Take a copy of the original parameters, for reverting */ proj->original_params = proj->peak_search_params; @@ -797,14 +801,26 @@ static gint about_sig(GtkWidget *widget, struct crystfelproject *proj) } +static gint show_peaks_sig(GtkWidget *w, struct crystfelproject *proj) +{ + proj->show_peaks = gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(w)); + update_peaks(proj); + return FALSE; +} + + + static void add_menu_bar(struct crystfelproject *proj, GtkWidget *vbox) { GError *error = NULL; - const char *ui = " " + const char *ui = " " "" " " "" + "" + " " + "" "" "" "" @@ -818,6 +834,8 @@ static void add_menu_bar(struct crystfelproject *proj, GtkWidget *vbox) { "QuitAction", GTK_STOCK_QUIT, "_Quit", NULL, NULL, G_CALLBACK(quit_sig) }, + { "ViewAction", NULL, "_View", NULL, NULL, NULL }, + { "ToolsAction", NULL, "_Tools", NULL, NULL, NULL }, { "HelpAction", NULL, "_Help", NULL, NULL, NULL }, @@ -825,10 +843,17 @@ static void add_menu_bar(struct crystfelproject *proj, GtkWidget *vbox) G_CALLBACK(about_sig) }, }; - guint n_entries = G_N_ELEMENTS(entries); + + GtkToggleActionEntry toggles[] = { + { "PeaksAction", NULL, "Peak detection results", NULL, NULL, + G_CALLBACK(show_peaks_sig), FALSE }, + }; proj->action_group = gtk_action_group_new("cellwindow"); - gtk_action_group_add_actions(proj->action_group, entries, n_entries, proj); + gtk_action_group_add_actions(proj->action_group, entries, + G_N_ELEMENTS(entries), proj); + gtk_action_group_add_toggle_actions(proj->action_group, toggles, + G_N_ELEMENTS(toggles), proj); proj->ui = gtk_ui_manager_new(); gtk_ui_manager_insert_action_group(proj->ui, proj->action_group, 0); -- cgit v1.2.3