|
MeVisLab Toolbox Reference
|
The field class StringLineMultiField which manages a vector of std::string lines typically separated by "\r\n" on windows systems and by "\n" on non windows systems. More...
#include <mlStringLineMultiField.h>
Public Member Functions | |
| StringLineMultiField (const std::string &name="") | |
| Constructor. See constructor of MultiField for documentation. | |
| void | setStringValue (const std::string &value) override |
| Same as setStringValue(const std::string &value, char sep) using the "\n" as value for sep; occurrences of "\r\n" (Windows convention) or just '\r' (Mac convention) are converted to ' ' first. | |
| void | setStringValue (const std::string &value, const std::string &sep) |
| Subdivides value at all positions of sep and stores all values in the internal vector. | |
| void | removeSubString (const std::string &str) |
| Removes the character sequence str from each string element of the internal vector. | |
| void | removeElements (const std::string &str=std::string()) |
| Removes all entries equal to str; default is an empty string to remove all empty entries. | |
| std::string | getStringValue () const override |
| Same as getStringValue(StringLineMultiField::DefaultLineSeparator). | |
| std::string | getStringValue (const std::string &sep) const |
| Returns a string containing the concatenation of all values from the internal vector separated by the StringLineMultiField::DefaultLineSeparator. | |
| ML_CLASS_HEADER (StringLineMultiField) | |
| Macro to implement the interface for the Runtime Type System and for the initialization of this class. | |
Public Member Functions inherited from ml::MultiField< std::string > | |
| MultiField (const std::string &name="") | |
| Empty Constructor: Create a field with name name. | |
| void | setMultiField (const std::vector< std::string > &value) |
| Set values of the field to value which is a std::vector. | |
| void | setMultiField (const std::string values[], size_t numValues) |
| Set values of the field to values which is an array of values. | |
| void | getMultiField (std::string values[], size_t numValues) |
| Get values from the field into values which is an array of values. | |
| const std::vector< std::string > & | getMultiField () const |
| Returns the vector of the field. | |
| std::vector< std::string > & | getNonConstMultiField () |
| Returns the vector of the field as modifiable reference. | |
| size_t | getSize () const |
| Returns number of entries in vector. | |
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. | |
| FieldContainer * | getFieldContainer () 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 |
| Returns 'fieldContainerType(instanceName).fieldName' if field container is available, otherwise only the field name is returned. | |
| 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 () |
| Returns true (=1) if the field's value is valid; otherwise, false (=0) is returned. | |
| void | copyCStringValue (char *valueBuffer, MLint bufferSize) |
Copies the value of the field (as character string) into the specified buffer valueBuffer. | |
| 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) |
| This calls attachField(targetField, false). | |
| void | attachField (BaseField *targetField) |
| void | attachField (SoNodeField *targetField) |
| void | attachField (NotifyField *targetField) |
| void | attachField (Field *targetField, bool propagateValueOnConnect) |
Connects this class instance with the target field targetField. | |
| 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. | |
| Field * | getDestinationField (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. | |
| Field * | getSourceField (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) |
| Notifies all connected fields and field sensors. | |
| void | enableNotifications (bool flag) |
Enables or disables notification of attached fields and field sensors when the field value is set or notified (by notifyAttachments() or set*Value() -methods), depending on the parameter flag. | |
| bool | areNotificationsEnabled () |
| Returns whether the notification mechanism for this field (e.g., when field values are set) is enabled (see enableNotifications(bool) ). | |
Static Public Attributes | |
| static const std::string | DefaultLineSeparator |
| The default line separator used for line endings when converting the internal string vector to a string with the default getString() or operator>>. | |
Additional Inherited Members | |
Static Public Member Functions inherited from ml::Field | |
| static void | enableNotificationsGlobally (bool flag) |
Enables or disables globally the notification mechanism for all fields and field sensors when field values are set or notified (by notifyAttachments() or set*Value() methods), depending on the parameter flag. | |
| static bool | areNotificationsEnabledGlobally () |
| Returns whether the notification mechanism for all fields (e.g., when field values are set) is enabled (see enableNotificationsGlobally(bool) ) Usually it is false (=0) within all calls of Module::calc* methods to avoid that field changes within these methods recursively start the calculation process of the ML. | |
| static MLint & | enableNotificationsCounterState () |
| Provides read/write access to the current counter state (see enableNotificationsGlobally(bool) ). | |
Protected Member Functions inherited from ml::Field | |
| void | attachSourceField (Field *field) |
Inserts a field as source field in this instance, i.e., from now on *this might receive values and/or notifications from that 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) |
Sets the value of this field from the given 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 |
| List of (target) fields that shall be set to the value of this field or that shall be notified only if this field is changed or notified. | |
| std::vector< Field * > | _sourceFields |
| List of (source) fields that will notify this field or that will copy their value to this field. | |
| 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. | |
The field class StringLineMultiField which manages a vector of std::string lines typically separated by "\r\n" on windows systems and by "\n" on non windows systems.
See MultiField for documentation of inherited functionality.
Definition at line 32 of file mlStringLineMultiField.h.
| ml::StringLineMultiField::StringLineMultiField | ( | const std::string & | name = "" | ) |
Constructor. See constructor of MultiField for documentation.
|
overridevirtual |
Same as getStringValue(StringLineMultiField::DefaultLineSeparator).
Reimplemented from ml::MultiField< std::string >.
| std::string ml::StringLineMultiField::getStringValue | ( | const std::string & | sep | ) | const |
Returns a string containing the concatenation of all values from the internal vector separated by the StringLineMultiField::DefaultLineSeparator.
After the last element sep is not appended. Note that using other values than StringLineMultiField::DefaultLineSeparator for sep will cause asymmetric conversion from/to setString(value) and getString() methods. So take care and make use of removeChar('
') and removeChar('\r') if necessary.
| ml::StringLineMultiField::ML_CLASS_HEADER | ( | StringLineMultiField | ) |
Macro to implement the interface for the Runtime Type System and for the initialization of this class.
See mlRuntimeSubClass.h for more information.
| void ml::StringLineMultiField::removeElements | ( | const std::string & | str = std::string() | ) |
Removes all entries equal to str; default is an empty string to remove all empty entries.
| void ml::StringLineMultiField::removeSubString | ( | const std::string & | str | ) |
Removes the character sequence str from each string element of the internal vector.
|
overridevirtual |
Same as setStringValue(const std::string &value, char sep) using the "\n" as value for sep; occurrences of "\r\n" (Windows convention) or just '\r' (Mac convention) are converted to '
' first.
Reimplemented from ml::MultiField< std::string >.
| void ml::StringLineMultiField::setStringValue | ( | const std::string & | value, |
| const std::string & | sep | ||
| ) |
Subdivides value at all positions of sep and stores all values in the internal vector.
Note that '
' characters in value if sep differs from DefaultLineSeparator will not be not used as separator. This will cause asymmetric behaviour from/to the default setString(value) and getString() methods when those are used for field persistence. So take care when using non line feed characters and make use of removeSubString("\n") and/or removeSubString("\r") if necessary.
| value | The string to be subdivided. |
| sep | The character sequence used to separate string segments. |
|
static |
The default line separator used for line endings when converting the internal string vector to a string with the default getString() or operator>>.
"\r\n" on windows and "\n" on non windows systems.
Definition at line 39 of file mlStringLineMultiField.h.