DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dbe::GraphicalRelationship Class Reference

#include <GraphicalClass.hpp>

Inheritance diagram for dbe::GraphicalRelationship:
[legend]
Collaboration diagram for dbe::GraphicalRelationship:
[legend]

Public Member Functions

 GraphicalRelationship (QString ObjectName, QString ClassName, dunedaq::conffwk::relationship_t &Data, QGraphicsObject *parent=0)
 ~GraphicalRelationship ()
QRectF boundingRect () const
void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
QPainterPath shape () const
void mouseDoubleClickEvent (QGraphicsSceneMouseEvent *event)
 Event Handler.
void mousePressEvent (QGraphicsSceneMouseEvent *event)
void mouseMoveEvent (QGraphicsSceneMouseEvent *event)
void AddGraphicChildren ()
 Graphics.

Private Attributes

QString DatabaseClassName
QString DatabaseUidName
dunedaq::conffwk::relationship_t RelationshipData
QGraphicsTextItem * TextItem

Detailed Description

Definition at line 96 of file GraphicalClass.hpp.

Constructor & Destructor Documentation

◆ GraphicalRelationship()

dbe::GraphicalRelationship::GraphicalRelationship ( QString ObjectName,
QString ClassName,
dunedaq::conffwk::relationship_t & Data,
QGraphicsObject * parent = 0 )
explicit

Definition at line 627 of file GraphicalClass.cpp.

631 : QGraphicsObject(parent)
632 , DatabaseClassName(ClassName)
633 , DatabaseUidName(ObjectName)
634 , RelationshipData(Data)
635 , TextItem(nullptr)
636{
637 TextItem = new QGraphicsTextItem(QString(Data.p_name.c_str()));
638}
dunedaq::conffwk::relationship_t RelationshipData
QGraphicsTextItem * TextItem
nlohmann::json Data
Definition Structs.hpp:24

◆ ~GraphicalRelationship()

dbe::GraphicalRelationship::~GraphicalRelationship ( )

Definition at line 642 of file GraphicalClass.cpp.

643{
644 delete TextItem;
645}

Member Function Documentation

◆ AddGraphicChildren()

void dbe::GraphicalRelationship::AddGraphicChildren ( )

Graphics.

Definition at line 701 of file GraphicalClass.cpp.

702{
703 double OffsetY = 0;
704 double OffsetX = 10;
705
706 treenode* NodeObject = confaccessor::gethandler()->getnode(DatabaseClassName, DatabaseUidName);
707
708 if (NodeObject) {
709 for (treenode* ChildNode : NodeObject->GetChildren()) {
710 if (ChildNode->GetData(0).toString() == QString(RelationshipData.p_name.c_str())) {
711 for (treenode* ChildChildNode : ChildNode->GetChildren()) {
712 ObjectNode* ChildChildNodeObject = dynamic_cast<ObjectNode*>(ChildChildNode);
713
714 if (ChildChildNodeObject) {
715 std::string cname = ChildChildNodeObject->GetObject().class_name();
716 GraphicalClass Dummy = confaccessor::guiconfig()->graphical(cname);
717 GraphicalObject* ObjectNodeGraphical =
718 new GraphicalObject(true, ChildChildNode->GetData(0).toString(), Dummy);
719 ObjectNodeGraphical->setParentItem(this);
720
721 QPointF coord = ObjectNodeGraphical->mapFromParent(boundingRect().topRight());
722 ObjectNodeGraphical->setX(coord.x() + OffsetX);
723 ObjectNodeGraphical->setY(coord.y() + OffsetY);
724 OffsetY += ObjectNodeGraphical->boundingRect().height();
725 }
726 }
727
728 break;
729 }
730 }
731 }
732}
GraphicalObject(bool Used, QString ObjectName, GraphicalClass GraphInfo, QGraphicsObject *parent=0)
static cptr< datahandler > gethandler()
static cptr< ui::config::info > guiconfig()

◆ boundingRect()

QRectF dbe::GraphicalRelationship::boundingRect ( ) const

Definition at line 650 of file GraphicalClass.cpp.

651{
652 return TextItem->boundingRect();
653}

◆ mouseDoubleClickEvent()

void dbe::GraphicalRelationship::mouseDoubleClickEvent ( QGraphicsSceneMouseEvent * event)

Event Handler.

Definition at line 677 of file GraphicalClass.cpp.

678{
679 Q_UNUSED(event)
680}

◆ mouseMoveEvent()

void dbe::GraphicalRelationship::mouseMoveEvent ( QGraphicsSceneMouseEvent * event)

Definition at line 693 of file GraphicalClass.cpp.

694{
695 Q_UNUSED(event)
696}

◆ mousePressEvent()

void dbe::GraphicalRelationship::mousePressEvent ( QGraphicsSceneMouseEvent * event)

Definition at line 685 of file GraphicalClass.cpp.

686{
687 Q_UNUSED(event)
688}

◆ paint()

void dbe::GraphicalRelationship::paint ( QPainter * painter,
const QStyleOptionGraphicsItem * option,
QWidget * widget )

Definition at line 658 of file GraphicalClass.cpp.

659{
660 painter->setFont(QFont("Helvetica", 10));
661 TextItem->paint(painter, option, widget);
662}

◆ shape()

QPainterPath dbe::GraphicalRelationship::shape ( ) const

Definition at line 667 of file GraphicalClass.cpp.

668{
669 QPainterPath path;
670 path.addRect(TextItem->boundingRect());
671 return path;
672}

Member Data Documentation

◆ DatabaseClassName

QString dbe::GraphicalRelationship::DatabaseClassName
private

Definition at line 116 of file GraphicalClass.hpp.

◆ DatabaseUidName

QString dbe::GraphicalRelationship::DatabaseUidName
private

Definition at line 117 of file GraphicalClass.hpp.

◆ RelationshipData

dunedaq::conffwk::relationship_t dbe::GraphicalRelationship::RelationshipData
private

Definition at line 118 of file GraphicalClass.hpp.

◆ TextItem

QGraphicsTextItem* dbe::GraphicalRelationship::TextItem
private

Definition at line 119 of file GraphicalClass.hpp.


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