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

#include <SchemaGraphicObject.hpp>

Inheritance diagram for dbse::SchemaGraphicObject:
[legend]
Collaboration diagram for dbse::SchemaGraphicObject:
[legend]

Public Member Functions

 SchemaGraphicObject (QString &ClassName, SchemaGraphicsScene *scene, QGraphicsObject *parent=nullptr)
 ~SchemaGraphicObject ()
dunedaq::oks::OksClass * GetClass () const
QString GetClassName () const
void GetInfo ()
void toggle_highlight_class ()
 Graphic API.
QRectF boundingRect () const override
QPainterPath shape () const override
void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
void AddArrow (SchemaGraphicSegmentedArrow *Arrow)
 Arrow API.
void RemoveArrow (SchemaGraphicSegmentedArrow *Arrow)
void RemoveArrows ()
bool HasArrow (SchemaGraphicObject *Dest) const
void update_arrows ()
bool highlighted () const

Protected Member Functions

QVariant itemChange (GraphicsItemChange change, const QVariant &value)
void hoverEnterEvent (QGraphicsSceneHoverEvent *ev)
void hoverLeaveEvent (QGraphicsSceneHoverEvent *ev)
void mouseDoubleClickEvent (QGraphicsSceneMouseEvent *ev)

Private Slots

void UpdateObject (QString Name)
void RemoveObject (QString Name)

Private Member Functions

void set_font ()

Private Attributes

SchemaGraphicsScene * m_scene
dunedaq::oks::OksClass * m_class_info
QString m_class_object_name
QStringList m_class_attributes
QStringList m_class_attribute_values
QStringList m_class_methods
QStringList m_class_relationhips
QStringList m_class_inherited_attributes
QStringList m_class_inherited_relationhips
QStringList m_class_inherited_methods
bool m_inherited_properties_visible
bool m_highlight_active { false }
bool m_highlight_class { false }
QFont m_font
QFont m_bold_font
double LineOffsetX
double LineOffsetY
QList< SchemaGraphicSegmentedArrow * > m_arrows

Detailed Description

Definition at line 19 of file SchemaGraphicObject.hpp.

Constructor & Destructor Documentation

◆ SchemaGraphicObject()

dbse::SchemaGraphicObject::SchemaGraphicObject ( QString & ClassName,
SchemaGraphicsScene * scene,
QGraphicsObject * parent = nullptr )
explicit

Connecting Signals

Getting Class

Getting class info

Definition at line 22 of file SchemaGraphicObject.cpp.

23 : QGraphicsObject(parent)
24 , m_scene(scene)
25 , LineOffsetX(0)
26 , LineOffsetY(0)
27{
28 setAcceptHoverEvents(true);
29
30 setFlag(ItemIsMovable);
31 setFlag(ItemSendsGeometryChanges, true);
32 setFlag(ItemSendsScenePositionChanges, true);
33
35 connect(&KernelWrapper::GetInstance(), SIGNAL(ClassUpdated(QString)), this, SLOT(UpdateObject(QString)));
36 connect(&KernelWrapper::GetInstance(), SIGNAL(ClassRemoved(QString)), this, SLOT(RemoveObject(QString)));
38 m_class_info = KernelWrapper::GetInstance().FindClass(ClassName.toStdString());
39 m_class_object_name = ClassName;
40
42 GetInfo();
43
44 set_font();
45}
static KernelWrapper & GetInstance()
dunedaq::oks::OksClass * FindClass(std::string ClassName) const
dunedaq::oks::OksClass * m_class_info
SchemaGraphicsScene * m_scene

◆ ~SchemaGraphicObject()

dbse::SchemaGraphicObject::~SchemaGraphicObject ( )

Definition at line 47 of file SchemaGraphicObject.cpp.

47{}

Member Function Documentation

◆ AddArrow()

void dbse::SchemaGraphicObject::AddArrow ( SchemaGraphicSegmentedArrow * Arrow)

Arrow API.

Definition at line 425 of file SchemaGraphicObject.cpp.

426{
427 m_arrows.append(Arrow);
428}
QList< SchemaGraphicSegmentedArrow * > m_arrows

