diff options
Diffstat (limited to 'crystfel-demo.c')
-rw-r--r-- | crystfel-demo.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/crystfel-demo.c b/crystfel-demo.c index b4e1025..e201d19 100644 --- a/crystfel-demo.c +++ b/crystfel-demo.c @@ -264,6 +264,42 @@ gint detector_shift(GtkWidget *widget, struct crystfeldemo *demo) } +gint calc_fom(GtkWidget *widget, struct crystfeldemo *demo) +{ + GError *error = NULL; + GSubprocess *sub; + + sub = g_subprocess_new(G_SUBPROCESS_FLAGS_NONE, + &error, "xfce4-terminal", + "-x", "sh", + "calc-foms.sh", + NULL); + + if ( sub == NULL ) { + printf("Failed to start demo process\n"); + } + return 0; +} + + +gint show_reflist(GtkWidget *widget, struct crystfeldemo *demo) +{ + GError *error = NULL; + GSubprocess *sub; + + sub = g_subprocess_new(G_SUBPROCESS_FLAGS_NONE, + &error, "xfce4-terminal", + "-x", "sh", "-c", + "less ${CRYSTFEL_DEMO_FILES}/merged.hkl" + NULL); + + if ( sub == NULL ) { + printf("Failed to start demo process\n"); + } + return 0; +} + + static int change_to_tempdir() { char tmpdir[64]; @@ -343,6 +379,11 @@ int main(int argc, char *argv[]) gtk_builder_add_callback_symbol(builder, "detector_shift", G_CALLBACK(detector_shift)); + gtk_builder_add_callback_symbol(builder, "calc_fom", + G_CALLBACK(calc_fom)); + gtk_builder_add_callback_symbol(builder, "show_reflist", + G_CALLBACK(show_reflist)); + gtk_builder_connect_signals(builder, &demo); gtk_widget_show_all(window); gtk_main(); |