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::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
virtual void handleFieldActivationChanges ()
 Handle class changes according to Module::activateAttachments.
virtual FieldChangeState handleFieldChanges (Field *field)
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)

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

◆ ~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.

References FieldAddOnBase().

◆ 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::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::DicomModifyApprovalModuleFieldAddOn, ml::DicomModifyCalculatedDoseReferenceRecordModuleFieldAddOn, ml::DicomModifyCineModuleFieldAddOn, ml::DicomModifyClinicalTrialSeriesModuleFieldAddOn, ml::DicomModifyClinicalTrialStudyModuleFieldAddOn, ml::DicomModifyClinicalTrialSubjectModuleFieldAddOn, ml::DicomModifyContrastBolusModuleFieldAddOn, ml::DicomModifyDeviceModuleFieldAddOn, ml::DicomModifyFieldAddOnBase, ml::DicomModifyFrameOfReferenceModuleFieldAddOn, ml::DicomModifyGeneralEquipmentModuleFieldAddOn, ml::DicomModifyGeneralImageModuleFieldAddOn, ml::DicomModifyGeneralStudyModuleFieldAddOn, ml::DicomModifyImagePixelModuleFieldAddOn, ml::DicomModifyImagePlaneModuleFieldAddOn, ml::DicomModifyImageTagsFieldAddOn, ml::DicomModifyMeasuredDoseReferenceRecordModuleFieldAddOn, ml::DicomModifyModalityLUTModuleFieldAddOn, ml::DicomModifyModuleFieldAddOnBase, ml::DicomModifyMultiFrameModuleFieldAddOn, ml::DicomModifyMultiFrameOverlayModuleFieldAddOn, ml::DicomModifyOrdinaryFieldAddOn, ml::DicomModifyOtherTagOperationsFieldAddOn, ml::DicomModifyOverlayPlaneModuleFieldAddOn, ml::DicomModifyPatientModuleFieldAddOn, ml::DicomModifyPatientStudyModuleFieldAddOn, ml::DicomModifyPrivateAddFieldAddOn, ml::DicomModifyPrivateRemoveFieldAddOn, 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::DicomModifySequenceFieldAddOn, ml::DicomModifySOPCommonModuleFieldAddOn, ml::DicomModifyStructureSetModuleFieldAddOn, ml::DicomModifySubTreeSelectorFieldAddOn, ml::DicomModifyTagsVariousFieldAddOns, ml::DicomModifyVOILUTModuleFieldAddOn, 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::DicomTagDumpFieldAddOn, ml::DicomValueComboBoxSelectorTagInterface, ml::DicomValueInheritAndCreateTagInterface, ml::RelatedDicomVolumeFieldAddOn, ml::StringLineFilterFieldAddOn, and ml::TreeAndVolumeInputFieldAddOn.

◆ 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 NoChange, RecalculationRequired, and StatusOnlyChange.

Referenced by ml::FieldAddOnList< BASE_FIELD_ADD_ON_TYPE, PIMPL_OBJ_TYPE >::handleFieldChanges().

◆ 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::DicomAcquisitionContextModuleTagInterface, ml::DicomBoolInheritAndWriteTagInterface, ml::DicomCIDEditTagInterface, ml::DicomCIDSingleEntryEditTagInterface, ml::DicomCommonInstanceReferenceModuleTagInterface, ml::DicomCopyGroupsTagInterface, ml::DicomCopyTagSetInterface, ml::DicomEncapsulatedDocumentSeriesModuleTagInterface, ml::DicomEnhancedMRImageModuleTagInterface, ml::DicomFrameOfReferenceModuleTagInterface, ml::DicomGeneralEquipmentModuleTagInterface, ml::DicomGeneralSeriesModuleTagInterface, ml::DicomGeneralStudyModuleTagInterface, ml::DicomImageDescriptionTagInterface, ml::DicomImageTypeTagInterface, ml::DicomManufacturing3DModelModuleTagInterface, ml::DicomModifyFieldAddOnBase, ml::DicomModifyModuleFieldAddOnBase, ml::DicomModifyOrdinaryFieldAddOn, ml::DicomModifyOtherTagOperationsFieldAddOn, ml::DicomModifyPrivateAddFieldAddOn, ml::DicomModifyPrivateRemoveFieldAddOn, ml::DicomModifySequenceFieldAddOn, ml::DicomModifySubTreeSelectorFieldAddOn, ml::DicomModifyTagsVariousFieldAddOns, ml::DicomPatientModuleTagInterface, ml::DicomPresentationStateIdentificationTagInterface, ml::DicomReferencedImageSequenceTagInterface, ml::DicomSegmentationImageModuleTagInterface, ml::DicomSegmentSequenceTagInterface, ml::DicomSeriesAndInstanceReferenceMacroTagInterface, ml::DicomSOPCommonModuleTagInterface, ml::DicomTagDumpFieldAddOn, ml::DicomValueComboBoxSelectorTagInterface, ml::DicomValueInheritAndCreateTagInterface, ml::RelatedDicomVolumeFieldAddOn, ml::StringLineFilterFieldAddOn, and ml::TreeAndVolumeInputFieldAddOn.

Definition at line 65 of file mlFieldAddOnBase.h.

References hasField(), NoChange, and RecalculationRequired.

◆ hasField()

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

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

Referenced by handleFieldChanges().


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