8 #include "portalitem.h"
9 #include "portalutils.h"
14 #include <parametersimple.h>
15 #include <nap/signalslot.h>
92 mParameter->valueChanged.connect(mParameterUpdateSlot);
99 mParameter->valueChanged.disconnect(mParameterUpdateSlot);
118 if (!error.check(type == RTTI_OF(T),
"%s: cannot process value type %s", mID.c_str(), type.get_name().data()))
123 mParameter->valueChanged.disconnect(mParameterUpdateSlot);
124 mParameter->setValue(value);
125 mParameter->valueChanged.connect(mParameterUpdateSlot);
132 APIEventPtr event = std::make_unique<APIEvent>(mParameter->getDisplayName(), mID);
141 APIEventPtr event = std::make_unique<APIEvent>(mParameter->getDisplayName(), mID);
150 #define DEFINE_PORTAL_ITEM_SIMPLE(Type) \
151 RTTI_BEGIN_CLASS(Type) \
152 RTTI_PROPERTY("Parameter", &Type::mParameter, nap::rtti::EPropertyMetaData::Required, "Parameter resource") \
virtual APIEventPtr getDescriptor() const override
Definition: portalitemsimple.h:130
Definition: apivalue.h:56
constexpr const char * itemValueArgName
Name of the argument containing the portal item value in the portal item message.
Definition: portalutils.h:19
constexpr const char * itemTypeArgName
Name of the argument containing the portal item type in the portal item message.
Definition: portalutils.h:18
virtual APIEventPtr getValue() const override
Definition: portalitemsimple.h:139
const rtti::TypeInfo getValueType() const
virtual void onDestroy() override
Definition: portalitemsimple.h:97
Definition: objectptr.h:154
virtual bool init(utility::ErrorState &error) override
Definition: portalitemsimple.h:90
Definition: errorstate.h:19
ResourcePtr< ParameterSimple< T > > mParameter
Property: 'Parameter' the parameter linked to this portal item.
Definition: portalitemsimple.h:69
Slot< T > mParameterUpdateSlot
Definition: portalitemsimple.h:67
Definition: portalitem.h:19
virtual void onParameterUpdate(T value)
Definition: portalitemsimple.h:103
std::unique_ptr< nap::APIEvent > APIEventPtr
Definition: apievent.h:179
const APIBaseValue & getValue() const
Definition: apiargument.h:51
Definition: portalitemsimple.h:79
Definition: portalitemsimple.h:23
Definition: templateapp.h:17
Definition: apiargument.h:22
rttr::type TypeInfo
Definition: typeinfo.h:140
Definition: apievent.h:37
virtual bool processUpdate(const APIEvent &event, utility::ErrorState &error) override
Definition: portalitemsimple.h:109