MeVisLab Toolbox Reference
ml::FieldAddOnBase Class Referenceabstract

Abstract base class for field interfaces to be added to other ML module classes. More...

#include <mlFieldAddOnBase.h>

Inheritance diagram for ml::FieldAddOnBase:
ml::DicomModifyFieldAddOnBase ml::DicomTagDumpFieldAddOn ml::RelatedDicomVolumeFieldAddOn ml::StringLineFilterFieldAddOn ml::TreeAndVolumeInputFieldAddOn ml::FieldAddOnList< DicomModifyFieldAddOnBase, DicomDOCSaveAddOnPointers * > ml::FieldAddOnList< DicomModifyFieldAddOnBase, DicomEnhancedSaveAddOnPointers * > ml::FieldAddOnList< DicomModifyFieldAddOnBase, DicomSEGSaveAddOnPointers * > ml::DicomAcquisitionContextModuleTagInterface ml::DicomBoolInheritAndWriteTagInterface ml::DicomCIDEditTagInterface ml::DicomCIDSingleEntryEditTagInterface ml::DicomCommonInstanceReferenceModuleTagInterface ml::DicomContentDateTimeTagInterface ml::DicomContentIdentificationMacroTagInterface ml::DicomCopyGroupsTagInterface ml::DicomCopyTagSetInterface ml::DicomDeformableSpatialRegistrationModuleTagInterface ml::DicomEncapsulatedDocumentModuleTagInterface ml::DicomEncapsulatedDocumentSeriesModuleTagInterface ml::DicomEnhancedMRImageModuleTagInterface ml::DicomFrameOfReferenceModuleTagInterface ml::DicomGeneralEquipmentModuleTagInterface ml::DicomGeneralImageModuleTagInterface ml::DicomGeneralSeriesModuleTagInterface ml::DicomGeneralStudyModuleTagInterface ml::DicomImageDescriptionTagInterface ml::DicomImagePlaneModuleTagInterface ml::DicomImageTypeTagInterface ml::DicomMRSeriesModuleTagInterface ml::DicomManufacturing3DModelModuleTagInterface ml::DicomModifyImageTagsFieldAddOn ml::DicomModifyModuleFieldAddOnBase ml::DicomModifyOrdinaryFieldAddOn ml::DicomModifyOtherTagOperationsFieldAddOn ml::DicomModifyPrivateAddFieldAddOn ml::DicomModifyPrivateRemoveFieldAddOn ml::DicomModifySequenceFieldAddOn ml::DicomModifySubTreeSelectorFieldAddOn ml::DicomModifyTagsVariousFieldAddOns ml::DicomPatientModuleTagInterface ml::DicomReferencedImageSequenceTagInterface ml::DicomSCEquipmentModuleTagInterface ml::DicomSCMultiframeImageModuleTagInterface ml::DicomSOPCommonModuleTagInterface ml::DicomSOPInstanceReferenceMacroTagInterface ml::DicomSegmentSequenceTagInterface ml::DicomSegmentationImageModuleTagInterface ml::DicomSegmentationSeriesModuleAttributesTagInterface ml::DicomSeriesAndInstanceReferenceMacroTagInterface ml::DicomSpatialFiducialsModuleTagInterface ml::DicomValueComboBoxSelectorTagInterface ml::DicomValueInheritAndCreateTagInterface

Public Types

enum  FieldChangeState { NoChange = 0 , StatusOnlyChange , RecalculationRequired }
 Describes the type of a field changes detected in handleFieldChanges(Field *field). More...
 

Public Member Functions

 FieldAddOnBase (FieldContainer &fieldContainerRef)
 Constructor, setting the reference of the FieldContainer managing the fields.
 
virtual ~FieldAddOnBase ()
 Destructor.
 
FieldContainergetFieldContainer ()
 Returns the referenced container.
 
const FieldContainergetFieldContainer () const
 Returns the referenced container.
 
std::vector< Field * > & getFields ()
 Return modification access to the list of managed fields, use at own risk!
 
const std::vector< Field * > & getFields () const
 Return constant access to the list of managed fields!
 
virtual void addFields ()=0
 Add fields to field container of module.
 
virtual void handleFieldActivationChanges ()
 Handle class changes according to Module::activateAttachments.
 
