Index: /trunk/FACT++/gui/FactGui.h
===================================================================
--- /trunk/FACT++/gui/FactGui.h	(revision 11824)
+++ /trunk/FACT++/gui/FactGui.h	(revision 11825)
@@ -16,4 +16,5 @@
 #include "src/Dim.h"
 #include "src/Converter.h"
+#include "src/Configuration.h"
 #include "src/HeadersFTM.h"
 #include "src/HeadersFAD.h"
@@ -3139,6 +3140,15 @@
 #endif
 
+    pair<string,string> Split(const string &str) const
+    {
+        const size_t p = str.find_first_of('|');
+        if (p==string::npos)
+            return make_pair(str, "");
+
+        return make_pair(str.substr(0, p), str.substr(p+1));
+    }
+
 public:
-    FactGui() :
+    FactGui(Configuration &conf) :
         fFtuStatus(40),
         fPixelMapHW(1440), fPatchMapHW(160), fPatchHW(1440),
@@ -3191,27 +3201,33 @@
         fClockCondFreq->addItem("5 GHz",   QVariant(5000));
 
+        cout << "-- run counter ---" << endl;
         fMcpNumEvents->addItem("unlimited", QVariant(0));
-        fMcpNumEvents->addItem("100",   QVariant(100));
-        fMcpNumEvents->addItem("300",   QVariant(300));
-        fMcpNumEvents->addItem("1000",  QVariant(1000));
-        fMcpNumEvents->addItem("3000",  QVariant(3000));
-        fMcpNumEvents->addItem("10000", QVariant(10000));
-        fMcpNumEvents->addItem("30000", QVariant(30000));
-
+        const vector<uint32_t> runcount = conf.Vec<uint32_t>("run-count");
+        for (vector<uint32_t>::const_iterator it=runcount.begin(); it!=runcount.end(); it++)
+        {
+            cout << *it << endl;
+            ostringstream str;
+            str << *it;
+            fMcpNumEvents->addItem(str.str().c_str(), QVariant(*it));
+        }
+
+        cout << "-- run times ---" << endl;
         fMcpTime->addItem("unlimited", QVariant(0));
-        fMcpTime->addItem("00:30", QVariant(30));
-        fMcpTime->addItem("01:00", QVariant(60));
-        fMcpTime->addItem("02:30", QVariant(150));
-        fMcpTime->addItem("05:00", QVariant(300));
-        fMcpTime->addItem("10:00", QVariant(600));
-        fMcpTime->addItem("15:00", QVariant(900));
-        fMcpTime->addItem("20:00", QVariant(1200));
-        fMcpTime->addItem("30:00", QVariant(1800));
-        fMcpTime->addItem("60:00", QVariant(3600));
-
-        fMcpRunType->addItem("Data",      QVariant("data"));
-        fMcpRunType->addItem("Pedestal",  QVariant("pedestal"));
-        fMcpRunType->addItem("DRS Calib", QVariant("drs-calib"));
-        fMcpRunType->addItem("Light pulser", QVariant("light-pulser"));
+        const vector<string> runtime = conf.Vec<string>("run-time");
+        for (vector<string>::const_iterator it=runtime.begin(); it!=runtime.end(); it++)
+        {
+            const pair<string,string> p = Split(*it);
+            cout << *it << "|" << p.second << "|" << p.first << "|" << endl;
+            fMcpTime->addItem(p.second.c_str(), QVariant(stoi(p.first)));
+        }
+
+        cout << "-- run types ---" << endl;
+        const vector<string> runtype = conf.Vec<string>("run-type");
+        for (vector<string>::const_iterator it=runtype.begin(); it!=runtype.end(); it++)
+        {
+            const pair<string,string> p = Split(*it);
+            cout << *it << "|" << p.second << "|" << p.first << "|" << endl;
+            fMcpRunType->addItem(p.second.c_str(), QVariant(p.first.c_str()));
+        }
 
         fTriggerWidget->setEnabled(false);
Index: /trunk/FACT++/gui/fact.cc
===================================================================
--- /trunk/FACT++/gui/fact.cc	(revision 11824)
+++ /trunk/FACT++/gui/fact.cc	(revision 11825)
@@ -39,8 +39,16 @@
         ;
 
+    po::options_description runtype("Run type configuration");
+    runtype.add_options()
+        ("run-type",  vars<string>(),   "Names of available run-types")
+        ("run-time",  vars<string>(),   "Possible run-times for runs")
+        ("run-count", vars<uint32_t>(), "Number of events for a run")
+        ;
+
     conf.AddEnv("dns",  "DIM_DNS_NODE");
     conf.AddEnv("host", "DIM_HOST_NODE");
 
     conf.AddOptions(config);
+    conf.AddOptions(runtype);
 }
 
@@ -58,5 +66,5 @@
     QApplication app(argc, const_cast<char**>(argv));
 
-    FactGui gui;
+    FactGui gui(conf);
     gui.show();
 
