From dd3205275f2c08e97aec7c8138b8f673cf9ad35f Mon Sep 17 00:00:00 2001
From: Giacomo Strangolino <giacomo.strangolino@elettra.eu>
Date: Thu, 5 Aug 2021 16:25:55 +0200
Subject: [PATCH] cumbia porting - ticket 14825

---
 CHANGELOG    |    5 +-
 mscr.pro     |   74 +-
 src/main.cpp |   45 +-
 src/mscr.cpp |  328 ++---
 src/mscr.h   |   46 +-
 src/mscr.ui  | 3939 ++++++++++++++++++++++----------------------------
 6 files changed, 2041 insertions(+), 2396 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 3365ad9..0565655 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,7 @@
-
+1.0.2  a. cumbia porting
+       b. layouts
+       c. fixes to writers in polar Polar attenuation
+       d. avoid setSource if elements are invisible
 
 release_13:	porting to qtango6 (installed in /usr/local/qtango) and qt5
 
diff --git a/mscr.pro b/mscr.pro
index 90ee061..d60a8e5 100644
--- a/mscr.pro
+++ b/mscr.pro
@@ -1,12 +1,78 @@
-include (/usr/local/qtango/include/qtango6/qtango.pri)
+isEmpty(CUMBIA_ROOT) {
+    CUMBIA_ROOT=/usr/local/cumbia-libs
+}
+include($${CUMBIA_ROOT}/include/quapps/quapps.pri)
 
-RESOURCES = mscr.qrc
+# CONFIG += debug | release
+
+DEFINES -= QT_NO_DEBUG_OUTPUT
+
+RESOURCES += mscr.qrc
 
 SOURCES += src/mscr.cpp \
            src/main.cpp
 
 HEADERS += src/mscr.h
 