◆ boundingRect()

QRectF dbse::SchemaGraphicObject::boundingRect ( ) const
nodiscardoverride

Definition at line 242 of file SchemaGraphicObject.cpp.

243{
244 double SpaceX = 3;
245 double TotalBoundingHeight = 0;
246 double TotalBoundingWidth = 0;
247
248 QFontMetrics FontMetrics(m_font);
249
250 TotalBoundingHeight += SpaceX * 5;
251 TotalBoundingHeight += FontMetrics.boundingRect(m_class_object_name).height();
252 TotalBoundingWidth += FontMetrics.boundingRect(m_class_object_name).width();
253
254 for (int entry = 0; entry < m_class_attributes.size(); entry++) {
255 QString attribute_name = m_class_attributes[entry];
256 if (m_scene->show_defaults()) {
257 attribute_name.append(m_class_attribute_values[entry]);
258 }
259 TotalBoundingHeight += FontMetrics.boundingRect(attribute_name).height();
260
261 if (FontMetrics.boundingRect(attribute_name).width() > TotalBoundingWidth) {
262 TotalBoundingWidth = FontMetrics.boundingRect(attribute_name).width();
263 }
264 }
265
267 for (auto& AttributeName : m_class_inherited_attributes) {
268 TotalBoundingHeight += FontMetrics.boundingRect(AttributeName).height();
269
270 if (FontMetrics.boundingRect(AttributeName).width() > TotalBoundingWidth)
271 TotalBoundingWidth = FontMetrics.boundingRect(AttributeName).width();
272 }
273 }
274
275 for (auto& relationship_name : m_class_relationhips) {
276 TotalBoundingHeight += FontMetrics.boundingRect(relationship_name).height();
277
278 if (FontMetrics.boundingRect(relationship_name).width() > TotalBoundingWidth)
279 TotalBoundingWidth = FontMetrics.boundingRect(relationship_name).width();
280 }
281
283 for (auto& relationship_name : m_class_inherited_relationhips) {
284 TotalBoundingHeight += FontMetrics.boundingRect(relationship_name).height();
285
286 if (FontMetrics.boundingRect(relationship_name).width() > TotalBoundingWidth)
287 TotalBoundingWidth = FontMetrics.boundingRect(relationship_name).width();
288 }
289 }
290
291 for (auto& MethodName : m_class_methods) {
292 TotalBoundingHeight += FontMetrics.boundingRect(MethodName).height();
293
294 if (FontMetrics.boundingRect(MethodName).width() > TotalBoundingWidth)
295 TotalBoundingWidth = FontMetrics.boundingRect(MethodName).width();
296 }
297
299 for (auto& MethodName : m_class_inherited_methods) {
300 TotalBoundingHeight += FontMetrics.boundingRect(MethodName).height();
301
302 if (FontMetrics.boundingRect(MethodName).width() > TotalBoundingWidth)
303 TotalBoundingWidth = FontMetrics.boundingRect(MethodName).width();
304 }
305 }
306
307 TotalBoundingWidth += 15;
308 return QRectF(0, 0, TotalBoundingWidth, TotalBoundingHeight);
309}

◆ GetClass()

OksClass * dbse::SchemaGraphicObject::GetClass ( ) const
nodiscard

Definition at line 126 of file SchemaGraphicObject.cpp.

127{
128 return m_class_info;
129}

◆ GetClassName()

QString dbse::SchemaGraphicObject::GetClassName ( ) const
nodiscard

Definition at line 132 of file SchemaGraphicObject.cpp.

133{
134 return m_class_object_name;
135}

◆ GetInfo()

void dbse::SchemaGraphicObject::GetInfo ( )

Getting direct Attributes

Getting direct Relationships

Getting direct Methods

Getting indirect Attributes

Getting indirect Relationships

Getting indirect Methods

Definition at line 138 of file SchemaGraphicObject.cpp.

