WidgetHandler.h
Go to the documentation of this file.
1#pragma once
2
3#include <functional>
4
6
7#include <ArmarXGui/interface/RemoteGuiInterface.h>
8
9class QWidget;
10class QObject;
11class QString;
12
13namespace armarx::RemoteGui
14{
15
16 std::string toUtf8(QString const& qstring);
17 QString toQString(std::string const& string);
18
19 using QWidgetPtr = QWidget*;
20 using CreateWidgetCallback = std::function<QWidgetPtr(WidgetPtr const&)>;
21
23 {
24 virtual ~WidgetHandler() = default;
25
26 virtual bool isValid(Widget const& desc, std::ostream& out = cnull) const = 0;
27
28 virtual QWidget* createWidget(Widget const& desc,
29 ValueVariant const& initialValue,
30 CreateWidgetCallback const& createChild,
31 const QObject* stateChangeReceiver,
32 const char* stateChangeSlot) const = 0;
33
34 virtual void
35 updateGui(Widget const& desc, QWidget* widget, ValueVariant const& value) const = 0;
36
37 virtual RemoteGui::ValueVariant handleGuiChange(Widget const& desc,
38 QWidget* widget) const = 0;
39
40 virtual std::string getHandlerT() const = 0;
41 };
42
43} // namespace armarx::RemoteGui
std::function< QWidgetPtr(WidgetPtr const &)> CreateWidgetCallback
QString toQString(std::string const &string)
std::string toUtf8(QString const &qstring)
std::ostream cnull
virtual RemoteGui::ValueVariant handleGuiChange(Widget const &desc, QWidget *widget) const =0
virtual ~WidgetHandler()=default
virtual bool isValid(Widget const &desc, std::ostream &out=cnull) const =0
virtual void updateGui(Widget const &desc, QWidget *widget, ValueVariant const &value) const =0
virtual std::string getHandlerT() const =0
virtual QWidget * createWidget(Widget const &desc, ValueVariant const &initialValue, CreateWidgetCallback const &createChild, const QObject *stateChangeReceiver, const char *stateChangeSlot) const =0