MeVisLab Toolbox Reference
ml::DicomValueComboBoxSelectorTagInterface Class Reference

A complex field interface managing a value selector for combo boxes with a number of predefined values; a checkBox whether the fieldValue shall be checked by the module for validity, an InheritMode which determines in which way the value shall be inherited from the input connection. More...

#include <mlDicomValueComboBoxSelectorTagInterface.h>

Inheritance diagram for ml::DicomValueComboBoxSelectorTagInterface:
ml::DicomModifyFieldAddOnBase ml::DicomModifyList ml::FieldAddOnBase ml::Base

Public Types

enum  { NumInheritModeStrings = 4 }
 Number of ways how a tag value can be inherited form input. More...
 
enum  InheritMode { InheritValidOnly =0 , InheritValidOtherwiseDefault , InheritAny , DoNotInherit }
 Available inherit and modify modes. More...
 
- Public Types inherited from ml::Base
enum  PersistenceInterface { PersistenceByString , PersistenceByTreeNode , PersistenceByStream }
 This enum describes the different persistence interfaces available. More...
 
- Public Types inherited from ml::FieldAddOnBase
enum  FieldChangeState { NoChange = 0 , StatusOnlyChange , RecalculationRequired }
 Describes the type of a field changes detected in handleFieldChanges(Field *field). More...
 

Public Member Functions

 DicomValueComboBoxSelectorTagInterface (Module &modRef, const std::string &fieldName, const char *const *selectableValues, size_t numSelectableValues, size_t defaultValueIndex=0, InheritMode inheritModeDefault=InheritValidOnly)
 Constructor, setting the reference of the module for which the fields shall be managed. More...
 
void addFields () override
 Add fields to field container of module. More...
 
void handleFieldActivationChanges () override
 Handle class changes according to Module::activateAttachments. More...
 
FieldAddOnBase::FieldChangeState handleFieldChanges (Field *field) override
 Handle field notifications according to Module::activateAttachments with a return of field change state. More...
 
virtual void inheritValues (DCMTree::Const_TreePtr dcmTree, const std::string &inValue, const std::string *fallBack=nullptr)
 Implements the call of DicomModifyFieldAddOnBase and passes the unmodified values form the source. More...
 
std::string applyModifications (DCMTree::TreePtr dcmTree, const FieldContainer *treeInfos=nullptr) override
 See DicomModifyFieldAddOnBase::applyModifications() for documentation; adds field values as tags to dcmTree: this class implements only the default base class call. More...
 
virtual std::string checkConsistency (const std::string *errorFieldName=nullptr) const
 Checks for invalid parameters; return textual description on error, or empty string on success; if errorFieldName is passed as non-nullptr the it will be used instead of the normal field name in a possibly returned error messages. More...
 
BoolFieldgetCheckConsistencyFld () const
 See _checkConsistencyFld. More...
 
EnumFieldgetInheritModeFld () const
 See _inheritModeFld. More...
 
StringFieldgetSelectableValuesFld () const
 See _selectableValuesFld. More...
 
StringFieldgetValueFld () const
 See _valueFld. More...
 
- Public Member Functions inherited from ml::DicomModifyFieldAddOnBase
 DicomModifyFieldAddOnBase (FieldContainer &fieldContainerRef, size_t numInstances=1, bool createInputModifyTagsPluginBaseConnectorField=false, bool createOutputModifyTagsPluginBaseConnectorField=false)
 Constructor, setting the reference of the FieldContainer managing the fields, the number of field instances to create and optionally input and output fields to create modification pipelines. More...
 
 ~DicomModifyFieldAddOnBase () override
 Destructor resetting connector fields if they exist. More...
 
size_t getNumInstances () const
 Returns the number of instances to be created by derived fields. More...
 
virtual void inheritValues (DCMTree::Const_TreePtr)
 Can be used to implement the copy of tag values from the given dcmTree to the fields. More...
 
virtual std::string checkConsistency () const
 Checks for invalid parameters; return textual description on error, or empty string on success. More...
 
BaseFieldgetOutputModifierListFld () const
 Provide access to output base field if it was created. More...
 
BaseFieldgetInputModifierListFld () const
 Provide access to input base connector field if it was created. More...
 
- Public Member Functions inherited from ml::DicomModifyList
 DicomModifyList ()
 Constructor creating an empty list of tag modifiers and setting the optional input plugin with a concatenated DicomModifyList. More...
 
 ~DicomModifyList () override
 Destructor also destroying all of its stored Modifiers. More...
 
