Kactus2
Kactus2 reference guide
Loading...
Searching...
No Matches
ModuleParameterInterface.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2// File: ModuleParameterInterface.h
3//-----------------------------------------------------------------------------
4// Project: Kactus2
5// Author: Mikko Teuho
6// Date: 22.09.2020
7//
8// Description:
9// Interface for editing module parameters.
10//-----------------------------------------------------------------------------
11
12#ifndef MODULEPARAMETERINTERFACE_H
13#define MODULEPARAMETERINTERFACE_H
14
15#include <KactusAPI/KactusAPIGlobal.h>
16
18
20class ComponentInstantiation;
21class ModuleParameter;
22
23//-----------------------------------------------------------------------------
25//-----------------------------------------------------------------------------
27{
28public:
29
38 ModuleParameterInterface(QSharedPointer<ParameterValidator> validator,
39 QSharedPointer<ExpressionParser> expressionParser,
40 QSharedPointer<ExpressionFormatter> expressionFormatter,
41 QSharedPointer<ComponentInstantiationParameterFinder> parameterFinder);
42
46 virtual ~ModuleParameterInterface() = default;
47
53 void setModuleParameters(QSharedPointer<ComponentInstantiation> instantiation);
54
62 virtual int getItemIndex(std::string const& itemName) const override;
63
71 std::string getIndexedItemName(int itemIndex) const override;
72
78 virtual int itemCount() const override;
79
85 virtual std::vector<std::string> getItemNames() const override;
86
94 std::string getDataType(std::string const& parameterName) const;
95
104 bool setDataType(std::string const& parameterName, std::string const& newDataType);
105
113 std::string getUsageType(std::string const& parameterName) const;
114
123 bool setUsageType(std::string const& parameterName, std::string const& newUsageType);
124
131 void addModuleParameter(int const& row, std::string const& newParameterName = std::string(""));
132
140 bool removeModuleParameter(std::string const& parameterName);
141
142
146
147private:
148
156 virtual QSharedPointer<Parameter> getParameter(std::string const& parameterName) const override final;
157
165 QSharedPointer<NameGroup> getItem(std::string const& parameterName) const override;
166
174 QSharedPointer<ModuleParameter> getModuleParameter(std::string const& parameterName) const;
175
176 //-----------------------------------------------------------------------------
177 // Data.
178 //-----------------------------------------------------------------------------
179
181 QSharedPointer<QList<QSharedPointer<ModuleParameter> > > moduleParameters_;
182
184 QSharedPointer<ComponentInstantiationParameterFinder> parameterFinder_;
185};
186
187#endif // MODULEPARAMETERINTERFACE_H
AbstractParameterInterface(QSharedPointer< ParameterValidator > validator, QSharedPointer< ExpressionParser > expressionParser, QSharedPointer< ExpressionFormatter > expressionFormatter)
The implementation for finding parameters with the correct ID.
bool setUsageType(std::string const &parameterName, std::string const &newUsageType)
void setModuleParameters(QSharedPointer< ComponentInstantiation > instantiation)
virtual std::vector< std::string > getItemNames() const override
bool removeModuleParameter(std::string const &parameterName)
std::string getIndexedItemName(int itemIndex) const override
ModuleParameterInterface(const ModuleParameterInterface &other)=delete
No copying. No assignment.
virtual ~ModuleParameterInterface()=default
std::string getDataType(std::string const &parameterName) const
bool setDataType(std::string const &parameterName, std::string const &newDataType)
virtual int getItemIndex(std::string const &itemName) const override
std::string getUsageType(std::string const &parameterName) const
ModuleParameterInterface(QSharedPointer< ParameterValidator > validator, QSharedPointer< ExpressionParser > expressionParser, QSharedPointer< ExpressionFormatter > expressionFormatter, QSharedPointer< ComponentInstantiationParameterFinder > parameterFinder)
void addModuleParameter(int const &row, std::string const &newParameterName=std::string(""))
virtual int itemCount() const override
ModuleParameterInterface & operator=(const ModuleParameterInterface &other)=delete