26class MultiFileVolumeList;
60 bool &updateVolumeListViewFlag,
61 bool &updateThumbNails,
62 bool &updateTableSort,
63 bool isResultCachingPossible);
71 const std::string &validCacheDir,
72 const std::string &validCacheFileName);
76 const std::string &cacheFileName,
77 const size_t volumeIndex);
84 const std::string& validCacheDir,
85 const std::string& validCacheFileName);
92 const std::string& validCacheDir,
93 const std::string& validCacheFileName);
103 size_t subSetStart=0u,
104 size_t subSetEnd=std::string::npos);
137 bool useNumericTagValueSorting)
const;
144 const std::string &userVal,
156 std::string &tableString)
const;
Project global and OS specific declarations.
#define MLDIRECTDICOMIMPORTOUTPUTS_EXPORT
DLL export macro definition.
Simple class to manage a list view column.
DCMTree::RawTagId rawTagId
Raw Tag Id of tag to be shown, may be 0 for non DICOM tags.
DirectDicomImportColumnDesc(const std::string &fldName, DCMTree::RawTagId id, const std::string &info)
Convenience constructor.
DirectDicomImportColumnDesc(const DirectDicomImportColumnDesc &orig)
Copy constructor.
DirectDicomImportColumnDesc & operator=(const DirectDicomImportColumnDesc &orig)
Assignment operator.
std::string fieldIdName
String Id of the list view column, must be unique and non empty.
std::string headInfo
String to be shown in column head of ListView.
static void removeThumbNails(const size_t numVolumes, const std::string &validCacheDir, const std::string &validCacheFileName)
EnumField * _iconBuildModeFld
std::vector< std::vector< _ColumnNameHeadValue > > _ColumnNameHeadValueVector
Type used for managing and sorting all rows and columns of the ListView.
void _checkIdxSortTagValue() const
Logs an ML error if _idxSortTagValueFld has an invalid content.
void updateThumbNailFiles(MultiFileVolumeList &volumeList, const std::string &validCacheDir, const std::string &validCacheFileName)
Update the list of thumbnails from the source volumes and write them in the cache directory.
const BoolField & getUseThumbNailsField() const
void updateVolumeListView(const MultiFileVolumeList &volumeList, size_t subSetStart=0u, size_t subSetEnd=std::string::npos)
BoolField * _useNumericTagValueSortingFld
void handleNotification(Field &field, bool &updateVolumeListViewFlag, bool &updateThumbNails, bool &updateTableSort, bool isResultCachingPossible)
Handle field changes of the field field.
NotifyField * _updateThumbNailsFld
StringField * _userColumnTagFld[3]
Three tag ids specifying tag values to be shown in the volume list.
std::vector< DirectDicomImportColumnDesc > _columnDescs
Boolean fields to enable/disable tags.
StringField * _volumeListViewFld
The field containing the Volume table with columns.
std::string _getUserTagVal(DCMTree::Const_TreePtr tree, size_t idx, bool useNumericTagValueSorting) const
StringField * _columnConfigFld
Configuration string containing the list of column names to be displayed.
void updateSortOrderOfVolumeTable(MultiFileVolumeList &volumeList) const
static const char *const IconBuildModeStrings[NumIconBuildModes]
Strings corresponding to IconBuildModes.
IntField * _thumbNailsExtFld
Extent of thumbNails, default is 40.
void _buildTableString(const _ColumnNameHeadValueVector &tableColumns, bool showDots, std::string &tableString) const
static std::string createThumbFileName(const std::string &cacheDir, const std::string &cacheFileName, const size_t volumeIndex)
Create file name for thumbNailFile with index v in directory cacheDir and for cache file cacheFileNam...
MultiFileVolumeListView()
Constructor.
static void replaceNonTableViewChars(const std::string &columnSubStr, std::string &correctedStr)
Replaces all string components in columnSubStr which could disturb the list view such as newlines,...
void _appendTableColumn(const size_t &volumeIdx, DCMTree::Const_TreePtr tree, size_t &descIdx, bool isFirst, const std::string &userVal, bool isTagValue, _ColumnNameHeadValueVector &tableColumns) const
Updates head line and value for the volume view list.
virtual ~MultiFileVolumeListView()
Destructor.
BoolField * _useThumbNailsField
static void removeThumbNail(const size_t volumeIndex, const std::string &validCacheDir, const std::string &validCacheFileName)
BoolField * _sortUpwardsFld
If enabled sorting orders the higher values to first, otherwise to last position.
StringField * _idxSortTagValueFld
IconBuildMode
Modes how icons shall be generated.
@ NumIconBuildModes
Middle slice of image is used to build the icon.
@ UseMiddleSlice
Fist slice of image is used to build the icon.
void appendFields(FieldContainer &fieldContainer)
Creates all bool fields for volume vie columns. To be called in constructor.
void checkSortParameters() const
Perform some checks on sort parameters and logs errors if necessary.
std::vector< size_t > _determineTableColumnOrder() const
Parse the _columnConfigFld and determines the order of visible columns.
boost::shared_ptr< const Tree > Const_TreePtr
Composition of a column name, the head entry, and the column value.
std::string head
Entry to be shown in the head line.
std::string name
Unique name of the column, take care it must exist only once.
std::string value
The column entry value.