void addModifier (DicomModifyBase *modifier, bool atEnd=true)
 Add an object derived from DicomModifyBase which then will be owned (and on destruction deleted) by this. More...
 
void clear ()
 Makes modifier array empty and deletes all of them. More...
 
std::vector< DicomModifyBase * > & getModifierList ()
 Get direct access to internal list to allow callers direct manipulations which, however, must obey the restriction that ownership belongs to *this, i.e. More...
 
const std::vector< DicomModifyBase * > & getModifierList () const
 Same as getModifierList() only for constant access. More...
 
void setInputPlugin (DicomModifyList *inputPlugin=nullptr)
 Sets an optional plugin to be called by applyModififcations or resets it to nullptr; the input is called after the objects in _modfiers list. More...
 
DicomModifyListgetInputPlugin () const
 Returns the optional plugin to be called by applyModififcations. More...
 
- Public Member Functions inherited from ml::Base
 Base ()
 Constructor. More...
 
virtual ~Base ()
 Destructor. More...
 
virtual BasedeepCopy () const
 Set addStateToTree version number that can be accessed via getAddStateVersion() More...
 
bool isOfAllowedType (const std::vector< const RuntimeType * > &types) const
 Check if this object's type is equal to or derived from one of the types given in the argument. More...
 
virtual bool isRefCountedBase () const
 Returns if the instance is derived from RefCountedBase. More...
 
virtual std::string detailString () const
 Return a string describing this object. More...
 
virtual bool implementsPersistence (PersistenceInterface) const
 Override this method to declare which persistence interfaces are implemented by your derived class. More...
 
virtual std::string persistentState () const
 Returns a string describing the object's internal state. More...
 
virtual void setPersistentState (const std::string &state)
 Restores the object's internal state from a string that had been previously generated using persistentState(). More...
 
virtual void addStateToTree (TreeNode *) const
 Attaches the object state as children of the given parent node. More...
 
virtual void readStateFromTree (TreeNode *)
 Reads the object state from the children of the given parent node. More...
 
virtual void writeTo (AbstractPersistenceOutputStream *) const
 Write the objects state to the data stream object. More...
 
virtual void readFrom (AbstractPersistenceInputStream *, int)
 Read the objects state from the data stream object. More...
 
- Public Member Functions inherited from ml::FieldAddOnBase
 FieldAddOnBase (FieldContainer &fieldContainerRef)
 Constructor, setting the reference of the FieldContainer managing the fields. More...
 
virtual ~FieldAddOnBase ()
 Destructor. More...
 
FieldContainergetFieldContainer ()
 Returns the referenced container. More...
 
const FieldContainergetFieldContainer () const
 Returns the referenced container. More...
 
std::vector< Field * > & getFields ()
 Return modification access to the list of managed fields, use at own risk! More...
 
const std::vector< Field * > & getFields () const
 Return constant access to the list of managed fields! More...
 
virtual FieldChangeState getMergedFieldChangeState (FieldChangeState state1, FieldChangeState state2) const
 Returns a FieldChangeState which best represents a merge of the two given states. More...
 
virtual bool hasField (Field *field) const
 Returns true if the passed fieldPtr is in _fieldPointers, otherwise false. More...
 

Static Public Member Functions

static std::string getComposedString (const char *const *stringSet, const size_t numStrings, const std::string &separator=",")
 Mainly internally used static helper function which returns a string composed from all entries of stringSet containing numStrings and separated by separator. More...
 
- Static Public Member Functions inherited from ml::DicomModifyFieldAddOnBase
static bool isIn (const std::string &str, const char *const *values, size_t numValues)
 Static helper function which checks whether str is part of the given list of values which has numValues entries. More...
 

Static Public Attributes

static const char *const InheritModeStrings [NumInheritModeStrings]
 Possible string values for ways how a tag value can be determined. More...
 

Protected Attributes

const std::string _fieldName
 The name of the value field. More...
 
const char *const * _selectableValues
 The array of numSelectableValues string values which are allowed in _valueField. More...
 
const size_t _numSelectableValues
 The number of values in selectableValuesStr. More...
 
const size_t _defaultSelectableValueIndex
 The index of the default value to be used in _valueField. More...
 
const InheritMode _inheritModeDefault
 The default index to the default value to be used in _valueField. More...
 
BoolField_checkConsistencyFld
 Controls whether the content of _valueFld is checked in checkConsistency or not. More...
 