139{
140 m_class_attributes.clear();
141 m_class_relationhips.clear();
142 m_class_methods.clear();
143
144 std::list<OksAttribute*> direct_attributes = {};
146 direct_attributes = *m_class_info->direct_attributes();
147 }
148 std::list<OksMethod*> direct_methods = {};
150 direct_methods = *m_class_info->direct_methods();
151
152 std::list<OksRelationship*> direct_relationships = {};
154 direct_relationships = *m_class_info->direct_relationships();
155
156 std::list<OksAttribute*> all_attributes = {};
158 all_attributes = *m_class_info->all_attributes();
159
160 std::list<OksMethod*> all_methods = {};
162 all_methods = *m_class_info->all_methods();
163
164 std::list<OksRelationship*> all_relationships = {};
166 all_relationships = *m_class_info->all_relationships();
167
168 // Prepare indirect relationship list
169 std::list<OksAttribute*> indirect_attributes = all_attributes;
170 std::list<OksMethod*> indirect_methods = all_methods;
171 std::list<OksRelationship*> indirect_relationships = all_relationships;
172
173 for (OksAttribute* attribute : direct_attributes) {
174 indirect_attributes.remove(attribute);
175 }
176
177 for (OksMethod* method : direct_methods) {
178 indirect_methods.remove(method);
179 }
180
181 for (OksRelationship* relationship : direct_relationships) {
182 indirect_relationships.remove(relationship);
183 }
184
185 std::map<OksRelationship::CardinalityConstraint, std::string> m = { { OksRelationship::Zero, "0" },
186 { OksRelationship::One, "1" },
187 { OksRelationship::Many, "n" } };
188
190 for (OksAttribute* attribute : direct_attributes) {
191 QString AttributeString(QString::fromStdString(attribute->get_name()) + " : " +
192 QString::fromStdString(attribute->get_type()) +
193 (attribute->get_is_multi_values() ? "[]" : ""));
194 m_class_attributes.append(AttributeString);
195
196 QString value;
197 if (!attribute->get_init_value().empty()) {
198 value = QString::fromStdString(" = " + attribute->get_init_value());
199 }
200 m_class_attribute_values.append(value);
201 }
202
204 for (OksRelationship* relationship : direct_relationships) {
205 QString relationship_string(QString::fromStdString(relationship->get_name()) + " : " +
206 QString::fromStdString(relationship->get_type()) + " - " +
207 QString::fromStdString(m[relationship->get_low_cardinality_constraint()]) + ":" +
208 QString::fromStdString(m[relationship->get_high_cardinality_constraint()]));
209 m_class_relationhips.append(relationship_string);
210 }
211
213 for (OksMethod* Method : direct_methods) {
214 QString MethodString(QString::fromStdString(Method->get_name()) + "()");
215 m_class_methods.append(MethodString);
216 }
217
219 for (OksAttribute* attribute : indirect_attributes) {
220 QString attribute_string(QString::fromStdString(attribute->get_name()) + " : " +
221 QString::fromStdString(attribute->get_type()));
222 m_class_inherited_attributes.append(attribute_string);
223 }
224
226 for (OksRelationship* relationship : indirect_relationships) {
227 QString relationship_string(QString::fromStdString(relationship->get_name()) + " : " +
228 QString::fromStdString(relationship->get_type()) + " - " +
229 QString::fromStdString(m[relationship->get_low_cardinality_constraint()]) + ":" +
230 QString::fromStdString(m[relationship->get_high_cardinality_constraint()]));
231 m_class_inherited_relationhips.append(relationship_string);
232 }
233
235 for (OksMethod* method : indirect_methods) {
236 QString method_string(QString::fromStdString(method->get_name()) + "()");
237 m_class_inherited_methods.append(method_string);
238 }
239}
const std::list< OksMethod * > * all_methods() const noexcept
Definition class.hpp:667
const std::list< OksAttribute * > * all_attributes() const noexcept
Definition class.hpp:470
const std::list< OksRelationship * > * direct_relationships() const noexcept
Definition class.hpp:572
const std::list< OksMethod * > * direct_methods() const noexcept
Definition class.hpp:671
const std::list< OksAttribute * > * direct_attributes() const noexcept
Definition class.hpp:474
const std::list< OksRelationship * > * all_relationships() const noexcept
Definition class.hpp:568
T attribute(tref item, dunedaq::conffwk::attribute_t const &attr)

