StaticWidgets.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <QLabel>
4 
5 #include "Basic.h"
6 
7 namespace 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
31  handleGuiChange(RemoteWidgetT const& desc, QWidgetT* widget)
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  {
103  ARMARX_TRACE;
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  {
121  ARMARX_TRACE;
122  auto widget = new QWidget();
123  widget->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
124  return widget;
125  }
126  };
127 } // namespace armarx::RemoteGui
armarx::RemoteGui::VLineHandler
Definition: StaticWidgets.h:95
armarx::RemoteGui::VLineHandler::createWidget
static QWidgetT * createWidget(RemoteWidgetT const &desc, CreateWidgetCallback const &createChild, const QObject *stateChangeReceiver, const char *stateChangeSlot)
Definition: StaticWidgets.h:98
armarx::RemoteGui
Definition: LightweightRemoteGuiComponentPlugin.h:30
armarx::RemoteGui::HSpacerHandler::createWidget
static QWidgetT * createWidget(RemoteWidgetT const &desc, CreateWidgetCallback const &createChild, const QObject *stateChangeReceiver, const char *stateChangeSlot)
Definition: StaticWidgets.h:40
armarx::RemoteGui::LabelHandler
Definition: StaticWidgets.h:9
armarx::RemoteGui::Client::Label
Definition: Widgets.h:31
armarx::RemoteGui::Client::HSpacer
Definition: Widgets.h:209
armarx::RemoteGui::TypedWidget
Definition: TypedWidget.h:113
armarx::RemoteGui::HLineHandler::createWidget
static QWidgetT * createWidget(RemoteWidgetT const &desc, CreateWidgetCallback const &createChild, const QObject *stateChangeReceiver, const char *stateChangeSlot)
Definition: StaticWidgets.h:80
armarx::RemoteGui::EmptyWidgetHandler
Definition: StaticWidgets.h:113
armarx::RemoteGui::VSpacerHandler
Definition: StaticWidgets.h:57
armarx::RemoteGui::TypedWidget< Label, QLabel, VALUE_VARIANT_STRING >::ValueT
typename Storage< ValueType >::Type ValueT
Definition: TypedWidget.h:118
armarx::RemoteGui::Client::VSpacer
Definition: Widgets.h:204
armarx::RemoteGui::HLineHandler
Definition: StaticWidgets.h:77
armarx::RemoteGui::toUtf8
std::string toUtf8(QString const &qstring)
Definition: WidgetHandler.cpp:8
ARMARX_TRACE
#define ARMARX_TRACE
Definition: trace.h:77
cxxopts::value
std::shared_ptr< Value > value()
Definition: cxxopts.hpp:855
armarx::RemoteGui::Client::Widget
Definition: Widgets.h:21
armarx::RemoteGui::LabelHandler::updateGui
static void updateGui(RemoteWidgetT const &desc, QWidgetT *widget, ValueT const &value)
Definition: StaticWidgets.h:25
Basic.h
armarx::RemoteGui::TypedWidget< Label, QLabel, VALUE_VARIANT_STRING >::QWidgetT
QLabel QWidgetT
Definition: TypedWidget.h:116
armarx::RemoteGui::LabelHandler::createWidget
static QWidgetT * createWidget(RemoteWidgetT const &desc, CreateWidgetCallback const &createChild, const QObject *stateChangeReceiver, const char *stateChangeSlot)
Definition: StaticWidgets.h:12
armarx::RemoteGui::EmptyWidgetHandler::createWidget
static QWidgetT * createWidget(RemoteWidgetT const &desc, CreateWidgetCallback const &createChild, const QObject *stateChangeReceiver, const char *stateChangeSlot)
Definition: StaticWidgets.h:116
armarx::RemoteGui::VSpacerHandler::createWidget
static QWidgetT * createWidget(RemoteWidgetT const &desc, CreateWidgetCallback const &createChild, const QObject *stateChangeReceiver, const char *stateChangeSlot)
Definition: StaticWidgets.h:60
armarx::RemoteGui::toQString
QString toQString(std::string const &string)
Definition: WidgetHandler.cpp:14
armarx::RemoteGui::CreateWidgetCallback
std::function< QWidgetPtr(WidgetPtr const &)> CreateWidgetCallback
Definition: WidgetHandler.h:20
armarx::RemoteGui::LabelHandler::handleGuiChange
static ValueT handleGuiChange(RemoteWidgetT const &desc, QWidgetT *widget)
Definition: StaticWidgets.h:31
armarx::RemoteGui::TypedWidget< HLine, QFrame >::RemoteWidgetT
HLine RemoteWidgetT
Definition: TypedWidget.h:115
armarx::RemoteGui::HSpacerHandler
Definition: StaticWidgets.h:37