-FORMS    = src/mscr.ui
+# cuuimake runs uic
+#	FORMS    = src/mscr.ui
+#	
+
+# but we need to include ui_xxxx.h file amongst the headers
+# in order to be recompiled when it changes
+#
+HEADERS += \
+	ui_mscr.h
+
+# - ui: where to find cuuimake ui_*.h files
+#   since FORMS is not used
+# - src: where to find headers included by
+#   ui_*.h (e.g. for custom widget promoted
+#   from the Qt designer)
+#
+INCLUDEPATH += ui src
+
+TARGET = mscr-gui
+
+!wasm-emscripten {
+    TARGET   = bin/$${TARGET}
+} else {
+    TARGET = wasm/$${TARGET}
+}
+
+#
+# make install works if INSTALL_DIR is given to qmake
+#
+!isEmpty(INSTALL_DIR) {
+    wasm-emscripten {
+        inst.files = wasm/*
+    } else {
+        inst.files = $${TARGET}
+    }
+    inst.path = $${INSTALL_DIR}
+    INSTALLS += inst
+    message("-")
+    message("INSTALLATION")
+    message("       execute `make install` to install '$PROJECT_NAME$' under $${INSTALL_DIR} ")
+    message("-")
+} else {
+    message("-")
+    message("INSTALLATION")
+    message("       call qmake INSTALL_DIR=/usr/local/bin to install $PROJECT_NAME$ later with `make install` ")
+    message("-")
+}
+
+# unix:LIBS += -L. -lmylib
+
+# unix:INCLUDEPATH +=  . ../../src
+
+message("-")
+message("NOTE")
+message("You need to run cuuimake in order to build the project")
+message("-")
+message("        cuuimake --show-config to see cuuimake configuration options")
+message("        cuuimake --configure to configure cuuimake")
+message("        cuuimake -jN to execute cuuimake and then make -jN")
+message("        cuuimake --make to run cuuimake and then make")
+message("-")
 
-TARGET   = bin/mscr-gui
diff --git a/src/main.cpp b/src/main.cpp
index bb2378e..fbae1ff 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -30,37 +30,40 @@
  *   your version.                                                         *
  ***************************************************************************/
 
-#include <TApplication>
+// #include <TApplication>
+// cumbia
+#include <cumbiapool.h>
+#include <cuthreadfactoryimpl.h>
+#include <qthreadseventbridgefactory.h>
+// cumbia
+
+#include <quapplication.h>
 #include "mscr.h"
-#include <tutil.h>
 #include <X11/Xlib.h>
 #include <QX11Info>
-#include <TSplashScreen>
-#include <elettracolors.h>
-
-#define CVSVERSION "$Name:  $"
 
 int main(int argc, char ** argv) {
-    const char *cvs_version = CVSVERSION;
-    TApplication a(argc, argv);
-    a.setPalette(EPalette("fermi"));
-    a.setApplicationVersion(cvs_version);
-    TUtil::instance()->setLoggingTarget(argv[0]);
-    TSplashScreen splash;
-
-    mscr mw;
+    QuApplication qu_app(argc, argv);
+    CumbiaPool *cu_p = new CumbiaPool();
+    mscr *w = new mscr(cu_p, 0);
     if (argc > 1) {
-        mw.setWindowTitle(TApplication::instance()->arguments()[1].split('/').last());
+        w->setWindowTitle(QuApplication::instance()->arguments()[1].split('/').last());//	TApplication is mapped into QuApplication. DBus connection is provided by cumbia dbus plugin	//	 ## added by qumbiaprojectwizard
     } else {
-        mw.setWindowTitle("mscr");
+        w->setWindowTitle("mscr");
     }
-    mw.show();
-    splash.finish(&mw);
+    w->show();
 
-    /* register to window manager */
     Display *disp = QX11Info::display();
-    Window root_win = (Window) mw.winId();
+    Window root_win = (Window) w->winId();
     XSetCommand(disp, root_win, argv, argc);
 
-    return a.exec();
+// exec application loop
+    int ret = qu_app.exec();
+    // delete resources and return
+    delete w;
+    for(std::string n : cu_p->names())
+        if(cu_p->get(n))
+            delete cu_p->get(n);
+    return ret;
 }
+
diff --git a/src/mscr.cpp b/src/mscr.cpp
index 93a327d..91372bf 100644
--- a/src/mscr.cpp
+++ b/src/mscr.cpp
@@ -30,53 +30,68 @@
  *   your version.                                                         *
  ***************************************************************************/
 
+// cumbia
+#include <cumbiapool.h>
+#include <cuserviceprovider.h>
+#include <cumacros.h>
+#include <quapps.h>
+#include <quwatcher.h>
+#include <quwriter.h>
+// cumbia
+
 #include "mscr.h"
-#include <qtango.h>
-
-mscr::mscr(QWidget *parent) : QWidget(parent) {
-    ui.setupUi(this);
-    timer = new QTimer(this);
-
-    connect(timer,                    SIGNAL(timeout()), this, SLOT(refresh()));
-    connect(ui.position0_radioButton, SIGNAL(clicked()), this, SLOT(setPosition0()));
-    connect(ui.position1_radioButton, SIGNAL(clicked()), this, SLOT(setPosition1()));
-    connect(ui.position2_radioButton, SIGNAL(clicked()), this, SLOT(setPosition2()));
-    connect(ui.position3_radioButton, SIGNAL(clicked()), this, SLOT(setPosition3()));
-    connect(ui.position4_radioButton, SIGNAL(clicked()), this, SLOT(setPosition4()));
-    connect(ui.lightLevel_comboBox,   SIGNAL(currentIndexChanged(int)), this, SLOT(setLightLevel(int)));
-    connect(ui.lightLevel_comboBox_2,   SIGNAL(currentIndexChanged(int)), this, SLOT(setLightLevel2(int)));
-
-    DeviceData dd;
+#include <QTimer>
+
+mscr::mscr(CumbiaPool *cumbia_pool, QWidget *parent) : QWidget(parent) {
+    // cumbia
+    CuModuleLoader mloader(cumbia_pool, &m_ctrl_factory_pool, &m_log_impl);
+    cu_pool = cumbia_pool;
+    ui = new Ui::mscr;
+    ui->setupUi(this, cu_pool, m_ctrl_factory_pool);
+    foreach(QString s, QStringList() << "gbLightLevel2" << "attenuator2_groupBox"
+            << "verSlit_groupBox" << "horSlit_groupBox")
+        findChild<QGroupBox *>(s)->setVisible(false);
+
+    // wait for mscr status and instrument list ready
+    QTimer *tmr_checkConfigReady = new QTimer(this);
+    tmr_checkConfigReady->setInterval(500);
+    tmr_checkConfigReady->setObjectName("checkConfigTmr");
+    connect(tmr_checkConfigReady, SIGNAL(timeout()), this, SLOT(checkConfigReady()));
+    tmr_checkConfigReady->start();
+
+    // mloader.modules() to get the list of loaded modules
+    // cumbia
+
     if (QApplication::arguments().size() > 1) {
-        try {
-            tangodev = QApplication::arguments()[1];
-            server = DeviceFactory::instance()->create(tangodev);
-            server->read_attribute("MscrStatus") >> mscrStatus;
-            dd = server->command_inout("GetInstrumentList");
-            dd >> instruments;
-            setPolarAttenuation();
-            std::string contr_type;
-            server->read_attribute("ControllerType") >> contr_type;
-            if (contr_type.substr(0,5) != "IFC-B"){
-                //ui.tabWidget->setTabEnabled(3,false);
-                ui.tabWidget->removeTab(3);
-            }
-
-        } catch (Tango::DevFailed& ex) {
-            simpleLog::error("mscr::mscr", ex.errors);
-            exit(1);
-        } catch (...) {
-            simpleLog::error("mscr::mscr", "Unexpected exception occurred.");
-            exit(1);
-        }
+        QuWatcher *w = new QuWatcher(this, cumbia_pool, m_ctrl_factory_pool);
+        w->attach(this, SLOT(onMscrStatus(const QVector<bool>&)));
+        w->setSource("$1/MscrStatus");
+
+        Qu1TWatcher *w1 = new Qu1TWatcher(this, cumbia_pool, m_ctrl_factory_pool);
+        w1->attach(this, SLOT(onControllerType(const QString&)));
+        w1->setSource("$1/ControllerType");
+
+        Qu1TWatcher *w2 = new Qu1TWatcher(this, cumbia_pool, m_ctrl_factory_pool);
+        w2->attach(&m_instruments);
+        w2->setSource("$1->GetInstrumentList");
+
+        Qu1TWatcher *llw = new Qu1TWatcher(this, cumbia_pool, m_ctrl_factory_pool);
+        llw->attach(this, SLOT(onLightLevelReady(int)));
+        llw->setSource("$1/LightLevel");
+
+        // position
+        QuWatcher *pos_w = new QuWatcher(this, cumbia_pool, m_ctrl_factory_pool);
+        pos_w->attach(this, SLOT(onPositionReady(int)));
+        // onPositionReady connects radio buttons
+        pos_w->setSource("$1/Selector");
+
+        ui->qio_polar1Attenuation->setSource("$1/Polar1Attenuation");
+
     } else {
         usage();
         exit(1);
     }
-
-    initWidgets();
-    refresh();
-    timer->start(1000);
+    resize(minimumSizeHint());
 }
 
 mscr::~mscr() {
@@ -90,162 +105,133 @@ void mscr::usage() {
 }
 
 void mscr::initWidgets() {
+    qDebug() << __PRETTY_FUNCTION__ << m_mscrStatus << m_instruments;
+
+    // light level (straight)
+    ui->gbLightLevel2->setVisible(m_mscrStatus[3]);
+    ui->attenuator2_groupBox->setVisible(m_mscrStatus[3]);//2
+
+    if(ui->gbLightLevel2->isVisible()) {
+        ui->qulLightLevel2->setSource("$1/LightLevel2");
+        ui->qio_polar2Attenuation->setSource("$1/Polar2Attenuation");
+
+        QuWatcher *ll2w = new QuWatcher(this, cu_pool, m_ctrl_factory_pool);
+        ll2w->attach(this, SLOT(onLightLevel2Ready(int)));
+        ll2w->setSource("$1/LightLevel2");
+    }
+
+
+    ui->verSlit_groupBox->setEnabled(m_mscrStatus[6]);//5
+    ui->verSlit_groupBox->setVisible(m_mscrStatus[5]);//4
+    if(ui->verSlit_groupBox->isVisible())
+        ui->qioVSlit->setSource("$1/VerSlitPosition");
+
+    ui->stepperHorStatus_groupBox->setVisible(m_mscrStatus[5]);//4
+    ui->horSlit_groupBox->setEnabled(m_mscrStatus[7]);//4
+    ui->horSlit_groupBox->setVisible(m_mscrStatus[5]);//4
+    if(ui->horSlit_groupBox->isVisible())
+        ui->qioHSlit->setSource("$1/HorSlitPosition");
+
+    // Status tab
+    ui->polar2Status_groupBox->setVisible(m_mscrStatus[3]);//2
+    if(ui->polar2Status_groupBox->isVisible())
+        ui->qutable_polar2Status->setSource("$1/Polar2Status");
+
+    ui->stepperVerStatus_groupBox->setVisible(m_mscrStatus[5]);//4
+    if(ui->stepperVerStatus_groupBox->isVisible())
+        ui->qutable_stepperVerStatus->setSource("$1/StepperVerStatus");
 
-    ui.polar2Status_groupBox->setVisible(mscrStatus[3]);//2
-    ui.attenuator2_groupBox->setVisible(mscrStatus[3]);//2
-    ui.lightLevel_comboBox_2->setVisible(mscrStatus[3]);//2
-    ui.tLabelLightLevel_2->setVisible(mscrStatus[3]);//2
-    ui.label_41->setVisible(mscrStatus[3]);//2
-
-    ui.stepperVerStatus_groupBox->setVisible(mscrStatus[5]);//4
-    ui.verSlit_groupBox->setVisible(mscrStatus[5]);//4
-    ui.verSlit_groupBox->setEnabled(mscrStatus[6]);//5
-    ui.stepperHorStatus_groupBox->setVisible(mscrStatus[5]);//4
-    ui.horSlit_groupBox->setVisible(mscrStatus[5]);//4
-    ui.horSlit_groupBox->setEnabled(mscrStatus[7]);//4
-
-    ui.position0_radioButton->setText(QString(instruments[0].c_str()));
-    ui.position1_radioButton->setText(QString(instruments[1].c_str()));
-    if (instruments.size() > 2) {
-        ui.position2_radioButton->setText(QString(instruments[2].c_str()));
+    ui->stepperHorStatus_groupBox->setVisible(m_mscrStatus[5]);//4
+    if(ui->stepperHorStatus_groupBox->isVisible())
+        ui->qutable_stepperHorStatus->setSource("$1/StepperHorStatus");
+
+
+    ui->rbp0->setText(QString(m_instruments[0]));
+    ui->rbp1->setText(QString(m_instruments[1]));
+    if (m_instruments.size() > 2) {
+        ui->rbp2->setText(QString(m_instruments[2]));
     } else {
-        ui.position2_radioButton->setHidden(true);
+        ui->rbp2->setHidden(true);
     }
-    if (instruments.size() > 3) {
-        ui.position3_radioButton->setText(QString(instruments[3].c_str()));
+    if (m_instruments.size() > 3) {
+        ui->rbp3->setText(QString(m_instruments[3]));
     } else {
-        ui.position3_radioButton->setHidden(true);
+        ui->rbp3->setHidden(true);
     }
-    if (instruments.size() > 4) {
-        ui.position4_radioButton->setText(QString(instruments[4].c_str()));
+    if (m_instruments.size() > 4) {
+        ui->rbp4->setText(QString(m_instruments[4]));
     } else {
-        ui.position4_radioButton->setHidden(true);
+        ui->rbp4->setHidden(true);
     }
 }
 
-void mscr::setPolarAttenuation() {
-    //  #1
-    if (mscrStatus[1]) {  // discrete
-        ui.polar1Attenuation_tReaderWriter->setWriterType(TReaderWriter::ComboBox);
+void mscr::onControllerType(const QString &contr_type) {
+    if (!contr_type.startsWith("IFC-B")){
+        ui->tabWidget->removeTab(3);
     }
-    ui.polar1Attenuation_tReaderWriter->setSource("$1/Polar1Attenuation");
-
-    //  #2
-    if (mscrStatus[2] and mscrStatus[3]) { // present & discrete
-        ui.polar2Attenuation_tReaderWriter->setWriterType(TReaderWriter::ComboBox);
-    }
-    ui.polar2Attenuation_tReaderWriter->setSource("$1/Polar2Attenuation");
 }
 
-void mscr::refresh() {
-    try {
-        // position -------------
-        server->read_attribute("Selector") >> position;
-        QFont fontNorma, fontBold;
-        fontNorma.setBold(false);
-        fontBold.setBold(true);
-        qDebug() << "mscr::refresh  position=" << position;
-
-        ui.position0_radioButton->setFont(fontNorma);
-        ui.position1_radioButton->setFont(fontNorma);
-        ui.position2_radioButton->setFont(fontNorma);
-        ui.position3_radioButton->setFont(fontNorma);
-        ui.position4_radioButton->setFont(fontNorma);
-
-        switch (position) {
-        case 0:
-            ui.position0_radioButton->setChecked(true);
-            ui.position0_radioButton->setFont(fontBold);
-            break;
-        case 1:
-            ui.position1_radioButton->setChecked(true);
-            ui.position1_radioButton->setFont(fontBold);
-            break;
-        case 2:
-            ui.position2_radioButton->setChecked(true);
-            ui.position2_radioButton->setFont(fontBold);
-            break;
-        case 3:
-            ui.position3_radioButton->setChecked(true);
-            ui.position3_radioButton->setFont(fontBold);
-            break;
-        case 4:
-            ui.position4_radioButton->setChecked(true);
-            ui.position4_radioButton->setFont(fontBold);
-        }
-        // light    -------------
-        short lightLevel;
-        server->read_attribute("LightLevel") >> lightLevel;
-        ui.lightLevel_comboBox->setCurrentIndex((int)lightLevel);
-        
-        // light 2   -------------
-        if (ui.lightLevel_comboBox_2->isVisible()){
-            short lightLevel2;
-            server->read_attribute("LightLevel2") >> lightLevel2;
-            ui.lightLevel_comboBox_2->setCurrentIndex((int)lightLevel2);
-        }
-        // slits    -------------
-        vector<bool> mscrStatus;
-        server->read_attribute("MscrStatus") >> mscrStatus;
-        ui.verSlit_groupBox->setEnabled(mscrStatus[5]);
-        ui.horSlit_groupBox->setEnabled(mscrStatus[6]);
-    } catch (Tango::DevFailed& ex) {
-        simpleLog::error("mscr::refresh", ex.errors);
-    } catch (...) {
-        simpleLog::error("mscr::refresh", "Unexpected exception occurred on reading the attribute.");
+void mscr::checkConfigReady() {
+    printf("mscr::checkConfigReady() enter\n");
+    // init widgets when both instrument list and mscr status are ready
+    if(m_instruments.size() > 0 && this->m_mscrStatus.size() > 0) {
+        delete findChild<QTimer* >("checkConfigTmr");
+        initWidgets();
     }
 }
 
-
-void mscr::setPosition0() {
-    if (position != 0) {
-        setPosition(0);
-    }
-}
-void mscr::setPosition1() {
-    if (position != 1) {
-        setPosition(1);
-    }
+void mscr::onLightLevelReady(int ll) {
+    ui->lightLevel_comboBox->setCurrentIndex(ll);
+    connect(ui->lightLevel_comboBox,   SIGNAL(currentIndexChanged(int)), this, SLOT(setLightLevel(int)));
 }
-void mscr::setPosition2() {
-    if (position != 2) {
-        setPosition(2);
-    }
+
+void mscr::onLightLevel2Ready(int ll) {
+    ui->lightLevel_comboBox_2->setCurrentIndex(ll);
+    connect(ui->lightLevel_comboBox_2,   SIGNAL(currentIndexChanged(int)), this, SLOT(setLightLevel2(int)));
 }
-void mscr::setPosition3() {
-    if (position != 3) {
-        setPosition(3);
+
+void mscr::onPositionReady(int position) {
+    QFont fontNorma, fontBold;
+    fontNorma.setBold(false);
+    fontBold.setBold(true);
+    for(int i = 0; i < 5; i++) {
+        QRadioButton *rb = ui->selector_groupBox->findChild<QRadioButton *>(QString("rbp%1").arg(i));
+        rb->disconnect();
+        position == i ? rb->setFont(fontBold) : rb->setFont(fontNorma);
+        rb->setChecked(position == i);
+        connect(rb, SIGNAL(toggled(bool)), this, SLOT(onPositionRbChecked(bool)));
     }
 }
-void mscr::setPosition4() {
-    if (position != 4) {
-        setPosition(4);
-    }
+
+void mscr::onMscrStatus(const QVector<bool>& s) {
+    m_mscrStatus = std::move(s);
+    ui->verSlit_groupBox->setEnabled(m_mscrStatus[5]);
+    ui->horSlit_groupBox->setEnabled(m_mscrStatus[6]);
 }
-void mscr::setPosition(short newPosition) {
-    try {
-        Tango::DeviceAttribute attr("Selector", newPosition);
-        server->write_attribute(attr);
-    } catch (...) {
-        simpleLog::error("mscr::setPosition", "Unexpected exception occurred on writing the attribute 'Selector'.");
+
+void mscr::onPositionRbChecked(bool c) {
+    if(c) {
+        printf("mscr::onPositionRbChecked %s checked %d\n", qstoc(sender()->objectName()), c);
+        int p = sender()->objectName().remove("rbp").toInt();
+        QuWriter *w = new QuWriter(this, cu_pool, m_ctrl_factory_pool);
+        w->setAutoDestroy(true);
+        w->setTarget("$1/Selector");
+        w->execute(p);
     }
 }
 
 void mscr::setLightLevel(int newLevel) {
-    try {
-        Tango::DeviceAttribute attr("LightLevel", (short int)newLevel);
-        server->write_attribute(attr);
-    } catch (...) {
-        simpleLog::error("mscr::setLightLevel", "Unexpected exception occurred on writing the attribute 'LightLevel'.");
-    }
+    QuWriter *w = new QuWriter(this, cu_pool, m_ctrl_factory_pool);
+    w->setAutoDestroy(true);
+    w->setTarget("$1/LightLevel");
+    w->execute(newLevel);
 }
 
 void mscr::setLightLevel2(int newLevel) {
-    try {
-        Tango::DeviceAttribute attr("LightLevel2", (short int)newLevel);
-        server->write_attribute(attr);
-    } catch (...) {
-        simpleLog::error("mscr::setLightLevel2", "Unexpected exception occurred on writing the attribute 'LightLevel2'.");
-    }
+    QuWriter *w = new QuWriter(this, cu_pool, m_ctrl_factory_pool);
+    w->setAutoDestroy(true);
+    w->setTarget("$1/LightLevel2");
+    w->execute(newLevel);
 }
 
+
diff --git a/src/mscr.h b/src/mscr.h
index 9da72d1..5f6e59b 100644
--- a/src/mscr.h
+++ b/src/mscr.h
@@ -33,41 +33,53 @@
 #ifndef mscr_H
 #define mscr_H
 
+// cumbia
+#include <qulogimpl.h>
+#include <cucontrolsfactorypool.h>
+class CumbiaPool;
+// cumbia
+
 #include "ui_mscr.h"
-#include "simpleLog.h"
-#include <device_factory.h>
 
 class mscr: public QWidget {
     Q_OBJECT
 
 public slots:
-    void refresh();
-    void setPosition0();
-    void setPosition1();
-    void setPosition2();
-    void setPosition3();
-    void setPosition4();
     void setLightLevel(int);
     void setLightLevel2(int);
 
 public:
-    mscr(QWidget * =NULL);
+    mscr(CumbiaPool *cu_p, QWidget * =NULL);
     ~mscr();
     void usage();
 
 private:
-    Ui::mscr ui;
-    QString tangodev;
-    Tango::DeviceProxy *server;
-    QTimer *timer;
-    short position;
-    void setPosition(short);
+    //     Ui::mscr ui;
+    Ui::mscr * ui;
+
     void initWidgets();
-    vector<bool> mscrStatus;
-    vector<string> instruments;
     void setPolarAttenuation();
 
+    // cumbia
+    CumbiaPool *cu_pool;
+    QuLogImpl m_log_impl;
+    CuControlsFactoryPool m_ctrl_factory_pool;
+    // cumbia
+
+
+    QVector<bool> m_mscrStatus;
+    QStringList m_instruments;
+
+private slots:
+    void onControllerType(const QString&);
+    void checkConfigReady();
+    void onLightLevelReady(int ll);
+    void onLightLevel2Ready(int ll);
+    void onPositionReady(int position);
+    void onMscrStatus(const QVector<bool>& s);
+    void onPositionRbChecked(bool c);
 };
 
 
 #endif
+
diff --git a/src/mscr.ui b/src/mscr.ui
index 0c42ef9..e8e37c5 100644
--- a/src/mscr.ui
+++ b/src/mscr.ui
@@ -1,2182 +1,1757 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>mscr</class>
- <widget class="QWidget" name="mscr">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>640</width>
-    <height>640</height>
-   </rect>
-  </property>
-  <property name="sizePolicy">
-   <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-    <horstretch>0</horstretch>
-    <verstretch>0</verstretch>
-   </sizepolicy>
-  </property>
-  <property name="minimumSize">
-   <size>
-    <width>640</width>
-    <height>640</height>
-   </size>
-  </property>
-  <property name="maximumSize">
-   <size>
-    <width>640</width>
-    <height>640</height>
-   </size>
-  </property>
-  <property name="windowTitle">
-   <string>mscr</string>
-  </property>
-  <widget class="QTabWidget" name="tabWidget">
-   <property name="geometry">
-    <rect>
-     <x>9</x>
-     <y>9</y>
-     <width>615</width>
-     <height>507</height>
-    </rect>
-   </property>
-   <property name="sizePolicy">
-    <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-     <horstretch>0</horstretch>
-     <verstretch>0</verstretch>
-    </sizepolicy>
-   </property>
-   <property name="currentIndex">
-    <number>0</number>
-   </property>
-   <widget class="QWidget" name="tab_main">
-    <attribute name="title">
-     <string>Main</string>
-    </attribute>
-    <widget class="QComboBox" name="lightLevel_comboBox">
-     <property name="geometry">
-      <rect>
-       <x>240</x>
-       <y>40</y>
-       <width>90</width>
-       <height>23</height>
-      </rect>
-     </property>
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <item>
-      <property name="text">
-       <string>off</string>
-      </property>
-     </item>
-     <item>
-      <property name="text">
-       <string>high</string>
-      </property>
-     </item>
-     <item>
-      <property name="text">
-       <string>medium</string>
-      </property>
-     </item>
-     <item>
-      <property name="text">
-       <string>low</string>
-      </property>
-     </item>
-    </widget>
-    <widget class="QLabel" name="label_37">
-     <property name="geometry">
-      <rect>
-       <x>240</x>
-       <y>20</y>
-       <width>90</width>
-       <height>20</height>
-      </rect>
-     </property>
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="text">
-      <string>Light level</string>
-     </property>
-    </widget>
-    <widget class="QGroupBox" name="selector_groupBox">
-     <property name="geometry">
-      <rect>
-       <x>30</x>
-       <y>20</y>
-       <width>150</width>
-       <height>170</height>
-      </rect>
-     </property>
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="font">
-      <font>
-       <weight>75</weight>
-       <bold>true</bold>
-      </font>
-     </property>
-     <property name="title">
-      <string>selector</string>
-     </property>
-     <widget class="QRadioButton" name="position0_radioButton">
-      <property name="geometry">
-       <rect>
-        <x>20</x>
-        <y>20</y>
-        <width>120</width>
-        <height>24</height>
-       </rect>
-      </property>
-      <property name="font">
-       <font>
-        <weight>50</weight>
-        <bold>false</bold>
-       </font>
-      </property>
-      <property name="text">
-       <string>0</string>
-      </property>
-     </widget>
-     <widget class="QRadioButton" name="position3_radioButton">
-      <property name="geometry">
-       <rect>
-        <x>20</x>
-        <y>110</y>
-        <width>120</width>
-        <height>24</height>
-       </rect>
-      </property>
-      <property name="font">
-       <font>
-        <weight>50</weight>
-        <bold>false</bold>
-       </font>
-      </property>
-      <property name="text">
-       <string>3</string>
-      </property>
-     </widget>
-     <widget class="QRadioButton" name="position2_radioButton">
-      <property name="geometry">
-       <rect>
-        <x>20</x>
-        <y>80</y>
-        <width>120</width>
-        <height>24</height>
-       </rect>
-      </property>
-      <property name="font">
-       <font>
-        <weight>50</weight>
-        <bold>false</bold>
-       </font>
-      </property>
-      <property name="text">
-       <string>2</string>
-      </property>
-     </widget>
-     <widget class="QRadioButton" name="position1_radioButton">
-      <property name="geometry">
-       <rect>
-        <x>20</x>
-        <y>50</y>
-        <width>120</width>
-        <height>24</height>
-       </rect>
-      </property>
-      <property name="font">
-       <font>
-        <weight>50</weight>
-        <bold>false</bold>
-       </font>
-      </property>
-      <property name="text">
-       <string>1</string>
-      </property>
-      <property name="checked">
-       <bool>true</bool>
-      </property>
-     </widget>
-     <widget class="QRadioButton" name="position4_radioButton">
-      <property name="geometry">
-       <rect>
-        <x>20</x>
-        <y>140</y>
-        <width>120</width>
-        <height>24</height>
-       </rect>
-      </property>
-      <property name="font">
-       <font>
-        <weight>50</weight>
-        <bold>false</bold>
-       </font>
-      </property>
-      <property name="text">
-       <string>4</string>
-      </property>
-     </widget>
-    </widget>
-    <widget class="QGroupBox" name="attenuator1_groupBox">
-     <property name="geometry">
-      <rect>
-       <x>10</x>
-       <y>230</y>
-       <width>290</width>
-       <height>100</height>
-      </rect>
-     </property>
-     <property name="font">
-      <font>
-       <weight>75</weight>
-       <bold>true</bold>
-      </font>
-     </property>
-     <property name="title">
-      <string>attenuator #1</string>
-     </property>
-     <widget class="QLabel" name="label_38">
-      <property name="geometry">
-       <rect>
-        <x>10</x>
-        <y>24</y>
-        <width>100</width>
-        <height>28</height>
-       </rect>
-      </property>
-      <property name="font">
-       <font>
-        <pointsize>10</pointsize>
-        <weight>50</weight>
-        <bold>false</bold>
-       </font>
-      </property>
-      <property name="text">
-       <string>attenuation %</string>
-      </property>
-     </widget>
-     <widget class="TReaderWriter" name="polar1Attenuation_tReaderWriter">
-      <property name="geometry">
-       <rect>
-        <x>110</x>
-        <y>24</y>
-        <width>160</width>
-        <height>28</height>
-       </rect>
-      </property>
-      <property name="font">
-       <font>
-        <family>Arial</family>
-        <weight>50</weight>
-        <bold>false</bold>
-       </font>
-      </property>
-      <property name="alignment">
-       <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-      </property>
-      <property name="zoomEnabled">
-       <bool>false</bool>
-      </property>
-     </widget>
-     <widget class="QLabel" name="label_10">
-      <property name="geometry">
-       <rect>
-        <x>10</x>
-        <y>60</y>
-        <width>161</width>
-        <height>17</height>
-       </rect>
-      </property>
-      <property name="font">
-       <font>
-        <pointsize>10</pointsize>
-        <weight>50</weight>
-        <bold>false</bold>
-       </font>
-      </property>
-      <property name="text">
-       <string>max. abs. val. 10^-4</string>
-      </property>
-     </widget>
-    </widget>
-    <widget class="QGroupBox" name="attenuator2_groupBox">
-     <property name="geometry">
-      <rect>
-       <x>320</x>
-       <y>230</y>
-       <width>290</width>
-       <height>100</height>
-      </rect>
-     </property>
-     <property name="font">
-      <font>
-       <weight>75</weight>
-       <bold>true</bold>
-      </font>
-     </property>
-     <property name="title">
-      <string>attenuator #2</string>
-     </property>
-     <widget class="QLabel" name="label_39">
-      <property name="geometry">
-       <rect>
-        <x>10</x>
-        <y>24</y>
-        <width>100</width>
-        <height>28</height>
-       </rect>
-      </property>
-      <property name="font">
-       <font>
-        <pointsize>10</pointsize>
-        <weight>50</weight>
-        <bold>false</bold>
-       </font>
-      </property>
-      <property name="text">
-       <string>attenuation %</string>
-      </property>
-     </widget>
-     <widget class="TReaderWriter" name="polar2Attenuation_tReaderWriter">
-      <property name="enabled">
-       <bool>false</bool>
-      </property>
-      <property name="geometry">
-       <rect>
-        <x>110</x>
-        <y>24</y>
-        <width>160</width>
-        <height>28</height>
-       </rect>
-      </property>
-      <property name="font">
-       <font>
-        <family>Arial</family>
-        <weight>50</weight>
-        <bold>false</bold>
-       </font>
-      </property>
-      <property name="alignment">
-       <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-      </property>
-      <property name="source">
-       <string>$1/Polar2Attenuation</string>
-      </property>
-      <property name="zoomEnabled">
-       <bool>false</bool>
-      </property>
-     </widget>
-     <widget class="QLabel" name="label_11">
-      <property name="geometry">
-       <rect>
-        <x>16</x>
-        <y>58</y>
-        <width>181</width>
-        <height>17</height>
-       </rect>
-      </property>
-      <property name="font">
-       <font>
-        <pointsize>10</pointsize>
-        <weight>50</weight>
-        <bold>false</bold>
-       </font>
-      </property>
-      <property name="text">
-       <string>max. abs. val. 10^-4</string>
-      </property>
-     </widget>
-    </widget>
-    <widget class="QGroupBox" name="verSlit_groupBox">
-     <property name="geometry">
-      <rect>
-       <x>10</x>
-       <y>350</y>
-       <width>290</width>
-       <height>100</height>
-      </rect>
-     </property>
-     <property name="font">
-      <font>
-       <weight>75</weight>
-       <bold>true</bold>
-      </font>
-     </property>
-     <property name="title">
-      <string>Vertical slit</string>
-     </property>
-     <widget class="TApplyNumeric" name="tApplyNumeric">
-      <property name="enabled">
-       <bool>false</bool>
-      </property>
-      <property name="geometry">
-       <rect>
-        <x>120</x>
-        <y>40</y>
-        <width>160</width>
-        <height>41</height>
-       </rect>
-      </property>
-      <property name="font">
-       <font>
-        <weight>50</weight>
-        <bold>false</bold>
-       </font>
-      </property>
-      <property name="maximum">
-       <double>9999.000000000000000</double>
-      </property>
-      <property name="minimum">
-       <double>-9999.000000000000000</double>
-      </property>
-      <property name="buttonPos" stdset="0">
-       <enum>Qt::Horizontal</enum>
-      </property>
-      <property name="buttonText">
-       <string>APPLY</string>
-      </property>
-      <property name="numericFont">
-       <font>
-        <family>Arial</family>
-        <weight>50</weight>
-        <bold>false</bold>
-       </font>
-      </property>
-      <property name="targets">
-       <string>$1/VerSlitPosition;;;</string>
-      </property>
-     </widget>
-     <widget class="TLabel" name="polar1Attenuation_tLabel_2">
-      <property name="enabled">
-       <bool>false</bool>
-      </property>
-      <property name="geometry">
-       <rect>
-        <x>10</x>
-        <y>50</y>
-        <width>110</width>
-        <height>28</height>
-       </rect>
-      </property>
-      <property name="font">
-       <font>
-        <family>Arial</family>
-        <weight>50</weight>
-        <bold>false</bold>
-       </font>
-      </property>
-      <property name="alignment">
-       <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-      </property>
-      <property name="source">
-       <string>$1/VerSlitPosition</string>
-      </property>
-     </widget>
-     <widget class="QLabel" name="label_40">
-      <property name="geometry">
-       <rect>
-        <x>10</x>
-        <y>20</y>
-        <width>110</width>
-        <height>30</height>
-       </rect>
-      </property>
-      <property name="font">
-       <font>
-        <weight>50</weight>
-        <bold>false</bold>
-       </font>
-      </property>
-      <property name="text">
-       <string>position</string>
-      </property>
-      <property name="wordWrap">
-       <bool>true</bool>
-      </property>
-     </widget>
-    </widget>
-    <widget class="QGroupBox" name="horSlit_groupBox">
-     <property name="geometry">
-      <rect>
-       <x>320</x>
-       <y>350</y>
-       <width>290</width>
-       <height>100</height>
-      </rect>
-     </property>
-     <property name="font">
-      <font>
-       <weight>75</weight>
-       <bold>true</bold>
-      </font>
-     </property>
-     <property name="title">
-      <string>Horizontal slit</string>
-     </property>
-     <widget class="QLabel" name="label_42">
-      <property name="geometry">
-       <rect>
-        <x>10</x>
-        <y>20</y>
-        <width>110</width>
-        <height>30</height>
-       </rect>
-      </property>
-      <property name="font">
-       <font>
-        <weight>50</weight>
-        <bold>false</bold>
-       </font>
-      </property>
-      <property name="text">
-       <string>position</string>
-      </property>
-      <property name="wordWrap">
-       <bool>true</bool>
-      </property>
-     </widget>
-     <widget class="TApplyNumeric" name="tApplyNumeric_2">
-      <property name="enabled">
-       <bool>false</bool>
-      </property>
-      <property name="geometry">
-       <rect>
-        <x>120</x>
-        <y>40</y>
-        <width>160</width>
-        <height>41</height>
-       </rect>
-      </property>
-      <property name="font">
-       <font>
-        <weight>50</weight>
-        <bold>false</bold>
-       </font>
-      </property>
-      <property name="buttonPos" stdset="0">
-       <enum>Qt::Horizontal</enum>
-      </property>
-      <property name="buttonText">
-       <string>APPLY</string>
-      </property>
-      <property name="numericFont">
-       <font>
-        <family>Arial</family>
-        <weight>50</weight>
-        <bold>false</bold>
-       </font>
-      </property>
-      <property name="targets">
-       <string>$1/HorSlitPosition;;</string>
-      </property>
-     </widget>
-     <widget class="TLabel" name="polar1Attenuation_tLabel_3">
-      <property name="enabled">
-       <bool>false</bool>
-      </property>
-      <property name="geometry">
-       <rect>
-        <x>10</x>
-        <y>50</y>
-        <width>110</width>
-        <height>28</height>
-       </rect>
-      </property>
-      <property name="font">
-       <font>
-        <family>Arial</family>
-        <weight>50</weight>
-        <bold>false</bold>
-       </font>
-      </property>
-      <property name="alignment">
-       <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-      </property>
-      <property name="source">
-       <string>$1/HorSlitPosition</string>
-      </property>
-     </widget>
-    </widget>
-    <widget class="QLabel" name="label_41">
-     <property name="geometry">
-      <rect>
-       <x>408</x>
-       <y>20</y>
-       <width>127</width>
-       <height>17</height>
-      </rect>
-     </property>
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="text">
-      <string>Light level (straigth)</string>
-     </property>
-    </widget>
-    <widget class="QComboBox" name="lightLevel_comboBox_2">
-     <property name="geometry">
-      <rect>
-       <x>408</x>
-       <y>40</y>
-       <width>90</width>
-       <height>23</height>
-      </rect>
-     </property>
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <item>
-      <property name="text">
-       <string>off</string>
-      </property>
-     </item>
-     <item>
-      <property name="text">
-       <string>high</string>
-      </property>
-     </item>
-     <item>
-      <property name="text">
-       <string>medium</string>
-      </property>
-     </item>
-     <item>
-      <property name="text">
-       <string>low</string>
-      </property>
-     </item>
-    </widget>
-    <widget class="TLabel" name="tLabelLightLevel">
-     <property name="geometry">
-      <rect>
-       <x>194</x>
-       <y>39</y>
-       <width>39</width>
-       <height>25</height>
-      </rect>
-     </property>
-     <property name="source">
-      <string>$1/LightLevel</string>
-     </property>
-    </widget>
-    <widget class="TLabel" name="tLabelLightLevel_2">
-     <property name="geometry">
-      <rect>
-       <x>360</x>
-       <y>39</y>
-       <width>39</width>
-       <height>23</height>
-      </rect>
-     </property>
-     <property name="source">
-      <string>$1/LightLevel2</string>
-     </property>
-    </widget>
-   </widget>
-   <widget class="QWidget" name="tab_expert">
-    <attribute name="title">
-     <string>Expert</string>
-    </attribute>
-    <layout class="QGridLayout" name="gridLayout_3">
-     <item row="0" column="0">
-      <widget class="TPushButton" name="tPushButton_2">
-       <property name="enabled">
-        <bool>false</bool>
-       </property>
-       <property name="text">
-        <string>INIT  STEPPER
-( init motor + fault reset )</string>
-       </property>
-       <property name="targets">
-        <string>$1-&gt;StepperInit;;;</string>
-       </property>
-      </widget>
-     </item>
-     <item row="0" column="1">
-      <widget class="TLogButton" name="tLogButton"/>
-     </item>
-     <item row="1" column="0">
-      <widget class="TPushButton" name="tPushButton">
-       <property name="text">
-        <string>RESET  CAMERA
-( power off + power on )</string>
-       </property>
-       <property name="targets">
-        <string>$1-&gt;CameraReset;;</string>
-       </property>
-      </widget>
-     </item>
-     <item row="2" column="0">
-      <widget class="TPushButton" name="tPushButton_3">
-       <property name="text">
-        <string>INIT  ATTENUATOR(s)
-( motor homing )</string>
-       </property>
-       <property name="targets">
-        <string>$1-&gt;PolarInit;;;</string>
-       </property>
-      </widget>
-     </item>
-     <item row="3" column="0">
-      <widget class="TPushButton" name="tPushButton_4">
-       <property name="text">
-        <string>RESET  ATTENUATOR(s)
-( power off + power on )</string>
-       </property>
-       <property name="targets">
-        <string>$1-&gt;PolarReset;;;;</string>
-       </property>
-      </widget>
-     </item>
-     <item row="4" column="0">
-      <widget class="TPushButton" name="tPushButton_5">
-       <property name="text">
-        <string>CAMERA ON
-( power on )</string>
-       </property>
-       <property name="targets">
-        <string>$1-&gt;CameraOn;;;</string>
-       </property>
-      </widget>
-     </item>
-     <item row="4" column="1">
-      <widget class="TPushButton" name="tPushButton_13">
-       <property name="text">
-        <string>AUXILIARY OUTPUT ON</string>
-       </property>
-       <property name="targets">
-        <string>$1-&gt;AuxiliaryOutOn;;;;;;</string>
-       </property>
-      </widget>
-     </item>
-     <item row="5" column="0">
-      <widget class="TPushButton" name="tPushButton_6">
-       <property name="text">
-        <string>CAMERA OFF
-( power off )</string>
-       </property>
-       <property name="targets">
-        <string>$1-&gt;CameraOff;;;;</string>
-       </property>
-      </widget>
-     </item>
-     <item row="5" column="1">
-      <widget class="TPushButton" name="tPushButton_14">
-       <property name="text">
-        <string>AUXILIARY OUTPUT OFF</string>
-       </property>
-       <property name="targets">
-        <string>$1-&gt;AuxiliaryOutOff;;;;;;</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </widget>
-   <widget class="QWidget" name="tab_status">
-    <attribute name="title">
-     <string>Status</string>
-    </attribute>
-    <widget class="QGroupBox" name="mscrStatus_groupBox">
-     <property name="geometry">
-      <rect>
-       <x>9</x>
-       <y>9</y>
-       <width>311</width>
-       <height>371</height>
-      </rect>
-     </property>
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-       <horstretch>0</horstretch>
-       <verstretch>5</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="title">
-      <string>global status</string>
-     </property>
-     <layout class="QHBoxLayout" name="horizontalLayout">
-      <property name="spacing">
-       <number>5</number>
-      </property>
-      <property name="leftMargin">
-       <number>5</number>
-      </property>
-      <property name="topMargin">
-       <number>5</number>
-      </property>
-      <property name="rightMargin">
-       <number>5</number>
-      </property>
-      <property name="bottomMargin">
-       <number>5</number>
-      </property>
-      <item>
-       <layout class="QVBoxLayout" name="verticalLayout">
-        <item>
-         <widget class="QLabel" name="label">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>movement</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_2">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>attenuator #1</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_12">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>attenuator #1</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_3">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>attenuator #2</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_4">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>attenuator #2</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_20">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>slits</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_6">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>vertical slit</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_5">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>horizontal slit</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_7">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>light</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_8">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>safety switch</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_9">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>pneumatic piston</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_19">
-          <property name="minimumSize">
-           <size>
-            <width>135</width>
-            <height>0</height>
-           </size>
-          </property>
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>pneumatic piston</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-       </layout>
-      </item>
-      <item>
-       <widget class="TTable" name="mscrStatus_tTable">
-        <property name="font">
-         <font>
-          <weight>50</weight>
-          <bold>false</bold>
-         </font>
-        </property>
-        <property name="numRows">
-         <number>12</number>
-        </property>
-        <property name="numColumns">
-         <number>1</number>
-        </property>
-        <property name="trueColors">
-         <string>4290494403;4290494403;4290494403;4290494403;4290494403;4290494403;4284344910;4284344910;4294556167;4290494403;4278228181;4293342999</string>
-        </property>
-        <property name="falseColors">
-         <string>4290494403;4290494403;4290494403;4290494403;4290494403;4290494403;4294556167;4294556167;4290494403;4290494403;4290494403;4284344910</string>
-        </property>
-        <property name="trueStrings">
-         <string>pneumatic;present;discrete;present;discrete;present;allowed to move;allowed to move;on;touched;moving;reach error</string>
-        </property>
-        <property name="falseStrings">
-         <string>stepper;not preset;continuos;not present;continuos;not present;not allowed to move;not allowed to move;off;not touched;not moving;reached position</string>
-        </property>
-        <property name="displayMask">
-         <string>0,1,2,3,4,5,6,7,8,9,10,11</string>
-        </property>
-        <property name="source">
-         <string>$1/MscrStatus</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-    <widget class="QGroupBox" name="stepperVerStatus_groupBox">
-     <property name="geometry">
-      <rect>
-       <x>9</x>
-       <y>376</y>
-       <width>301</width>
-       <height>101</height>
-      </rect>
-     </property>
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-       <horstretch>0</horstretch>
-       <verstretch>1</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="maximumSize">
-      <size>
-       <width>16777215</width>
-       <height>109</height>
-      </size>
-     </property>
-     <property name="title">
-      <string>VER stepper motor status</string>
-     </property>
-     <layout class="QGridLayout" name="gridLayout_2">
-      <property name="leftMargin">
-       <number>5</number>
-      </property>
-      <property name="topMargin">
-       <number>5</number>
-      </property>
-      <property name="rightMargin">
-       <number>5</number>
-      </property>
-      <property name="bottomMargin">
-       <number>5</number>
-      </property>
-      <item row="0" column="0">
-       <layout class="QVBoxLayout" name="verticalLayout_5">
-        <item>
-         <widget class="QLabel" name="label_34">
-          <property name="minimumSize">
-           <size>
-            <width>135</width>
-            <height>0</height>
-           </size>
-          </property>
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>motor</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_35">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>motor</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_36">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>communication</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-       </layout>
-      </item>
-      <item row="0" column="1">
-       <widget class="TTable" name="stepperVerStatus_tTable">
-        <property name="font">
-         <font>
-          <weight>50</weight>
-          <bold>false</bold>
-         </font>
-        </property>
-        <property name="numRows">
-         <number>3</number>
-        </property>
-        <property name="numColumns">
-         <number>1</number>
-        </property>
-        <property name="trueColors">
-         <string>4293342999;4278228181;4293342999</string>
-        </property>
-        <property name="falseColors">
-         <string>4284344910;4290494403;4284344910</string>
-        </property>
-        <property name="trueStrings">
-         <string>error;moving;error</string>
-        </property>
-        <property name="falseStrings">
-         <string>ok;not moving;ok</string>
-        </property>
-        <property name="displayMask">
-         <string>0,1,2</string>
-        </property>
-        <property name="source">
-         <string>$1/StepperVerStatus</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-    <widget class="QGroupBox" name="stepperHorStatus_groupBox">
-     <property name="geometry">
-      <rect>
-       <x>316</x>
-       <y>376</y>
-       <width>291</width>
-       <height>101</height>
-      </rect>
-     </property>
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-       <horstretch>0</horstretch>
-       <verstretch>1</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="maximumSize">
-      <size>
-       <width>16777215</width>
-       <height>109</height>
-      </size>
-     </property>
-     <property name="title">
-      <string>HOR stepper motor status</string>
-     </property>
-     <layout class="QGridLayout" name="gridLayout_4">
-      <item row="0" column="0">
-       <layout class="QVBoxLayout" name="verticalLayout_4">
-        <item>
-         <widget class="QLabel" name="label_31">
-          <property name="minimumSize">
-           <size>
-            <width>130</width>
-            <height>0</height>
-           </size>
-          </property>
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>motor</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_32">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>motor</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_33">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>communication</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-       </layout>
-      </item>
-      <item row="0" column="1">
-       <widget class="TTable" name="stepperHorStatus_tTable">
-        <property name="font">
-         <font>
-          <weight>50</weight>
-          <bold>false</bold>
-         </font>
-        </property>
-        <property name="numRows">
-         <number>3</number>
-        </property>
-        <property name="numColumns">
-         <number>1</number>
-        </property>
-        <property name="trueColors">
-         <string>4293342999;4278228181;4293342999</string>
-        </property>
-        <property name="falseColors">
-         <string>4284344910;4290494403;4284344910</string>
-        </property>
-        <property name="trueStrings">
-         <string>error;moving;error</string>
-        </property>
-        <property name="falseStrings">
-         <string>ok;not moving;ok</string>
-        </property>
-        <property name="displayMask">
-         <string>0,1,2</string>
-        </property>
-        <property name="source">
-         <string>$1/StepperHorStatus</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-    <widget class="QGroupBox" name="polar1Status_groupBox">
-     <property name="geometry">
-      <rect>
-       <x>340</x>
-       <y>10</y>
-       <width>261</width>
-       <height>141</height>
-      </rect>
-     </property>
-     <property name="title">
-      <string>polarimeter #1 motor status</string>
-     </property>
-     <layout class="QHBoxLayout" name="horizontalLayout_2">
-      <property name="spacing">
-       <number>5</number>
-      </property>
-      <property name="leftMargin">
-       <number>5</number>
-      </property>
-      <property name="topMargin">
-       <number>5</number>
-      </property>
-      <property name="rightMargin">
-       <number>5</number>
-      </property>
-      <property name="bottomMargin">
-       <number>5</number>
-      </property>
-      <item>
-       <layout class="QVBoxLayout" name="verticalLayout_2">
-        <item>
-         <widget class="QLabel" name="label_21">
-          <property name="minimumSize">
-           <size>
-            <width>130</width>
-            <height>0</height>
-           </size>
-          </property>
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>motor</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_22">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>position</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_23">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>communication</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_24">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>left limit switch</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_25">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>right limit switch</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-       </layout>
-      </item>
-      <item>
-       <widget class="TTable" name="polar1Status_tTable">
-        <property name="font">
-         <font>
-          <weight>50</weight>
-          <bold>false</bold>
-         </font>
-        </property>
-        <property name="numRows">
-         <number>5</number>
-        </property>
-        <property name="numColumns">
-         <number>1</number>
-        </property>
-        <property name="trueColors">
-         <string>4278228181;4293342999;4293342999;4290494403;4290494403</string>
-        </property>
-        <property name="falseColors">
-         <string>4290494403;4290494403;4284344910;4290494403;4290494403</string>
-        </property>
-        <property name="trueStrings">
-         <string>moving;not reached;error;touched;touched</string>
-        </property>
-        <property name="falseStrings">
-         <string>not moving;reached;ok;not touched;not touched</string>
-        </property>
-        <property name="displayMask">
-         <string>0,1,2,3,4</string>
-        </property>
-        <property name="source">
-         <string>$1/Polar1Status</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-    <widget class="QGroupBox" name="polar2Status_groupBox">
-     <property name="geometry">
-      <rect>
-       <x>340</x>
-       <y>160</y>
-       <width>261</width>
-       <height>151</height>
-      </rect>
-     </property>
-     <property name="title">
-      <string>polarimeter #2 motor status</string>
-     </property>
-     <layout class="QHBoxLayout" name="horizontalLayout_3">
-      <property name="spacing">
-       <number>5</number>
-      </property>
-      <property name="leftMargin">
-       <number>5</number>
-      </property>
-      <property name="topMargin">
-       <number>5</number>
-      </property>
-      <property name="rightMargin">
-       <number>5</number>
-      </property>
-      <property name="bottomMargin">
-       <number>5</number>
-      </property>
-      <item>
-       <layout class="QVBoxLayout" name="verticalLayout_3">
-        <item>
-         <widget class="QLabel" name="label_26">
-          <property name="minimumSize">
-           <size>
-            <width>130</width>
-            <height>0</height>
-           </size>
-          </property>
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>motor</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_27">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>position</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_28">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>communication</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_29">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>left limit switch</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_30">
-          <property name="font">
-           <font>
-            <weight>50</weight>
-            <bold>false</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>right limit switch</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-       </layout>
-      </item>
-      <item>
-       <widget class="TTable" name="polar2Status_tTable">
-        <property name="font">
-         <font>
-          <weight>50</weight>
-          <bold>false</bold>
-         </font>
-        </property>
-        <property name="numRows">
-         <number>5</number>
-        </property>
-        <property name="numColumns">
-         <number>1</number>
-        </property>
-        <property name="trueColors">
-         <string>4278228181;4293342999;4293342999;4290494403;4290494403</string>
-        </property>
-        <property name="falseColors">
-         <string>4290494403;4290494403;4284344910;4290494403;4290494403</string>
-        </property>
-        <property name="trueStrings">
-         <string>moving;not reached;error;touched;touched</string>
-        </property>
-        <property name="falseStrings">
-         <string>not moving;reached;ok;not touched;not touched</string>
-        </property>
-        <property name="displayMask">
-         <string>0,1,2,3,4</string>
-        </property>
-        <property name="source">
-         <string>$1/Polar2Status</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </widget>
-   <widget class="QWidget" name="tab_lensctrl">
-    <attribute name="title">
-     <string>LensCtrl</string>
-    </attribute>
-    <layout class="QGridLayout" name="gridLayout">
-     <item row="0" column="1">
-      <spacer name="verticalSpacer_2">
-       <property name="orientation">
-        <enum>Qt::Vertical</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>20</width>
-         <height>127</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item row="1" column="0">
-      <spacer name="horizontalSpacer">
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>103</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item row="1" column="1">
-      <layout class="QHBoxLayout" name="horizontalLayout_6">
-       <property name="spacing">
-        <number>12</number>
-       </property>
-       <property name="leftMargin">
-        <number>6</number>
-       </property>
-       <property name="topMargin">
-        <number>6</number>
-       </property>
-       <property name="rightMargin">
-        <number>6</number>
-       </property>
-       <property name="bottomMargin">
-        <number>6</number>
-       </property>
-       <item>
-        <widget class="QGroupBox" name="groupBox_Focus_4">
-         <property name="font">
-          <font>
-           <pointsize>11</pointsize>
-          </font>
-         </property>
-         <property name="title">
-          <string>Focus</string>
-         </property>
-         <property name="alignment">
-          <set>Qt::AlignCenter</set>
-         </property>
-         <layout class="QVBoxLayout" name="verticalLayout_6">
-          <item>
-           <widget class="TPushButton" name="tPushFocusPlus10_4">
-            <property name="font">
-             <font>
-              <pointsize>12</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>+ 10</string>
-            </property>
-            <property name="targets">
-             <string>$1-&gt;SetFocusPlus(10);;;</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="TPushButton" name="tPushFocusPlusOne_4">
-            <property name="font">
-             <font>
-              <pointsize>12</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>+1</string>
-            </property>
-            <property name="targets">
-             <string>$1-&gt;SetFocusPlus(1);;</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="TPushButton" name="tPushFocusMinusOne_4">
-            <property name="font">
-             <font>
-              <pointsize>12</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>-1</string>
-            </property>
-            <property name="targets">
-             <string>$1-&gt;SetFocusMinus(1);;</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="TPushButton" name="tPushFocusMinus10_4">
-            <property name="font">
-             <font>
-              <pointsize>12</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>- 10</string>
-            </property>
-            <property name="targets">
-             <string>$1-&gt;SetFocusMinus(10);;</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="TLabel" name="tLabel">
-            <property name="source">
-             <string>$1/Focuspulses</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QLabel" name="label_13">
-            <property name="text">
-             <string>max. pulses</string>
-            </property>
-           </widget>
-          </item>
-         </layout>
-        </widget>
-       </item>
-       <item>
-        <widget class="QGroupBox" name="groupBox_Zoom_4">
-         <property name="font">
-          <font>
-           <pointsize>11</pointsize>
-          </font>
-         </property>
-         <property name="title">
-          <string>Zoom</string>
-         </property>
-         <property name="alignment">
-          <set>Qt::AlignCenter</set>
-         </property>
-         <layout class="QVBoxLayout" name="verticalLayout_7">
-          <item>
-           <widget class="TPushButton" name="tPushZoomPlus10_4">
-            <property name="font">
-             <font>
-              <pointsize>12</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>+ 10</string>
-            </property>
-            <property name="targets">
-             <string>$1-&gt;SetZoomPlus(10);;</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="TPushButton" name="tPushZoomPlusOne_4">
-            <property name="font">
-             <font>
-              <pointsize>12</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>+1</string>
-            </property>
-            <property name="targets">
-             <string>$1-&gt;SetZoomPlus(1);;;</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="TPushButton" name="tPushZoomMinusOne_4">
-            <property name="font">
-             <font>
-              <pointsize>12</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>-1</string>
-            </property>
-            <property name="targets">
-             <string>$1-&gt;SetZoomMinus(1);;</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="TPushButton" name="tPushZoomMinus10_4">
-            <property name="font">
-             <font>
-              <pointsize>12</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>- 10</string>
-            </property>
-            <property name="targets">
-             <string>$1-&gt;SetZoomMinus(10);</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="TLabel" name="tLabel_2">
-            <property name="source">
-             <string>$1/Zoompulses</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QLabel" name="label_14">
-            <property name="text">
-             <string>max. pulses</string>
-            </property>
-           </widget>
-          </item>
-         </layout>
-        </widget>
-       </item>
-       <item>
-        <widget class="QGroupBox" name="groupBox_Diaph_4">
-         <property name="font">
-          <font>
-           <pointsize>11</pointsize>
-          </font>
-         </property>
-         <property name="layoutDirection">
-          <enum>Qt::LeftToRight</enum>
-         </property>
-         <property name="title">
-          <string>Diaphragm</string>
-         </property>
-         <property name="alignment">
-          <set>Qt::AlignCenter</set>
-         </property>
-         <layout class="QVBoxLayout" name="verticalLayout_8">
-          <item>
-           <widget class="TPushButton" name="tPushDiaPlus10_4">
-            <property name="maximumSize">
-             <size>
-              <width>16777215</width>
-              <height>16777215</height>
-             </size>
-            </property>
-            <property name="font">
-             <font>
-              <pointsize>12</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>+ 10</string>
-            </property>
-            <property name="targets">
-             <string>$1-&gt;SetDiaphPlus(10);;</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="TPushButton" name="tPushDiaPlusOne_4">
-            <property name="enabled">
-             <bool>false</bool>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>16777215</width>
-              <height>16777215</height>
-             </size>
-            </property>
-            <property name="font">
-             <font>
-              <pointsize>12</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>+1</string>
-            </property>
-            <property name="targets">
-             <string>$1-&gt;SetDiaphPlus(1);</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="TPushButton" name="tPushDiaMinusOne_4">
-            <property name="font">
-             <font>
-              <pointsize>12</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>-1</string>
-            </property>
-            <property name="targets">
-             <string>$1-&gt;SetDiaphMinus(1);;</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="TPushButton" name="tPushDiaMinus10_4">
-            <property name="font">
-             <font>
-              <pointsize>12</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>- 10</string>
-            </property>
-            <property name="targets">
-             <string>$1-&gt;SetDiaphMinus(10);;</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="TLabel" name="tLabel_3">
-            <property name="source">
-             <string>$1/Diaphpulses</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QLabel" name="label_15">
-            <property name="text">
-             <string>max. pulses</string>
-            </property>
-           </widget>
-          </item>
-         </layout>
-        </widget>
-       </item>
-      </layout>
-     </item>
-     <item row="1" column="2">
-      <spacer name="horizontalSpacer_2">
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>118</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item row="2" column="1">
-      <spacer name="verticalSpacer">
-       <property name="orientation">
-        <enum>Qt::Vertical</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>20</width>
-         <height>127</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-    </layout>
-   </widget>
-  </widget>
-  <widget class="QWidget" name="widget" native="true">
-   <property name="geometry">
-    <rect>
-     <x>9</x>
-     <y>530</y>
-     <width>620</width>
-     <height>101</height>
-    </rect>
-   </property>
-   <property name="sizePolicy">
-    <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-     <horstretch>0</horstretch>
-     <verstretch>0</verstretch>
-    </sizepolicy>
-   </property>
-   <property name="minimumSize">
-    <size>
-     <width>550</width>
-     <height>101</height>
-    </size>
-   </property>
-   <widget class="EContextHelp" name="eContextHelp">
-    <property name="geometry">
-     <rect>
-      <x>550</x>
-      <y>72</y>
-      <width>70</width>
-      <height>28</height>
-     </rect>
-    </property>
-    <property name="text">
-     <string>?</string>
-    </property>
-   </widget>
-   <widget class="TLabel" name="status_tLabel">
-    <property name="geometry">
-     <rect>
-      <x>19</x>
-      <y>0</y>
-      <width>520</width>
-      <height>100</height>
-     </rect>
-    </property>
-    <property name="text">
-     <string/>
-    </property>
-    <property name="margin">
-     <number>3</number>
-    </property>
-    <property name="source">
-     <string>$1/Status</string>
-    </property>
-   </widget>
-   <widget class="TPushButton" name="emergencyStop_tPushButton">
-    <property name="geometry">
-     <rect>
-      <x>550</x>
-      <y>0</y>
-      <width>70</width>
-      <height>70</height>
-     </rect>
-    </property>
-    <property name="whatsThis">
-     <string>Emergency STOP</string>
-    </property>
-    <property name="text">
-     <string/>
-    </property>
-    <property name="icon">
-     <iconset resource="../mscr.qrc">
-      <normaloff>:/images/Stop_sign_MUTCD.svg</normaloff>:/images/Stop_sign_MUTCD.svg</iconset>
-    </property>
-    <property name="iconSize">
-     <size>
-      <width>67</width>
-      <height>67</height>
-     </size>
-    </property>
-    <property name="flat">
-     <bool>false</bool>
-    </property>
-    <property name="targets">
-     <string>$1-&gt;EmergencyStop</string>
-    </property>
-   </widget>
-   <widget class="TLed" name="state_tLed">
-    <property name="geometry">
-     <rect>
-      <x>0</x>
-      <y>0</y>
-      <width>20</width>
-      <height>100</height>
-     </rect>
-    </property>
-    <property name="rectangular">
-     <bool>true</bool>
-    </property>
-    <property name="gradientEnabled">
-     <bool>false</bool>
-    </property>
-    <property name="ledWidth">
-     <number>18</number>
-    </property>
-    <property name="ledHeight">
-     <number>98</number>
-    </property>
-    <property name="source">
-     <string>$1/State</string>
-    </property>
-    <property name="ledHheight" stdset="0">
-     <number>24</number>
-    </property>
-   </widget>
-  </widget>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <customwidgets>
-  <customwidget>
-   <class>TLabel</class>
-   <extends>ELabel</extends>
-   <header>TLabel</header>
-  </customwidget>
-  <customwidget>
-   <class>TTable</class>
-   <extends>EFlag</extends>
-   <header>TTable</header>
-  </customwidget>
-  <customwidget>
-   <class>TLed</class>
-   <extends>ELed</extends>
-   <header>TLed</header>
-  </customwidget>
-  <customwidget>
-   <class>TApplyNumeric</class>
-   <extends>EApplyNumeric</extends>
-   <header>TApplyNumeric</header>
-  </customwidget>
-  <customwidget>
-   <class>TPushButton</class>
-   <extends>QPushButton</extends>
-   <header>TPushButton</header>
-  </customwidget>
-  <customwidget>
-   <class>TLogButton</class>
-   <extends>QPushButton</extends>
-   <header>TLogButton</header>
-  </customwidget>
-  <customwidget>
-   <class>TReaderWriter</class>
-   <extends>TLabel</extends>
-   <header>TReaderWriter</header>
-  </customwidget>
-  <customwidget>
-   <class>ELabel</class>
-   <extends>QLabel</extends>
-   <header>elabel.h</header>
-  </customwidget>
-  <customwidget>
-   <class>EFlag</class>
-   <extends>QWidget</extends>
-   <header>eflag.h</header>
-  </customwidget>
-  <customwidget>
-   <class>ELed</class>
-   <extends>QWidget</extends>
-   <header>eled.h</header>
-  </customwidget>
-  <customwidget>
-   <class>EApplyNumeric</class>
-   <extends>QWidget</extends>
-   <header>eapplynumeric.h</header>
-  </customwidget>
-  <customwidget>
-   <class>EContextHelp</class>
-   <extends>QPushButton</extends>
-   <header>econtexthelp.h</header>
-  </customwidget>
- </customwidgets>
- <resources>
-  <include location="../mscr.qrc"/>
- </resources>
- <connections/>
-</ui>
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>mscr</class>
+ <widget class="QWidget" name="mscr">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>462</width>
+    <height>587</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>mscr</string>
+  </property>
+  <layout class="QGridLayout" name="gridLayout_11">
+   <item row="1" column="1">
+    <widget class="QuLabel" name="status_tLabel">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+       <horstretch>1</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="margin">
+      <number>3</number>
+     </property>
+     <property name="source">
+      <string>$1/Status</string>
+     </property>
+    </widget>
+   </item>
+   <item row="1" column="0">
+    <widget class="QuLed" name="state_tLed">
+     <property name="enabled">
+      <bool>true</bool>
+     </property>
+     <property name="rectangular">
+      <bool>true</bool>
+     </property>
+     <property name="gradientEnabled">
+      <bool>false</bool>
+     </property>
+     <property name="ledWidth">
+      <number>18</number>
+     </property>
+     <property name="ledHeight">
+      <number>98</number>
+     </property>
+     <property name="source">
+      <string>$1/State</string>
+     </property>
+     <property name="ledHheight" stdset="0">
+      <number>24</number>
+     </property>
+    </widget>
+   </item>
+   <item row="0" column="0" colspan="3">
+    <widget class="QTabWidget" name="tabWidget">
+     <property name="currentIndex">
+      <number>0</number>
+     </property>
+     <widget class="QWidget" name="tab_main">
+      <attribute name="title">
+       <string>Main</string>
+      </attribute>
+      <layout class="QGridLayout" name="gridLayout_9">
+       <item row="4" column="3" colspan="3">
+        <widget class="QGroupBox" name="horSlit_groupBox">
+         <property name="font">
+          <font>
+           <weight>75</weight>
+           <bold>true</bold>
+          </font>
+         </property>
+         <property name="title">
+          <string>Horizontal slit</string>
+         </property>
+         <layout class="QGridLayout" name="gridLayout_8">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_42">
+            <property name="font">
+             <font>
+              <weight>50</weight>
+              <bold>false</bold>
+             </font>
+            </property>
+            <property name="text">
+             <string>position</string>
+            </property>
+            <property name="alignment">
+             <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+            </property>
+            <property name="wordWrap">
+             <bool>true</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QuInputOutput" name="qioHSlit"/>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item row="0" column="0" rowspan="3">
+        <widget class="QGroupBox" name="selector_groupBox">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="font">
+          <font>
+           <weight>75</weight>
+           <bold>true</bold>
+          </font>
+         </property>
+         <property name="title">
+          <string>selector</string>
+         </property>
+         <layout class="QVBoxLayout" name="verticalLayout_10">
+          <item>
+           <widget class="QRadioButton" name="rbp0">
+            <property name="font">
+             <font>
+              <weight>50</weight>
+              <bold>false</bold>
+             </font>
+            </property>
+            <property name="text">
+             <string>0</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QRadioButton" name="rbp1">
+            <property name="font">
+             <font>
+              <weight>50</weight>
+              <bold>false</bold>
+             </font>
+            </property>
+            <property name="text">
+             <string>1</string>
+            </property>
+            <property name="checked">
+             <bool>true</bool>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QRadioButton" name="rbp2">
+            <property name="font">
+             <font>
+              <weight>50</weight>
+              <bold>false</bold>
+             </font>
+            </property>
+            <property name="text">
+             <string>2</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QRadioButton" name="rbp3">
+            <property name="font">
+             <font>
+              <weight>50</weight>
+              <bold>false</bold>
+             </font>
+            </property>
+            <property name="text">
+             <string>3</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QRadioButton" name="rbp4">
+            <property name="font">
+             <font>
+              <weight>50</weight>
+              <bold>false</bold>
+             </font>
+            </property>
+            <property name="text">
+             <string>4</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item row="0" column="5">
+        <widget class="QGroupBox" name="gbLightLevel2">
+         <property name="title">
+          <string>Light Level (straight)</string>
+         </property>
+         <layout class="QHBoxLayout" name="horizontalLayout_5">
+          <item>
+           <widget class="QuLabel" name="qulLightLevel2"/>
+          </item>
+          <item>
+           <widget class="QComboBox" name="lightLevel_comboBox_2">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <item>
+             <property name="text">
+              <string>off</string>
+             </property>
+            </item>
+            <item>
+             <property name="text">
+              <string>high</string>
+             </property>
+            </item>
+            <item>
+             <property name="text">
+              <string>medium</string>
+             </property>
+            </item>
+            <item>
+             <property name="text">
+              <string>low</string>
+             </property>
+            </item>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item row="4" column="0" colspan="3">
+        <widget class="QGroupBox" name="verSlit_groupBox">
+         <property name="font">
+          <font>
+           <weight>75</weight>
+           <bold>true</bold>
+          </font>
+         </property>
+         <property name="title">
+          <string>Vertical slit</string>
+         </property>
+         <layout class="QGridLayout" name="gridLayout_7">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_40">
+            <property name="font">
+             <font>
+              <weight>50</weight>
+              <bold>false</bold>
+             </font>
+            </property>
+            <property name="text">
+             <string>position</string>
+            </property>
+            <property name="alignment">
+             <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+            </property>
+            <property name="wordWrap">
+             <bool>true</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QuInputOutput" name="qioVSlit"/>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item row="3" column="3" colspan="3">
+        <widget class="QGroupBox" name="attenuator2_groupBox">
+         <property name="font">
+          <font>
+           <weight>75</weight>
+           <bold>true</bold>
+          </font>
+         </property>
+         <property name="title">
+          <string>attenuator #2</string>
+         </property>
+         <layout class="QGridLayout" name="gridLayout_6">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_39">
+            <property name="font">
+             <font>
+              <pointsize>10</pointsize>
+              <weight>50</weight>
+              <bold>false</bold>
+             </font>
+            </property>
+            <property name="text">
+             <string>attenuation %</string>
+            </property>
+            <property name="alignment">
+             <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QuInputOutput" name="qio_polar2Attenuation">
+            <property name="font">
+             <font>
+              <family>Arial</family>
+              <weight>50</weight>
+              <bold>false</bold>
+             </font>
+            </property>
+            <property name="zoomEnabled" stdset="0">
+             <bool>false</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0" colspan="2">
+           <widget class="QLabel" name="label_11">
+            <property name="font">
+             <font>
+              <pointsize>10</pointsize>
+              <weight>50</weight>
+              <bold>false</bold>
+             </font>
+            </property>
+            <property name="text">
+             <string>max. abs. val. 10^-4</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item row="0" column="1" colspan="2">
+        <widget class="QGroupBox" name="gbLightLevel">
+         <property name="title">
+          <string>Light Level</string>
+         </property>
+         <layout class="QHBoxLayout" name="horizontalLayout_4">
+          <item>
+           <widget class="QuLabel" name="tLabelLightLevel">
+            <property name="source">
+             <string>$1/LightLevel</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QComboBox" name="lightLevel_comboBox">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <item>
+             <property name="text">
+              <string>off</string>
+             </property>
+            </item>
+            <item>
+             <property name="text">
+              <string>high</string>
+             </property>
+            </item>
+            <item>
+             <property name="text">
+              <string>medium</string>
+             </property>
+            </item>
+            <item>
+             <property name="text">
+              <string>low</string>
+             </property>
+            </item>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item row="3" column="0" colspan="3">
+        <widget class="QGroupBox" name="attenuator1_groupBox">
+         <property name="font">
+          <font>
+           <weight>75</weight>
+           <bold>true</bold>
+          </font>
+         </property>
+         <property name="title">
+          <string>attenuator #1</string>
+         </property>
+         <layout class="QGridLayout" name="gridLayout_5">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_38">
+            <property name="font">
+             <font>
+              <pointsize>10</pointsize>
+              <weight>50</weight>
+              <bold>false</bold>
+             </font>
+            </property>
+            <property name="text">
+             <string>attenuation %</string>
+            </property>
+            <property name="alignment">
+             <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QuInputOutput" name="qio_polar1Attenuation">
+            <property name="font">
+             <font>
+              <family>Arial</family>
+              <weight>50</weight>
+              <bold>false</bold>
+             </font>
+            </property>
+            <property name="zoomEnabled" stdset="0">
+             <bool>false</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0" colspan="2">
+           <widget class="QLabel" name="label_10">
+            <property name="font">
+             <font>
+              <pointsize>10</pointsize>
+              <weight>50</weight>
+              <bold>false</bold>
+             </font>
+            </property>
+            <property name="text">
+             <string>max. abs. val. 10^-4</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="tab_expert">
+      <attribute name="title">
+       <string>Expert</string>
+      </attribute>
+      <layout class="QGridLayout" name="gridLayout_3">
+       <item row="0" column="0">
+        <widget class="QuButton" name="tPushButton_2">
+         <property name="enabled">
+          <bool>false</bool>
+         </property>
+         <property name="text">
+          <string>INIT  STEPPER
+( init motor + fault reset )</string>
+         </property>
+         <property name="target">
+          <string>$1-&gt;StepperInit</string>
+         </property>
+        </widget>
+       </item>
+       <item row="2" column="0">
+        <widget class="QuButton" name="tPushButton_3">
+         <property name="text">
+          <string>INIT  ATTENUATOR(s)
+( motor homing )</string>
+         </property>
+         <property name="target">
+          <string>$1-&gt;PolarInit</string>
+         </property>
+        </widget>
+       </item>
+       <item row="4" column="0">
+        <widget class="QuButton" name="tPushButton_5">
+         <property name="text">
+          <string>CAMERA ON
+( power on )</string>
+         </property>
+         <property name="target">
+          <string>$1-&gt;CameraOn</string>
+         </property>
+        </widget>
+       </item>
+       <item row="4" column="1">
+        <widget class="QuButton" name="tPushButton_13">
+         <property name="text">
+          <string>AUXILIARY OUTPUT ON</string>
+         </property>
+         <property name="target">
+          <string>$1-&gt;AuxiliaryOutOn</string>
+         </property>
+        </widget>
+       </item>
+       <item row="5" column="0">
+        <widget class="QuButton" name="tPushButton_6">
+         <property name="text">
+          <string>CAMERA OFF
+( power off )</string>
+         </property>
+         <property name="target">
+          <string>$1-&gt;CameraOff</string>
+         </property>
+        </widget>
+       </item>
+       <item row="5" column="1">
+        <widget class="QuButton" name="tPushButton_14">
+         <property name="text">
+          <string>AUXILIARY OUTPUT OFF</string>
+         </property>
+         <property name="target">
+          <string>$1-&gt;AuxiliaryOutOff</string>
+         </property>
+        </widget>
+       </item>
+       <item row="2" column="1">
+        <widget class="QuButton" name="tPushButton_4">
+         <property name="text">
+          <string>RESET  ATTENUATOR(s)
+( power off + power on )</string>
+         </property>
+         <property name="target">
+          <string>$1-&gt;PolarReset</string>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="1">
+        <widget class="QuButton" name="tPushButton">
+         <property name="text">
+          <string>RESET  CAMERA
+( power off + power on )</string>
+         </property>
+         <property name="target">
+          <string>$1-&gt;CameraReset</string>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="tab_status">
+      <attribute name="title">
+       <string>Status</string>
+      </attribute>
+      <layout class="QVBoxLayout" name="verticalLayout_9">
+       <item>
+        <widget class="QScrollArea" name="scrollArea">
+         <property name="widgetResizable">
+          <bool>true</bool>
+         </property>
+         <widget class="QWidget" name="scrollAreaWidgetContents">
+          <property name="geometry">
+           <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>469</width>
+            <height>618</height>
+           </rect>
+          </property>
+          <layout class="QGridLayout" name="gridLayout_10">
+           <item row="0" column="0" rowspan="2">
+            <widget class="QGroupBox" name="mscrStatus_groupBox">
+             <property name="title">
+              <string>global status</string>
+             </property>
+             <layout class="QHBoxLayout" name="horizontalLayout">
+              <property name="spacing">
+               <number>5</number>
+              </property>
+              <property name="leftMargin">
+               <number>5</number>
+              </property>
+              <property name="topMargin">
+               <number>5</number>
+              </property>
+              <property name="rightMargin">
+               <number>5</number>
+              </property>
+              <property name="bottomMargin">
+               <number>5</number>
+              </property>
+              <item>
+               <layout class="QVBoxLayout" name="verticalLayout">
+                <item>
+                 <widget class="QLabel" name="label">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>movement</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_2">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>attenuator #1</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_12">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>attenuator #1</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_3">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>attenuator #2</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_4">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>attenuator #2</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_20">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>slits</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_6">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>vertical slit</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_5">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>horizontal slit</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_7">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>light</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_8">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>safety switch</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_9">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>pneumatic piston</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_19">
+                  <property name="minimumSize">
+                   <size>
+                    <width>135</width>
+                    <height>0</height>
+                   </size>
+                  </property>
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>pneumatic piston</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+               </layout>
+              </item>
+              <item>
+               <widget class="QuTable" name="mscrStatus_tTable">
+                <property name="font">
+                 <font>
+                  <weight>50</weight>
+                  <bold>false</bold>
+                 </font>
+                </property>
+                <property name="numRows">
+                 <number>12</number>
+                </property>
+                <property name="numColumns">
+                 <number>1</number>
+                </property>
+                <property name="trueColors">
+                 <string>4290494403;4290494403;4290494403;4290494403;4290494403;4290494403;4284344910;4284344910;4294556167;4290494403;4278228181;4293342999</string>
+                </property>
+                <property name="falseColors">
+                 <string>4290494403;4290494403;4290494403;4290494403;4290494403;4290494403;4294556167;4294556167;4290494403;4290494403;4290494403;4284344910</string>
+                </property>
+                <property name="trueStrings">
+                 <string>pneumatic;present;discrete;present;discrete;present;allowed to move;allowed to move;on;touched;moving;reach error</string>
+                </property>
+                <property name="falseStrings">
+                 <string>stepper;not preset;continuos;not present;continuos;not present;not allowed to move;not allowed to move;off;not touched;not moving;reached position</string>
+                </property>
+                <property name="displayMask">
+                 <string>0,1,2,3,4,5,6,7,8,9,10,11</string>
+                </property>
+                <property name="source">
+                 <string>$1/MscrStatus</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+           <item row="0" column="1">
+            <widget class="QGroupBox" name="polar1Status_groupBox">
+             <property name="title">
+              <string>polarimeter #1 motor status</string>
+             </property>
+             <layout class="QHBoxLayout" name="horizontalLayout_2">
+              <property name="spacing">
+               <number>5</number>
+              </property>
+              <property name="leftMargin">
+               <number>5</number>
+              </property>
+              <property name="topMargin">
+               <number>5</number>
+              </property>
+              <property name="rightMargin">
+               <number>5</number>
+              </property>
+              <property name="bottomMargin">
+               <number>5</number>
+              </property>
+              <item>
+               <layout class="QVBoxLayout" name="verticalLayout_2">
+                <item>
+                 <widget class="QLabel" name="label_21">
+                  <property name="minimumSize">
+                   <size>
+                    <width>130</width>
+                    <height>0</height>
+                   </size>
+                  </property>
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>motor</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_22">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>position</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_23">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>communication</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_24">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>left limit switch</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_25">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>right limit switch</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+               </layout>
+              </item>
+              <item>
+               <widget class="QuTable" name="polar1Status_tTable">
+                <property name="font">
+                 <font>
+                  <weight>50</weight>
+                  <bold>false</bold>
+                 </font>
+                </property>
+                <property name="numRows">
+                 <number>5</number>
+                </property>
+                <property name="numColumns">
+                 <number>1</number>
+                </property>
+                <property name="trueColors">
+                 <string>4278228181;4293342999;4293342999;4290494403;4290494403</string>
+                </property>
+                <property name="falseColors">
+                 <string>4290494403;4290494403;4284344910;4290494403;4290494403</string>
+                </property>
+                <property name="trueStrings">
+                 <string>moving;not reached;error;touched;touched</string>
+                </property>
+                <property name="falseStrings">
+                 <string>not moving;reached;ok;not touched;not touched</string>
+                </property>
+                <property name="displayMask">
+                 <string>0,1,2,3,4</string>
+                </property>
+                <property name="source">
+                 <string>$1/Polar1Status</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+           <item row="1" column="1">
+            <widget class="QGroupBox" name="polar2Status_groupBox">
+             <property name="title">
+              <string>polarimeter #2 motor status</string>
+             </property>
+             <layout class="QHBoxLayout" name="horizontalLayout_3">
+              <property name="spacing">
+               <number>5</number>
+              </property>
+              <property name="leftMargin">
+               <number>5</number>
+              </property>
+              <property name="topMargin">
+               <number>5</number>
+              </property>
+              <property name="rightMargin">
+               <number>5</number>
+              </property>
+              <property name="bottomMargin">
+               <number>5</number>
+              </property>
+              <item>
+               <layout class="QVBoxLayout" name="verticalLayout_3">
+                <item>
+                 <widget class="QLabel" name="label_26">
+                  <property name="minimumSize">
+                   <size>
+                    <width>130</width>
+                    <height>0</height>
+                   </size>
+                  </property>
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>motor</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_27">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>position</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_28">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>communication</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_29">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>left limit switch</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_30">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>right limit switch</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+               </layout>
+              </item>
+              <item>
+               <widget class="QuTable" name="qutable_polar2Status">
+                <property name="font">
+                 <font>
+                  <weight>50</weight>
+                  <bold>false</bold>
+                 </font>
+                </property>
+                <property name="numRows">
+                 <number>5</number>
+                </property>
+                <property name="numColumns">
+                 <number>1</number>
+                </property>
+                <property name="trueColors">
+                 <string>4278228181;4293342999;4293342999;4290494403;4290494403</string>
+                </property>
+                <property name="falseColors">
+                 <string>4290494403;4290494403;4284344910;4290494403;4290494403</string>
+                </property>
+                <property name="trueStrings">
+                 <string>moving;not reached;error;touched;touched</string>
+                </property>
+                <property name="falseStrings">
+                 <string>not moving;reached;ok;not touched;not touched</string>
+                </property>
+                <property name="displayMask">
+                 <string>0,1,2,3,4</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+           <item row="2" column="0">
+            <widget class="QGroupBox" name="stepperVerStatus_groupBox">
+             <property name="title">
+              <string>VER stepper motor status</string>
+             </property>
+             <layout class="QGridLayout" name="gridLayout_2">
+              <property name="leftMargin">
+               <number>5</number>
+              </property>
+              <property name="topMargin">
+               <number>5</number>
+              </property>
+              <property name="rightMargin">
+               <number>5</number>
+              </property>
+              <property name="bottomMargin">
+               <number>5</number>
+              </property>
+              <item row="0" column="0">
+               <layout class="QVBoxLayout" name="verticalLayout_5">
+                <item>
+                 <widget class="QLabel" name="label_34">
+                  <property name="minimumSize">
+                   <size>
+                    <width>135</width>
+                    <height>0</height>
+                   </size>
+                  </property>
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>motor</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_35">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>motor</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_36">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>communication</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+               </layout>
+              </item>
+              <item row="0" column="1">
+               <widget class="QuTable" name="qutable_stepperVerStatus">
+                <property name="font">
+                 <font>
+                  <weight>50</weight>
+                  <bold>false</bold>
+                 </font>
+                </property>
+                <property name="numRows">
+                 <number>3</number>
+                </property>
+                <property name="numColumns">
+                 <number>1</number>
+                </property>
+                <property name="trueColors">
+                 <string>4293342999;4278228181;4293342999</string>
+                </property>
+                <property name="falseColors">
+                 <string>4284344910;4290494403;4284344910</string>
+                </property>
+                <property name="trueStrings">
+                 <string>error;moving;error</string>
+                </property>
+                <property name="falseStrings">
+                 <string>ok;not moving;ok</string>
+                </property>
+                <property name="displayMask">
+                 <string>0,1,2</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+           <item row="2" column="1">
+            <widget class="QGroupBox" name="stepperHorStatus_groupBox">
+             <property name="title">
+              <string>HOR stepper motor status</string>
+             </property>
+             <layout class="QGridLayout" name="gridLayout_4">
+              <item row="0" column="0">
+               <layout class="QVBoxLayout" name="verticalLayout_4">
+                <item>
+                 <widget class="QLabel" name="label_31">
+                  <property name="minimumSize">
+                   <size>
+                    <width>130</width>
+                    <height>0</height>
+                   </size>
+                  </property>
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>motor</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_32">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>motor</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="label_33">
+                  <property name="font">
+                   <font>
+                    <weight>50</weight>
+                    <bold>false</bold>
+                   </font>
+                  </property>
+                  <property name="text">
+                   <string>communication</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                 </widget>
+                </item>
+               </layout>
+              </item>
+              <item row="0" column="1">
+               <widget class="QuTable" name="qutable_stepperHorStatus">
+                <property name="font">
+                 <font>
+                  <weight>50</weight>
+                  <bold>false</bold>
+                 </font>
+                </property>
+                <property name="numRows">
+                 <number>3</number>
+                </property>
+                <property name="numColumns">
+                 <number>1</number>
+                </property>
+                <property name="trueColors">
+                 <string>4293342999;4278228181;4293342999</string>
+                </property>
+                <property name="falseColors">
+                 <string>4284344910;4290494403;4284344910</string>
+                </property>
+                <property name="trueStrings">
+                 <string>error;moving;error</string>
+                </property>
+                <property name="falseStrings">
+                 <string>ok;not moving;ok</string>
+                </property>
+                <property name="displayMask">
+                 <string>0,1,2</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+          </layout>
+         </widget>
+        </widget>
+       </item>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="tab_lensctrl">
+      <attribute name="title">
+       <string>LensCtrl</string>
+      </attribute>
+      <layout class="QGridLayout" name="gridLayout">
+       <item row="0" column="1">
+        <spacer name="verticalSpacer_2">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>127</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item row="1" column="0">
+        <spacer name="horizontalSpacer">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>103</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item row="1" column="1">
+        <layout class="QHBoxLayout" name="horizontalLayout_6">
+         <property name="spacing">
+          <number>12</number>
+         </property>
+         <property name="leftMargin">
+          <number>6</number>
+         </property>
+         <property name="topMargin">
+          <number>6</number>
+         </property>
+         <property name="rightMargin">
+          <number>6</number>
+         </property>
+         <property name="bottomMargin">
+          <number>6</number>
+         </property>
+         <item>
+          <widget class="QGroupBox" name="groupBox_Focus_4">
+           <property name="font">
+            <font>
+             <pointsize>11</pointsize>
+            </font>
+           </property>
+           <property name="title">
+            <string>Focus</string>
+           </property>
+           <property name="alignment">
+            <set>Qt::AlignCenter</set>
+           </property>
+           <layout class="QVBoxLayout" name="verticalLayout_6">
+            <item>
+             <widget class="QuButton" name="tPushFocusPlus10_4">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="text">
+               <string>+ 10</string>
+              </property>
+              <property name="target">
+               <string>$1-&gt;SetFocusPlus(10)</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QuButton" name="tPushFocusPlusOne_4">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="text">
+               <string>+1</string>
+              </property>
+              <property name="target">
+               <string>$1-&gt;SetFocusPlus(1)</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QuButton" name="tPushFocusMinusOne_4">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="text">
+               <string>-1</string>
+              </property>
+              <property name="target">
+               <string>$1-&gt;SetFocusMinus(1)</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QuButton" name="tPushFocusMinus10_4">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="text">
+               <string>- 10</string>
+              </property>
+              <property name="target">
+               <string>$1-&gt;SetFocusMinus(10)</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QuLabel" name="tLabel">
+              <property name="source">
+               <string>$1/Focuspulses</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLabel" name="label_13">
+              <property name="text">
+               <string>max. pulses</string>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </widget>
+         </item>
+         <item>
+          <widget class="QGroupBox" name="groupBox_Zoom_4">
+           <property name="font">
+            <font>
+             <pointsize>11</pointsize>
+            </font>
+           </property>
+           <property name="title">
+            <string>Zoom</string>
+           </property>
+           <property name="alignment">
+            <set>Qt::AlignCenter</set>
+           </property>
+           <layout class="QVBoxLayout" name="verticalLayout_7">
+            <item>
+             <widget class="QuButton" name="tPushZoomPlus10_4">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="text">
+               <string>+ 10</string>
+              </property>
+              <property name="target">
+               <string>$1-&gt;SetZoomPlus(10)</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QuButton" name="tPushZoomPlusOne_4">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="text">
+               <string>+1</string>
+              </property>
+              <property name="target">
+               <string>$1-&gt;SetZoomPlus(1)</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QuButton" name="tPushZoomMinusOne_4">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="text">
+               <string>-1</string>
+              </property>
+              <property name="target">
+               <string>$1-&gt;SetZoomMinus(1)</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QuButton" name="tPushZoomMinus10_4">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="text">
+               <string>- 10</string>
+              </property>
+              <property name="target">
+               <string>$1-&gt;SetZoomMinus(10)</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QuLabel" name="tLabel_2">
+              <property name="source">
+               <string>$1/Zoompulses</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLabel" name="label_14">
+              <property name="text">
+               <string>max. pulses</string>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </widget>
+         </item>
+         <item>
+          <widget class="QGroupBox" name="groupBox_Diaph_4">
+           <property name="font">
+            <font>
+             <pointsize>11</pointsize>
+            </font>
+           </property>
+           <property name="layoutDirection">
+            <enum>Qt::LeftToRight</enum>
+           </property>
+           <property name="title">
+            <string>Diaphragm</string>
+           </property>
+           <property name="alignment">
+            <set>Qt::AlignCenter</set>
+           </property>
+           <layout class="QVBoxLayout" name="verticalLayout_8">
+            <item>
+             <widget class="QuButton" name="tPushDiaPlus10_4">
+              <property name="maximumSize">
+               <size>
+                <width>16777215</width>
+                <height>16777215</height>
+               </size>
+              </property>
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="text">
+               <string>+ 10</string>
+              </property>
+              <property name="target">
+               <string>$1-&gt;SetDiaphPlus(10)</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QuButton" name="tPushDiaPlusOne_4">
+              <property name="enabled">
+               <bool>false</bool>
+              </property>
+              <property name="maximumSize">
+               <size>
+                <width>16777215</width>
+                <height>16777215</height>
+               </size>
+              </property>
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="text">
+               <string>+1</string>
+              </property>
+              <property name="target">
+               <string>$1-&gt;SetDiaphPlus(1)</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QuButton" name="tPushDiaMinusOne_4">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="text">
+               <string>-1</string>
+              </property>
+              <property name="target">
+               <string>$1-&gt;SetDiaphMinus(1)</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QuButton" name="tPushDiaMinus10_4">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="text">
+               <string>- 10</string>
+              </property>
+              <property name="target">
+               <string>$1-&gt;SetDiaphMinus(10)</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QuLabel" name="tLabel_3">
+              <property name="source">
+               <string>$1/Diaphpulses</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLabel" name="label_15">
+              <property name="text">
+               <string>max. pulses</string>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </widget>
+         </item>
+        </layout>
+       </item>
+       <item row="1" column="2">
+        <spacer name="horizontalSpacer_2">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>118</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item row="2" column="1">
+        <spacer name="verticalSpacer">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>127</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+   <item row="1" column="2">
+    <widget class="QuButton" name="emergencyStop_tPushButton">
+     <property name="whatsThis">
+      <string>Emergency STOP</string>
+     </property>
+     <property name="text">
+      <string/>
+     </property>
+     <property name="icon">
+      <iconset resource="../mscr.qrc">
+       <normaloff>:/images/Stop_sign_MUTCD.svg</normaloff>:/images/Stop_sign_MUTCD.svg</iconset>
+     </property>
+     <property name="iconSize">
+      <size>
+       <width>64</width>
+       <height>64</height>
+      </size>
+     </property>
+     <property name="target">
+      <string>$1-&gt;EmergencyStop</string>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <customwidgets>
+  <customwidget>
+   <class>QuLabel</class>
+   <extends>QLabel</extends>
+   <header>qulabel.h</header>
+  </customwidget>
+  <customwidget>
+   <class>QuLed</class>
+   <extends>QWidget</extends>
+   <header>quled.h</header>
+  </customwidget>
+  <customwidget>
+   <class>QuTable</class>
+   <extends>EFlag</extends>
+   <header>qutable.h</header>
+  </customwidget>
+  <customwidget>
+   <class>QuButton</class>
+   <extends>QPushButton</extends>
+   <header>qubutton.h</header>
+  </customwidget>
+  <customwidget>
+   <class>QuInputOutput</class>
+   <extends>QFrame</extends>
+   <header>quinputoutput.h</header>
+  </customwidget>
+  <customwidget>
+   <class>EFlag</class>
+   <extends>QWidget</extends>
+   <header>eflag.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources>
+  <include location="../mscr.qrc"/>
+ </resources>
+ <connections/>
+</ui>
-- 
GitLab