◆ HasArrow()

bool dbse::SchemaGraphicObject::HasArrow ( SchemaGraphicObject * Dest) const

Definition at line 451 of file SchemaGraphicObject.cpp.

452{
453 if (m_arrows.isEmpty()) {
454 return false;
455 }
456
457 for (SchemaGraphicSegmentedArrow* Arrow : m_arrows) {
458 SchemaGraphicObject* ArrowSource = Arrow->GetStartItem();
459 SchemaGraphicObject* ArrowDest = Arrow->GetEndItem();
460
461 if ((ArrowSource == this) && (ArrowDest == Dest)) {
462 return true;
463 }
464 }
465
466 return false;
467}
SchemaGraphicObject(QString &ClassName, SchemaGraphicsScene *scene, QGraphicsObject *parent=nullptr)

◆ highlighted()

bool dbse::SchemaGraphicObject::highlighted ( ) const
inline

Definition at line 40 of file SchemaGraphicObject.hpp.

◆ hoverEnterEvent()

void dbse::SchemaGraphicObject::hoverEnterEvent ( QGraphicsSceneHoverEvent * ev)
protected

Definition at line 50 of file SchemaGraphicObject.cpp.

51{
52 // std::cout << "hover event at scenePos" << he->scenePos().x() << "," << he->scenePos().y()
53 // << ", pos=" << he->pos().x() << "," << he->pos().y() << "\n";
54
55 auto text = m_class_info->get_name();
56 auto desc = m_class_info->get_description();
57 if (!desc.empty()) {
58 text += "\n" + desc;
59 }
60 text += "\n-----------";
61
62 std::string attr_descriptions;
64 if (attributes != nullptr) {
65 for (auto attr : *attributes) {
66 if (!attr->get_description().empty()) {
67 attr_descriptions += "\n " + attr->get_name() + ": " + attr->get_description();
68 }
69 }
70 }
71 std::string rel_descriptions;
72 auto relationships = m_class_info->direct_relationships();
73 if (relationships != nullptr) {
74 for (auto rel : *relationships) {
75 if (!rel->get_description().empty()) {
76 rel_descriptions += "\n " + rel->get_name() + ": " + rel->get_description();
77 }
78 }
79 }
80 std::string method_descriptions;
81 auto methods = m_class_info->direct_methods();
82 if (methods != nullptr) {
83 for (auto method : *methods) {
84 if (!method->get_description().empty()) {
85 method_descriptions += "\n " + method->get_name() + ": " + method->get_description();
86 }
87 }
88 }
89
90 std::string sep = "\n-----";
91 if (!attr_descriptions.empty()) {
92 text += "\nAttributes:" + attr_descriptions;
93 if (!(rel_descriptions.empty() && method_descriptions.empty())) {
94 text += sep;
95 }
96 }
97 if (!rel_descriptions.empty()) {
98 text += "\nRelationships:" + rel_descriptions;
99 if (!method_descriptions.empty()) {
100 text += sep;
101 }
102 }
103 if (method_descriptions != "") {
104 text += "\nMethods:" + method_descriptions;
105 }
106 // std::cout << "text=<" << text << ">\n"; std::cout.flush();
107 QToolTip::showText(he->screenPos(), QString::fromStdString(text), nullptr, QRect(), 10000);
108 he->ignore();
109}
const std::string & get_name() const noexcept
Definition class.hpp:374
const std::string & get_description() const noexcept
Definition class.hpp:378
std::vector< T > attributes(tref const &item)

◆ hoverLeaveEvent()

void dbse::SchemaGraphicObject::hoverLeaveEvent ( QGraphicsSceneHoverEvent * ev)
protected

Definition at line 111 of file SchemaGraphicObject.cpp.

112{
113 // std::cout << "hover leave\n";
114 QToolTip::hideText();
115 he->ignore();
116}

◆ itemChange()

QVariant dbse::SchemaGraphicObject::itemChange ( GraphicsItemChange change,
const QVariant & value )
protected

Definition at line 500 of file SchemaGraphicObject.cpp.

