Kactus2
Kactus2 reference guide
Loading...
Searching...
No Matches
ParametersInterface.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2// File: ParametersInterface.h
3//-----------------------------------------------------------------------------
4// Project: Kactus2
5// Author: Mikko Teuho
6// Date: 13.03.2020
7//
8// Description:
9// Interface for editing parameters.
10//-----------------------------------------------------------------------------
11
12#ifndef PARAMETERSINTERFACE_H
13#define PARAMETERSINTERFACE_H
14
15#include <KactusAPI/KactusAPIGlobal.h>
16
18
19class Parameter;
20
21//-----------------------------------------------------------------------------
23//-----------------------------------------------------------------------------
25{
26public:
27
35 ParametersInterface(QSharedPointer<ParameterValidator> validator,
36 QSharedPointer<ExpressionParser> expressionParser,
37 QSharedPointer<ExpressionFormatter> expressionFormatter);
38
42 virtual ~ParametersInterface() = default;
43
49 void setParameters(QSharedPointer<QList<QSharedPointer<Parameter> > > newParameters);
50
58 virtual int getItemIndex(std::string const& itemName) const override final;
59
67 std::string getIndexedItemName(int itemIndex) const final;
68
74 virtual int itemCount() const override final;
75
81 virtual std::vector<std::string> getItemNames() const override final;
82
89 void addParameter(int const& row, std::string const& newParameterName = std::string(""));
90
98 bool removeParameter(std::string const& parameterName);
99
100
103 ParametersInterface& operator=(const ParametersInterface& other) = delete;
104
105private:
106
114 QSharedPointer<Parameter> getParameter(std::string const& parameterName) const final;
115
123 QSharedPointer<NameGroup> getItem(std::string const& parameterName) const override;
124
125 //-----------------------------------------------------------------------------
126 // Data.
127 //-----------------------------------------------------------------------------
128
130 QSharedPointer<QList<QSharedPointer<Parameter> > > parameters_ = nullptr;
131};
132
133#endif // PARAMETERSINTERFACE_H
AbstractParameterInterface(QSharedPointer< ParameterValidator > validator, QSharedPointer< ExpressionParser > expressionParser, QSharedPointer< ExpressionFormatter > expressionFormatter)
virtual int itemCount() const override final
ParametersInterface(QSharedPointer< ParameterValidator > validator, QSharedPointer< ExpressionParser > expressionParser, QSharedPointer< ExpressionFormatter > expressionFormatter)
void addParameter(int const &row, std::string const &newParameterName=std::string(""))
virtual ~ParametersInterface()=default
bool removeParameter(std::string const &parameterName)
std::string getIndexedItemName(int itemIndex) const final
virtual std::vector< std::string > getItemNames() const override final
void setParameters(QSharedPointer< QList< QSharedPointer< Parameter > > > newParameters)
virtual int getItemIndex(std::string const &itemName) const override final