virtual FieldChangeState handleFieldChanges (Field *field)
 Handle field notifications according to Module::handleNotification functionality.
 
virtual FieldChangeState getMergedFieldChangeState (FieldChangeState state1, FieldChangeState state2) const
 Returns a FieldChangeState which best represents a merge of the two given states.
 
virtual bool hasField (Field *field) const
 Returns true if the passed fieldPtr is in _fieldPointers, otherwise false.
 

Protected Member Functions

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.
 

Detailed Description

Abstract base class for field interfaces to be added to other ML module classes.

Definition at line 22 of file mlFieldAddOnBase.h.

Member Enumeration Documentation

◆ FieldChangeState

Describes the type of a field changes detected in handleFieldChanges(Field *field).

Enumerator
NoChange 

No change took place.

StatusOnlyChange 

Display-only or status fields have been changed which do not require recalculations for example of image outputs.

RecalculationRequired 

A field was changes which requires recalculations or (image) output updates.

Definition at line 26 of file mlFieldAddOnBase.h.

Constructor & Destructor Documentation

◆ FieldAddOnBase()

ml::FieldAddOnBase::FieldAddOnBase ( FieldContainer & fieldContainerRef)
inline

Constructor, setting the reference of the FieldContainer managing the fields.

Definition at line 35 of file mlFieldAddOnBase.h.

◆ ~FieldAddOnBase()

virtual ml::FieldAddOnBase::~FieldAddOnBase ( )
inlinevirtual

Destructor.

Definition at line 40 of file mlFieldAddOnBase.h.

Member Function Documentation

◆ _addFieldPointer()

void ml::FieldAddOnBase::_addFieldPointer ( Field * field)
protected

Helper routine to add a Field pointer to _fieldPointers, empty pointers and pointers added more than once will be handled fatally.

◆ addFields()

virtual void ml::FieldAddOnBase::addFields ( )
pure virtual

Add fields to field container of module.

All derived versions must add their fields to getFieldContainer() and with _addFieldPointer().

