summaryrefslogtreecommitdiff
path: root/crystfel-demo.c
diff options
context:
space:
mode:
Diffstat (limited to 'crystfel-demo.c')
-rw-r--r--crystfel-demo.c41
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();