Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
AbstractLogicsElement Class Reference

#include <AbstractLogicsElement.hpp>

Inheritance diagram for AbstractLogicsElement:
[legend]
Collaboration diagram for AbstractLogicsElement:
[legend]

Public Types

enum class  EPartType {
  MainShape , MainText , SubText1 , SubText2 ,
  SubText3
}
 
typedef std::pair< TIndex, EPartTypeTPairIndexPartType
 
typedef std::map< TIndex, EPartTypeTMapIndexPartType
 
typedef std::map< TPairIndexPartType, AbstractCanvasItem::TTupleDrawingModeTMapPartTypeDrawingMode
 
typedef std::map< AbstractCanvasItem::TTupleDrawingMode, TMapPartTypeDrawingModeTMapDrawingModePartsDrawingMode
 
enum class  EMarkMode { None , Selected }
 
enum class  EStandOutMode { Highlighted , Warning , None }
 
typedef uint32_t TId
 
typedef std::pair< double, double > TPosition2d
 
typedef uint32_t TIndex
 
typedef std::tuple< EMarkMode, EStandOutModeTTupleDrawingMode
 

Public Member Functions

 AbstractLogicsElement (iv::logic::eLogicsElementType logicsElementType)
 
 AbstractLogicsElement (AbstractCanvasItem::TId id, iv::logic::eLogicsElementType logicsElementType, const std::string &name)
 
 AbstractLogicsElement ()=delete
 
 ~AbstractLogicsElement () override=default
 
 AbstractLogicsElement (const AbstractLogicsElement &other)=delete
 
 AbstractLogicsElement (AbstractLogicsElement &&other)=delete
 
AbstractLogicsElementoperator= (const AbstractLogicsElement &other)=delete
 
AbstractLogicsElementoperator= (AbstractLogicsElement &&other)=delete
 
iv::file::xml::node read (const iv::file::xml::node &node) override
 
iv::file::xml::node save (iv::file::xml::node &node) const override
 
std::vector< std::shared_ptr< AbstractCanvasItem > > getLinkedItems () override
 
virtual std::string maxText () const
 
void updateLinkedItems () override
 
void resetLinkedItems () override
 
const iv::logic::eLogicsElementTypegetElementType () const
 
const std::string & getElementName () const
 
virtual std::string getMainText () const
 
virtual std::string getDescriptiveText () const
 
virtual std::optional< iv::types::SizegetDefaultSize () const
 
void addListenerClick (std::unique_ptr< IListenerCanvasItemClick > listener)
 
void addListenerMove (std::unique_ptr< IListenerCanvasItemMove > listener)
 
void addListenerEnter (std::unique_ptr< IListenerCanvasItemEnter > listener)
 
void addListenerLeave (std::unique_ptr< IListenerCanvasItemLeave > listener)
 
void runListenersClick (CEventCanvasButton *evtCanvasButton)
 
void runListenersMove (CEventCanvasButton *evtCanvasButton)
 
void runListenersEnter ()
 
void runListenersLeave ()
 
void setCanvasItem (ICanvasItem *canvasItem)
 
void setCurrentMarkMode (EMarkMode markMode)
 
void setCurrentStandoutMode (EStandOutMode standoutMode)
 
void setGlobalPosition2d (const TPosition2d &position2d)
 
void setId (TId id)
 
void setRedrawFlag (bool redraw)
 
ICanvasItemgetCanvasItem ()
 
const ICanvasItemgetCanvasItem () const
 
const AbstractCanvasItem::TTupleDrawingModegetCurrentDrawingMode () const
 
const TPosition2dgetGlobalPosition2d () const
 
TId getId () const
 
bool getRedrawFlag () const
 

Static Public Member Functions

static iv::logic::eLogicsElementType enumLogicsElementType (const std::string &strType)
 
static std::string strLogicsElementType (iv::logic::eLogicsElementType type)
 
static iv::logic::eLogicsElementType readLogicsElementType (const iv::file::xml::node &node)
 

Static Public Attributes

static constexpr std::string_view kPrvKeySectionLogicsElementData = "LogicsElementData"
 
static const TId kInvalidCanvasItemId = 0
 
static const TId kStartingCanvasItemId = 1
 
static const TPosition2d kZeroPosition = {0., 0.}
 

Private Attributes

iv::logic::eLogicsElementType m_logicsElementType
 
std::string m_name
 
TId m_id
 
TPosition2d m_globalPosition2d
 
TTupleDrawingMode m_currentDrawingMode
 
bool m_redrawFlag
 
ICanvasItemm_canvasItem
 
std::vector< std::unique_ptr< IListenerCanvasItemClick > > m_listenersItemClick
 
