MeVisLab Toolbox Reference
ml::TypedEnumField< EnumType > Class Template Reference

#include <mlFields.h>

Inheritance diagram for ml::TypedEnumField< EnumType >:
ml::EnumField ml::Field

Public Member Functions

 TypedEnumField (const std::string &name, const EnumValues< EnumType > &enumValues, EnumType initialValue)
 Creates the TypedEnumField with given name, enumValues, and initialValue.
EnumType getEnumValue () const
 Returns the current enum value.
void setEnumValue (EnumType enumValue)
 Sets the current enum value and touches the field.
void updateEnumValue (EnumType enumValue)
 Sets the current enum value and only touches the field if the value has changed.
EnumType getValue () const
 Same as getEnumValue().
void setValue (EnumType enumValue)
 Same as setEnumValue().
void updateValue (EnumType enumValue)
 Same as updateEnumValue().
Public Member Functions inherited from ml::EnumField
 EnumField (const std::string &name, const std::string enumerationItemNames[], size_t numEnumerationItems)
 Implements the runtime type system interface for this class.
 EnumField (const std::string &name, const char *const *enumerationItemNames, size_t numEnumerationItems)
 EnumField (const std::string &name, const std::vector< std::string > &enumerationItemNames)
 ~EnumField () override=default
 Destroys this field and releases internally allocated memory.
void setStringValue (const std::string &value) override
void setStringValueDefaulted (const std::string &value)
void setEnumValue (int enumValue)
 Sets field value to enumValue.
void updateEnumValue (int enumValue)
std::string getStringValue () const override
int getEnumValue () const
 Returns the current enum value as integer.
const EnumEntrygetEnumEntryAtIndex (size_t index) const
size_t getNumEnumerationItems () const
 Returns the number of registered enum values defined in constructor.
void setValue (int enumValue)
 Same as setEnumValue().
void updateValue (int enumValue)
 Same as updateEnumValue().
int getValue () const
 Same as getEnumValue().
Public Member Functions inherited from ml::Field
 Field (const std::string &name=std::string())
 Constructor: Creates a field with name.
virtual ~Field ()
 Destructor: Destroys a field and removes all connection to fields and sensors.
FieldContainergetFieldContainer () const
 Returns the field container of the field (which may be NULL).
const std::string & getName () const
 Returns the name of field.
void setName (const std::string &name)
 Sets the name of field. Should be called only once after or while construction.
std::string getFullName () const
bool isOutputOnly () const
 Returns whether this field is marked as a pure output field.
void setOutputOnly (bool outputOnly=true)
 Marks this field as a pure output field that is only changed by its module.
virtual MLint isValidValue ()
void copyCStringValue (char *valueBuffer, MLint bufferSize)
MLint getCStringValueSize ()
 Returns the length of the character string of the string value of the field.
void attachFieldSensor (FieldSensor *sensor)
 Attaches a field sensor sensor of this class instance in both directions.
void detachFieldSensor (FieldSensor *sensor)
 Detaches the field sensor sensor of this class instance in both directions.
void detachFieldSensors ()
 Detaches all field sensors of this class instance in both directions.
void attachField (OutputConnectorField *targetField)
void attachField (BaseField *targetField)
void attachField (SoNodeField *targetField)
void attachField (NotifyField *targetField)
void attachField (Field *targetField, bool propagateValueOnConnect)
void detachField (Field *targetField)
 Disconnects connections between the target field targetField and this instance.
void detachSourceFields ()
 Disconnects all source fields of this instance in both directions.
void detachDestinationFields ()
 Disconnects all target fields of this instance in both directions.
void detachAllFields ()
 Disconnects all source and target fields of this instance in both directions.
size_t getNumDestinationFields ()
 Returns the number of destination fields that could receive notifications or value sets.
FieldgetDestinationField (size_t index)
 Returns the destination field at index. Returns NULL if index is out of range.
size_t getNumSourceFields ()
 Returns the number of source fields that could send notifications or value sets.
FieldgetSourceField (size_t index)
 Returns the source field at index. Returns NULL if index is out of range.
virtual void touch (FieldSensor::Strength strength=FieldSensor::CHANGED)
void enableNotifications (bool flag)
bool areNotificationsEnabled ()

Additional Inherited Members

