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 3bde9d8..b4e1025 100644 --- a/crystfel-demo.c +++ b/crystfel-demo.c @@ -228,6 +228,42 @@ gint check_near_bragg(GtkWidget *widget, struct crystfeldemo *demo) } +gint peakogram(GtkWidget *widget, struct crystfeldemo *demo) +{ + GError *error = NULL; + GSubprocess *sub; + + sub = g_subprocess_new(G_SUBPROCESS_FLAGS_NONE, + &error, "sh", "-c", + "${CRYSTFEL_DEMO_FILES}/peakogram-stream -i " + "${CRYSTFEL_DEMO_FILES}/cell.stream", + NULL); + + if ( sub == NULL ) { + printf("Failed to start demo process\n"); + } + return 0; +} + + +gint detector_shift(GtkWidget *widget, struct crystfeldemo *demo) +{ + GError *error = NULL; + GSubprocess *sub; + + sub = g_subprocess_new(G_SUBPROCESS_FLAGS_NONE, + &error, "sh", "-c", + "${CRYSTFEL_DEMO_FILES}/detector-shift " + "${CRYSTFEL_DEMO_FILES}/cell.stream", + NULL); + + if ( sub == NULL ) { + printf("Failed to start demo process\n"); + } + return 0; +} + + static int change_to_tempdir() { char tmpdir[64]; @@ -302,6 +338,11 @@ int main(int argc, char *argv[]) gtk_builder_add_callback_symbol(builder, "stop_near_bragg", G_CALLBACK(stop_near_bragg)); + gtk_builder_add_callback_symbol(builder, "peakogram", + G_CALLBACK(peakogram)); + gtk_builder_add_callback_symbol(builder, "detector_shift", + G_CALLBACK(detector_shift)); + gtk_builder_connect_signals(builder, &demo); gtk_widget_show_all(window); gtk_main(); |