Implemented in ml::StringLineFilterFieldAddOn, ml::DicomModifyFieldAddOnBase, ml::DicomModifyImageTagsFieldAddOn, ml::DicomModifyOrdinaryFieldAddOn, ml::DicomModifyOtherTagOperationsFieldAddOn, ml::DicomModifyPrivateAddFieldAddOn, ml::DicomModifyPrivateRemoveFieldAddOn, ml::DicomModifySequenceFieldAddOn, ml::DicomModifySubTreeSelectorFieldAddOn, ml::DicomModifyTagsVariousFieldAddOns, ml::TreeAndVolumeInputFieldAddOn, ml::DicomAcquisitionContextModuleTagInterface, ml::DicomBoolInheritAndWriteTagInterface, ml::DicomCIDEditTagInterface, ml::DicomCIDSingleEntryEditTagInterface, ml::DicomCommonInstanceReferenceModuleTagInterface, ml::DicomContentDateTimeTagInterface, ml::DicomContentIdentificationMacroTagInterface, ml::DicomCopyGroupsTagInterface, ml::DicomCopyTagSetInterface, ml::DicomDeformableSpatialRegistrationModuleTagInterface, ml::DicomEncapsulatedDocumentModuleTagInterface, ml::DicomEncapsulatedDocumentSeriesModuleTagInterface, ml::DicomEnhancedMRImageModuleTagInterface, ml::DicomFrameOfReferenceModuleTagInterface, ml::DicomGeneralEquipmentModuleTagInterface, ml::DicomGeneralImageModuleTagInterface, ml::DicomGeneralSeriesModuleTagInterface, ml::DicomGeneralStudyModuleTagInterface, ml::DicomImageDescriptionTagInterface, ml::DicomImagePlaneModuleTagInterface, ml::DicomImageTypeTagInterface, ml::DicomManufacturing3DModelModuleTagInterface, ml::DicomMRSeriesModuleTagInterface, ml::DicomPatientModuleTagInterface, ml::DicomPresentationStateIdentificationTagInterface, ml::DicomReferencedImageSequenceTagInterface, ml::DicomSCEquipmentModuleTagInterface, ml::DicomSCMultiframeImageModuleTagInterface, ml::DicomSegmentationImageModuleTagInterface, ml::DicomSegmentationSeriesModuleAttributesTagInterface, ml::DicomSegmentSequenceTagInterface, ml::DicomSeriesAndInstanceReferenceMacroTagInterface, ml::DicomSOPCommonModuleTagInterface, ml::DicomSOPInstanceReferenceMacroTagInterface, ml::DicomSpatialFiducialsModuleTagInterface, ml::DicomValueComboBoxSelectorTagInterface, ml::DicomValueInheritAndCreateTagInterface, ml::DicomTagDumpFieldAddOn, ml::FieldAddOnList< DicomModifyFieldAddOnBase, DicomDOCSaveAddOnPointers * >, ml::FieldAddOnList< DicomModifyFieldAddOnBase, DicomEnhancedSaveAddOnPointers * >, ml::FieldAddOnList< DicomModifyFieldAddOnBase, DicomSEGSaveAddOnPointers * >, ml::RelatedDicomVolumeFieldAddOn, ml::DicomModifyApprovalModuleFieldAddOn, ml::DicomModifyCalculatedDoseReferenceRecordModuleFieldAddOn, ml::DicomModifyCineModuleFieldAddOn, ml::DicomModifyClinicalTrialSeriesModuleFieldAddOn, ml::DicomModifyClinicalTrialStudyModuleFieldAddOn, ml::DicomModifyClinicalTrialSubjectModuleFieldAddOn, ml::DicomModifyContrastBolusModuleFieldAddOn, ml::DicomModifyDeviceModuleFieldAddOn, ml::DicomModifyFrameOfReferenceModuleFieldAddOn, ml::DicomModifyGeneralEquipmentModuleFieldAddOn, ml::DicomModifyGeneralImageModuleFieldAddOn, ml::DicomModifyGeneralStudyModuleFieldAddOn, ml::DicomModifyImagePixelModuleFieldAddOn, ml::DicomModifyImagePlaneModuleFieldAddOn, ml::DicomModifyMeasuredDoseReferenceRecordModuleFieldAddOn, ml::DicomModifyModalityLUTModuleFieldAddOn, ml::DicomModifyMultiFrameModuleFieldAddOn, ml::DicomModifyMultiFrameOverlayModuleFieldAddOn, ml::DicomModifyOverlayPlaneModuleFieldAddOn, ml::DicomModifyPatientModuleFieldAddOn, ml::DicomModifyPatientStudyModuleFieldAddOn, ml::DicomModifyROIContourModuleFieldAddOn, ml::DicomModifyRTBeamsModuleFieldAddOn, ml::DicomModifyRTBrachyApplicationSetupsModuleFieldAddOn, ml::DicomModifyRTDoseModuleFieldAddOn, ml::DicomModifyRTDoseROIModuleFieldAddOn, ml::DicomModifyRTDVHModuleFieldAddOn, ml::DicomModifyRTFractionSchemeModuleFieldAddOn, ml::DicomModifyRTGeneralPlanModuleFieldAddOn, ml::DicomModifyRTGeneralTreatmentRecordModuleFieldAddOn, ml::DicomModifyRTImageModuleFieldAddOn, ml::DicomModifyRTIonBeamsModuleFieldAddOn, ml::DicomModifyRTIonBeamsSessionRecordModuleFieldAddOn, ml::DicomModifyRTIonToleranceTablesModuleFieldAddOn, ml::DicomModifyRTPatientSetupModuleFieldAddOn, ml::DicomModifyRTPrescriptionModuleFieldAddOn, ml::DicomModifyRTROIObservationsModuleFieldAddOn, ml::DicomModifyRTSeriesModuleFieldAddOn, ml::DicomModifyRTToleranceTablesModuleFieldAddOn, ml::DicomModifyRTTreatmentMachineRecordModuleFieldAddOn, ml::DicomModifyRTTreatmentSummaryRecordModuleFieldAddOn, ml::DicomModifySOPCommonModuleFieldAddOn, ml::DicomModifyStructureSetModuleFieldAddOn, ml::DicomModifyVOILUTModuleFieldAddOn, and ml::DicomModifyModuleFieldAddOnBase.

◆ getFieldContainer() [1/2]

FieldContainer & ml::FieldAddOnBase::getFieldContainer ( )
inline

