DynExp
Highly flexible laboratory automation for dynamically changing experiments.
CircuitDiagram::CircuitDiagramItem Class Reference

Classes

struct  LinkedParamType
 
struct  ParamGraphicsItemsType
 

Public Member Functions

 CircuitDiagramItem ()
 
 CircuitDiagramItem (QTreeWidgetItem *TreeWidgetItem)
 
void InsertLinks (const DynExp::ParamsBase::ObjectLinkParamsType &ObjectLinkParams, const DynExp::DynExpCore &DynExpCore, NodeMapType *HardwareAdapterNodes, NodeMapType *InstrumentNodes)
 
size_t GetNumLinkedItems ()
 

Public Attributes

QTreeWidgetItem * TreeWidgetItem
 Pointer to QTreeWidgetItem listed in main window's tree view. Pointer may be dereferenced after this CircuitDiagramItem has been created and control has returned to the main window's event loop since DynExpManager pays attention to call Redraw() instead of UpdateStates() after tree view has changed. Note that there is no guarantee for other function calls that TreeWidgetItem is in a valid state! Other functions may only use TreeWidgetItem for address comparison purposes. More...
 
QString NetworkAddress = nullptr
 String of a network address and a network port indicating whether this item connects to a network. Empty if it does not. More...
 
QPointF TopLeftPos
 Node's top left position in the diagram in painting area's coordinates. More...
 
qreal ParamSectionHeight {}
 
qreal ItemHeight {}
 
std::vector< LinkedParamTypeLinkedParams
 List of linked params making use of this item. More...
 
const bool Empty
 Indicates whether this item points to an existing object. More...
 
QGraphicsPathItem * StateFrame = nullptr
 
QIcon StateIcon
 
QGraphicsPixmapItem * StatePixmap = nullptr
 
QGraphicsSimpleTextItem * StateLabel = nullptr
 
QGraphicsPathItem * ItemFrame = nullptr
 
QGraphicsSimpleTextItem * ItemLabel = nullptr
 
QIcon ItemIcon
 
QGraphicsPixmapItem * ItemPixmap = nullptr
 
QGraphicsEllipseItem * OutputSocket = nullptr
 
std::vector< ParamGraphicsItemsTypeParamGraphicsItems
 
QIcon NetworkIcon
 
QGraphicsPixmapItem * NetworkPixmap = nullptr
 
QGraphicsPathItem * NetworkLink = nullptr
 

Detailed Description

Definition at line 45 of file CircuitDiagram.h.


Class Documentation

◆ CircuitDiagram::CircuitDiagramItem::LinkedParamType

struct CircuitDiagram::CircuitDiagramItem::LinkedParamType

Definition at line 79 of file CircuitDiagram.h.

Class Members
vector< LinkedItemType > LinkedItems
string_view LinkTitle
size_t ParamGraphicsItemIndex

◆ CircuitDiagram::CircuitDiagramItem::ParamGraphicsItemsType

struct CircuitDiagram::CircuitDiagramItem::ParamGraphicsItemsType

Definition at line 106 of file CircuitDiagram.h.

Class Members
QGraphicsPathItem * Frame
QGraphicsSimpleTextItem * Label
vector< QGraphicsPathItem * > Links
vector< QGraphicsEllipseItem * > Sockets

Constructor & Destructor Documentation

◆ CircuitDiagramItem() [1/2]

CircuitDiagram::CircuitDiagramItem::CircuitDiagramItem ( )
inline

Definition at line 48 of file CircuitDiagram.h.

◆ CircuitDiagramItem() [2/2]

CircuitDiagram::CircuitDiagramItem::CircuitDiagramItem ( QTreeWidgetItem *  TreeWidgetItem)
inline

Definition at line 49 of file CircuitDiagram.h.

Member Function Documentation

◆ GetNumLinkedItems()

size_t CircuitDiagram::CircuitDiagramItem::GetNumLinkedItems ( )

Definition at line 97 of file CircuitDiagram.cpp.

◆ InsertLinks()

void CircuitDiagram::CircuitDiagramItem::InsertLinks ( const DynExp::ParamsBase::ObjectLinkParamsType ObjectLinkParams,
const DynExp::DynExpCore DynExpCore,
NodeMapType HardwareAdapterNodes,
NodeMapType InstrumentNodes 
)

Definition at line 69 of file CircuitDiagram.cpp.

Member Data Documentation

◆ Empty

const bool CircuitDiagram::CircuitDiagramItem::Empty

Indicates whether this item points to an existing object.

Definition at line 103 of file CircuitDiagram.h.

◆ ItemFrame

QGraphicsPathItem* CircuitDiagram::CircuitDiagramItem::ItemFrame = nullptr

Definition at line 118 of file CircuitDiagram.h.

◆ ItemHeight

qreal CircuitDiagram::CircuitDiagramItem::ItemHeight {}

Definition at line 77 of file CircuitDiagram.h.

◆ ItemIcon

QIcon CircuitDiagram::CircuitDiagramItem::ItemIcon

Definition at line 120 of file CircuitDiagram.h.

◆ ItemLabel

QGraphicsSimpleTextItem* CircuitDiagram::CircuitDiagramItem::ItemLabel = nullptr

Definition at line 119 of file CircuitDiagram.h.

◆ ItemPixmap

QGraphicsPixmapItem* CircuitDiagram::CircuitDiagramItem::ItemPixmap = nullptr

Definition at line 121 of file CircuitDiagram.h.

◆ LinkedParams

std::vector<LinkedParamType> CircuitDiagram::CircuitDiagramItem::LinkedParams

List of linked params making use of this item.

Definition at line 98 of file CircuitDiagram.h.

◆ NetworkAddress

QString CircuitDiagram::CircuitDiagramItem::NetworkAddress = nullptr

String of a network address and a network port indicating whether this item connects to a network. Empty if it does not.

Definition at line 69 of file CircuitDiagram.h.

◆ NetworkIcon

QIcon CircuitDiagram::CircuitDiagramItem::NetworkIcon

Definition at line 124 of file CircuitDiagram.h.

◆ NetworkLink

QGraphicsPathItem* CircuitDiagram::CircuitDiagramItem::NetworkLink = nullptr

Definition at line 126 of file CircuitDiagram.h.

◆ NetworkPixmap

QGraphicsPixmapItem* CircuitDiagram::CircuitDiagramItem::NetworkPixmap = nullptr

Definition at line 125 of file CircuitDiagram.h.

◆ OutputSocket

QGraphicsEllipseItem* CircuitDiagram::CircuitDiagramItem::OutputSocket = nullptr

Definition at line 122 of file CircuitDiagram.h.

◆ ParamGraphicsItems

std::vector<ParamGraphicsItemsType> CircuitDiagram::CircuitDiagramItem::ParamGraphicsItems

Definition at line 123 of file CircuitDiagram.h.

◆ ParamSectionHeight

qreal CircuitDiagram::CircuitDiagramItem::ParamSectionHeight {}

Definition at line 76 of file CircuitDiagram.h.

◆ StateFrame

QGraphicsPathItem* CircuitDiagram::CircuitDiagramItem::StateFrame = nullptr

Definition at line 114 of file CircuitDiagram.h.

◆ StateIcon

QIcon CircuitDiagram::CircuitDiagramItem::StateIcon

Definition at line 115 of file CircuitDiagram.h.

◆ StateLabel

QGraphicsSimpleTextItem* CircuitDiagram::CircuitDiagramItem::StateLabel = nullptr

Definition at line 117 of file CircuitDiagram.h.

◆ StatePixmap

QGraphicsPixmapItem* CircuitDiagram::CircuitDiagramItem::StatePixmap = nullptr

Definition at line 116 of file CircuitDiagram.h.

◆ TopLeftPos

QPointF CircuitDiagram::CircuitDiagramItem::TopLeftPos

Node's top left position in the diagram in painting area's coordinates.

Definition at line 74 of file CircuitDiagram.h.

◆ TreeWidgetItem

QTreeWidgetItem* CircuitDiagram::CircuitDiagramItem::TreeWidgetItem

Pointer to QTreeWidgetItem listed in main window's tree view. Pointer may be dereferenced after this CircuitDiagramItem has been created and control has returned to the main window's event loop since DynExpManager pays attention to call Redraw() instead of UpdateStates() after tree view has changed. Note that there is no guarantee for other function calls that TreeWidgetItem is in a valid state! Other functions may only use TreeWidgetItem for address comparison purposes.

Definition at line 63 of file CircuitDiagram.h.


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