Kactus2
Kactus2 reference guide
Loading...
Searching...
No Matches
ComponentInstantiationInterface.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2// File: ComponentInstantiationInterface.h
3//-----------------------------------------------------------------------------
4// Project: Kactus2
5// Author: Mikko Teuho
6// Date: 23.09.2020
7//
8// Description:
9// Interface for editing component instantiations.
10//-----------------------------------------------------------------------------
11
12#ifndef COMPONENTINSTANTIATIONINTERFACE_H
13#define COMPONENTINSTANTIATIONINTERFACE_H
14
15#include <KactusAPI/KactusAPIGlobal.h>
16
18#include <NameGroupInterface.h>
19
20class InstantiationsValidator;
21class ComponentInstantiation;
26
27//-----------------------------------------------------------------------------
29//-----------------------------------------------------------------------------
31{
32
33public:
34
46 ComponentInstantiationInterface(QSharedPointer<InstantiationsValidator> validator,
47 QSharedPointer<ExpressionParser> expressionParser,
48 QSharedPointer<ExpressionFormatter> expressionFormatter,
49 ParametersInterface* parameterInterface,
50 ModuleParameterInterface* moduleParameterInterface,
51 FileBuilderInterface* fileBuilderInterface,
52 FileSetInterface* fileSetInterface);
53
58
65 QSharedPointer<QList<QSharedPointer<ComponentInstantiation> > > newInstantiations);
66
74 virtual int getItemIndex(std::string const& itemName) const override final;
75
83 std::string getIndexedItemName(int itemIndex) const final;
84
90 virtual int itemCount() const override final;
91
97 virtual std::vector<std::string> getItemNames() const override final;
98
107 virtual bool setName(std::string const& currentName, std::string const& newName) override final;
108
116 std::string getDisplayName(std::string const& itemName) const;
117
126 bool setDisplayName(std::string const& itemName, std::string const& newDisplayName);
127
136 virtual int getAllReferencesToIdInItem(const std::string& itemName, std::string const& valueID) const override
137 final;
138
146 std::vector<std::string> getExpressionsInSelectedItems(std::vector<std::string> instantiationNames) const;
147
153 virtual bool validateItems() const override final;
154
162 virtual bool itemHasValidName(std::string const& itemName) const override final;
163
170 void addComponentInstantiation(int const& row, std::string const& newInstantiationName = std::string(""));
171
179 bool removeComponentInstantiation(std::string const& instantiationName);
180
187
194
201
208
216 std::string getLanguage(std::string const& instantiationName) const;
217
226 bool setLanguage(std::string const& instantiationName, std::string const& newLanguage);
227
235 bool isLanguageStrict(std::string const& instantiationName) const;
236
245 bool setLanguageStrictness(std::string const& instantiationName, bool newStrictness);
246
254 std::string getLibraryName(std::string const& instantiationName) const;
255
264 bool setLibraryName(std::string const& instantiationName, std::string const& newLibraryName);
265
273 std::string getPackageName(std::string const& instantiationName) const;
274
283 bool setPackageName(std::string const& instantiationName, std::string const& newPackageName);
284
292 std::string getModuleName(std::string const& instantiationName) const;
293
302 bool setModuleName(std::string const& instantiationName, std::string const& newModuleName);
303
311 std::string getArchitectureName(std::string const& instantiationName) const;
312
321 bool setArchitectureName(std::string const& instantiationName, std::string const& newArchitectureName);
322
330 std::string getConfigurationName(std::string const& instantiationName) const;
331
340 bool setConfigurationName(std::string const& instantiationName, std::string const& newConfigurationName);
341
349 std::vector<std::string> getFileSetReferences(std::string const& instantiationName) const;
350
359 bool setFileSetReferences(std::string const& instantiationName, std::vector<std::string> const& newReferences);
360
361
362private:
363
371 QSharedPointer<ComponentInstantiation> getComponentInstantiation(std::string const& itemName) const;
372
373
381 QSharedPointer<NameGroup> getItem(std::string const& itemName) const override;
382
383 //-----------------------------------------------------------------------------
384 // Data.
385 //-----------------------------------------------------------------------------
386
388 QSharedPointer<QList<QSharedPointer<ComponentInstantiation> > > instantiations_;
389
391 QSharedPointer<InstantiationsValidator> validator_;
392
394 ParametersInterface* parameterInterface_;
395
397 ModuleParameterInterface* moduleParameterInterface_;
398
400 FileBuilderInterface* fileBuilderInterface_;
401
403 FileSetInterface* fileSetInterface_;
404};
405
406#endif // COMPONENTINSTANTIATIONINTERFACE_H
std::string getConfigurationName(std::string const &instantiationName) const
virtual int getAllReferencesToIdInItem(const std::string &itemName, std::string const &valueID) const override final
bool setDisplayName(std::string const &itemName, std::string const &newDisplayName)
ParametersInterface * getParameterInterface() const
std::string getDisplayName(std::string const &itemName) const
FileSetInterface * getFileSetInterface() const
bool setArchitectureName(std::string const &instantiationName, std::string const &newArchitectureName)
virtual bool itemHasValidName(std::string const &itemName) const override final
void addComponentInstantiation(int const &row, std::string const &newInstantiationName=std::string(""))
ComponentInstantiationInterface(QSharedPointer< InstantiationsValidator > validator, QSharedPointer< ExpressionParser > expressionParser, QSharedPointer< ExpressionFormatter > expressionFormatter, ParametersInterface *parameterInterface, ModuleParameterInterface *moduleParameterInterface, FileBuilderInterface *fileBuilderInterface, FileSetInterface *fileSetInterface)
virtual bool setName(std::string const &currentName, std::string const &newName) override final
FileBuilderInterface * getFileBuilderInterface() const
virtual bool validateItems() const override final
std::string getModuleName(std::string const &instantiationName) const
bool setLanguage(std::string const &instantiationName, std::string const &newLanguage)
virtual int itemCount() const override final
bool removeComponentInstantiation(std::string const &instantiationName)
ModuleParameterInterface * getModuleParameterInterface() const
std::string getLanguage(std::string const &instantiationName) const
bool setLanguageStrictness(std::string const &instantiationName, bool newStrictness)
std::string getLibraryName(std::string const &instantiationName) const
bool isLanguageStrict(std::string const &instantiationName) const
std::string getArchitectureName(std::string const &instantiationName) const
virtual ~ComponentInstantiationInterface()=default
std::vector< std::string > getFileSetReferences(std::string const &instantiationName) const
std::string getPackageName(std::string const &instantiationName) const
bool setModuleName(std::string const &instantiationName, std::string const &newModuleName)
std::vector< std::string > getExpressionsInSelectedItems(std::vector< std::string > instantiationNames) const
bool setFileSetReferences(std::string const &instantiationName, std::vector< std::string > const &newReferences)
bool setPackageName(std::string const &instantiationName, std::string const &newPackageName)
void setComponentInstantiations(QSharedPointer< QList< QSharedPointer< ComponentInstantiation > > > newInstantiations)
virtual std::vector< std::string > getItemNames() const override final
virtual int getItemIndex(std::string const &itemName) const override final
bool setLibraryName(std::string const &instantiationName, std::string const &newLibraryName)
bool setConfigurationName(std::string const &instantiationName, std::string const &newConfigurationName)
std::string getIndexedItemName(int itemIndex) const final
Interface for editing file builders.
Interface for editing filesets.
Interface for editing module parameters.
ParameterizableInterface(QSharedPointer< ExpressionParser > expressionParser, QSharedPointer< ExpressionFormatter > expressionFormatter)
Interface for editing parameters.