NAP
Public Member Functions | Public Attributes | List of all members
ParameterEnum< T > Class Template Reference

#include <parameterenum.h>

Public Member Functions

 ParameterEnum ()
 
virtual int getValue () const override
 
virtual void setValue (int value) override
 
virtual void setValue (const Parameter &value) override
 
void setValue (T value)
 
- Public Member Functions inherited from ParameterEnumBase
 ParameterEnumBase (rtti::TypeInfo enumType)
 
const rtti::TypeInfogetEnumType () const
 
- Public Member Functions inherited from Parameter
const std::string getDisplayName () const
 
- Public Member Functions inherited from Resource
 Resource ()
 
- Public Member Functions inherited from Object
 Object ()
 
virtual ~Object ()
 
virtual bool init (utility::ErrorState &errorState)
 
virtual void onDestroy ()
 
 Object (Object &)=delete
 
Objectoperator= (const Object &)=delete
 
 Object (Object &&)=delete
 
Objectoperator= (Object &&)=delete
 

Public Attributes

mValue
 Property: 'Value' the current value of the parameter. More...
 
Signal< T > valueChanged
 Signal that's raised when the value of this parameter changes. More...
 
- Public Attributes inherited from Parameter
std::string mName
 Property 'Name': The name of this property. The name is separate from the ID and doesn't have to be unique. More...
 
- Public Attributes inherited from Object
std::string mID
 Property: 'mID' unique name of the object. Used as an identifier by the system. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Object
static bool isIDProperty (rtti::Instance &object, const rtti::Property &property)
 

Description

template<class T>
class nap::ParameterEnum< T >

ParameterEnum provides the concrete implementation of ParameterEnumBase. Both the parameter type and the enum itself need to be registered in RTTI.

Example:

// SomeEnum.h enum class ESomeEnum { SomeValue1, SomeValue2 }

using SomeEnumParameter = ParameterEnum<ESomeEnum>;

// SomeEnum.cpp // Regular RTTI definition for enum itself: RTTI_BEGIN_ENUM(ESomeEnum) RTTI_ENUM_VALUE(ESomeEnum::SomeValue1, "SomeValue1"), RTTI_ENUM_VALUE(ESomeEnum::SomeValue2, "SomeValue2") RTTI_END_ENUM

// RTTI definition for parameter: DEFINE_ENUM_PARAMETER(SomeEnumParameter)

Inheritance diagram for ParameterEnum< T >:
[legend]
Collaboration diagram for ParameterEnum< T >:
[legend]

Constructor & Destructor Documentation

◆ ParameterEnum()

Member Function Documentation

◆ getValue()

virtual int getValue ( ) const
overridevirtual

Get the current value of this parameter as an int

Returns
Current value of this parameter as an int

Implements ParameterEnumBase.

◆ setValue() [1/3]

void setValue ( const Parameter value)
overridevirtual

Set the value of this enum from another parameter

Parameters
valueThe parameter to set the value from

Implements Parameter.

◆ setValue() [2/3]

virtual void setValue ( int  value)
overridevirtual

Set the value of this enum from an int

Parameters
valueThe value to set

Implements ParameterEnumBase.

◆ setValue() [3/3]

void setValue ( value)

Set the value of this enum. Will raise the valueChanged signal if the value actually changes.

Parameters
valueThe value to set

Member Data Documentation

◆ mValue

T mValue

Property: 'Value' the current value of the parameter.

◆ valueChanged

Signal<T> valueChanged

Signal that's raised when the value of this parameter changes.