10#include <ArmarXGui/interface/RemoteGuiInterface.h>
18 template <
typename HandlerT>
23 static const RemoteGui::ValueVariantType
ValueType = HandlerT::ValueType;
40 auto concreteDesc =
dynamic_cast<RemoteWidgetT const*
>(&desc);
43 return HandlerT::isValid(*concreteDesc, out);
48 ValueVariant
const& initialValue,
50 const QObject* stateChangeReceiver,
51 const char* stateChangeSlot)
const override
54 auto concreteDesc =
dynamic_cast<RemoteWidgetT const*
>(&desc);
61 auto* widget = HandlerT::createWidget(
62 *concreteDesc, createChild, stateChangeReceiver, stateChangeSlot);
64 HandlerT::updateGui(*concreteDesc, widget, concreteInitialValue);
70 updateGui(
Widget const& desc, QWidget* widget, ValueVariant
const& value)
const override
73 auto concreteDesc =
dynamic_cast<RemoteWidgetT const*
>(&desc);
76 QWidgetT* concreteWidget = qobject_cast<QWidgetT*>(widget);
83 HandlerT::updateGui(*concreteDesc, concreteWidget, concreteValue);
93 out <<
"desc type = " << desc.ice_id()
98 auto concreteDesc =
dynamic_cast<RemoteWidgetT const*
>(&desc);
99 QWidgetT* concreteWidget = qobject_cast<QWidgetT*>(widget);
104 ValueVariant currentState =
105 makeValue(HandlerT::handleGuiChange(*concreteDesc, concreteWidget));
110 template <
typename RemoteWidgetT_,
112 ValueVariantType ValueType_ = RemoteGui::VALUE_VARIANT_EMPTY>
127 template <
typename RemoteW
idgetT_,
typename QW
idgetT_>
132 static const ValueVariantType
ValueType = VALUE_VARIANT_EMPTY;
#define ARMARX_STREAM_PRINTER
use this macro to write output code that is executed when printed and thus not executed if the debug ...
#define ARMARX_CHECK_EXPRESSION(expression)
This macro evaluates the expression and if it turns out to be false it will throw an ExpressionExcept...
T getSingleValue(ValueVariant const &value, const std::string &name="")
std::function< QWidgetPtr(WidgetPtr const &)> CreateWidgetCallback
ValueVariant makeValue(bool value)
const char * getVariantTypeName(ValueVariantType type)
std::string GetTypeString(const std::type_info &tinf, bool withoutNamespaceSpecifier=false)