EnumField_inheritModeFld
 Enumerator field controls the way how values for the valueFld may be inherited or adapted. More...
 
StringField_selectableValuesFld
 Allowed values for _valueField, composed for use in a MeVisLab ComoboBox field control. More...
 
StringField_valueFld
 The value to be managed. More...
 

Additional Inherited Members

- Protected Member Functions inherited from ml::Base
virtual char * getPersistentState () const
 Returns a C string describing the object's internal state. More...
 
virtual void setPersistentState (const char *)
 Restores the object's internal state from a string that had been previously generated using getPersistentState(). More...
 
virtual void clearPersistentState (char *) const
 Disposes a string previously allocated by getPersistentState(). More...
 
- Protected Member Functions inherited from ml::FieldAddOnBase
void _addFieldPointer (Field *field)
 Helper routine to add a Field pointer to _fieldPointers, empty pointers and pointers added more than once will be handled fatally. More...
 

Detailed Description

A complex field interface managing a value selector for combo boxes with a number of predefined values; a checkBox whether the fieldValue shall be checked by the module for validity, an InheritMode which determines in which way the value shall be inherited from the input connection.

creates four fields: fieldName+"CheckConsistensy", fieldName+"InheritMode", fieldName+"SelectableValues", and fieldName where fieldName can be selected as comboBox from selectableValues.

Definition at line 27 of file mlDicomValueComboBoxSelectorTagInterface.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Number of ways how a tag value can be inherited form input.

Enumerator
NumInheritModeStrings 

Definition at line 32 of file mlDicomValueComboBoxSelectorTagInterface.h.

◆ InheritMode

Available inherit and modify modes.

Enumerator
InheritValidOnly 
InheritValidOtherwiseDefault 

Inherit only valid values, otherwise drop to the default value.

InheritAny 

Inherit any valid or invalid value, regardless of its validity.

DoNotInherit 

Do not inherit any value at all.

Definition at line 38 of file mlDicomValueComboBoxSelectorTagInterface.h.

Constructor & Destructor Documentation

◆ DicomValueComboBoxSelectorTagInterface()

ml::DicomValueComboBoxSelectorTagInterface::DicomValueComboBoxSelectorTagInterface ( Module modRef,
const std::string &  fieldName,
const char *const *  selectableValues,
size_t  numSelectableValues,
size_t  defaultValueIndex = 0,
InheritMode  inheritModeDefault = InheritValidOnly 
)

Constructor, setting the reference of the module for which the fields shall be managed.

Parameters
modRefThe module into which the fields of the AddIn shall be added.
fieldNameThe (field)name of the field to be managed.
selectableValuesThe list of strings provided as possible selectable values; number must match numValidValues.
numSelectableValuesNumber of values in selectableValues.
defaultValueIndexIndex into selectableValues which shall be used as default.
inheritModeDefaultInheritMode which shall be used as default for the InheritModeField.

Member Function Documentation

◆ addFields()

void ml::DicomValueComboBoxSelectorTagInterface::addFields ( )
overridevirtual

Add fields to field container of module.

Reimplemented from ml::DicomModifyFieldAddOnBase.

◆ applyModifications()

std::string ml::DicomValueComboBoxSelectorTagInterface::applyModifications ( DCMTree::TreePtr  dcmTree,
const FieldContainer treeInfos = nullptr 
)
overridevirtual

See DicomModifyFieldAddOnBase::applyModifications() for documentation; adds field values as tags to dcmTree: this class implements only the default base class call.

Reimplemented from ml::DicomModifyFieldAddOnBase.

◆ checkConsistency()

virtual std::string ml::DicomValueComboBoxSelectorTagInterface::checkConsistency ( const std::string *  errorFieldName = nullptr) const
virtual

Checks for invalid parameters; return textual description on error, or empty string on success; if errorFieldName is passed as non-nullptr the it will be used instead of the normal field name in a possibly returned error messages.

◆ getCheckConsistencyFld()

BoolField& ml::DicomValueComboBoxSelectorTagInterface::getCheckConsistencyFld ( ) const
inline

See _checkConsistencyFld.

Definition at line 87 of file mlDicomValueComboBoxSelectorTagInterface.h.

◆ getComposedString()

static std::string ml::DicomValueComboBoxSelectorTagInterface::getComposedString ( const char *const *  stringSet,
const size_t  numStrings,
const std::string &  separator = "," 
)
static

Mainly internally used static helper function which returns a string composed from all entries of stringSet containing numStrings and separated by separator.

◆ getInheritModeFld()

