10 #include <ArmarXGui/interface/RemoteGuiInterface.h>
18 template <
typename HandlerT>
23 static const RemoteGui::ValueVariantType
ValueType = HandlerT::ValueType;
29 return GetTypeString<HandlerT>();
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);
59 ValueT concreteInitialValue = getSingleValue<ValueT>(initialValue);
61 auto* widget = HandlerT::createWidget(
62 *concreteDesc, createChild, stateChangeReceiver, stateChangeSlot);
64 HandlerT::updateGui(*concreteDesc, widget, concreteInitialValue);
73 auto concreteDesc =
dynamic_cast<RemoteWidgetT const*
>(&desc);
76 QWidgetT* concreteWidget = qobject_cast<QWidgetT*>(widget);
81 ValueT concreteValue = getSingleValue<ValueT>(
value);
83 HandlerT::updateGui(*concreteDesc, concreteWidget, concreteValue);
93 out <<
"desc type = " << desc.ice_id()
94 <<
"\ntarget type = " << GetTypeString<RemoteWidgetT>()
96 <<
"\ntarget type = " << GetTypeString<QWidgetT>();
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_>
128 struct TypedWidget<RemoteWidgetT_, QWidgetT_, RemoteGui::VALUE_VARIANT_EMPTY>
132 static const ValueVariantType
ValueType = VALUE_VARIANT_EMPTY;