Skip to content
Snippets Groups Projects
Commit a9e24248 authored by Giacomo Strangolino's avatar Giacomo Strangolino
Browse files

cumbia-multiengine + 1D and 2D launchers

parent 7f3d8471
No related branches found
Tags 1.0.0
No related merge requests found
include (/usr/local/cumbia-libs/include/qumbia-tango-controls/qumbia-tango-controls.pri)
isEmpty(CUMBIA_ROOT) {
CUMBIA_ROOT=/usr/local/cumbia-libs
}
include($${CUMBIA_ROOT}/include/quapps/quapps.pri)
# CONFIG += debug | release
TEMPLATE = app
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets x11extras
CONFIG +=
CONFIG+=link_pkgconfig
PKGCONFIG += x11
......
#include "mimofb.h"
// #include <TApplication>
// cumbia-tango
#include <cumbiatango.h>
#include <cuthreadfactoryimpl.h>
#include <qthreadseventbridgefactory.h>
// cumbia-tango
#include <quapplication.h>// TApplication is mapped into QuApplication. DBus connection is provided by the cumbia dbus plugin // ## added by qumbiaprojectwizard
// #include <tutil.h>
// no cumbia include replacement found for tutil.h
#include <cumbiapool.h>
#include <quapplication.h>
#include <X11/Xlib.h>
#include <QX11Info>
// #include <elettracolors.h>
// no cumbia include replacement found for elettracolors.h
#define CVSVERSION "$Name: $"
int main(int argc, char *argv[])
......@@ -24,8 +13,6 @@ int main(int argc, char *argv[])
QuApplication qu_app( argc, argv );// TApplication is mapped into QuApplication. DBus connection is provided by cumbia dbus plugin // ## added by qumbiaprojectwizard
qu_app.setOrganizationName("-");
qu_app.setApplicationName("-");
QString version(CVSVERSION);
qu_app.setApplicationVersion(version);
qu_app.setProperty("author", "Giacomo S.");
qu_app.setProperty("mail", "giacomo.strangolino@elettra.eu");
qu_app.setProperty("phone", "8073");
......@@ -35,15 +22,8 @@ int main(int argc, char *argv[])
// TUtil::instance()->setLoggingTarget(argv[0]);
// QTango TUtil:: class is not present in cumbia // ## added by qumbiaprojectwizard
CumbiaTango *cu_t = new CumbiaTango(new CuThreadFactoryImpl(), new QThreadsEventBridgeFactory());
mimofb *w = new mimofb(cu_t, 0);
// if(w->property("epalette").isValid())
// EPalette is not currently available in cumbia // ## added by qumbiaprojectwizard
// qu_app.setPalette(EPalette(w->property("epalette").toString()));
// EPalette is not currently available in cumbia // ## added by qumbiaprojectwizard
CumbiaPool *cu_p = new CumbiaPool();
mimofb *w = new mimofb(cu_p, 0);
w->show();
Display *disp = QX11Info::display();
......@@ -54,7 +34,7 @@ int main(int argc, char *argv[])
int ret = qu_app.exec();
// delete resources and return
delete w;
delete cu_t;
delete cu_p;
return ret;
......
#include "mimofb.h"
// cumbia-tango
#include <quapps.h>
#include <cuserviceprovider.h>
#include <cumacros.h>
// cumbia-tango
#include <quvector.h>
#include <qustring.h>
......@@ -10,35 +10,35 @@
#include <quwatcher.h>
#include <qulineedit.h>
mimofb::mimofb(CumbiaTango *cut, QWidget *parent) :
mimofb::mimofb(CumbiaPool *cumbia_pool, QWidget *parent) :
QWidget(parent) /* , ui(new Ui::mimofb) // ## qumbiaprojectwizard: instantiated in constructor body */
{
// cumbia-tango
cu_t = cut;
m_log = new CuLog(&m_log_impl);
cu_t->getServiceProvider()->registerService(CuServices::Log, m_log);
// cumbia
CuModuleLoader mloader(cumbia_pool, &m_ctrl_factory_pool, &m_log_impl);
cu_pool = cumbia_pool;
ui = new Ui::mimofb;
ui->setupUi(this, cu_t, cu_tango_r_fac, cu_tango_w_fac);
// cumbia-tango
ui->setupUi(this, cu_pool, m_ctrl_factory_pool);
connect(ui->eabConfigure, SIGNAL(clicked()), this, SLOT(launchApp()));
connect(ui->eab2DTarget, SIGNAL(clicked()), this, SLOT(launchApp()));
connect(ui->eab1DHistogram, SIGNAL(clicked()), this, SLOT(launchApp()));
connect(ui->eabConfigure, SIGNAL(clicked()), this, SLOT(launchConfigure()));
QuWatcher *namesWatcher = new QuWatcher(this, cu_t, cu_tango_r_fac);
QuWatcher *namesWatcher = new QuWatcher(this, cu_pool, m_ctrl_factory_pool);
namesWatcher->setSingleShot(true);
namesWatcher->setAutoDestroy(true);
namesWatcher->attach(this, SLOT(setupSensors(const QStringList&)));
namesWatcher->setSource("$1->GetSensorNames");
ui->gbSensorsValues->setVisible(false);
QuWatcher *actuatorNamesWatcher = new QuWatcher(this, cu_t, cu_tango_r_fac);
QuWatcher *actuatorNamesWatcher = new QuWatcher(this, cu_pool, m_ctrl_factory_pool);
actuatorNamesWatcher->setSingleShot(true);
actuatorNamesWatcher->setAutoDestroy(true);
actuatorNamesWatcher->attach(this, SLOT(setupActuators(const QStringList&)));
actuatorNamesWatcher->setSource("$1->GetActuatorNames");
QuWatcher *actionLabelListWatcher = new QuWatcher(this, cu_t, cu_tango_r_fac);
QuWatcher *actionLabelListWatcher = new QuWatcher(this, cu_pool, m_ctrl_factory_pool);
actionLabelListWatcher->setSingleShot(true);
actionLabelListWatcher->setAutoDestroy(true);
actionLabelListWatcher->attach(this, SLOT(setupActionLabels(const QStringList&)));
......@@ -102,7 +102,7 @@ void mimofb::setupSensors(const QStringList &names)
{
QSizePolicy sp(QSizePolicy::Preferred, QSizePolicy::Fixed);
sp.setHorizontalStretch(1);
QuWatcher *watcher = new QuWatcher(w, cu_t, cu_tango_r_fac);
QuWatcher *watcher = new QuWatcher(w, cu_pool, m_ctrl_factory_pool);
connect(watcher, SIGNAL(newData(const CuData&)), this, SLOT(onWatcherNewData(const CuData &)));
QStringList lineEditNameList;
r = 1;
......@@ -144,7 +144,7 @@ void mimofb::setupSensors(const QStringList &names)
c = c+3;
watcher->setSource("$1/" + a);
if(w->findChild<QLabel *>("label_set")) {
QuButton *pb = new QuButton(w, cu_t, cu_tango_w_fac);
QuButton *pb = new QuButton(w, cu_pool, m_ctrl_factory_pool);
pb->setTarget("$1/" + a + "(&" + lineEditNameList.join(",&") + ")");
pb->setToolTip("Apply values for " + a + "\ntarget: " + pb->target());
gl->addWidget(pb, r, c-1, 1, 1);
......@@ -182,9 +182,14 @@ void mimofb::onWatcherNewData(const CuData &da)
}
}
void mimofb::launchConfigure()
void mimofb::launchApp()
{
m_appLauncher.execute("mimoconfig " + qApp->arguments().at(1));
if(sender()->objectName() == "eabConfigure")
m_appLauncher.execute("mimoconfig " + qApp->arguments().at(1));
else if(sender()->objectName() == "eab2DTarget")
m_appLauncher.execute("trajectoryscene " + qApp->arguments().at(1) + " --mimofb");
else if(sender()->objectName() == "eab1DHistogram")
m_appLauncher.execute("mimo-fb-histogram " + qApp->arguments().at(1));
}
void mimofb::setupActionLabels(const QStringList &l)
......
#ifndef mimofb_H
#define mimofb_H
// cumbia-tango
// cumbia
#include <qulogimpl.h>
#include <cutcontrolsreader.h>
#include <cutcontrolswriter.h>
#include <cumbiatango.h>
// cumbia-tango
#include <cucontrolsfactorypool.h>
class CumbiaPool;
class CuData;
// cumbia
#include "applauncher.h"
#include <QWidget>
......@@ -20,7 +20,7 @@ class mimofb : public QWidget
Q_OBJECT
public:
explicit mimofb(CumbiaTango *cut, QWidget *parent = 0);
explicit mimofb(CumbiaPool *cup, QWidget *parent = 0);
~mimofb();
protected slots:
......@@ -31,17 +31,16 @@ protected slots:
void setupSensors(const QStringList& l);
void setupActionLabels(const QStringList&);
void onWatcherNewData(const CuData& da);
void launchConfigure();
void launchApp();
private:
Ui::mimofb *ui;
// cumbia-tango
CumbiaTango *cu_t;
CuTReaderFactory cu_tango_r_fac;
CuTWriterFactory cu_tango_w_fac;
// cumbia
CumbiaPool *cu_pool;
QuLogImpl m_log_impl;
CuControlsFactoryPool m_ctrl_factory_pool;
// cumbia
CuLog *m_log;
// cumbia-tango
// application launcher
AppLauncher m_appLauncher;
......
......@@ -180,19 +180,6 @@
</property>
</widget>
</item>
<item row="6" column="1" colspan="3">
<widget class="QuCheckBox" name="tCheckBox_4">
<property name="text">
<string>Steer Mode</string>
</property>
<property name="source">
<string>$1/SteerMode</string>
</property>
<property name="target">
<string>$1/SteerMode</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label">
<property name="text">
......@@ -203,19 +190,6 @@
</property>
</widget>
</item>
<item row="5" column="1" colspan="3">
<widget class="QuCheckBox" name="tCheckBox_3">
<property name="text">
<string>Slow Mode</string>
</property>
<property name="source">
<string>$1/SlowMode</string>
</property>
<property name="target">
<string>$1/SlowMode</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
......@@ -256,7 +230,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>370</width>
<width>455</width>
<height>393</height>
</rect>
</property>
......@@ -326,6 +300,46 @@
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QPushButton" name="eab2DTarget">
<property name="text">
<string>2D Target</string>
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QPushButton" name="eab1DHistogram">
<property name="text">
<string>1D Histogram</string>
</property>
</widget>
</item>
<item row="5" column="1" colspan="2">
<widget class="QuCheckBox" name="tCheckBox_3">
<property name="text">
<string>Slow Mode</string>
</property>
<property name="source">
<string>$1/SlowMode</string>
</property>
<property name="target">
<string>$1/SlowMode</string>
</property>
</widget>
</item>
<item row="6" column="1" colspan="2">
<widget class="QuCheckBox" name="tCheckBox_4">
<property name="text">
<string>Steer Mode</string>
</property>
<property name="source">
<string>$1/SteerMode</string>
</property>
<property name="target">
<string>$1/SteerMode</string>
</property>
</widget>
</item>
</layout>
</widget>
<layoutdefault spacing="6" margin="11"/>
......
#include "statelabel.h"
StateLabel::StateLabel(QWidget *parent, Cumbia *cumbia, const CuControlsReaderFactoryI &r_factory)
: QuLabel (parent, cumbia, r_factory)
StateLabel::StateLabel(QWidget *parent, CumbiaPool *cu_p, const CuControlsFactoryPool &fpoo)
: QuLabel (parent, cu_p, fpoo)
{
}
......
......@@ -11,7 +11,7 @@
class StateLabel : public QuLabel
{
public:
StateLabel(QWidget *parent, Cumbia *cumbia, const CuControlsReaderFactoryI &r_factory);
StateLabel(QWidget *parent, CumbiaPool *cu_p, const CuControlsFactoryPool &fpoo);
// CuDataListener interface
public:
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment