DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
GraphicalClass.hpp
Go to the documentation of this file.
1// DUNE DAQ modification notice:
2// This file has been modified from the original ATLAS dbe source for the DUNE DAQ project.
3// Fork baseline commit: dbe-02-12-17 (2022-05-12).
4// Renamed since fork: yes (from dbe/GraphicalClass.h to include/dbe/GraphicalClass.hpp).
5
6#ifndef GRAPHICALCLASS_H
7#define GRAPHICALCLASS_H
8
10#include <QGraphicsObject>
12#include "conffwk/Schema.hpp"
13
14namespace dbe {
15
17{
19 QStringList EnvNames;
20};
21
23{
24 QString Direct;
25 QString Reverse;
26};
27
29{
30 QString GraphicalUID;
34 QString BitmapFile;
37 QStringList Attributes;
39 QStringList Relationships;
40 QString IconTitle;
42 QStringList DerivedClasses;
43 QList<DualRelationship> DualRelationships;
44 QList<InitAttributeFromEnv> NeedToInitialize;
45};
46
47struct Window
48{
49 QString Title;
52};
53
54class GraphicalObject : public QGraphicsObject
55{
56 Q_OBJECT
57public:
58 explicit GraphicalObject(bool Used, QString ObjectName, GraphicalClass GraphInfo, QGraphicsObject* parent = 0);
60 QRectF boundingRect() const;
61 void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget);
62 QPainterPath shape() const;
64 void mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event);
65 void mousePressEvent(QGraphicsSceneMouseEvent* event);
66 void mouseMoveEvent(QGraphicsSceneMouseEvent* event);
67 void dropEvent(QGraphicsSceneDragDropEvent* event);
69 void AddGraphicChildren();
72 double GetExpandedX() const;
73 double GetExpandedY() const;
74 void SetExpandedX(double dx);
75 void SetExpandedY(double dy);
77 void GetOffsetX(QGraphicsItem* Item, double& Offset);
78 void GetOffsetY(QGraphicsItem* Item, double& Offset);
79 void LocateTopMostItem(QGraphicsItem* Auxiliary);
80 QString GetDatabaseClassName() const;
81 QString GetDatabaseUidName() const;
82
83private:
85 QGraphicsPixmapItem* IconItem;
86 QGraphicsTextItem* TextItem;
91 QPointF StartDrag;
92 double expandedX;
93 double expandedY;
94};
95
96class GraphicalRelationship : public QGraphicsObject
97{
98 Q_OBJECT
99public:
100 explicit GraphicalRelationship(QString ObjectName,
101 QString ClassName,
103 QGraphicsObject* parent = 0);
105 QRectF boundingRect() const;
106 void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget);
107 QPainterPath shape() const;
109 void mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event);
110 void mousePressEvent(QGraphicsSceneMouseEvent* event);
111 void mouseMoveEvent(QGraphicsSceneMouseEvent* event);
113 void AddGraphicChildren();
114
115private:
119 QGraphicsTextItem* TextItem;
120};
121
122} // end namespace dbe
123#endif // GRAPHICALCLASS_H
QGraphicsTextItem * TextItem
void AddGraphicChildren()
Graphics.
void GetOffsetY(QGraphicsItem *Item, double &Offset)
void mouseMoveEvent(QGraphicsSceneMouseEvent *event)
double GetExpandedX() const
void GetOffsetX(QGraphicsItem *Item, double &Offset)
Some Api.
GraphicalClass GraphicalInfo
QPainterPath shape() const
double GetExpandedY() const
void mousePressEvent(QGraphicsSceneMouseEvent *event)
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
void dropEvent(QGraphicsSceneDragDropEvent *event)
GraphicalObject(bool Used, QString ObjectName, GraphicalClass GraphInfo, QGraphicsObject *parent=0)
QString GetDatabaseUidName() const
QRectF boundingRect() const
void LocateTopMostItem(QGraphicsItem *Auxiliary)
void SetExpandedX(double dx)
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
Event Handler.
QGraphicsPixmapItem * IconItem
void SetExpandedY(double dy)
QString GetDatabaseClassName() const
dunedaq::conffwk::relationship_t RelationshipData
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
QGraphicsTextItem * TextItem
QPainterPath shape() const
void mousePressEvent(QGraphicsSceneMouseEvent *event)
void mouseMoveEvent(QGraphicsSceneMouseEvent *event)
GraphicalRelationship(QString ObjectName, QString ClassName, dunedaq::conffwk::relationship_t &Data, QGraphicsObject *parent=0)
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
Event Handler.
Include QT Headers.
QList< DualRelationship > DualRelationships
QList< InitAttributeFromEnv > NeedToInitialize
QStringList GraphicalClassesList