EnumField& ml::DicomValueComboBoxSelectorTagInterface::getInheritModeFld ( ) const
inline

See _inheritModeFld.

Definition at line 90 of file mlDicomValueComboBoxSelectorTagInterface.h.

◆ getSelectableValuesFld()

StringField& ml::DicomValueComboBoxSelectorTagInterface::getSelectableValuesFld ( ) const
inline

See _selectableValuesFld.

Definition at line 93 of file mlDicomValueComboBoxSelectorTagInterface.h.

◆ getValueFld()

StringField& ml::DicomValueComboBoxSelectorTagInterface::getValueFld ( ) const
inline

See _valueFld.

Definition at line 96 of file mlDicomValueComboBoxSelectorTagInterface.h.

◆ handleFieldActivationChanges()

void ml::DicomValueComboBoxSelectorTagInterface::handleFieldActivationChanges ( )
overridevirtual

Handle class changes according to Module::activateAttachments.

Reimplemented from ml::DicomModifyFieldAddOnBase.

◆ handleFieldChanges()

FieldAddOnBase::FieldChangeState ml::DicomValueComboBoxSelectorTagInterface::handleFieldChanges ( Field field)
overridevirtual

Handle field notifications according to Module::activateAttachments with a return of field change state.

Reimplemented from ml::DicomModifyFieldAddOnBase.

◆ inheritValues()

virtual void ml::DicomValueComboBoxSelectorTagInterface::inheritValues ( DCMTree::Const_TreePtr  dcmTree,
const std::string &  inValue,
const std::string *  fallBack = nullptr 
)
virtual

Implements the call of DicomModifyFieldAddOnBase and passes the unmodified values form the source.

If fallback is passed non-nullptr then it is used instead of the field default if that one is needed.

Member Data Documentation

◆ _checkConsistencyFld

BoolField* ml::DicomValueComboBoxSelectorTagInterface::_checkConsistencyFld
protected

Controls whether the content of _valueFld is checked in checkConsistency or not.

Definition at line 123 of file mlDicomValueComboBoxSelectorTagInterface.h.

◆ _defaultSelectableValueIndex

const size_t ml::DicomValueComboBoxSelectorTagInterface::_defaultSelectableValueIndex
protected

The index of the default value to be used in _valueField.

Definition at line 116 of file mlDicomValueComboBoxSelectorTagInterface.h.

◆ _fieldName

const std::string ml::DicomValueComboBoxSelectorTagInterface::_fieldName
protected

The name of the value field.

Definition at line 107 of file mlDicomValueComboBoxSelectorTagInterface.h.

◆ _inheritModeDefault

const InheritMode ml::DicomValueComboBoxSelectorTagInterface::_inheritModeDefault
protected

The default index to the default value to be used in _valueField.

Definition at line 119 of file mlDicomValueComboBoxSelectorTagInterface.h.

◆ _inheritModeFld

EnumField* ml::DicomValueComboBoxSelectorTagInterface::_inheritModeFld
protected

Enumerator field controls the way how values for the valueFld may be inherited or adapted.

Definition at line 126 of file mlDicomValueComboBoxSelectorTagInterface.h.

◆ _numSelectableValues

const size_t ml::DicomValueComboBoxSelectorTagInterface::_numSelectableValues
protected

The number of values in selectableValuesStr.

Definition at line 113 of file mlDicomValueComboBoxSelectorTagInterface.h.

◆ _selectableValues

const char* const* ml::DicomValueComboBoxSelectorTagInterface::_selectableValues
protected

The array of numSelectableValues string values which are allowed in _valueField.

Definition at line 110 of file mlDicomValueComboBoxSelectorTagInterface.h.

◆ _selectableValuesFld

StringField* ml::DicomValueComboBoxSelectorTagInterface::_selectableValuesFld
protected

Allowed values for _valueField, composed for use in a MeVisLab ComoboBox field control.

Definition at line 129 of file mlDicomValueComboBoxSelectorTagInterface.h.

◆ _valueFld

StringField* ml::DicomValueComboBoxSelectorTagInterface::_valueFld
protected

The value to be managed.

Definition at line 132 of file mlDicomValueComboBoxSelectorTagInterface.h.

◆ InheritModeStrings

const char* const ml::DicomValueComboBoxSelectorTagInterface::InheritModeStrings[NumInheritModeStrings]
static

Possible string values for ways how a tag value can be determined.

Definition at line 35 of file mlDicomValueComboBoxSelectorTagInterface.h.


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