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 93 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 716 of file GraphicalClass.cpp.

719 : QGraphicsObject ( parent ),
720 DatabaseClassName ( ClassName ),
721 DatabaseUidName ( ObjectName ),
722 RelationshipData ( Data ),
723 TextItem ( nullptr )
724{
725 TextItem = new QGraphicsTextItem ( QString ( Data.p_name.c_str() ) );
726}
dunedaq::conffwk::relationship_t RelationshipData
QGraphicsTextItem * TextItem
nlohmann::json Data
Definition Structs.hpp:24

◆ ~GraphicalRelationship()

dbe::GraphicalRelationship::~GraphicalRelationship ( )

Definition at line 730 of file GraphicalClass.cpp.

731{
732 delete TextItem;
733}

Member Function Documentation

◆ AddGraphicChildren()

void dbe::GraphicalRelationship::AddGraphicChildren ( )

Graphics.

Definition at line 784 of file GraphicalClass.cpp.

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

◆ boundingRect()

QRectF dbe::GraphicalRelationship::boundingRect ( ) const

Definition at line 737 of file GraphicalClass.cpp.

738{
739 return TextItem->boundingRect();
740}

◆ mouseDoubleClickEvent()

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

Event Handler.

Definition at line 763 of file GraphicalClass.cpp.

764{
765 Q_UNUSED ( event )
766}

◆ mouseMoveEvent()

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

Definition at line 777 of file GraphicalClass.cpp.

778{
779 Q_UNUSED ( event )
780}

◆ mousePressEvent()

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

Definition at line 770 of file GraphicalClass.cpp.

771{
772 Q_UNUSED ( event )
773}

◆ paint()

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

Definition at line 744 of file GraphicalClass.cpp.

747{
748 painter->setFont ( QFont ( "Helvetica", 10 ) );
749 TextItem->paint ( painter, option, widget );
750}

◆ shape()

QPainterPath dbe::GraphicalRelationship::shape ( ) const

Definition at line 754 of file GraphicalClass.cpp.

755{
756 QPainterPath path;
757 path.addRect ( TextItem->boundingRect() );
758 return path;
759}

Member Data Documentation

◆ DatabaseClassName

QString dbe::GraphicalRelationship::DatabaseClassName
private

Definition at line 112 of file GraphicalClass.hpp.

◆ DatabaseUidName

QString dbe::GraphicalRelationship::DatabaseUidName
private

Definition at line 113 of file GraphicalClass.hpp.

◆ RelationshipData

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

Definition at line 114 of file GraphicalClass.hpp.

◆ TextItem

QGraphicsTextItem* dbe::GraphicalRelationship::TextItem
private

Definition at line 115 of file GraphicalClass.hpp.


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