ML Reference
ml::ListField< T > Class Template Reference

#include <mlListField.h>

Inheritance diagram for ml::ListField< T >:
ml::Field

Public Member Functions

 ListField ()=default
 Default constructor, do not use it.
 ListField (const std::string &name)
 Constructor; creates a list field with a name.
size_t size () const
 Returns the number of elements of this fields value.
void clear ()
 Clears the value of this field.
void setValues (const std::vector< T > &values)
 Sets the field value to values.
void updateValues (const std::vector< T > &values)
std::vector< T > getValues () const
 Returns the value of the field as a boolean.
void setValueAt (size_t index, T value)
void updateValueAt (size_t index, T value)
getValueAt (size_t index) const
 Returns component value at index index. index must be in range.
std::string getStringValue () const override
 Returns the value of the field as string value.
void setStringValue (const std::string &value) override
 Sets the value of the field to value.
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::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::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<class T>
class ml::ListField< T >

Definition at line 26 of file mlListField.h.

Constructor & Destructor Documentation

◆ ListField() [1/2]

template<class T>
ml::ListField< T >::ListField ( )
default

Default constructor, do not use it.

◆ ListField() [2/2]

template<class T>
ml::ListField< T >::ListField ( const std::string & name)
inline

Constructor; creates a list field with a name.

Definition at line 33 of file mlListField.h.

References ml::Field::setName().

Member Function Documentation

◆ clear()

template<class T>
void ml::ListField< T >::clear ( )
inline

Clears the value of this field.

Definition at line 39 of file mlListField.h.

◆ getStringValue()

template<class T>
std::string ml::ListField< T >::getStringValue ( ) const
inlineoverridevirtual

Returns the value of the field as string value.

Implements ml::Field.

Definition at line 82 of file mlListField.h.

References ml::ValuePersistence::valueToString().

◆ getValueAt()

template<class T>
T ml::ListField< T >::getValueAt ( size_t index) const
inline

Returns component value at index index. index must be in range.

Definition at line 77 of file mlListField.h.

◆ getValues()

template<class T>
std::vector< T > ml::ListField< T >::getValues ( ) const
inline

Returns the value of the field as a boolean.

Definition at line 56 of file mlListField.h.

◆ setStringValue()

template<class T>
void ml::ListField< T >::setStringValue ( const std::string & value)
inlineoverridevirtual

Sets the value of the field to value.

Implements ml::Field.

Definition at line 104 of file mlListField.h.

References ml::ValuePersistence::stringToValue(), and ml::Field::touch().

◆ setValueAt()

template<class T>
void ml::ListField< T >::setValueAt ( size_t index,
T value )
inline

Sets the field value at index index to value. If the index is greater than the current size, the list of values is expanded accordingly with default values.

Definition at line 60 of file mlListField.h.

References ml::Field::touch().

Referenced by updateValueAt().

◆ setValues()

template<class T>
void ml::ListField< T >::setValues ( const std::vector< T > & values)
inline

Sets the field value to values.

Definition at line 42 of file mlListField.h.

References ml::Field::touch().

Referenced by updateValues().

◆ size()

template<class T>
size_t ml::ListField< T >::size ( ) const
inline

Returns the number of elements of this fields value.

Definition at line 36 of file mlListField.h.

◆ updateValueAt()

template<class T>
void ml::ListField< T >::updateValueAt ( size_t index,
T value )
inline

Sets the field value at index index to value, but only touches the field if the new value is different from the old value at that index.

Definition at line 70 of file mlListField.h.

References setValueAt().

◆ updateValues()

template<class T>
void ml::ListField< T >::updateValues ( const std::vector< T > & values)
inline

Sets the field value to values, but only touches the field if the new values are different from the old values.

Definition at line 49 of file mlListField.h.

References setValues().


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