MeVisLab Toolbox Reference
mlRelatedDicomVolumeFieldAddOn.h
Go to the documentation of this file.
1 // Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2 // **InsertLicense** code
3 //----------------------------------------------------------------------------------
7 
12 //----------------------------------------------------------------------------------
13 #pragma once
14 
16 #include <mlFieldAddOnBase.h>
17 #include <DCMTree_Lib.h>
18 
19 ML_START_NAMESPACE
20 
21 class MultiFileVolumeList;
22 
23 //----------------------------------------------------------------------------------
25 //----------------------------------------------------------------------------------
27 {
28 public:
30  inline RelatedDicomVolumeFieldAddOn(FieldContainer &fieldContainerRef): FieldAddOnBase(fieldContainerRef){};
31 
33  void addFields() override;
34 
37 
40 
42  virtual std::string checkConsistency() const;
43 
45  virtual void resetFields();
46 
48  virtual std::string updateResultFields(DCMTree::Const_TreePtr dcmTree,
49  MultiFileVolumeList *volList);
50 
52  inline StringField &getRelatedSequencesSourceConfigFld() const { return *_relatedSequencesSourceConfigFld; }
53  inline BoolField &getEnableRelatedVolumesFld() const { return *_enableRelatedVolumesFld; }
54  inline IntField &getFirstVolumeIndexDerivedFromFld() const { return *_firstVolumeIndexDerivedFromFld; }
55  inline StringField &getVolumeIndexesDerivedFromFld() const { return *_volumeIndexesDerivedFromFld; }
56  inline IntField &getFirstSharedFrameOfReferenceVolumeIndexFld() const { return *_firstSharedFrameOfReferenceVolumeIndexFld; }
57  inline StringField &getSharedFrameOfReferenceVolumeIndexesFld() const { return *_sharedFrameOfReferenceVolumeIndexesFld; }
58  inline IntField &getFirstRelatedVolumeIndexFld() const { return *_firstRelatedVolumeIndexFld; }
59  inline StringField &getRelatedVolumeIndexesFld() const { return *_relatedVolumeIndexesFld; }
61 
62 protected:
63 
64  // The managed fields.
65 
67  BoolField *_enableRelatedVolumesFld = nullptr;
68 
84  StringField *_relatedSequencesSourceConfigFld = nullptr;
85 
87  IntField *_firstVolumeIndexDerivedFromFld = nullptr;
88 
90  StringField *_volumeIndexesDerivedFromFld = nullptr;
91 
92 
95  IntField *_firstSharedFrameOfReferenceVolumeIndexFld = nullptr;
96 
99  StringField *_sharedFrameOfReferenceVolumeIndexesFld = nullptr;
100 
101 
103  IntField *_firstRelatedVolumeIndexFld = nullptr;
104 
106  StringField *_relatedVolumeIndexesFld = nullptr;
107 };
108 
109 ML_END_NAMESPACE
110 
Project global and OS specific declarations.
#define MLDIRECTDICOMIMPORTOUTPUTS_EXPORT
DLL export macro definition.
Field to encapsulate a boolean value.
Definition: mlFields.h:56
Abstract base class for field interfaces to be added to other ML module classes.
FieldChangeState
Describes the type of a field changes detected in handleFieldChanges(Field *field).
Defines the class FieldContainer to encapsulate a vector of fields (see class Field).
Base class for all fields used in the ML.
Definition: mlField.h:73
Field to encapsulate an integer value.
Definition: mlFields.h:117
Class managing a list of MultiFileVolume instances for the DirectDicomImport module; taking ownership...
Class managing fields fields to show and reference other volumes in a MultiFileVolumeList.
StringField & getSharedFrameOfReferenceVolumeIndexesFld() const
RelatedDicomVolumeFieldAddOn(FieldContainer &fieldContainerRef)
Constructor, setting the reference of the FieldContainer managing the fields.
FieldAddOnBase::FieldChangeState handleFieldChanges(Field *field) override
Handle field notifications.
virtual void resetFields()
Sets field to default state.
virtual std::string updateResultFields(DCMTree::Const_TreePtr dcmTree, MultiFileVolumeList *volList)
Update the field state to new values of dcmTree and volList; if any of them is nullptr then resetFiel...
void addFields() override
Add fields to field container of module.
StringField & getRelatedSequencesSourceConfigFld() const
Provide direct access to the fields; see corresponding fields for comments.
virtual std::string checkConsistency() const
Checks for invalid parameters; return textual description on error, or empty string on success.
void handleFieldActivationChanges() override
Do the activateAttachment-like stuff in this method.
Field to encapsulate a string value.
Definition: mlFields.h:553
Header file of the abstract base class FieldAddOnBase managing fields independently of an ML Module.
boost::shared_ptr< const Tree > Const_TreePtr
Definition: DCMTree_Lib.h:67