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. More... | |
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. More... | |
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. More... | |
void | removeSubString (const std::string &str) |
Removes the character sequence str from each string element of the internal vector. More... | |
void | removeElements (const std::string &str=std::string()) |
Removes all entries equal to str; default is an empty string to remove all empty entries. More... | |
std::string | getStringValue () const override |
Same as getStringValue(StringLineMultiField::DefaultLineSeparator). More... | |
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. More... | |
ML_CLASS_HEADER (StringLineMultiField) | |
Macro to implement the interface for the Runtime Type System and for the initialization of this class. More... | |
![]() | |
MultiField (const std::string &name="") | |
Empty Constructor: Create a field with name name. More... | |
void | setStringValue (const std::string &value) override |
Set value to value. More... | |
void | setMultiField (const std::vector< std::string > &value) |
Set values of the field to value which is a std::vector. More... | |
void | setMultiField (const std::string values[], size_t numValues) |
Set values of the field to values which is an array of values. More... | |
void | getMultiField (std::string values[], size_t numValues) |
Get values from the field into values which is an array of values. More... | |
const std::vector< std::string > & | getMultiField () const |
Returns the vector of the field. More... | |
std::string | getStringValue () const override |
Return the value as string value. More... | |
std::vector< std::string > & | getNonConstMultiField () |
Returns the vector of the field as modifiable reference. More... | |
size_t | getSize () const |
Returns number of entries in vector. More... | |
![]() | |
Field (const std::string &name=std::string()) | |
Constructor: Creates a field with name . More... | |
virtual | ~Field () |
Destructor: Destroys a field and removes all connection to fields and sensors. More... | |
FieldContainer * | getFieldContainer () const |
Returns the field container of the field (which may be NULL). More... | |
const std::string & | getName () const |
Returns the name of field. More... | |
void | setName (const std::string &name) |
Sets the name of field. Should be called only once after or while construction. More... | |
std::string | getFullName () const |
Returns 'fieldContainerType(instanceName).fieldName' if field container is available, otherwise only the field name is returned. More... | |
bool | isOutputOnly () const |
Returns whether this field is marked as a pure output field. More... | |
void | setOutputOnly (bool outputOnly=true) |
Marks this field as a pure output field that is only changed by its module. More... | |
virtual MLint | isValidValue () |
Returns true (=1) if the field's value is valid; otherwise, false (=0) is returned. More... | |
void | copyCStringValue (char *valueBuffer, MLint bufferSize) |
Copies the value of the field (as character string) into the specified buffer valueBuffer . More... | |
MLint | getCStringValueSize () |
Returns the length of the character string of the string value of the field. More... | |
void | attachFieldSensor (FieldSensor *sensor) |
Attaches a field sensor sensor of this class instance in both directions. More... | |
void | detachFieldSensor (FieldSensor *sensor) |
Detaches the field sensor sensor of this class instance in both directions. More... | |
void | detachFieldSensors () |
Detaches all field sensors of this class instance in both directions. More... | |
void | attachField (OutputConnectorField *targetField) |
This calls attachField(targetField, false). More... | |
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 . More... | |
void | detachField (Field *targetField) |
Disconnects connections between the target field targetField and this instance. More... | |
void | detachSourceFields () |
Disconnects all source fields of this instance in both directions. More... | |
void | detachDestinationFields () |
Disconnects all target fields of this instance in both directions. More... | |
void | detachAllFields () |
Disconnects all source and target fields of this instance in both directions. More... | |
size_t | getNumDestinationFields () |
Returns the number of destination fields that could receive notifications or value sets. More... | |
Field * | getDestinationField (size_t index) |
Returns the destination field at index . Returns NULL if index is out of range. More... | |
size_t | getNumSourceFields () |
Returns the number of source fields that could send notifications or value sets. More... | |
Field * | getSourceField (size_t index) |
Returns the source field at index . Returns NULL if index is out of range. More... | |
virtual void | touch (FieldSensor::Strength strength=FieldSensor::CHANGED) |
Notifies all connected fields and field sensors. More... | |
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 . More... | |
bool | areNotificationsEnabled () |
Returns whether the notification mechanism for this field (e.g., when field values are set) is enabled (see enableNotifications(bool) ). More... | |
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>>. More... | |
Additional Inherited Members | |
![]() | |
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 . More... | |
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. More... | |
static MLint & | enableNotificationsCounterState () |
Provides read/write access to the current counter state (see enableNotificationsGlobally(bool) ). More... | |
![]() | |
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. More... | |
void | detachSourceField (Field *field) |
Removes a source field from this instance. If not found, then this call does nothing. More... | |
void | detachFieldInternal (Field *field) |
Only removes the given field from the destination list. More... | |
virtual void | setValueFromField (const Field &field) |
Sets the value of this field from the given field . More... | |
![]() | |
std::string | _name |
The name of this field. More... | |
std::vector< FieldSensor * > | _sensors |
List of field sensors. More... | |
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. More... | |
std::vector< Field * > | _sourceFields |
List of (source) fields that will notify this field or that will copy their value to this field. More... | |
FieldContainer * | _fieldContainer |
The owning field container. More... | |
Flags | _flags |
![]() | |
static MLint | _enableNotifications |
Flag that disables the notification process of field (-sensors) globally. More... | |
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).
Implements ml::Field.
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.
Implements ml::Field.
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.