1#ifndef LIBS_PANELS_CPANELLOGICSDRAWINGAREA_HPP_
2#define LIBS_PANELS_CPANELLOGICSDRAWINGAREA_HPP_
35 [[nodiscard]]
const std::shared_ptr<CLogicsDrawingAreaModel> &
drawingAreaModel()
const;
57 void keyShortcutMove(
bool isUp,
bool isDown,
bool isLeft,
bool isRight);
60 const std::optional<iv::math::geometry::Point2d> &clickedPoint2d);
91 double moveHorizontal = 0);
93 double moveVertical,
double moveHorizontal);
95 static std::shared_ptr<CLogicsComponent>
100 static std::shared_ptr<AbstractLogicsElement>
126 const std::optional<iv::math::geometry::Point2d> &clickedPoint2d);
138 const std::shared_ptr<CLogicsComponentLibrary> &libraryLogicBlock)
const;
EStandOutMode
Definition AbstractCanvasItem.hpp:41
uint32_t TId
Definition AbstractCanvasItem.hpp:47
std::pair< double, double > TPosition2d
Definition AbstractCanvasItem.hpp:48
Definition AbstractComponentGUI.hpp:30
Definition CGooCanvas.hpp:19
std::map< iv::logic::ParamId, std::string > TMapDBBlockParamNStr
Definition CLogicsAllowed.hpp:25
ELabelIOType
Definition CLogicsComponentLabel.hpp:19
std::pair< std::weak_ptr< CLogicsConnectionPoint >, std::weak_ptr< CLogicsConnectionPoint > > TConnPointsRefs
Definition CLogicsConnection.hpp:18
EActionOnLogicsComponent
Definition CLogicsDrawingAreaModel.hpp:40
Definition CPanelLogicsDrawingArea.hpp:24
bool isSelected(AbstractCanvasItem::TId id) const
Definition CPanelLogicsDrawingArea.cpp:2637
CLogicsConnection::TConnPointsRefs & getConnectionToCreate()
Definition CPanelLogicsDrawingArea.cpp:2632
void setStartDragging(bool start)
Definition CPanelLogicsDrawingArea.cpp:2592
void selectLogicsElement(AbstractCanvasItem::TId id)
Definition CPanelLogicsDrawingArea.cpp:2330
const std::shared_ptr< CLogicsDrawingAreaModel > & drawingAreaModel() const
Definition CPanelLogicsDrawingArea.cpp:2230
CLogicsConnection::TConnPointsRefs m_connectionToCreate
Definition CPanelLogicsDrawingArea.hpp:158
AbstractCanvasItem::TPosition2d m_grabbedLocalOrigin
Definition CPanelLogicsDrawingArea.hpp:148
void generateLogicsGenerationParams(const iv::logic::LogicGenerationParams &generationParams)
Definition CPanelLogicsDrawingArea.cpp:1961
void prvSetComponentExecBlockParams(AbstractCanvasItem::TId itemId) const
Definition CPanelLogicsDrawingArea.cpp:3382
void prvEditOrderOfExecution(AbstractCanvasItem::TId itemId) const
Definition CPanelLogicsDrawingArea.cpp:2909
static AbstractCanvasItem::TId prvAddNewLogicsElement(const std::shared_ptr< AbstractLogicsElement > &newLC, const CLogicsAllowed::TMapDBBlockParamNStr &mapBlockParamsDesc, const AbstractCanvasItem::TPosition2d &position, SPrvLogicComponentRefs &sLCR)
Definition CPanelLogicsDrawingArea.cpp:1917
void setDragging(bool dragging)
Definition CPanelLogicsDrawingArea.cpp:2582
CPanelLogicsDrawingArea & operator=(const CPanelLogicsDrawingArea &other)=delete
const std::set< AbstractCanvasItem::TId > & getSelectedLogicElements() const
Definition CPanelLogicsDrawingArea.cpp:2395
bool m_dragging
Definition CPanelLogicsDrawingArea.hpp:151
void setDraggedLocalDistance(const AbstractCanvasItem::TPosition2d &localDistance)
Definition CPanelLogicsDrawingArea.cpp:2587
bool getDragging() const
Definition CPanelLogicsDrawingArea.cpp:2617
static std::shared_ptr< AbstractLogicsElement > prvCreateLogicsElement(const iv::types::logic::ComponentType &componentTypeTuple, const std::string &lCName, const SPrvLogicComponentRefs &sLCR)
Definition CPanelLogicsDrawingArea.cpp:1872
void prvEditSelectedChannel(AbstractCanvasItem::TId itemId) const
Definition CPanelLogicsDrawingArea.cpp:3258
void setCopyingSelectedElements()
Definition CPanelLogicsDrawingArea.cpp:2450
static AbstractCanvasItem::TId prvCreateCopyLogicsComponent(AbstractCanvasItem::TId componentToCopy, SPrvLogicComponentRefs &sLCR, double moveVertical=0, double moveHorizontal=0)
Definition CPanelLogicsDrawingArea.cpp:1711
~CPanelLogicsDrawingArea()=default
void prvUpdateLibraryBlockParamsOnline(const CLogicsAllowed::TMapDBBlockParamNStr &mapBlockParamsExternalDescPrevious, const iv::types::logic::libraryTagName &libBlockTagnamePrevious, const std::shared_ptr< CLogicsComponentLibrary > &libraryLogicBlock) const
Definition CPanelLogicsDrawingArea.cpp:3531
bool prvVerifyEditionOnLabel(const std::string &oldLabelName, const std::string &newLabelName, CLogicsComponentLabel::ELabelIOType labelIOType, std::string &msgError) const
Definition CPanelLogicsDrawingArea.cpp:3460
void grabFocus() const
Definition CPanelLogicsDrawingArea.cpp:2277
static bool * getCopyModeFlag()
Definition CPanelLogicsDrawingArea.cpp:2597
const AbstractCanvasItem::TPosition2d & getDraggedLocalDistance() const
Definition CPanelLogicsDrawingArea.cpp:2622
void prvAddNewBackgroundItem()
Definition CPanelLogicsDrawingArea.cpp:2863
void prvEditPropertiesLibraryIOBlock(AbstractCanvasItem::TId itemId) const
Definition CPanelLogicsDrawingArea.cpp:3236
void setGrabGlobalOrigin(const AbstractCanvasItem::TPosition2d &globalPosition)
Definition CPanelLogicsDrawingArea.cpp:2572
void prvEditPropertiesText(AbstractCanvasItem::TId itemId) const
Definition CPanelLogicsDrawingArea.cpp:3016
void prvAddElementsFromModel()
Definition CPanelLogicsDrawingArea.cpp:2807
void deleteSelectedElements()
Definition CPanelLogicsDrawingArea.cpp:2440
static CLogicsAllowed::TMapDBBlockParamNStr getBlockValues(const std::shared_ptr< CLogicsComponentExec > &lCExec)
Definition CPanelLogicsDrawingArea.cpp:3419
bool m_startDragging
Definition CPanelLogicsDrawingArea.hpp:154
void prvEditSelectedBroadCastChannel(AbstractCanvasItem::TId itemId) const
Definition CPanelLogicsDrawingArea.cpp:3351
bool getGrabbed() const
Definition CPanelLogicsDrawingArea.cpp:2602
const AbstractCanvasItem::TPosition2d & getGrabbedGlobalOrigin() const
Definition CPanelLogicsDrawingArea.cpp:2607
void keyShortcutMove(bool isUp, bool isDown, bool isLeft, bool isRight)
Definition CPanelLogicsDrawingArea.cpp:2477
CPanelLogicsDrawingArea(const CPanelLogicsDrawingArea &other)=delete
AbstractCanvasItem::TPosition2d m_draggedLocalDistance
Definition CPanelLogicsDrawingArea.hpp:156
void setStandOutModeLogicsElement(AbstractCanvasItem::TId id, AbstractCanvasItem::EStandOutMode mode) const
Definition CPanelLogicsDrawingArea.cpp:2312
CPanelLogicsEditor * m_panelLogicsEditorRef
Definition CPanelLogicsDrawingArea.hpp:140
void redraw() const
Definition CPanelLogicsDrawingArea.cpp:2289
AbstractComponentGUI * buildPanel()
Definition CPanelLogicsDrawingArea.cpp:2240
AbstractCanvasItem::TPosition2d m_grabbedGlobalOrigin
Definition CPanelLogicsDrawingArea.hpp:149
CPanelLogicsDrawingArea(CPanelLogicsDrawingArea &&other)=delete
static CLogicsAllowed::TMapDBBlockParamNStr getBlockExternalDesc(const std::shared_ptr< CLogicsComponentExec > &lCExec)
Definition CPanelLogicsDrawingArea.cpp:3440
void resetConnectionToCreate()
Definition CPanelLogicsDrawingArea.cpp:2421
bool getStartDragging() const
Definition CPanelLogicsDrawingArea.cpp:2627
void prvEditPropertiesRectangle(AbstractCanvasItem::TId itemId) const
Definition CPanelLogicsDrawingArea.cpp:3045
void deleteLogicsElement(AbstractCanvasItem::TId id) const
Definition CPanelLogicsDrawingArea.cpp:2433
void updateLogicsElements() const
Definition CPanelLogicsDrawingArea.cpp:2301
CPanelLogicsDrawingArea & operator=(CPanelLogicsDrawingArea &&other)=delete
std::set< AbstractCanvasItem::TId > m_selectedElementsIds
Definition CPanelLogicsDrawingArea.hpp:145
std::set< AbstractCanvasItem::TId > m_copyingElementsIds
Definition CPanelLogicsDrawingArea.hpp:144
void prvEditPropertiesLibrary(AbstractCanvasItem::TId itemId) const
Definition CPanelLogicsDrawingArea.cpp:3111
bool m_grabbed
Definition CPanelLogicsDrawingArea.hpp:147
CPanelLogicsDrawingArea()=delete
void keyShortcutPaste()
Definition CPanelLogicsDrawingArea.cpp:2455
void setGrabLocalOrigin(const AbstractCanvasItem::TPosition2d &localPosition)
Definition CPanelLogicsDrawingArea.cpp:2577
void prvEditConstantState(AbstractCanvasItem::TId itemId) const
Definition CPanelLogicsDrawingArea.cpp:2878
const AbstractCanvasItem::TPosition2d & getGrabbedLocalOrigin() const
Definition CPanelLogicsDrawingArea.cpp:2612
void addNewConnection()
Definition CPanelLogicsDrawingArea.cpp:2400
CGooCanvas * m_canvas
Definition CPanelLogicsDrawingArea.hpp:142
static bool m_copyMode
Definition CPanelLogicsDrawingArea.hpp:152
static std::shared_ptr< CLogicsComponent > prvCreateLogicsComponent(const iv::types::logic::ComponentType &componentTypeTuple, const std::string &lCName, const CLogicsAllowed::TMapDBBlockParamNStr &mapBlockParamsDesc, const SPrvLogicComponentRefs &sLCR)
Definition CPanelLogicsDrawingArea.cpp:1806
void setGrabbed(bool grab)
Definition CPanelLogicsDrawingArea.cpp:2567
void prvSelectConnections(AbstractCanvasItem::TId itemId)
Definition CPanelLogicsDrawingArea.cpp:3342
static void prvMoveLogicComponent(AbstractCanvasItem::TId componentToMove, const SPrvLogicComponentRefs &sLCR, double moveVertical, double moveHorizontal)
Definition CPanelLogicsDrawingArea.cpp:1770
void prvEditPropertiesLabel(AbstractCanvasItem::TId itemId) const
Definition CPanelLogicsDrawingArea.cpp:3168
void prvEditProperties(AbstractCanvasItem::TId itemId) const
Definition CPanelLogicsDrawingArea.cpp:2956
void prvRecursiveSelectConnections(AbstractCanvasItem::TId itemId)
Definition CPanelLogicsDrawingArea.cpp:3509
void prvEditPropertiesBasicBlock(AbstractCanvasItem::TId itemId) const
Definition CPanelLogicsDrawingArea.cpp:3074
void prvAddCanvasListeners()
Definition CPanelLogicsDrawingArea.cpp:2790
static CLogicsAllowed::TMapDBBlockParamNStr getBlockParams(const std::shared_ptr< CLogicsComponentExec > &lCExec)
Definition CPanelLogicsDrawingArea.cpp:3400
void prvSelectInsideBlocks(AbstractCanvasItem::TId itemId, const std::optional< iv::math::geometry::Point2d > &clickedPoint2d)
Definition CPanelLogicsDrawingArea.cpp:3282
void showContextMenu(CMenuContext *menuContext) const
Definition CPanelLogicsDrawingArea.cpp:2562
void unselectAllElements()
Definition CPanelLogicsDrawingArea.cpp:2382
void unselectLogicsElement(AbstractCanvasItem::TId id)
Definition CPanelLogicsDrawingArea.cpp:2360
std::shared_ptr< CLogicsDrawingAreaModel > m_logicsDrawingAreaModelRef
Definition CPanelLogicsDrawingArea.hpp:141
void prvEditLoadLibrary(AbstractCanvasItem::TId itemId) const
Definition CPanelLogicsDrawingArea.cpp:2930
void runContextMenuAction(CLogicsDrawingAreaModel::EActionOnLogicsComponent action, AbstractCanvasItem::TId itemId, const std::optional< iv::math::geometry::Point2d > &clickedPoint2d)
Definition CPanelLogicsDrawingArea.cpp:2507
Definition CPanelLogicsEditor.hpp:37
std::string libraryTagName
Definition types.hpp:131
Definition CPanelLogicsDrawingArea.hpp:162
std::weak_ptr< CLogicsDrawingAreaModel > m_logicsDrawingAreaModelRef
Definition CPanelLogicsDrawingArea.hpp:165
CGooCanvas * m_canvasRef
Definition CPanelLogicsDrawingArea.hpp:166
CPanelLogicsEditor * m_panelLogicsEditorRef
Definition CPanelLogicsDrawingArea.hpp:163
CPanelLogicsDrawingArea * m_panelLogicsDrawingAreaRef
Definition CPanelLogicsDrawingArea.hpp:164
Definition LogicsGenerationParams.hpp:59
Tuple containing the type of logic component (logic blocks, library blocks & others blocks).
Definition types.hpp:22