StaticWidgets.h
Go to the documentation of this file.
1#pragma once
2
3#include <QLabel>
4
5#include "Basic.h"
6
7namespace armarx::RemoteGui
8{
9 struct LabelHandler : TypedWidget<Label, QLabel, VALUE_VARIANT_STRING>
10 {
11 static QWidgetT*
13 CreateWidgetCallback const& createChild,
14 const QObject* stateChangeReceiver,
15 const char* stateChangeSlot)
16 {
18 QWidgetT* widget = new QWidgetT();
19 widget->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
20 widget->setToolTip(QString::fromStdString(desc.toolTip));
21 return widget;
22 }
23
24 static void
25 updateGui(RemoteWidgetT const& desc, QWidgetT* widget, ValueT const& value)
26 {
27 widget->setText(toQString(value));
28 }
29
30 static ValueT
32 {
33 return toUtf8(widget->text());
34 }
35 };
36
37 struct HSpacerHandler : TypedWidget<HSpacer, QWidget>
38 {
39 static QWidgetT*
41 CreateWidgetCallback const& createChild,
42 const QObject* stateChangeReceiver,
43 const char* stateChangeSlot)
44 {
46 QWidgetT* widget = new QWidget();
47
48 widget->setLayout(new QVBoxLayout);
49 widget->layout()->setContentsMargins(0, 0, 0, 0);
50 widget->layout()->addItem(
51 new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum));
52
53 return widget;
54 }
55 };
56
57 struct VSpacerHandler : TypedWidget<VSpacer, QWidget>
58 {
59 static QWidgetT*
61 CreateWidgetCallback const& createChild,
62 const QObject* stateChangeReceiver,
63 const char* stateChangeSlot)
64 {
66 QWidgetT* widget = new QWidget();
67
68 widget->setLayout(new QVBoxLayout);
69 widget->layout()->setContentsMargins(0, 0, 0, 0);
70 widget->layout()->addItem(
71 new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding));
72
73 return widget;
74 }
75 };
76
77 struct HLineHandler : TypedWidget<HLine, QFrame>
78 {
79 static QWidgetT*
81 CreateWidgetCallback const& createChild,
82 const QObject* stateChangeReceiver,
83 const char* stateChangeSlot)
84 {
86 QWidgetT* widget = new QFrame();
87
88 widget->setFrameShape(QFrame::HLine);
89 widget->setFrameShadow(QFrame::Sunken);
90
91 return widget;
92 }
93 };
94
95 struct VLineHandler : TypedWidget<VLine, QFrame>
96 {
97 static QWidgetT*
99 CreateWidgetCallback const& createChild,
100 const QObject* stateChangeReceiver,
101 const char* stateChangeSlot)
102 {
104 QWidgetT* widget = new QFrame();
105
106 widget->setFrameShape(QFrame::VLine);
107 widget->setFrameShadow(QFrame::Sunken);
108
109 return widget;
110 }
111 };
112
113 struct EmptyWidgetHandler : TypedWidget<Widget, QWidget>
114 {
115 static QWidgetT*
117 CreateWidgetCallback const& createChild,
118 const QObject* stateChangeReceiver,
119 const char* stateChangeSlot)
120 {
122 auto widget = new QWidget();
123 widget->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
124 return widget;
125 }
126 };
127} // namespace armarx::RemoteGui
std::function< QWidgetPtr(WidgetPtr const &)> CreateWidgetCallback
QString toQString(std::string const &string)
std::string toUtf8(QString const &qstring)
static QWidgetT * createWidget(RemoteWidgetT const &desc, CreateWidgetCallback const &createChild, const QObject *stateChangeReceiver, const char *stateChangeSlot)
static QWidgetT * createWidget(RemoteWidgetT const &desc, CreateWidgetCallback const &createChild, const QObject *stateChangeReceiver, const char *stateChangeSlot)
static QWidgetT * createWidget(RemoteWidgetT const &desc, CreateWidgetCallback const &createChild, const QObject *stateChangeReceiver, const char *stateChangeSlot)
static QWidgetT * createWidget(RemoteWidgetT const &desc, CreateWidgetCallback const &createChild, const QObject *stateChangeReceiver, const char *stateChangeSlot)
static void updateGui(RemoteWidgetT const &desc, QWidgetT *widget, ValueT const &value)
static ValueT handleGuiChange(RemoteWidgetT const &desc, QWidgetT *widget)
static QWidgetT * createWidget(RemoteWidgetT const &desc, CreateWidgetCallback const &createChild, const QObject *stateChangeReceiver, const char *stateChangeSlot)
static QWidgetT * createWidget(RemoteWidgetT const &desc, CreateWidgetCallback const &createChild, const QObject *stateChangeReceiver, const char *stateChangeSlot)
#define ARMARX_TRACE
Definition trace.h:77