501{
502 if (change == ItemPositionChange)
503 for (SchemaGraphicSegmentedArrow* arrow : m_arrows) {
504 arrow->UpdatePosition();
505 }
506
507 return value;
508}

◆ mouseDoubleClickEvent()

void dbse::SchemaGraphicObject::mouseDoubleClickEvent ( QGraphicsSceneMouseEvent * ev)
protected

Definition at line 119 of file SchemaGraphicObject.cpp.

120{
121 QString class_name = QString::fromStdString(m_class_info->get_name());
122 SchemaClassEditor::launch(class_name);
123}
static void launch(QString class_name)

◆ paint()

void dbse::SchemaGraphicObject::paint ( QPainter * painter,
const QStyleOptionGraphicsItem * option,
QWidget * widget )
override

Definition at line 320 of file SchemaGraphicObject.cpp.

321{
322 Q_UNUSED(widget)
323 Q_UNUSED(option)
324
325 double SpaceX = 3;
326 double SpaceY = 3;
327
328 QColor colour;
329 QColor background;
330 if (m_highlight_class) {
331 colour = SchemaStyle::get_color("foreground", "highlight");
332 background = SchemaStyle::get_color("background", "highlight");
333 } else if (m_scene->highlight_active() &&
335 colour = SchemaStyle::get_color("foreground", "active_file");
336 background = SchemaStyle::get_color("background", "active_file");
337 } else {
338 colour = SchemaStyle::get_color("foreground", "default");
339 background = SchemaStyle::get_color("background", "default");
340 }
341
342 set_font();
343
344 const QPen bounding_box_pen = QPen(colour, 2.5);
345 const QPen inner_line_pen = QPen(colour, 1.5);
346
347 painter->setFont(m_font);
348 painter->setPen(bounding_box_pen);
349 painter->setBackground(background);
350 // painter->setBackgroundMode(Qt::OpaqueMode);
351 painter->drawRect(boundingRect());
352
353 const QFontMetrics FontMetrics = painter->fontMetrics();
354 const QRectF ClassNameBoundingRect = FontMetrics.boundingRect(m_class_object_name);
355 const QRectF ObjectBoundingRect = boundingRect();
356
357 double HeightOffset = ClassNameBoundingRect.height() + SpaceY;
358 const auto ClassNamePosition =
359 QPointF((ObjectBoundingRect.width() - ClassNameBoundingRect.width()) / 2, ClassNameBoundingRect.height());
360 painter->drawText(ClassNamePosition, m_class_object_name);
361 painter->drawLine(0, HeightOffset, ObjectBoundingRect.width(), HeightOffset);
362
363 for (int entry = 0; entry < m_class_attributes.size(); entry++) {
364 QString attribute_name = m_class_attributes[entry];
365 if (m_scene->show_defaults()) {
366 attribute_name.append(m_class_attribute_values[entry]);
367 }
368 const QRectF AttributeBoundingRect = FontMetrics.boundingRect(attribute_name);
369 HeightOffset += AttributeBoundingRect.height();
370 painter->drawText(QPointF(SpaceX, HeightOffset), attribute_name);
371 }
372
374 painter->setPen(SchemaStyle::get_color("foreground", "inherited"));
375 for (QString& AttributeName : m_class_inherited_attributes) {
376 const QRectF AttributeBoundingRect = FontMetrics.boundingRect(AttributeName);
377 HeightOffset += AttributeBoundingRect.height();
378 painter->drawText(QPointF(SpaceX, HeightOffset), AttributeName);
379 }
380 painter->setPen(colour);
381 }
382
383 HeightOffset += SpaceY;
384 painter->setPen(inner_line_pen);
385 painter->drawLine(0, HeightOffset, ObjectBoundingRect.width(), HeightOffset);
386
387 for (const QString& relationship_name : m_class_relationhips) {
388 const QRectF relationship_bounding_rect = FontMetrics.boundingRect(relationship_name);
389 HeightOffset += relationship_bounding_rect.height();
390 painter->drawText(QPointF(SpaceX, HeightOffset), relationship_name);
391 }
392
394 painter->setPen(SchemaStyle::get_color("foreground", "inherited"));
395 for (const QString& relationship_name : m_class_inherited_relationhips) {
396 const QRectF relationship_bounding_rect = FontMetrics.boundingRect(relationship_name);
397 HeightOffset += relationship_bounding_rect.height();
398 painter->drawText(QPointF(SpaceX, HeightOffset), relationship_name);
399 }
400 painter->setPen(colour);
401 }
402
403 HeightOffset += SpaceY;
404 painter->setPen(inner_line_pen);
405 painter->drawLine(0, HeightOffset, ObjectBoundingRect.width(), HeightOffset);
406
407 for (const QString& MethodName : m_class_methods) {
408 const QRectF AttributeBoundingRect = FontMetrics.boundingRect(MethodName);
409 HeightOffset += AttributeBoundingRect.height();
410 painter->drawText(QPointF(SpaceX, HeightOffset), MethodName);
411 }
412
414 painter->setPen(SchemaStyle::get_color("foreground", "inherited"));
415 for (const QString& MethodName : m_class_inherited_methods) {
416 const QRectF AttributeBoundingRect = FontMetrics.boundingRect(MethodName);
417 HeightOffset += AttributeBoundingRect.height();
418 painter->drawText(QPointF(SpaceX, HeightOffset), MethodName);
419 }
420 painter->setPen(colour);
421 }
422}
std::string GetActiveSchema() const
QRectF boundingRect() const override
OksFile * get_file() const noexcept
Definition class.hpp:352
const std::string & get_full_file_name() const
Definition file.hpp:528
static QColor get_color(const QString &item, const QString &group)

◆ RemoveArrow()

void dbse::SchemaGraphicObject::RemoveArrow ( SchemaGraphicSegmentedArrow * Arrow)

Definition at line 431 of file SchemaGraphicObject.cpp.

432{
433 const int index = m_arrows.indexOf(Arrow);
434
435 if (index != -1) {
436 m_arrows.removeAt(index);
437 }
438}

◆ RemoveArrows()

void dbse::SchemaGraphicObject::RemoveArrows ( )

Definition at line 441 of file SchemaGraphicObject.cpp.

442{
443 for (SchemaGraphicSegmentedArrow* arrow : m_arrows) {
444 arrow->GetStartItem()->RemoveArrow(arrow);
445 arrow->GetEndItem()->RemoveArrow(arrow);
446 scene()->removeItem(arrow);
447 }
448}

◆ RemoveObject

void dbse::SchemaGraphicObject::RemoveObject ( QString Name)
privateslot

Updating object representation

Definition at line 539 of file SchemaGraphicObject.cpp.

540{
541 if (Name != m_class_object_name) {
542 return;
543 }
544
546 SchemaGraphicsScene* Scene = dynamic_cast<SchemaGraphicsScene*>(scene());
547
548 if (Scene) {
549 Scene->RemoveClassObject(this);
550 }
551}

◆ set_font()

void dbse::SchemaGraphicObject::set_font ( )
private

Definition at line 478 of file SchemaGraphicObject.cpp.

479{
480 if (m_highlight_class) {
481 m_font = SchemaStyle::get_font("highlight");
482 } else {
483 m_font = SchemaStyle::get_font("default");
484 }
486 // Use selected font but with style from abstract class font
487 m_font.setStyle(SchemaStyle::get_font("abstract").style());
488 }
489}
bool get_is_abstract() const noexcept
Definition class.hpp:392
static QFont get_font(const QString &group)

◆ shape()

QPainterPath dbse::SchemaGraphicObject::shape ( ) const
nodiscardoverride

Definition at line 312 of file SchemaGraphicObject.cpp.

313{
314 QPainterPath path;
315 path.addRect(boundingRect());
316 return path;
317}

◆ toggle_highlight_class()

void dbse::SchemaGraphicObject::toggle_highlight_class ( )

Graphic API.

Definition at line 492 of file SchemaGraphicObject.cpp.

◆ update_arrows()

void dbse::SchemaGraphicObject::update_arrows ( )

Definition at line 470 of file SchemaGraphicObject.cpp.

471{
472 for (SchemaGraphicSegmentedArrow* arrow : m_arrows) {
473 arrow->UpdatePosition();
474 }
475}

◆ UpdateObject

void dbse::SchemaGraphicObject::UpdateObject ( QString Name)
privateslot

Updating object info

Updating object representation

Repainting object

Definition at line 511 of file SchemaGraphicObject.cpp.

512{
513 if (Name != m_class_object_name) {
514 return;
515 }
516
518 GetInfo();
520 SchemaGraphicsScene* Scene = dynamic_cast<SchemaGraphicsScene*>(scene());
521
522 if (Scene) {
523 QStringList ClassesList;
524 ClassesList.append(Name);
525
526 QList<QPointF> ClassesPositions;
527 QPointF ClassPosition(this->scenePos());
528 ClassesPositions.append(ClassPosition);
529
530 Scene->RemoveClassObject(this);
531 Scene->AddItemsToScene(QStringList(m_class_object_name), ClassesPositions);
532 }
533
535 update();
536}

Member Data Documentation

◆ LineOffsetX

double dbse::SchemaGraphicObject::LineOffsetX
private

Definition at line 68 of file SchemaGraphicObject.hpp.

◆ LineOffsetY

double dbse::SchemaGraphicObject::LineOffsetY
private

Definition at line 69 of file SchemaGraphicObject.hpp.

◆ m_arrows

QList<SchemaGraphicSegmentedArrow*> dbse::SchemaGraphicObject::m_arrows
private

Definition at line 70 of file SchemaGraphicObject.hpp.

◆ m_bold_font

QFont dbse::SchemaGraphicObject::m_bold_font
private

Definition at line 66 of file SchemaGraphicObject.hpp.

◆ m_class_attribute_values

QStringList dbse::SchemaGraphicObject::m_class_attribute_values
private

Definition at line 54 of file SchemaGraphicObject.hpp.

◆ m_class_attributes

QStringList dbse::SchemaGraphicObject::m_class_attributes
private

Definition at line 53 of file SchemaGraphicObject.hpp.

◆ m_class_info

dunedaq::oks::OksClass* dbse::SchemaGraphicObject::m_class_info
private

Definition at line 51 of file SchemaGraphicObject.hpp.

◆ m_class_inherited_attributes

QStringList dbse::SchemaGraphicObject::m_class_inherited_attributes
private

Definition at line 58 of file SchemaGraphicObject.hpp.

◆ m_class_inherited_methods

QStringList dbse::SchemaGraphicObject::m_class_inherited_methods
private

Definition at line 60 of file SchemaGraphicObject.hpp.

◆ m_class_inherited_relationhips

QStringList dbse::SchemaGraphicObject::m_class_inherited_relationhips
private

Definition at line 59 of file SchemaGraphicObject.hpp.

◆ m_class_methods

QStringList dbse::SchemaGraphicObject::m_class_methods
private

Definition at line 55 of file SchemaGraphicObject.hpp.

◆ m_class_object_name

QString dbse::SchemaGraphicObject::m_class_object_name
private

Definition at line 52 of file SchemaGraphicObject.hpp.

◆ m_class_relationhips

QStringList dbse::SchemaGraphicObject::m_class_relationhips
private

Definition at line 56 of file SchemaGraphicObject.hpp.

◆ m_font

QFont dbse::SchemaGraphicObject::m_font
private

Definition at line 65 of file SchemaGraphicObject.hpp.

◆ m_highlight_active

bool dbse::SchemaGraphicObject::m_highlight_active { false }
private

Definition at line 63 of file SchemaGraphicObject.hpp.

◆ m_highlight_class

bool dbse::SchemaGraphicObject::m_highlight_class { false }
private

Definition at line 64 of file SchemaGraphicObject.hpp.

◆ m_inherited_properties_visible

bool dbse::SchemaGraphicObject::m_inherited_properties_visible
private

Definition at line 62 of file SchemaGraphicObject.hpp.

◆ m_scene

SchemaGraphicsScene* dbse::SchemaGraphicObject::m_scene
private

Definition at line 50 of file SchemaGraphicObject.hpp.


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