static void enableNotificationsGlobally (bool flag)
static bool areNotificationsEnabledGlobally ()
static MLintenableNotificationsCounterState ()
Protected Member Functions inherited from ml::EnumField
void _initialize (const std::string &name="", size_t numEnums=0)
 Initializes this field.
void _setEnumerationNames (const std::string enumNames[])
 Sets the enumeration item names.
void _setEnumerationNames (const char *const *enumNames)
 Sets the enumeration item names.
void _setEnumerationNames (const std::vector< std::string > &enumNames)
 Sets the enumeration item names.
void _setEnumerationNames (const std::vector< EnumField::EnumEntry > &enumValues, int initialValue)
 Sets the enumeration item names.
 EnumField ()=default
 Protected constructor to allow derived classes.
Protected Member Functions inherited from ml::Field
void attachSourceField (Field *field)
void detachSourceField (Field *field)
 Removes a source field from this instance. If not found, then this call does nothing.
void detachFieldInternal (Field *field)
 Only removes the given field from the destination list.
virtual void setValueFromField (const Field &field)
Protected Attributes inherited from ml::EnumField
int _value {}
 The field value; we use an integer to be compatible with normal enum types.
bool _linearEntries {}
 Stores whether enum entry values start at 0 and increase by 1.
std::vector< EnumEntry_entries
 Stores the possible enum values and names.
Protected Attributes inherited from ml::Field
std::string _name
 The name of this field.
std::vector< FieldSensor * > _sensors
 List of field sensors.
std::vector< Field * > _destinationFields
std::vector< Field * > _sourceFields
FieldContainer_fieldContainer
 The owning field container.
Flags _flags
Static Protected Attributes inherited from ml::Field
static MLint _enableNotifications
 Flag that disables the notification process of field (-sensors) globally.

Detailed Description

template<typename EnumType>
class ml::TypedEnumField< EnumType >

TypedEnumField is used to encapsulate a C++ enum value and work with a real enum value instead of int.

Definition at line 357 of file mlFields.h.

Constructor & Destructor Documentation

◆ TypedEnumField()

template<typename EnumType>
ml::TypedEnumField< EnumType >::TypedEnumField ( const std::string & name,
const EnumValues< EnumType > & enumValues,
EnumType initialValue )
inline

Creates the TypedEnumField with given name, enumValues, and initialValue.

Definition at line 363 of file mlFields.h.

References ml::EnumField::_initialize(), ml::EnumField::_setEnumerationNames(), ml::EnumField::EnumField(), and ml::EnumValues< EnumType >::getEntries().

Member Function Documentation

◆ getEnumValue()

template<typename EnumType>
EnumType ml::TypedEnumField< EnumType >::getEnumValue ( ) const
inline

Returns the current enum value.

Definition at line 371 of file mlFields.h.

References ml::EnumField::getEnumValue().

Referenced by getValue().

◆ getValue()

template<typename EnumType>
EnumType ml::TypedEnumField< EnumType >::getValue ( ) const
inline

Same as getEnumValue().

Definition at line 377 of file mlFields.h.

References getEnumValue().

◆ setEnumValue()

template<typename EnumType>
void ml::TypedEnumField< EnumType >::setEnumValue ( EnumType enumValue)
inline

Sets the current enum value and touches the field.

Definition at line 373 of file mlFields.h.

References ml::EnumField::setEnumValue().

Referenced by setValue().

◆ setValue()

template<typename EnumType>
void ml::TypedEnumField< EnumType >::setValue ( EnumType enumValue)
inline

Same as setEnumValue().

Definition at line 379 of file mlFields.h.

References setEnumValue().

◆ updateEnumValue()

template<typename EnumType>
void ml::TypedEnumField< EnumType >::updateEnumValue ( EnumType enumValue)
inline

Sets the current enum value and only touches the field if the value has changed.

Definition at line 375 of file mlFields.h.

References ml::EnumField::updateEnumValue().

Referenced by updateValue().

◆ updateValue()

template<typename EnumType>
void ml::TypedEnumField< EnumType >::updateValue ( EnumType enumValue)
inline

Same as updateEnumValue().

Definition at line 381 of file mlFields.h.

References updateEnumValue().


The documentation for this class was generated from the following file: