Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
AbstractCanvasItem Class Referenceabstract

#include <AbstractCanvasItem.hpp>

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

Public Types

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

 AbstractCanvasItem ()
 
 AbstractCanvasItem (TId id)
 
virtual ~AbstractCanvasItem ()
 
 AbstractCanvasItem (const AbstractCanvasItem &other)=delete
 
 AbstractCanvasItem (AbstractCanvasItem &&other)=delete
 
AbstractCanvasItemoperator= (const AbstractCanvasItem &other)=delete
 
AbstractCanvasItemoperator= (AbstractCanvasItem &&other)=delete
 
virtual iv::file::xml::node read (const iv::file::xml::node &node)=0
 
virtual iv::file::xml::node save (iv::file::xml::node &node) const =0
 
virtual std::vector< std::shared_ptr< AbstractCanvasItem > > getLinkedItems ()=0
 
virtual void updateLinkedItems ()=0
 
virtual void resetLinkedItems ()=0
 
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 Attributes

static const TId kInvalidCanvasItemId = 0
 
static const TId kStartingCanvasItemId = 1
 
static const TPosition2d kZeroPosition = {0., 0.}
 

Private Attributes

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
 

Detailed Description

An item can be composed of different parts: a main shape, a text, a subtext, ... Each part will have an index, having the main shape index 0, the main text index 1, etc.

Member Typedef Documentation

◆ TId

◆ TIndex

◆ TPosition2d

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

◆ TTupleDrawingMode

Member Enumeration Documentation

◆ EMarkMode

enum class AbstractCanvasItem::EMarkMode
strong

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

Enumerator
None 
Selected 

◆ EStandOutMode

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

◆ AbstractCanvasItem() [1/4]

AbstractCanvasItem::AbstractCanvasItem ( )

◆ AbstractCanvasItem() [2/4]

AbstractCanvasItem::AbstractCanvasItem ( TId id)
explicit

◆ ~AbstractCanvasItem()

AbstractCanvasItem::~AbstractCanvasItem ( )
virtual

◆ AbstractCanvasItem() [3/4]

AbstractCanvasItem::AbstractCanvasItem ( const AbstractCanvasItem & other)
delete

◆ AbstractCanvasItem() [4/4]

AbstractCanvasItem::AbstractCanvasItem ( AbstractCanvasItem && other)
delete

Member Function Documentation

◆ addListenerClick()

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

◆ addListenerEnter()

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

◆ addListenerLeave()

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

◆ addListenerMove()

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

◆ getCanvasItem() [1/2]

ICanvasItem * AbstractCanvasItem::getCanvasItem ( )

◆ getCanvasItem() [2/2]

const ICanvasItem * AbstractCanvasItem::getCanvasItem ( ) const
nodiscard

◆ getCurrentDrawingMode()

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

◆ getGlobalPosition2d()

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

◆ getId()

AbstractCanvasItem::TId AbstractCanvasItem::getId ( ) const
nodiscard

◆ getLinkedItems()

virtual std::vector< std::shared_ptr< AbstractCanvasItem > > AbstractCanvasItem::getLinkedItems ( )
pure virtual

◆ getRedrawFlag()

bool AbstractCanvasItem::getRedrawFlag ( ) const
nodiscard

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ read()

◆ resetLinkedItems()

virtual void AbstractCanvasItem::resetLinkedItems ( )
pure virtual

◆ runListenersClick()

void AbstractCanvasItem::runListenersClick ( CEventCanvasButton * evtCanvasButton)

◆ runListenersEnter()

void AbstractCanvasItem::runListenersEnter ( )

◆ runListenersLeave()

void AbstractCanvasItem::runListenersLeave ( )

◆ runListenersMove()

void AbstractCanvasItem::runListenersMove ( CEventCanvasButton * evtCanvasButton)

◆ save()

◆ setCanvasItem()

void AbstractCanvasItem::setCanvasItem ( ICanvasItem * canvasItem)

◆ setCurrentMarkMode()

void AbstractCanvasItem::setCurrentMarkMode ( EMarkMode markMode)

◆ setCurrentStandoutMode()

void AbstractCanvasItem::setCurrentStandoutMode ( EStandOutMode standoutMode)

◆ setGlobalPosition2d()

void AbstractCanvasItem::setGlobalPosition2d ( const TPosition2d & position2d)

◆ setId()

void AbstractCanvasItem::setId ( TId id)

◆ setRedrawFlag()

void AbstractCanvasItem::setRedrawFlag ( bool redraw)

◆ updateLinkedItems()

virtual void AbstractCanvasItem::updateLinkedItems ( )
pure virtual

Member Data Documentation

◆ kInvalidCanvasItemId

const TId AbstractCanvasItem::kInvalidCanvasItemId = 0
inlinestatic

◆ kStartingCanvasItemId

const TId AbstractCanvasItem::kStartingCanvasItemId = 1
inlinestatic

◆ kZeroPosition

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

◆ m_canvasItem

ICanvasItem* AbstractCanvasItem::m_canvasItem
private

◆ m_currentDrawingMode

TTupleDrawingMode AbstractCanvasItem::m_currentDrawingMode
private

◆ m_globalPosition2d

TPosition2d AbstractCanvasItem::m_globalPosition2d
private

◆ m_id

TId AbstractCanvasItem::m_id
private

◆ m_listenersItemClick

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

◆ m_listenersItemEnter

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

◆ m_listenersItemLeave

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

◆ m_listenersItemMove

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

◆ m_redrawFlag

bool AbstractCanvasItem::m_redrawFlag
private

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