9 #include <ArmarXGui/interface/RemoteGuiInterface.h>
17 template <
typename HandlerT>
22 static const RemoteGui::ValueVariantType
ValueType = HandlerT::ValueType;
28 return GetTypeString<HandlerT>();
38 auto concreteDesc =
dynamic_cast<RemoteWidgetT const*
>(&desc);
41 return HandlerT::isValid(*concreteDesc, out);
45 ValueVariant
const& initialValue,
47 const QObject* stateChangeReceiver,
48 const char* stateChangeSlot)
const override
51 auto concreteDesc =
dynamic_cast<RemoteWidgetT const*
>(&desc);
56 ValueT concreteInitialValue = getSingleValue<ValueT>(initialValue);
58 auto* widget = HandlerT::createWidget(*concreteDesc, createChild,
59 stateChangeReceiver, stateChangeSlot);
61 HandlerT::updateGui(*concreteDesc, widget, concreteInitialValue);
68 ValueVariant
const&
value)
const override
71 auto concreteDesc =
dynamic_cast<RemoteWidgetT const*
>(&desc);
74 QWidgetT* concreteWidget = qobject_cast<QWidgetT*>(widget);
79 ValueT concreteValue = getSingleValue<ValueT>(
value);
81 HandlerT::updateGui(*concreteDesc, concreteWidget, concreteValue);
85 QWidget* widget)
const override
94 << GetTypeString<RemoteWidgetT>()
98 << GetTypeString<QWidgetT>();
100 auto concreteDesc =
dynamic_cast<RemoteWidgetT const*
>(&desc);
101 QWidgetT* concreteWidget = qobject_cast<QWidgetT*>(widget);
106 ValueVariant currentState =
makeValue(HandlerT::handleGuiChange(*concreteDesc, concreteWidget));
112 template <
typename RemoteWidgetT_,
114 ValueVariantType ValueType_ = RemoteGui::VALUE_VARIANT_EMPTY>
128 template <
typename RemoteWidgetT_,
130 struct TypedWidget<RemoteWidgetT_, QWidgetT_, RemoteGui::VALUE_VARIANT_EMPTY>
134 static const ValueVariantType
ValueType = VALUE_VARIANT_EMPTY;