Returns the referenced container.

Definition at line 43 of file mlFieldAddOnBase.h.

◆ getFieldContainer() [2/2]

const FieldContainer & ml::FieldAddOnBase::getFieldContainer ( ) const
inline

Returns the referenced container.

Definition at line 46 of file mlFieldAddOnBase.h.

◆ getFields() [1/2]

std::vector< Field * > & ml::FieldAddOnBase::getFields ( )
inline

Return modification access to the list of managed fields, use at own risk!

Definition at line 49 of file mlFieldAddOnBase.h.

◆ getFields() [2/2]

const std::vector< Field * > & ml::FieldAddOnBase::getFields ( ) const
inline

Return constant access to the list of managed fields!

Definition at line 52 of file mlFieldAddOnBase.h.

◆ getMergedFieldChangeState()

virtual FieldChangeState ml::FieldAddOnBase::getMergedFieldChangeState ( FieldChangeState state1,
FieldChangeState state2 ) const
inlinevirtual

Returns a FieldChangeState which best represents a merge of the two given states.

Definition at line 71 of file mlFieldAddOnBase.h.

References mlrange_cast().

◆ handleFieldActivationChanges()

◆ handleFieldChanges()

virtual FieldChangeState ml::FieldAddOnBase::handleFieldChanges ( Field * field)
inlinevirtual

Handle field notifications according to Module::handleNotification functionality.

The default functionality return

Parameters
fieldThe field whose was changed.
Returns
RecalculationRequired if the field is found in _fieldPointer, otherwise NoChange.

Reimplemented in ml::StringLineFilterFieldAddOn, ml::DicomModifyFieldAddOnBase, ml::DicomModifyOrdinaryFieldAddOn, ml::DicomModifyOtherTagOperationsFieldAddOn, ml::DicomModifyPrivateAddFieldAddOn, ml::DicomModifyPrivateRemoveFieldAddOn, ml::DicomModifySequenceFieldAddOn, ml::DicomModifySubTreeSelectorFieldAddOn, ml::DicomModifyTagsVariousFieldAddOns, ml::TreeAndVolumeInputFieldAddOn, ml::DicomAcquisitionContextModuleTagInterface, ml::DicomBoolInheritAndWriteTagInterface, ml::DicomCIDEditTagInterface, ml::DicomCIDSingleEntryEditTagInterface, ml::DicomCommonInstanceReferenceModuleTagInterface, ml::DicomCopyGroupsTagInterface, ml::DicomCopyTagSetInterface, ml::DicomEncapsulatedDocumentSeriesModuleTagInterface, ml::DicomEnhancedMRImageModuleTagInterface, ml::DicomGeneralEquipmentModuleTagInterface, ml::DicomGeneralSeriesModuleTagInterface, ml::DicomGeneralStudyModuleTagInterface, ml::DicomImageDescriptionTagInterface, ml::DicomImageTypeTagInterface, ml::DicomManufacturing3DModelModuleTagInterface, ml::DicomPatientModuleTagInterface, ml::DicomPresentationStateIdentificationTagInterface, ml::DicomReferencedImageSequenceTagInterface, ml::DicomSegmentationImageModuleTagInterface, ml::DicomSegmentSequenceTagInterface, ml::DicomSeriesAndInstanceReferenceMacroTagInterface, ml::DicomSOPCommonModuleTagInterface, ml::DicomValueComboBoxSelectorTagInterface, ml::DicomValueInheritAndCreateTagInterface, ml::DicomTagDumpFieldAddOn, ml::FieldAddOnList< DicomModifyFieldAddOnBase, DicomDOCSaveAddOnPointers * >, ml::FieldAddOnList< DicomModifyFieldAddOnBase, DicomEnhancedSaveAddOnPointers * >, ml::FieldAddOnList< DicomModifyFieldAddOnBase, DicomSEGSaveAddOnPointers * >, ml::RelatedDicomVolumeFieldAddOn, and ml::DicomModifyModuleFieldAddOnBase.

Definition at line 65 of file mlFieldAddOnBase.h.

References mlrange_cast().

◆ hasField()

virtual bool ml::FieldAddOnBase::hasField ( Field * field) const
virtual

Returns true if the passed fieldPtr is in _fieldPointers, otherwise false.


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