Kactus2
Kactus2 reference guide
Loading...
Searching...
No Matches
FileBuilderInterface.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2// File: FileBuilderInterface.h
3//-----------------------------------------------------------------------------
4// Project: Kactus2
5// Author: Mikko Teuho
6// Date: 03.09.2020
7//
8// Description:
9// Interface for editing file builders.
10//-----------------------------------------------------------------------------
11
12#ifndef FILEBUILDERINTERFACE_H
13#define FILEBUILDERINTERFACE_H
14
15#include <KactusAPI/KactusAPIGlobal.h>
16
18#include <CommonInterface.h>
19
20#include <QSharedPointer>
21#include <QVector>
22#include <QMap>
23
24class FileBuilder;
25
26//-----------------------------------------------------------------------------
28//-----------------------------------------------------------------------------
30{
31
32public:
33
40 FileBuilderInterface(QSharedPointer<ExpressionParser> expressionParser,
41 QSharedPointer<ExpressionFormatter> expressionFormatter);
42
46 virtual ~FileBuilderInterface() = default;
47
53 void setFileBuilders(QSharedPointer<QList<QSharedPointer<FileBuilder> > > newFileBuilders);
54
60 virtual int itemCount() const override final;
61
67 virtual bool validateItems() const;
68
74 virtual std::vector<std::string> getItemNames() const override final;
75
84 virtual int getAllReferencesToIdInItem(const std::string& itemName, std::string const& valueID) const override
85 final;
86
94 std::vector<std::string> getExpressionsInSelectedFileBuilders(std::vector<std::string> fileBuilderNames) const;
95
102 void addFileBuilder(int const& row, std::string const& newFileBuilderName = std::string(""));
103
110 void addFileBuilder(std::string const& newFileBuilderName = std::string(""));
111
119 bool removeFileBuilder(std::string const& fileBuilderName);
120
128 std::string getIndexedFileType(int const& itemIndex);
129
138 bool setFileType(std::string const& currentFileType, std::string const& newFileType);
139
147 std::string getCommand(std::string const& fileType) const;
148
157 bool setCommand(std::string const& fileType, std::string const& newCommand);
158
166 std::string getFlags(std::string const& fileType) const;
167
176 bool setFlags(std::string const& fileType, std::string const& newFlags);
177
186 std::string getReplaceDefaultFlagsValue(std::string const& fileType, int const& baseNumber = 0) const;
187
195 std::string getReplaceDefaultFlagsFormattedExpression(std::string const& fileType) const;
196
204 std::string getReplaceDefaultFlagsExpression(std::string const& fileType) const;
205
214 bool setReplaceDefaultFlags(std::string const& filetype, std::string const& newReplaceDefaultFlags);
215
216private:
217
225 QSharedPointer<FileBuilder> getFileBuilder(std::string const& fileBuilderName) const;
226
227 //-----------------------------------------------------------------------------
228 // Data.
229 //-----------------------------------------------------------------------------
230
232 QSharedPointer<QList<QSharedPointer<FileBuilder> > > fileBuilders_;
233};
234
235#endif // FILEBUILDCOMMANDINTERFACE_H
CommonInterface()=default
virtual std::vector< std::string > getItemNames() const override final
virtual ~FileBuilderInterface()=default
std::string getIndexedFileType(int const &itemIndex)
std::string getFlags(std::string const &fileType) const
bool removeFileBuilder(std::string const &fileBuilderName)
bool setFlags(std::string const &fileType, std::string const &newFlags)
FileBuilderInterface(QSharedPointer< ExpressionParser > expressionParser, QSharedPointer< ExpressionFormatter > expressionFormatter)
std::string getReplaceDefaultFlagsValue(std::string const &fileType, int const &baseNumber=0) const
bool setReplaceDefaultFlags(std::string const &filetype, std::string const &newReplaceDefaultFlags)
void addFileBuilder(int const &row, std::string const &newFileBuilderName=std::string(""))
std::vector< std::string > getExpressionsInSelectedFileBuilders(std::vector< std::string > fileBuilderNames) const
virtual bool validateItems() const
virtual int getAllReferencesToIdInItem(const std::string &itemName, std::string const &valueID) const override final
std::string getReplaceDefaultFlagsExpression(std::string const &fileType) const
std::string getCommand(std::string const &fileType) const
bool setCommand(std::string const &fileType, std::string const &newCommand)
std::string getReplaceDefaultFlagsFormattedExpression(std::string const &fileType) const
bool setFileType(std::string const &currentFileType, std::string const &newFileType)
virtual int itemCount() const override final
void setFileBuilders(QSharedPointer< QList< QSharedPointer< FileBuilder > > > newFileBuilders)
ParameterizableInterface(QSharedPointer< ExpressionParser > expressionParser, QSharedPointer< ExpressionFormatter > expressionFormatter)