std::vector< std::unique_ptr< IListenerCanvasItemMove > > m_listenersItemMove
 
std::vector< std::unique_ptr< IListenerCanvasItemEnter > > m_listenersItemEnter
 
std::vector< std::unique_ptr< IListenerCanvasItemLeave > > m_listenersItemLeave
 

Member Typedef Documentation

◆ TId

uint32_t AbstractCanvasItem::TId
inherited

◆ TIndex

uint32_t AbstractCanvasItem::TIndex
inherited

◆ TMapDrawingModePartsDrawingMode

◆ TMapIndexPartType

◆ TMapPartTypeDrawingMode

◆ TPairIndexPartType

◆ TPosition2d

std::pair<double, double> AbstractCanvasItem::TPosition2d
inherited

◆ TTupleDrawingMode

Member Enumeration Documentation

◆ EMarkMode

enum class AbstractCanvasItem::EMarkMode
stronginherited

Enumeration defining the different modes to mark a logic element or a part of a logic element.

Enumerator
None 
Selected 

◆ EPartType

Enumeration defining the types of parts a logic element can be made of.

Enumerator
MainShape 
MainText 
SubText1 
SubText2 
SubText3 

◆ EStandOutMode

enum class AbstractCanvasItem::EStandOutMode
stronginherited

Enumeration defining the different modes to stand out a logic element or a part of a logic element.

Enumerator
Highlighted 
Warning 
None 

Constructor & Destructor Documentation

◆ AbstractLogicsElement() [1/5]

AbstractLogicsElement::AbstractLogicsElement ( iv::logic::eLogicsElementType logicsElementType)
explicit

◆ AbstractLogicsElement() [2/5]

AbstractLogicsElement::AbstractLogicsElement ( AbstractCanvasItem::TId id,
iv::logic::eLogicsElementType logicsElementType,
const std::string & name )

◆ AbstractLogicsElement() [3/5]

AbstractLogicsElement::AbstractLogicsElement ( )
delete

◆ ~AbstractLogicsElement()

AbstractLogicsElement::~AbstractLogicsElement ( )
overridedefault

◆ AbstractLogicsElement() [4/5]

AbstractLogicsElement::AbstractLogicsElement ( const AbstractLogicsElement & other)
delete

◆ AbstractLogicsElement() [5/5]

AbstractLogicsElement::AbstractLogicsElement ( AbstractLogicsElement && other)
delete

Member Function Documentation

◆ addListenerClick()

void AbstractCanvasItem::addListenerClick ( std::unique_ptr< IListenerCanvasItemClick > listener)
inherited

◆ addListenerEnter()

void AbstractCanvasItem::addListenerEnter ( std::unique_ptr< IListenerCanvasItemEnter > listener)
inherited

◆ addListenerLeave()

void AbstractCanvasItem::addListenerLeave ( std::unique_ptr< IListenerCanvasItemLeave > listener)
inherited

◆ addListenerMove()

void AbstractCanvasItem::addListenerMove ( std::unique_ptr< IListenerCanvasItemMove > listener)
inherited

◆ enumLogicsElementType()

iv::logic::eLogicsElementType AbstractLogicsElement::enumLogicsElementType ( const std::string & strType)
static

◆ getCanvasItem() [1/2]

ICanvasItem * AbstractCanvasItem::getCanvasItem ( )
inherited

◆ getCanvasItem() [2/2]

const ICanvasItem * AbstractCanvasItem::getCanvasItem ( ) const
nodiscardinherited

◆ getCurrentDrawingMode()

const AbstractCanvasItem::TTupleDrawingMode & AbstractCanvasItem::getCurrentDrawingMode ( ) const
nodiscardinherited

◆ getDefaultSize()

std::optional< iv::types::Size > AbstractLogicsElement::getDefaultSize ( ) const
virtual

◆ getDescriptiveText()

std::string AbstractLogicsElement::getDescriptiveText ( ) const
nodiscardvirtual

◆ getElementName()

const std::string & AbstractLogicsElement::getElementName ( ) const
nodiscard

◆ getElementType()

const iv::logic::eLogicsElementType & AbstractLogicsElement::getElementType ( ) const
nodiscard

◆ getGlobalPosition2d()

const AbstractCanvasItem::TPosition2d & AbstractCanvasItem::getGlobalPosition2d ( ) const
nodiscardinherited

◆ getId()

AbstractCanvasItem::TId AbstractCanvasItem::getId ( ) const
nodiscardinherited

◆ getLinkedItems()

std::vector< std::shared_ptr< AbstractCanvasItem > > AbstractLogicsElement::getLinkedItems ( )
overridevirtual

