From 57b0844e815b6b55daa517247a5887d990859397 Mon Sep 17 00:00:00 2001
From: Pierre Falez <pierre.falez@univ-lille.fr>
Date: Thu, 23 May 2019 10:11:08 +0200
Subject: [PATCH] Add wait method to experiment

---
 apps/Mnist.cpp       | 4 +++-
 include/Experiment.h | 1 +
 src/Experiment.cpp   | 8 ++++++++
 3 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/apps/Mnist.cpp b/apps/Mnist.cpp
index 9aaffe6..14c8db0 100644
--- a/apps/Mnist.cpp
+++ b/apps/Mnist.cpp
@@ -96,9 +96,11 @@ int main(int argc, char** argv) {
 	auto& fc1_out = experiment.template output<TimeObjectiveOutput>(fc1, t_obj);
 	fc1_out.template add_postprocessing<process::FeatureScaling>();
 	fc1_out.template add_analysis<analysis::Activity>();
-	fc1_out.template add_analysis<analysis::Coherence>();
+	//fc1_out.template add_analysis<analysis::Coherence>();
 	fc1_out.template add_analysis<analysis::Svm>();
 
 	experiment.run(10000);
 
+	return experiment.wait();
+
 }
diff --git a/include/Experiment.h b/include/Experiment.h
index ab47c09..f982cbd 100644
--- a/include/Experiment.h
+++ b/include/Experiment.h
@@ -89,6 +89,7 @@ public:
 
 	void initialize(const Shape& input_shape);
 	void run(size_t refresh_interval = 1);
+	int wait();
 
 	void tick(size_t current_layer_index, size_t sample_count);
 	void refresh(size_t current_layer_index);
diff --git a/src/Experiment.cpp b/src/Experiment.cpp
index e8ef32f..8737d8d 100644
--- a/src/Experiment.cpp
+++ b/src/Experiment.cpp
@@ -288,6 +288,14 @@ void AbstractExperiment::run(size_t refresh_interval) {
 
 }
 
+int AbstractExperiment::wait() {
+#ifdef DISPLAY_PLOT
+	return _app->exec();
+#else
+	return 0;
+#endif
+}
+
 #ifdef DISPLAY_PLOT
 void AbstractExperiment::tick(size_t current_layer_index, size_t sample_count) {
 	for(auto& p : _plots) {
-- 
GitLab