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 98 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 721 of file GraphicalClass.cpp.

724 : QGraphicsObject ( parent ),
725 DatabaseClassName ( ClassName ),
726 DatabaseUidName ( ObjectName ),
727 RelationshipData ( Data ),
728 TextItem ( nullptr )
729{
730 TextItem = new QGraphicsTextItem ( QString ( Data.p_name.c_str() ) );
731}
dunedaq::conffwk::relationship_t RelationshipData
QGraphicsTextItem * TextItem
nlohmann::json Data
Definition Structs.hpp:24

◆ ~GraphicalRelationship()

dbe::GraphicalRelationship::~GraphicalRelationship ( )

Definition at line 735 of file GraphicalClass.cpp.

736{
737 delete TextItem;
738}

Member Function Documentation

◆ AddGraphicChildren()

void dbe::GraphicalRelationship::AddGraphicChildren ( )

Graphics.

Definition at line 789 of file GraphicalClass.cpp.

790{
791 double OffsetY = 0;
792 double OffsetX = 10;
793
794 treenode * NodeObject = confaccessor::gethandler()->getnode ( DatabaseClassName,
796
797 if ( NodeObject )
798 {
799 for ( treenode * ChildNode : NodeObject->GetChildren() )
800 {
801 if ( ChildNode->GetData ( 0 ).toString() == QString ( RelationshipData.p_name.c_str() ) )
802 {
803 for ( treenode * ChildChildNode : ChildNode->GetChildren() )
804 {
805 ObjectNode * ChildChildNodeObject = dynamic_cast<ObjectNode *> ( ChildChildNode );
806
807 if ( ChildChildNodeObject )
808 {
809 std::string cname = ChildChildNodeObject->GetObject().class_name();
810 GraphicalClass Dummy = confaccessor::guiconfig()->graphical ( cname );
811 GraphicalObject * ObjectNodeGraphical = new GraphicalObject (
812 true, ChildChildNode->GetData ( 0 ).toString(), Dummy );
813 ObjectNodeGraphical->setParentItem ( this );
814
815 QPointF coord = ObjectNodeGraphical->mapFromParent ( boundingRect().topRight() );
816 ObjectNodeGraphical->setX ( coord.x() + OffsetX );
817 ObjectNodeGraphical->setY ( coord.y() + OffsetY );
818 OffsetY += ObjectNodeGraphical->boundingRect().height();
819 }
820 }
821
822 break;
823 }
824 }
825 }
826}
static cptr< datahandler > gethandler()
static cptr< ui::config::info > guiconfig()

◆ boundingRect()

QRectF dbe::GraphicalRelationship::boundingRect ( ) const

Definition at line 742 of file GraphicalClass.cpp.

743{
744 return TextItem->boundingRect();
745}

◆ mouseDoubleClickEvent()

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

Event Handler.

Definition at line 768 of file GraphicalClass.cpp.

769{
770 Q_UNUSED ( event )
771}

◆ mouseMoveEvent()

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

Definition at line 782 of file GraphicalClass.cpp.

783{
784 Q_UNUSED ( event )
785}

◆ mousePressEvent()

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

Definition at line 775 of file GraphicalClass.cpp.

776{
777 Q_UNUSED ( event )
778}

◆ paint()

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

Definition at line 749 of file GraphicalClass.cpp.

752{
753 painter->setFont ( QFont ( "Helvetica", 10 ) );
754 TextItem->paint ( painter, option, widget );
755}

◆ shape()

QPainterPath dbe::GraphicalRelationship::shape ( ) const

Definition at line 759 of file GraphicalClass.cpp.

760{
761 QPainterPath path;
762 path.addRect ( TextItem->boundingRect() );
763 return path;
764}

Member Data Documentation

◆ DatabaseClassName

QString dbe::GraphicalRelationship::DatabaseClassName
private

Definition at line 117 of file GraphicalClass.hpp.

◆ DatabaseUidName

QString dbe::GraphicalRelationship::DatabaseUidName
private

Definition at line 118 of file GraphicalClass.hpp.

◆ RelationshipData

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

Definition at line 119 of file GraphicalClass.hpp.

◆ TextItem

QGraphicsTextItem* dbe::GraphicalRelationship::TextItem
private

Definition at line 120 of file GraphicalClass.hpp.


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