Implements AbstractCanvasItem.

Reimplemented in CLogicsComponent, and CLogicsConnectionPoint.

◆ getMainText()

std::string AbstractLogicsElement::getMainText ( ) const
nodiscardvirtual

◆ getRedrawFlag()

bool AbstractCanvasItem::getRedrawFlag ( ) const
nodiscardinherited

◆ maxText()

◆ operator=() [1/2]

AbstractLogicsElement & AbstractLogicsElement::operator= ( AbstractLogicsElement && other)
delete

◆ operator=() [2/2]

AbstractLogicsElement & AbstractLogicsElement::operator= ( const AbstractLogicsElement & other)
delete

◆ read()

◆ readLogicsElementType()

iv::logic::eLogicsElementType AbstractLogicsElement::readLogicsElementType ( const iv::file::xml::node & node)
static

◆ resetLinkedItems()

void AbstractLogicsElement::resetLinkedItems ( )
overridevirtual

◆ runListenersClick()

void AbstractCanvasItem::runListenersClick ( CEventCanvasButton * evtCanvasButton)
inherited

◆ runListenersEnter()

void AbstractCanvasItem::runListenersEnter ( )
inherited

◆ runListenersLeave()

void AbstractCanvasItem::runListenersLeave ( )
inherited

◆ runListenersMove()

void AbstractCanvasItem::runListenersMove ( CEventCanvasButton * evtCanvasButton)
inherited

◆ save()

◆ setCanvasItem()

void AbstractCanvasItem::setCanvasItem ( ICanvasItem * canvasItem)
inherited

◆ setCurrentMarkMode()

void AbstractCanvasItem::setCurrentMarkMode ( EMarkMode markMode)
inherited

◆ setCurrentStandoutMode()

void AbstractCanvasItem::setCurrentStandoutMode ( EStandOutMode standoutMode)
inherited

◆ setGlobalPosition2d()

void AbstractCanvasItem::setGlobalPosition2d ( const TPosition2d & position2d)
inherited

◆ setId()

void AbstractCanvasItem::setId ( TId id)
inherited

◆ setRedrawFlag()

void AbstractCanvasItem::setRedrawFlag ( bool redraw)
inherited

◆ strLogicsElementType()

std::string AbstractLogicsElement::strLogicsElementType ( iv::logic::eLogicsElementType type)
static

◆ updateLinkedItems()

void AbstractLogicsElement::updateLinkedItems ( )
overridevirtual

Implements AbstractCanvasItem.

Reimplemented in CLogicsComponent, and CLogicsConnectionPoint.

Member Data Documentation

◆ kInvalidCanvasItemId

const TId AbstractCanvasItem::kInvalidCanvasItemId = 0
inlinestaticinherited

◆ kPrvKeySectionLogicsElementData

std::string_view AbstractLogicsElement::kPrvKeySectionLogicsElementData = "LogicsElementData"
inlinestaticconstexpr

◆ kStartingCanvasItemId

const TId AbstractCanvasItem::kStartingCanvasItemId = 1
inlinestaticinherited

◆ kZeroPosition

const TPosition2d AbstractCanvasItem::kZeroPosition = {0., 0.}
inlinestaticinherited

◆ m_canvasItem

ICanvasItem* AbstractCanvasItem::m_canvasItem
privateinherited

◆ m_currentDrawingMode

TTupleDrawingMode AbstractCanvasItem::m_currentDrawingMode
privateinherited

◆ m_globalPosition2d

TPosition2d AbstractCanvasItem::m_globalPosition2d
privateinherited

◆ m_id

TId AbstractCanvasItem::m_id
privateinherited

◆ m_listenersItemClick

std::vector<std::unique_ptr<IListenerCanvasItemClick> > AbstractCanvasItem::m_listenersItemClick
privateinherited

◆ m_listenersItemEnter

std::vector<std::unique_ptr<IListenerCanvasItemEnter> > AbstractCanvasItem::m_listenersItemEnter
privateinherited

◆ m_listenersItemLeave

std::vector<std::unique_ptr<IListenerCanvasItemLeave> > AbstractCanvasItem::m_listenersItemLeave
privateinherited

◆ m_listenersItemMove

std::vector<std::unique_ptr<IListenerCanvasItemMove> > AbstractCanvasItem::m_listenersItemMove
privateinherited

◆ m_logicsElementType

iv::logic::eLogicsElementType AbstractLogicsElement::m_logicsElementType
private

◆ m_name

std::string AbstractLogicsElement::m_name
private

◆ m_redrawFlag

bool AbstractCanvasItem::m_redrawFlag
privateinherited

The documentation for this class was generated from the following files: