1#ifndef LIBS_GUI_CLOGICSDRAWINGAREAMODEL_HPP_
2#define LIBS_GUI_CLOGICSDRAWINGAREAMODEL_HPP_
25#include <bits/stdint-uintn.h>
30#include <unordered_map>
59 typedef std::map<AbstractCanvasItem::TId, std::shared_ptr<AbstractLogicsElement>>
TMapIdElement;
60 typedef std::unordered_map<std::string, AbstractCanvasItem::TId>
TMapLabelId;
63 static std::shared_ptr<CLogicsDrawingAreaModel>
65 std::optional<iv::types::unitId> logicUnitId = std::nullopt,
66 std::optional<iv::types::logic::customBlockId> customBlockId = std::nullopt);
69 std::optional<iv::types::logic::customBlockId> customBlockId = std::nullopt);
93 bool saveLogicLedFiles(
const std::string &projectFolder, uint16_t logicUnitId)
const;
112 std::map<iv::types::logic::libraryIOId, std::shared_ptr<iv::logic::LogicLibraryIOInfo>>
119 std::map<iv::types::logic::libraryIOId, std::shared_ptr<iv::logic::LogicLibraryIOInfo>>
137 void updateUniqueLabel(
const std::string &oldLabelName,
const std::string &newLabelName,
138 const std::string &newDescription);
146 static std::shared_ptr<iv::logic::component::LogicText>
147 getLogicsText(
const std::shared_ptr<AbstractLogicsElement> &logicsElement);
150 static std::shared_ptr<iv::logic::component::LogicRectangle>
154 static std::shared_ptr<CLogicsComponent>
158 static std::shared_ptr<CLogicsComponentOthers>
162 static std::shared_ptr<CLogicsComponentConstant>
166 static std::shared_ptr<CLogicsComponentChannel>
169 std::shared_ptr<LogicComponentBroadCastChannel>
171 static std::shared_ptr<LogicComponentBroadCastChannel>
175 static std::shared_ptr<CLogicsComponentLabel>
179 static std::shared_ptr<CLogicsConnection>
183 static std::shared_ptr<CLogicsConnectionPoint>
186 std::shared_ptr<CLogicsComponentLibraryInOutBlock>
188 static std::shared_ptr<CLogicsComponentLibraryInOutBlock>
192 static std::shared_ptr<CLogicsComponentExec>
196 static std::shared_ptr<CLogicsComponentLibrary>
202 static bool isItemLogicText(
const std::shared_ptr<const AbstractLogicsElement> &component);
205 static bool isItemLogicRectangle(
const std::shared_ptr<const AbstractLogicsElement> &component);
208 static bool isItemLogicComponent(
const std::shared_ptr<const AbstractLogicsElement> &component);
212 static bool isItemIOBlock(
const std::shared_ptr<const AbstractLogicsElement> &component);
215 static bool isItemBasicBlock(
const std::shared_ptr<const AbstractLogicsElement> &component);
218 static bool isItemLibraryBlock(
const std::shared_ptr<const AbstractLogicsElement> &component);
221 static bool isItemExecBlock(
const std::shared_ptr<const AbstractLogicsElement> &component);
227 static bool isItemChannel(
const std::shared_ptr<const AbstractLogicsElement> &component);
230 static bool isItemConstant(
const std::shared_ptr<const AbstractLogicsElement> &component);
236 static bool isItemLabel(
const std::shared_ptr<const AbstractLogicsElement> &component);
239 static bool isItemLibraryIOBlock(
const std::shared_ptr<const AbstractLogicsElement> &component);
246 void setCustomBlockId(std::optional<iv::types::logic::customBlockId> customBlockId);
253 const std::shared_ptr<CLogicsComponent> &component);
262 std::vector<std::weak_ptr<iv::channels::AbstractChannel>>
getChannels()
const;
278 static std::map<iv::types::logic::libraryIOId, iv::logic::LogicLibraryIOInfo>
280 static std::map<iv::types::logic::libraryIOId, iv::logic::LogicLibraryIOInfo>
289 const std::shared_ptr<CLogicsComponentLibrary> &componentLibraryRef,
iv::logic::ParamId paramId)
const;
295 uint32_t unitId,
const std::shared_ptr<CLogicsComponentExec> ¤tLogicComponentExec,
297 uint16_t &blockWrittenIndex)
const;
302 std::string &error, uint16_t &blockWrittenIndex)
const;
307 std::string &error, uint16_t &blockWrittenIndex)
const;
314 uint32_t &onlineParamOrderInLogicOut,
315 const std::shared_ptr<iv::logic::LibraryParamsOnline> &libraryParamsOnlineOut)
const;
318 uint32_t &onlineParamOrderInLogicOut,
319 const std::shared_ptr<iv::logic::LibraryParamsOnline> &libraryParamsOnlineOut);
323 const std::shared_ptr<CLogicsConnectionPoint> &connectedConnectionPoint);
330 uint32_t currentMI)
const;
337 const std::shared_ptr<AbstractLogicsElement> &logicComponent,
338 uint32_t globalIdOrValueParameter)
const;
341 const std::shared_ptr<AbstractLogicsElement> &logicComponent,
342 uint32_t globalIdOrValueParameter)
const;
349 uint32_t globalIdOrValueParameter)
const;
351 uint32_t globalIdOrValueParameter, uint32_t blockOrder)
const;
355 uint32_t globalIdOrValueParameter)
const;
357 void prvUpdateLabels(
const std::string &oldLabelName,
const std::string &newLabelName,
358 const std::string &newLabelDescription);
366 std::string ¶mValueText, uint32_t &channelUnitId, uint16_t &channelId,
367 std::string &channelType, std::string &description, std::string &error)
const;
371 const std::string ¶mValue, std::string &error)
const;
374 std::string ¶mValueText, uint32_t &channelUnitId, uint16_t &channelId,
375 std::string &channelType, std::string &description, std::string &error)
const;
383 const std::shared_ptr<CLogicsConnectionPoint> &connectionPoint);
ELibraryLogicBlockParamConnectedType
Definition LogicLibraryInfo.hpp:13
static const TId kInvalidCanvasItemId
Definition AbstractCanvasItem.hpp:52
uint32_t TId
Definition AbstractCanvasItem.hpp:47
Definition AbstractLog.hpp:9
Definition CLogicsAllowed.hpp:22
std::map< iv::logic::ParamId, std::string > TMapDBBlockParamNStr
Definition CLogicsAllowed.hpp:25
Definition CLogicsComponentConstant.hpp:15
ELabelIOType
Definition CLogicsComponentLabel.hpp:19
uint16_t TUniqueLabelDefaultIdNumber
Definition CLogicsComponentLabel.hpp:26
Definition CLogicsDrawingAreaModel.hpp:33
CLogicsComponentConstant * prvGetCLogicsComponentConstant(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:3640
std::weak_ptr< iv::logic::LogicLibraryIOInfo > getCustomBlockInInfo(const iv::types::logic::libraryIOId &id) const
Definition CLogicsDrawingAreaModel.cpp:848
std::map< iv::types::logic::libraryIOId, std::shared_ptr< iv::logic::LogicLibraryIOInfo > > getCustomBlockInInfos() const
Definition CLogicsDrawingAreaModel.cpp:842
static bool prvGenerateCParamOnlineListObjectBlockParams(const iv::logic::formulaLogic::SBlock &logicBlock, uint32_t unitId, const std::string &libraryBlockTagName, uint32_t &onlineParamOrderInLogicOut, const std::shared_ptr< iv::logic::LibraryParamsOnline > &libraryParamsOnlineOut)
Definition CLogicsDrawingAreaModel.cpp:3593
void readInfoLogic(const iv::file::xml::File &fileXml)
Definition CLogicsDrawingAreaModel.cpp:611
CLogicsDrawingAreaModel & operator=(CLogicsDrawingAreaModel &&other)=delete
void checkInvertedOrderOfExecutions(AbstractLog *logger) const
Definition CLogicsDrawingAreaModel.cpp:1893
bool isLogicEmpty() const
Definition CLogicsDrawingAreaModel.cpp:1533
TMapIdElement m_mapIdElement
Definition CLogicsDrawingAreaModel.hpp:388
std::string getUniqueLabelDescription(const std::string &labelName)
Definition CLogicsDrawingAreaModel.cpp:1051
iv::types::logic::logicExecutionOrder m_nextOrderOfExecution
Definition CLogicsDrawingAreaModel.hpp:394
std::shared_ptr< CLogicsComponentLibrary > getLogicsComponentLibraryBlock(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1617
std::map< AbstractCanvasItem::TId, std::shared_ptr< AbstractLogicsElement > > TMapIdElement
Definition CLogicsDrawingAreaModel.hpp:59
void prvSaveLibraryInputs(iv::file::xml::node &nodeDataLogic) const
Definition CLogicsDrawingAreaModel.cpp:2407
static std::shared_ptr< CLogicsDrawingAreaModel > ledFileToCLogicsDrawingAreaModel(const std::string &file, std::optional< iv::types::unitId > logicUnitId=std::nullopt, std::optional< iv::types::logic::customBlockId > customBlockId=std::nullopt)
Definition CLogicsDrawingAreaModel.cpp:54
void prvClearConnectionPointParameter(std::shared_ptr< CLogicsConnectionPoint > connectionPoint) const
Definition CLogicsDrawingAreaModel.cpp:1117
void updateLogicsChannels()
Definition CLogicsDrawingAreaModel.cpp:4682
TMapLabelId m_mapUniqueLabelId
Definition CLogicsDrawingAreaModel.hpp:386
void setCustomBlockId(std::optional< iv::types::logic::customBlockId > customBlockId)
Definition CLogicsDrawingAreaModel.cpp:4651
std::shared_ptr< iv::logic::UnitParamsOnline > generateUnitParamsOnline(uint32_t logicId) const
Definition CLogicsDrawingAreaModel.cpp:166
void updateBasicBlockValues(AbstractCanvasItem::TId itemId)
Definition CLogicsDrawingAreaModel.cpp:1194
std::string prvFormatParameterLogicLibraryInfo(const iv::logic::formulaLogic::SBlockParam &pPar, const SLibraryLogicBlockParam &libraryLogicBlockParam, uint32_t globalIdOrValueParameter) const
Definition CLogicsDrawingAreaModel.cpp:2951
void prvSetConnectionComponentMI(const std::shared_ptr< CLogicsConnectionPoint > &connectionPoint, uint32_t currentMI) const
Definition CLogicsDrawingAreaModel.cpp:2540
void prvPostReadProcessingConnection(const std::shared_ptr< AbstractLogicsElement > &lE)
Definition CLogicsDrawingAreaModel.cpp:3793
CLogicsDrawingAreaModel(std::optional< iv::types::unitId > logicUnitId=std::nullopt, std::optional< iv::types::logic::customBlockId > customBlockId=std::nullopt)
Definition CLogicsDrawingAreaModel.cpp:76
bool isItemBasicOrLibraryBlock(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1359
void setFlagProjectJustLoaded(bool flag)
Definition CLogicsDrawingAreaModel.cpp:781
std::set< std::string > getLabelsNames() const
Definition CLogicsDrawingAreaModel.cpp:1805
bool m_flagProjectJustLoaded
Definition CLogicsDrawingAreaModel.hpp:400
static void checkConnections(iv::logic::formulaLogic::SBlock &block, const std::shared_ptr< CLogicsComponent > &component)
Definition CLogicsDrawingAreaModel.cpp:1734
bool prvGenerateCLogicFileObjectLomDataParams(uint32_t unitId, const std::shared_ptr< CLogicsComponentExec > ¤tLogicComponentExec, const CLogicsAllowed &logicsAllowed, iv::logic::formulaLogic::SBlock &blockRef, std::string &error, uint16_t &blockWrittenIndex) const
Definition CLogicsDrawingAreaModel.cpp:3220
bool isItemCopyable(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1250
void addLogicsElement(AbstractCanvasItem::TId id, const std::shared_ptr< AbstractLogicsElement > &logicsElement)
Definition CLogicsDrawingAreaModel.cpp:90
std::shared_ptr< const AbstractLogicsElement > getLogicsElement(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:792
iv::logic::InfoLogicTxt * getInfoLogicPtr()
Definition CLogicsDrawingAreaModel.cpp:4019
bool prvGenerateCParamOnlineListObjectBlockLibrary(const iv::logic::formulaLogic::SBlock &logicBlock, uint32_t unitId, const std::string &libraryBlockTagName, uint32_t &onlineParamOrderInLogicOut, const std::shared_ptr< iv::logic::LibraryParamsOnline > &libraryParamsOnlineOut) const
Definition CLogicsDrawingAreaModel.cpp:3567
CLogicsComponentLabel::TUniqueLabelDefaultIdNumber m_nextUniqueLabelDefaultIdNumber
Definition CLogicsDrawingAreaModel.hpp:395
CLogicsDrawingAreaModel(const CLogicsDrawingAreaModel &other)=delete
CLogicsDrawingAreaModel(CLogicsDrawingAreaModel &&other)=delete
std::unordered_map< std::string, AbstractCanvasItem::TId > TMapLibraryIOBlockId
Definition CLogicsDrawingAreaModel.hpp:61
std::shared_ptr< CLogicsComponentExec > getLogicsComponentExec(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1605
LogicLibraryInfo generateLogicLibraryInfo(const CLogicsAllowed::TMapDBBlockParamNStr &mapBlockParamsDesc) const
Definition CLogicsDrawingAreaModel.cpp:179
std::shared_ptr< CLogicsComponentLabel > getLogicsComponentLabel(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1558
bool isItemChannel(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1468
AbstractCanvasItem::TId m_nextIdToUse
Definition CLogicsDrawingAreaModel.hpp:393
void clearBasicBlocksParamValue(AbstractCanvasItem::TId itemRemovingId)
Definition CLogicsDrawingAreaModel.cpp:1143
std::set< iv::types::logic::libraryTagName > getAllLibraryBlockTagnames() const
Definition CLogicsDrawingAreaModel.cpp:1790
std::set< AbstractCanvasItem::TId > findChannelsLabelsAndIOBlocks() const
Definition CLogicsDrawingAreaModel.cpp:1036
const TMapIdElement * getElementsMap() const
Definition CLogicsDrawingAreaModel.cpp:4751
std::shared_ptr< CLogicsComponentLibraryInOutBlock > getLogicsComponentLibraryIOBlock(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1593
std::string prvFormatExternalParameterBlocksInLibraryLogicsDrawing(const iv::logic::formulaLogic::SBlockParam &pPar, const std::shared_ptr< AbstractLogicsElement > &logicComponent, uint32_t globalIdOrValueParameter) const
Definition CLogicsDrawingAreaModel.cpp:2882
std::optional< iv::types::unitId > m_logicUnitId
Definition CLogicsDrawingAreaModel.hpp:398
void prvUpdateLabels(const std::string &oldLabelName, const std::string &newLabelName, const std::string &newLabelDescription)
Definition CLogicsDrawingAreaModel.cpp:3892
std::map< iv::types::logic::libraryIOId, std::shared_ptr< iv::logic::LogicLibraryIOInfo > > getCustomBlockOutInfos() const
Definition CLogicsDrawingAreaModel.cpp:887
std::shared_ptr< CLogicsConnection > getLogicsComponentConnection(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1570
std::optional< iv::types::logic::customBlockId > getCustomBlockId() const
Definition CLogicsDrawingAreaModel.cpp:1816
std::shared_ptr< CLogicsComponent > getLogicsComponent(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1404
std::shared_ptr< iv::logic::CustomBlockIOInfos > getCustomBlockIOInfos() const
Definition CLogicsDrawingAreaModel.cpp:1821
std::string getFirstUniqueCreatedLabelName() const
Definition CLogicsDrawingAreaModel.cpp:1069
void checkRepeatedOrderOfExecution(AbstractLog *logger) const
Definition CLogicsDrawingAreaModel.cpp:1844
iv::types::logic::logicExecutionOrder getNextOrderOfExecutionInc()
Definition CLogicsDrawingAreaModel.cpp:967
bool isItemLibraryBlock(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1336
CLogicsAllowed::TMapDBBlockParamNStr getLibraryExternalParametersValues() const
Definition CLogicsDrawingAreaModel.cpp:449
std::shared_ptr< AbstractLogicsElement > getAbstractLogicElement(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1370
void save(iv::file::xml::File &fileXml) const
Definition CLogicsDrawingAreaModel.cpp:627
void prvSetComponentExecBlockParams(AbstractCanvasItem::TId itemId)
Definition CLogicsDrawingAreaModel.cpp:1668
void checkAllStationConnections(const std::vector< std::shared_ptr< iv::logic::formulaLogic::SBlock > > &logicBlocks)
Definition CLogicsDrawingAreaModel.cpp:1713
bool existUniqueLabel(const std::string &labelName) const
Definition CLogicsDrawingAreaModel.cpp:1027
iv::types::logic::logicExecutionOrder getOrderOfExecution(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:973
AbstractCanvasItem::TId getNextIdInc()
Definition CLogicsDrawingAreaModel.cpp:836
CFormulaLogic * prvGenerateCLogicFileObjectLomData(uint32_t unitId, const CLogicsAllowed &logicsAllowed) const
Definition CLogicsDrawingAreaModel.cpp:2435
void prvPostReadProcessingConnectionPoint(const std::shared_ptr< AbstractLogicsElement > &lE) const
Definition CLogicsDrawingAreaModel.cpp:3827
bool isItemLogicRectangle(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1281
void prvUpdateComponent(const std::shared_ptr< CLogicsComponent > &lComponent)
Definition CLogicsDrawingAreaModel.cpp:3847
std::shared_ptr< CLogicsComponentOthers > getLogicsComponentOthers(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1416
void prvUpdateLibraryBlockExternalParams(const std::shared_ptr< CLogicsComponentLibrary > &componentLibraryRef) const
Definition CLogicsDrawingAreaModel.cpp:3134
std::optional< iv::types::unitId > getLogicUnitId() const
Definition CLogicsDrawingAreaModel.cpp:1811
std::unordered_map< std::string, AbstractCanvasItem::TId > TMapLabelId
Definition CLogicsDrawingAreaModel.hpp:60
bool isItemLogicText(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1271
void prvUpdateOrdersOfExecution(EActionOnLogicsComponent lastAction, iv::types::logic::logicExecutionOrder oldOrder, iv::types::logic::logicExecutionOrder newOrder=AbstractCanvasItem::kInvalidCanvasItemId)
Definition CLogicsDrawingAreaModel.cpp:3930
void setInfoLogicTxtDataFileAndDate(const std::string &fileName)
Definition CLogicsDrawingAreaModel.cpp:4656
void prvSetConnectionValues(const std::shared_ptr< CLogicsConnectionPoint > &basicBlockConnectionPoint, const std::shared_ptr< CLogicsConnectionPoint > &connectedConnectionPoint)
Definition CLogicsDrawingAreaModel.cpp:3725
bool isItemIOBlock(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1310
std::set< AbstractCanvasItem::TId > getLogicsElementsIds() const
Definition CLogicsDrawingAreaModel.cpp:824
std::shared_ptr< iv::logic::component::LogicRectangle > getLogicsRectangle(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1393
std::shared_ptr< iv::logic::CustomBlockIOInfos > m_libraryIOInfos
Definition CLogicsDrawingAreaModel.hpp:391
std::shared_ptr< iv::logic::component::LogicText > getLogicsText(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1381
bool isItemConstant(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1628
bool isLogicCompletelyConnected() const
Definition CLogicsDrawingAreaModel.cpp:1541
std::shared_ptr< CLogicsConnectionPoint > getLogicsComponentConnectionPoint(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1581
std::shared_ptr< CLogicsComponentConstant > getLogicsComponentConstant(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1428
ELibraryLogicBlockParamConnectedType prvGetLibraryLogicBlockParamConnectedTypeForParameter(const std::shared_ptr< CLogicsComponentLibrary > &componentLibraryRef, iv::logic::ParamId paramId) const
Definition CLogicsDrawingAreaModel.cpp:3155
std::string prvFormatExternalParameterBlocksInLibraryLogicLibraryInfo(const iv::logic::formulaLogic::SBlockParam &pPar, const SLibraryLogicBlockParam &libraryLogicBlockParam, uint32_t globalIdOrValueParameter) const
Definition CLogicsDrawingAreaModel.cpp:3073
void read(const iv::file::xml::File &fileXml)
Definition CLogicsDrawingAreaModel.cpp:478
CLogicsAllowed::TMapDBBlockParamNStr getLibraryParametersDesc() const
Definition CLogicsDrawingAreaModel.cpp:406
std::string getNextDefaultUniqueLabelNameInc()
Definition CLogicsDrawingAreaModel.cpp:1081
bool removeCustomBlockInInfo(const iv::types::logic::libraryIOId &id) const
Definition CLogicsDrawingAreaModel.cpp:875
void setInfoLogic(const iv::logic::InfoLogicTxt &infoLogicTxt)
Definition CLogicsDrawingAreaModel.cpp:4024
CLogicsDrawingAreaModel & operator=(const CLogicsDrawingAreaModel &other)=delete
void checkDefinedLibraryInParamNotUsed(AbstractLog *logger) const
Definition CLogicsDrawingAreaModel.cpp:2159
~CLogicsDrawingAreaModel()=default
void prvPostReadProcessing()
Definition CLogicsDrawingAreaModel.cpp:3657
void checkAndFixIntegrity()
Definition CLogicsDrawingAreaModel.cpp:731
bool updateCustomBlockInInfo(const iv::types::logic::libraryIOId &id, const iv::logic::LogicLibraryIOInfo &info) const
Definition CLogicsDrawingAreaModel.cpp:858
iv::logic::InfoLogicTxt m_infoLogic
Definition CLogicsDrawingAreaModel.hpp:396
static std::map< iv::types::logic::libraryIOId, iv::logic::LogicLibraryIOInfo > prvReadLibraryInputs(const iv::file::xml::node &nodeDataLogic)
Definition CLogicsDrawingAreaModel.cpp:2270
void checkAllConnections(const std::shared_ptr< CFormulaLogic > &formulaOptRef)
Definition CLogicsDrawingAreaModel.cpp:1689
std::shared_ptr< CLogicsComponentChannel > getLogicsComponentChannel(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1445
bool updateCustomBlockOutInfo(const iv::types::logic::libraryIOId &id, const iv::logic::LogicLibraryIOInfo &info) const
Definition CLogicsDrawingAreaModel.cpp:903
void checkLibraryBlocksRepeatedOrderOfExecution(AbstractLog *logger) const
Definition CLogicsDrawingAreaModel.cpp:1997
void updateUnsetLabels(const std::string &newLabelName)
Definition CLogicsDrawingAreaModel.cpp:1184
void deleteLogicsElement(AbstractCanvasItem::TId id)
Definition CLogicsDrawingAreaModel.cpp:101
bool isItemLabel(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1488
void checkIntegrity(AbstractLog *logger) const
Definition CLogicsDrawingAreaModel.cpp:692
void updateUniqueLabel(const std::string &oldLabelName, const std::string &newLabelName, const std::string &newDescription)
Definition CLogicsDrawingAreaModel.cpp:1096
bool prvSetIdOutputPins() const
Definition CLogicsDrawingAreaModel.cpp:2557
std::shared_ptr< LogicComponentBroadCastChannel > getLogicsComponentBroadCastChannel(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1457
bool isItemBroadCastChannel(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1648
void deleteLogicElementFromCanvas(std::vector< std::string > logicChannelsToDelete, IGraphics *graphics)
Definition CLogicsDrawingAreaModel.cpp:4713
bool addCustomBlockInfo(const iv::logic::LogicLibraryIOInfo &info) const
Definition CLogicsDrawingAreaModel.cpp:931
bool isItemLibraryIOBlock(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1508
void checkLibraryBlocksOrderOfExecution(AbstractLog *logger) const
Definition CLogicsDrawingAreaModel.cpp:2055
std::shared_ptr< CLogicsConnectionPoint > prvGetOppositeConnectionPointFromPoint(AbstractCanvasItem::TId tId) const
Definition CLogicsDrawingAreaModel.cpp:4064
uint32_t prvFindParameterValueInLib(const SLibraryLogicBlockParam &blockParam, const SLibraryLogicBlock &blockRef, std::string ¶mValueText, uint32_t &channelUnitId, uint16_t &channelId, std::string &channelType, std::string &description, std::string &error) const
Definition CLogicsDrawingAreaModel.cpp:4388
void deleteUniqueLabel(const std::string &labelName, CLogicsComponentLabel::ELabelIOType labelIOType)
Definition CLogicsDrawingAreaModel.cpp:1005
std::shared_ptr< CLogicFile > generateCLogicFileObject(uint32_t logicId) const
Definition CLogicsDrawingAreaModel.cpp:142
void addUniqueLabel(const std::string &labelName, AbstractCanvasItem::TId lEId)
Definition CLogicsDrawingAreaModel.cpp:989
bool isItemLogicComponent(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1291
std::optional< iv::types::logic::customBlockId > m_customBlockId
Definition CLogicsDrawingAreaModel.hpp:399
std::string getLibraryFilePath() const
Definition CLogicsDrawingAreaModel.cpp:1770
std::shared_ptr< iv::logic::UnitParamsOnline > prvGenerateCParamOnLineListObject(uint32_t unitId, CFormulaLogic *formulaLogic) const
Definition CLogicsDrawingAreaModel.cpp:3545
void changeOrderOfExecution(iv::types::logic::logicExecutionOrder oldOrder, iv::types::logic::logicExecutionOrder newOrder)
Definition CLogicsDrawingAreaModel.cpp:136
static std::map< iv::types::logic::libraryIOId, iv::logic::LogicLibraryIOInfo > prvReadLibraryOutputs(const iv::file::xml::node &nodeDataLogic)
Definition CLogicsDrawingAreaModel.cpp:2339
bool saveLogicLedFiles(const std::string &projectFolder, uint16_t logicUnitId) const
Definition CLogicsDrawingAreaModel.cpp:661
std::string prvFindSParameterValue(const std::shared_ptr< CLogicsComponentExec > &lcExec, iv::logic::eDBBlockParamType blockParamType, iv::types::logic::paramNumber paramNum, bool isLibrary, const std::string ¶mValue, std::string &error) const
Definition CLogicsDrawingAreaModel.cpp:4586
std::string prvFormatEditParameterLogicLibraryInfo(const iv::logic::formulaLogic::SBlockParam &pPar, uint32_t globalIdOrValueParameter, uint32_t blockOrder) const
Definition CLogicsDrawingAreaModel.cpp:3042
std::string prvGetBlockDescription(const std::shared_ptr< AbstractLogicsElement > &block, const std::shared_ptr< CLogicsConnectionPoint > &connectionPoint)
Definition CLogicsDrawingAreaModel.cpp:4108
std::weak_ptr< iv::logic::LogicLibraryIOInfo > getCustomBlockOutInfo(const iv::types::logic::libraryIOId &id) const
Definition CLogicsDrawingAreaModel.cpp:893
static uint32_t prvGetComponentIdOfOppositeConnectionPoint(const std::shared_ptr< CLogicsComponentExec > &pExec, iv::logic::eDBBlockParamType type, iv::types::logic::paramNumber paramNum)
Definition CLogicsDrawingAreaModel.cpp:4037
bool prvGenerateCLogicFileObjectLomDataLibrary(uint32_t unitId, const LogicLibraryInfo ¤tLibraryInfo, const CLogicsAllowed &logicsAllowed, iv::logic::formulaLogic::SBlock &libraryBlocksRef, std::string &error, uint16_t &blockWrittenIndex) const
Definition CLogicsDrawingAreaModel.cpp:3349
bool isItemExecBlock(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1349
std::string prvFormatParameterLogicDrawing(const iv::logic::formulaLogic::SBlockParam &pPar, const std::shared_ptr< AbstractLogicsElement > &logicComponent, uint32_t globalIdOrValueParameter) const
Definition CLogicsDrawingAreaModel.cpp:2793
void checkDefinedLibraryOutParamNotUsed(AbstractLog *logger) const
Definition CLogicsDrawingAreaModel.cpp:2214
uint32_t prvFindParameterValue(const std::shared_ptr< CLogicsComponentExec > &lcExec, iv::logic::eDBBlockParamType blockParamType, iv::types::logic::paramNumber parameterNumber, const std::string ¶mDescription, std::string ¶mValueText, uint32_t &channelUnitId, uint16_t &channelId, std::string &channelType, std::string &description, std::string &error) const
Definition CLogicsDrawingAreaModel.cpp:4174
iv::types::logic::logicExecutionOrder getNextOrderOfExecution() const
Definition CLogicsDrawingAreaModel.cpp:962
std::vector< std::weak_ptr< iv::channels::AbstractChannel > > getChannels() const
Definition CLogicsDrawingAreaModel.cpp:1826
bool isItemChannelOrLabelOrIOBlock(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1301
void updateLogicsElements()
Definition CLogicsDrawingAreaModel.cpp:702
bool isItemBasicBlock(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1323
bool removeCustomBlockOutInfo(const iv::types::logic::libraryIOId &id) const
Definition CLogicsDrawingAreaModel.cpp:920
bool prvGenerateCLogicFileObjectLomDataLibraryBlockParams(uint32_t unitId, const SLibraryLogicBlock ¤tBlock, const CLogicsAllowed &logicsAllowed, iv::logic::formulaLogic::SBlock &blockRef, std::string &error, uint16_t &blockWrittenIndex) const
Definition CLogicsDrawingAreaModel.cpp:3440
bool getFlagProjectJustLoaded() const
Definition CLogicsDrawingAreaModel.cpp:786
bool isItemMovable(AbstractCanvasItem::TId id) const
Definition CLogicsDrawingAreaModel.cpp:1528
void prvSaveLibraryOutputs(iv::file::xml::node &nodeDataLogic) const
Definition CLogicsDrawingAreaModel.cpp:2421
Definition IGraphics.hpp:20
Definition LogicLibraryInfo.hpp:95
Definition xmlFile.hpp:128
Definition xmlFile.hpp:15
eDBBlockParamType
Definition defines.hpp:20
uint16_t logicExecutionOrder
Definition types.hpp:129
uint32_t paramNumber
Definition types.hpp:136
std::string libraryIOId
Definition types.hpp:134
Definition LogicLibraryInfo.hpp:25
Definition LogicLibraryInfo.hpp:56
Definition structs.hpp:43
Definition LogicLibraryIOInfo.hpp:19
Definition structs.hpp:19