cumbia-qtcontrols 1.x
Qt widgets on top of the cumbia C++ library
plugin_ifaces/quxtrawidgetplugininterface.h
Go to the documentation of this file.
1#ifndef QUEXTRAWIDGETPLUGININTERFACE_H
2#define QUEXTRAWIDGETPLUGININTERFACE_H
3
4#include <QWidget>
5#include <QStringList>
6#include <cudata.h>
7#include <vector>
8
9class Cumbia;
10class CumbiaPool;
14class CuContext;
15
48public:
49
50 enum Type { Reader = 0x1, Writer = 0x2, ReaderWriter = 0x3 };
51
52 virtual ~QuXtraWidgetI() {}
53
58 virtual CuContext *getContext() const = 0;
59
72 virtual QString link() const = 0;
73
86 virtual void setLink(const QString& s) = 0;
87
93 virtual void unsetLink() = 0;
94
99 virtual Type getType() const = 0;
100};
101
147{
148public:
150
163 virtual QWidget *create(const QString& name, QWidget *parent, Cumbia *cumbia, const CuControlsReaderFactoryI &r_fac) {
164 Q_UNUSED(name)
165 Q_UNUSED(parent)
166 Q_UNUSED(cumbia)
167 Q_UNUSED(r_fac)
168 return nullptr;
169 }
170
182 virtual QWidget *create(const QString& name, QWidget *parent, Cumbia *cumbia, const CuControlsWriterFactoryI &w_fac) {
183 Q_UNUSED(name)
184 Q_UNUSED(parent)
185 Q_UNUSED(cumbia)
186 Q_UNUSED(w_fac)
187 return nullptr;
188 }
189
204 virtual QWidget *create(const QString& name, QWidget *parent, CumbiaPool *cumbia_pool, const CuControlsFactoryPool &fpool) {
205 Q_UNUSED(name)
206 Q_UNUSED(parent)
207 Q_UNUSED(cumbia_pool)
208 Q_UNUSED(fpool)
209 return nullptr;
210 }
211
226 virtual QWidget *create(const QString& name, QWidget *parent, Cumbia *cumbia,
227 const CuControlsReaderFactoryI &r_fac, const CuControlsWriterFactoryI &w_fac) {
228 Q_UNUSED(name)
229 Q_UNUSED(parent)
230 Q_UNUSED(cumbia)
231 Q_UNUSED(r_fac)
232 Q_UNUSED(w_fac)
233 return nullptr;
234 }
240 virtual QString name() const = 0;
241
248 virtual QString description() const = 0;
249
255 virtual QStringList catalogue() const = 0;
256};
257
258#define QuXtraWidgetPluginI_iid "eu.elettra.qutils.QuXtraWidgetPluginI"
259
261
262#endif // QUACTIONEXTENSIONPLUGININTERFACE_H
CuLinkControl stores a small set of objects to help create readers and writers.
Definition cucontext.h:48
this class, used in conjunction with CumbiaPool allows to connect to different control system framewo...
Definition cucontrolsfactorypool.h:43
cumbia-qtcontrols reader factory. Creates an instance of a CuControlsReaderA implementation.
Definition cucontrolsfactories_i.h:67
cumbia-qtcontrols writer factory. Creates an instance of a CuControlWriterA implementation.
Definition cucontrolsfactories_i.h:24
QuXtraWidgetI defines an interface for widgets created by an implementation of QuXtraWidgetPluginI.
Definition plugin_ifaces/quxtrawidgetplugininterface.h:47
virtual ~QuXtraWidgetI()
Definition plugin_ifaces/quxtrawidgetplugininterface.h:52
virtual QString link() const =0
link returns the name of the link (i.e. the source of a reader or the target of a writer)
virtual void unsetLink()=0
unsetLink remove the source [target] linked to the reader [writer]
virtual CuContext * getContext() const =0
getContext subclasses must provide a pointer to the CuContext in use
virtual Type getType() const =0
getType returns a combination of QuXtraWidgetI::Type flags
virtual void setLink(const QString &s)=0
setLink sets the name of the link (source or target)
Type
Definition plugin_ifaces/quxtrawidgetplugininterface.h:50
@ ReaderWriter
Definition plugin_ifaces/quxtrawidgetplugininterface.h:50
@ Writer
Definition plugin_ifaces/quxtrawidgetplugininterface.h:50
@ Reader
Definition plugin_ifaces/quxtrawidgetplugininterface.h:50
QuXtraWidgetPluginI provides and interface that subclasses will use to provide one or more widgets ab...
Definition plugin_ifaces/quxtrawidgetplugininterface.h:147
virtual QWidget * create(const QString &name, QWidget *parent, Cumbia *cumbia, const CuControlsReaderFactoryI &r_fac, const CuControlsWriterFactoryI &w_fac)
create allocate and return a new QWidget implementing QuXtraWidgetI. Reader/Writer version.
Definition plugin_ifaces/quxtrawidgetplugininterface.h:226
virtual QString description() const =0
provides a brief description of the plugin and the classes it provides
virtual QWidget * create(const QString &name, QWidget *parent, Cumbia *cumbia, const CuControlsWriterFactoryI &w_fac)
create allocate and return a new QWidget implementing QuXtraWidgetI (writer version)
Definition plugin_ifaces/quxtrawidgetplugininterface.h:182
virtual ~QuXtraWidgetPluginI()
Definition plugin_ifaces/quxtrawidgetplugininterface.h:149
virtual QStringList catalogue() const =0
widgetList provides the list of the names of the widgets offered by the plugin
virtual QWidget * create(const QString &name, QWidget *parent, Cumbia *cumbia, const CuControlsReaderFactoryI &r_fac)
create allocate and return a new QWidget implementing QuXtraWidgetI
Definition plugin_ifaces/quxtrawidgetplugininterface.h:163
virtual QString name() const =0
name returns the name of the plugin
virtual QWidget * create(const QString &name, QWidget *parent, CumbiaPool *cumbia_pool, const CuControlsFactoryPool &fpool)
create allocate and return a new QWidget implementing QuXtraWidgetI. CumbiaPool constructor version.
Definition plugin_ifaces/quxtrawidgetplugininterface.h:204
#define QuXtraWidgetPluginI_iid
Definition plugin_ifaces/quxtrawidgetplugininterface.h:258