12#ifndef FIELDINTERFACE_H
13#define FIELDINTERFACE_H
15#include <KactusAPI/KactusAPIGlobal.h>
20#include <IPXACTmodels/generaldeclarations.h>
21#include <IPXACTmodels/common/AccessTypes.h>
23#include <IPXACTmodels/Component/validators/FieldAccessPolicyValidator.h>
31class WriteValueConstraint;
52 QSharedPointer<ExpressionParser> expressionParser,
53 QSharedPointer<ExpressionFormatter> expressionFormatter,
66 void setFields(QSharedPointer<QList<QSharedPointer<Field> > > newFields);
75 virtual int getItemIndex(std::string
const& itemName)
const override final;
98 virtual std::vector<std::
string>
getItemNames() const override final;
108 virtual
bool setName(std::
string const& currentName, std::
string const& newName) override final;
118 std::
string getOffsetValue(std::
string const& fieldName,
int const& baseNumber = 0) const;
146 bool setOffset(std::
string const& fieldName, std::
string const& newOffset);
156 std::
string getWidthValue(std::
string const& fieldName,
int const& baseNumber = 0) const;
184 bool setWidth(std::
string const& fieldName, std::
string const& newWidth);
193 std::
string getResets(std::
string const& fieldName) const;
221 bool setVolatile(std::
string const& fieldName, std::
string const& newVolatile);
231 std::
string getAccessString(std::
string const& fieldName,
int accessPolicyIndex = -1) const;
241 AccessTypes::Access
getAccessType(std::
string const& fieldName,
int accessPolicyIndex = -1) const;
252 bool setAccess(std::
string const& fieldName, std::
string const& accessType,
int accessPolicyIndex = -1) const;
283 int accessPolicyIndex = -1);
303 General::ReadAction
getReadAction(std::
string const& fieldName,
int accessPolicyIndex = -1) const;
314 bool setReadAction(std::
string const& fieldName, std::
string const& newReadAction,
int accessPolicyIndex = -1);
324 std::
string getTestableValue(std::
string const& fieldName,
int accessPolicyIndex = -1) const;
348 bool setTestable(std::
string const& fieldName, std::
string const& newTestable,
int accessPolicyIndex = -1) const;
371 General::TestConstraint
getTestConstraint(std::
string const& fieldName,
int accessPolicyIndex = -1) const;
383 bool setTestConstraint(std::
string const& fieldName, std::
string const& newTestConstraint,
int accessPolicyIndex = -1) const;
421 bool setIsPresent(std::
string const& fieldName, std::
string const& newIsPresent);
493 bool hasValidAccess(std::
string const& fieldName,
int accessPolicyIndex = -1) const;
531 void addField(
int const& row, std::
string const& newFieldName = std::
string(
""));
539 void addField(std::
string const& newFieldName = std::
string(
""));
555 void copyRows(std::vector<
int> const& selectedRows);
618 int accessPolicyIndex = -1);
630 int const& baseNumber = 0) const;
641 int accessPolicyIndex = -1) const;
663 int accessPolicyIndex = -1);
675 int const& baseNumber = 0) const;
686 int accessPolicyIndex = -1) const;
708 int accessPolicyIndex = -1);
721 int const& baseNumber = 0) const;
752 bool setReserved(std::
string const& fieldName, std::
string const& newReserved,
int accessPolicyIndex = -1);
761 std::
string getID(std::
string const& fieldName);
771 bool setID(std::
string const& fieldName, std::
string const& newID);
800 std::vector<std::pair<std::
string,
unsigned int> >
getModeRefs(std::
string const& fieldName,
int accessPolicyIndex) const;
810 std::vector<std::pair<
unsigned int, std::
string> >
getModeReferencesInUse(std::
string const& fieldName,
int accessPolicyIndex) const;
820 std::vector<std::pair<
unsigned int, std::
string> >
getModeReferences(std::
string const& fieldName,
int accessPolicyIndex) const;
831 bool setModeReferences(std::
string const& fieldName,
int accessPolicyIndex, std::vector<std::pair<
unsigned int, std::
string> > const& newModeRefs);
871 std::
string getReadResponseValue(std::
string const& fieldName,
int accessPolicyIndex,
int baseNumber = 0) const;
882 bool setReadResponse(std::
string const& fieldName,
int accessPolicyIndex, std::
string const& newReadResponse) const;
945 QSharedPointer<Field> getField(std::
string const& fieldName) const;
954 QSharedPointer<NameGroup> getItem(std::
string const& fieldName) const override;
963 QSharedPointer<WriteValueConstraint> getWriteValueConstraint(std::
string const& fieldName,
int accessPolicyIndex = -1) const;
970 QSharedPointer<QList<QSharedPointer<Field> > > fields_;
973 QSharedPointer<FieldValidator> validator_;
976 FieldAccessPolicyValidator accessPolicyValidator_;
bool removeField(std::string const &fieldName)
std::vector< std::string > pasteRows()
void addField(int const &row, std::string const &newFieldName=std::string(""))
virtual bool validateItems() const override final
void copyRows(std::vector< int > const &selectedRows)
bool setWriteConstraintMaximum(std::string const &fieldName, std::string const &newWriteConstraintMaximum, int accessPolicyIndex=-1)
int getAllReferencesToIdInFieldAccessPolicy(std::string const &fieldName, int accessPolicyIndex, std::string const &valueID) const
std::string getWriteConstraintMinimumExpression(std::string const &fieldName, int accessPolicyIndex=-1) const
std::string getWidthFormattedExpression(std::string const &fieldName) const
std::string getReadActionString(std::string const &fieldName, int accessPolicyIndex=-1) const
ResetInterface * getSubInterface() const
bool addFieldAccessPolicy(std::string const &fieldName)
std::string getResetsToolTip(std::string const &fieldName) const
int getAccessPolicyCount(std::string const &fieldName) const
bool setAccess(std::string const &fieldName, std::string const &accessType, int accessPolicyIndex=-1) const
std::string getWriteConstraintMinimumValue(std::string const &fieldName, int accessPolicyIndex=-1, int const &baseNumber=0) const
std::string getOffsetFormattedExpression(std::string const &fieldName) const
void copyFieldAccessPolicies(std::string const &fieldName, std::vector< int > const &selectedAccessPolicies)
bool getTestableBool(std::string const &fieldName, int accessPolicyIndex=-1) const
std::string getWriteConstraint(std::string const &fieldName, int accessPolicyIndex=-1) const
bool hasValidResets(std::string const &fieldName) const
bool setWriteConstraintMinimum(std::string const &fieldName, std::string const &newWriteConstraintMinimum, int accessPolicyIndex=-1)
bool setReadAction(std::string const &fieldName, std::string const &newReadAction, int accessPolicyIndex=-1)
bool hasValidReserved(std::string const &fieldName, int accessPolicyIndex) const
bool hasWriteConstraint(std::string const &fieldName) const
bool setWidth(std::string const &fieldName, std::string const &newWidth)
General::ModifiedWrite getModifiedWriteValue(std::string const &fieldName) const
std::string getWriteConstraintMaximumExpression(std::string const &fieldName, int accessPolicyIndex=-1) const
virtual int itemCount() const override final
bool setID(std::string const &fieldName, std::string const &newID)
bool removeFieldAccessPolicy(std::string const &fieldName, int accessPolicyIndex)
bool hasValidAccess(std::string const &fieldName, int accessPolicyIndex=-1) const
bool setOffset(std::string const &fieldName, std::string const &newOffset)
std::vector< std::pair< unsigned int, std::string > > getModeReferences(std::string const &fieldName, int accessPolicyIndex) const
virtual int getAllReferencesToIdInItem(const std::string &itemName, std::string const &valueID) const override final
std::string getReadResponseValue(std::string const &fieldName, int accessPolicyIndex, int baseNumber=0) const
std::string getReservedExpression(std::string const &fieldName, int accessPolicyIndex=-1) const
ModeReferenceInterface * getModeReferenceInterface() const
std::string getWriteConstraintMinimumFormattedExpression(std::string const &fieldName, int accessPolicyIndex=-1) const
std::string getAccessString(std::string const &fieldName, int accessPolicyIndex=-1) const
std::string getOffsetValue(std::string const &fieldName, int const &baseNumber=0) const
std::string getResets(std::string const &fieldName) const
bool hasValidAccessPolicyModeRefs(std::string const &fieldName, int accessPolicyIndex) const
std::string getID(std::string const &fieldName)
General::ReadAction getReadAction(std::string const &fieldName, int accessPolicyIndex=-1) const
bool hasValidOffset(std::string const &fieldName) const
std::string getIsPresentExpression(std::string const &fieldName) const
std::vector< std::string > getExpressionsInSelectedFields(std::vector< std::string > const &fieldNames) const
AccessTypes::Access getAccessType(std::string const &fieldName, int accessPolicyIndex=-1) const
std::string getVolatile(std::string const &fieldName) const
void setModeReferenceInterface(ModeReferenceInterface *modeRefInterface)
General::TestConstraint getTestConstraint(std::string const &fieldName, int accessPolicyIndex=-1) const
bool setReserved(std::string const &fieldName, std::string const &newReserved, int accessPolicyIndex=-1)
int pasteFieldaccessPolicies(std::string const &fieldName)
int getPasteRowCount() const
std::string getIsPresentValue(std::string const &fieldName, int const &baseNumber=0) const
bool setIsPresent(std::string const &fieldName, std::string const &newIsPresent)
std::string getIndexedItemName(int itemIndex) const final
std::string getWidthValue(std::string const &fieldName, int const &baseNumber=0) const
std::string getTestConstraintString(std::string const &fieldName, int accessPolicyIndex=-1) const
bool hasValidWriteValueConstraint(std::string const &fieldName, int accessPolicyIndex) const
std::string getReservedFormattedExpression(std::string const &fieldName, int accessPolicyIndex=-1) const
bool setTestConstraint(std::string const &fieldName, std::string const &newTestConstraint, int accessPolicyIndex=-1) const
std::string getWriteConstraintMaximumValue(std::string const &fieldName, int accessPolicyIndex=-1, int const &baseNumber=0) const
std::string getIsPresentFormattedExpression(std::string const &fieldName) const
virtual std::vector< std::string > getItemNames() const override final
std::string getWriteConstraintMaximumFormattedExpression(std::string const &fieldName, int accessPolicyIndex=-1) const
std::vector< std::pair< std::string, unsigned int > > getModeRefs(std::string const &fieldName, int accessPolicyIndex) const
bool setReadResponse(std::string const &fieldName, int accessPolicyIndex, std::string const &newReadResponse) const
FieldInterface(QSharedPointer< FieldValidator > validator, QSharedPointer< ExpressionParser > expressionParser, QSharedPointer< ExpressionFormatter > expressionFormatter, ResetInterface *subInterface)
void setFields(QSharedPointer< QList< QSharedPointer< Field > > > newFields)
bool hasValidIsPresent(std::string const &fieldName) const
std::vector< std::pair< unsigned int, std::string > > getModeReferencesInUse(std::string const &fieldName, int accessPolicyIndex) const
virtual int getItemIndex(std::string const &itemName) const override final
virtual bool itemHasValidName(std::string const &itemName) const override final
std::string getModifiedWriteString(std::string const &fieldName, int accessPolicyIndex=-1) const
virtual bool setName(std::string const ¤tName, std::string const &newName) override final
std::string getWidthExpression(std::string const &fieldName) const
bool setVolatile(std::string const &fieldName, std::string const &newVolatile)
bool setWriteConstraint(std::string const &fieldName, std::string const &newConstraintText, int accessPolicyIndex=-1)
std::string getOffsetExpression(std::string const &fieldName) const
bool setModeReferences(std::string const &fieldName, int accessPolicyIndex, std::vector< std::pair< unsigned int, std::string > > const &newModeRefs)
std::string getReadResponseExpression(std::string const &fieldName, int accessPolicyIndex) const
bool setTestable(std::string const &fieldName, std::string const &newTestable, int accessPolicyIndex=-1) const
bool setModifiedWrite(std::string const &fieldName, std::string const &newModifiedWrite, int accessPolicyIndex=-1)
virtual ~FieldInterface()=default
bool hasValidWidth(std::string const &fieldName) const
std::string getTestableValue(std::string const &fieldName, int accessPolicyIndex=-1) const
std::string getReadResponseFormattedExpression(std::string const &fieldName, int accessPolicyIndex) const
bool hasValidReadResponse(std::string const &fieldName, int accessPolicyIndex) const
std::string getReservedValue(std::string const &fieldName, int accessPolicyIndex=-1, int const &baseNumber=0) const
ParameterizableInterface(QSharedPointer< ExpressionParser > expressionParser, QSharedPointer< ExpressionFormatter > expressionFormatter)
Interface for editing resets.