1#ifndef BUSINESS_LOGIC_LOGIC_DELEGATE_IBLOCK_LIFECYCLE_MANAGER_DELEGATE_H
2#define BUSINESS_LOGIC_LOGIC_DELEGATE_IBLOCK_LIFECYCLE_MANAGER_DELEGATE_H
Delegate that manages the lifecycles of blocks.
virtual bool isInputConnected(const business_logic::elements::structures::BlocksConnectionSide &side) const =0
Checks if the input port is connected to anything.
virtual void onBlockDeleted(const business_logic::elements::blocks::BaseBlock *block)=0
Called when a block is deleted.
virtual ~IBlockLifecycleManagerDelegate()=default
virtual void onPortsConnected(const business_logic::elements::structures::BlocksConnectionSide &source, const business_logic::elements::structures::BlocksConnectionSide &dest)=0
Invoked when a connection is made between two ports + blocks (sides)
virtual bool hasConnectionBetween(const business_logic::elements::structures::BlocksConnectionSide &source, const business_logic::elements::structures::BlocksConnectionSide &dest) const =0
Checks if there is a connection between two entities.
The base class for all blocks, containing common functionality and members.
Delegates exposed by the business_logic module, used for integrating with a GUI / renderer implementa...
The base classes and structs for elements.
A side of a connection between two ports.