DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
dbe
include
dbe
SchemaGraphicsScene.hpp
Go to the documentation of this file.
1
#ifndef SCHEMAGRAPHICSSCENE_H
2
#define SCHEMAGRAPHICSSCENE_H
3
5
#include <QAction>
6
#include <QGraphicsLineItem>
7
#include <QGraphicsScene>
9
#include "
dbe/SchemaGraphicNote.hpp
"
10
#include "
dbe/SchemaGraphicObject.hpp
"
11
12
namespace
dbse
{
13
14
class
SchemaGraphicsScene
:
public
QGraphicsScene
15
{
16
Q_OBJECT
17
public
:
18
explicit
SchemaGraphicsScene
(QObject* parent =
nullptr
);
19
~SchemaGraphicsScene
();
20
void
CreateActions
();
22
void
dragEnterEvent
(QGraphicsSceneDragDropEvent* event);
23
void
dragMoveEvent
(QGraphicsSceneDragDropEvent* event);
24
void
dropEvent
(QGraphicsSceneDragDropEvent* event);
25
26
void
contextMenuEvent
(QGraphicsSceneContextMenuEvent* event);
27
QStringList
AddItemsToScene
(QStringList SchemaClasses, QList<QPointF> Positions);
28
void
CleanItemMap
();
29
void
RemoveClassObject
(
SchemaGraphicObject
* Object);
30
void
add_notes
(QStringList notes, QList<QPointF> positions);
31
void
remove_note_object
(
SchemaGraphicNote
* obj);
32
33
[[nodiscard]]
bool
highlight_abstract
()
const
{
return
m_highlight_abstract
; }
34
[[nodiscard]]
bool
highlight_active
()
const
{
return
m_highlight_active
; }
35
[[nodiscard]]
bool
inherited_properties_visible
()
const
{
return
m_inherited_properties_visible
; }
36
37
[[nodiscard]]
bool
show_defaults
()
const
{
return
m_show_defaults
; };
38
[[nodiscard]]
bool
IsModified
()
const
{
return
m_modified
; };
39
void
ClearModified
();
40
signals:
41
void
sceneModified
(
bool
);
42
void
saveRequested
();
43
44
protected
:
45
// bool event ( QEvent* event );
46
void
mousePressEvent
(QGraphicsSceneMouseEvent* mouseEvent);
47
void
mouseMoveEvent
(QGraphicsSceneMouseEvent* mouseEvent);
48
void
mouseReleaseEvent
(QGraphicsSceneMouseEvent* mouseEvent);
49
void
RemoveItemFromScene
(QGraphicsItem* item);
50
void
modified
(
bool
state);
51
private
slots:
52
void
new_class_slot
();
53
void
add_class_slot
(QString);
54
void
new_note_slot
();
55
void
add_note_slot
(
SchemaGraphicNote
*);
56
void
cancel_note_slot
(
SchemaGraphicNote
*);
57
void
edit_note_slot
();
58
void
remove_note_slot
();
59
void
modified_slot
();
60
void
EditClassSlot
();
61
void
ToggleIndirectInfos
();
62
void
ToggleHighlightAbstract
();
63
void
ToggleHighlightActive
();
64
void
ToggleHighlightClass
();
65
void
ToggleDefault
();
66
void
AddDirectSuperClassesSlot
();
67
void
AddAllSuperClassesSlot
();
68
void
AddAllSubClassesSlot
();
69
void
AddDirectRelationshipClassesSlot
();
70
void
AddAllRelationshipClassesSlot
();
71
void
RemoveClassSlot
();
72
void
RemoveArrowSlot
();
73
void
DrawArrow
(QString ClassName, QString RelationshipType, QString RelationshipName);
74
void
requestSave
();
75
void
moveScene
();
76
77
private
:
78
QMap<QString, SchemaGraphicObject*>
ItemMap
;
79
std::set<SchemaGraphicNote*>
m_notes
;
80
QGraphicsLineItem*
m_line
;
81
QMenu*
m_context_menu
;
82
int
m_seperator_pos
;
83
int
m_class_pos
;
84
int
m_arrow_pos
;
85
int
m_note_pos
;
86
int
m_save_pos
;
87
QAction*
m_add_class
;
88
QAction*
m_edit_class
;
89
QAction*
m_toggle_indirect_infos
;
90
QAction*
m_toggle_highlight_abstract
;
91
QAction*
m_toggle_highlight_active
;
92
QAction*
m_toggle_highlight_class
;
93
QAction*
m_toggle_default
;
94
QAction*
m_add_direct_super_classes
;
95
QAction*
m_add_direct_relationship_classes
;
96
QAction*
m_add_all_super_classes
;
97
QAction*
m_add_all_sub_classes
;
98
QAction*
m_add_all_relationship_classes
;
99
QAction*
m_add_note
;
100
QAction*
m_edit_note
;
101
QAction*
m_remove_note
;
102
QAction*
m_remove_class
;
103
QAction*
m_remove_arrow
;
104
QAction*
m_save
;
105
QAction*
m_move
;
106
QMetaObject::Connection
m_addclass_connection
;
107
SchemaGraphicObject
*
CurrentObject
;
108
SchemaGraphicSegmentedArrow
*
m_current_arrow
;
109
SchemaGraphicNote
*
m_current_note
;
110
QPointF
m_current_pos
;
111
QPointF
m_mouse_item_pos
;
112
int
m_next_note
{ 0 };
113
bool
m_inherited_properties_visible
;
114
bool
m_highlight_abstract
;
115
bool
m_highlight_active
;
116
bool
m_show_defaults
;
117
bool
m_modified
;
118
};
119
120
}
// namespace dbse
121
#endif
// SCHEMAGRAPHICSSCENE_H
SchemaGraphicNote.hpp
SchemaGraphicObject.hpp
dbse::SchemaGraphicNote
Definition
SchemaGraphicNote.hpp:14
dbse::SchemaGraphicObject
Definition
SchemaGraphicObject.hpp:20
dbse::SchemaGraphicSegmentedArrow
Definition
SchemaGraphicSegmentedArrow.hpp:13
dbse::SchemaGraphicsScene::AddItemsToScene
QStringList AddItemsToScene(QStringList SchemaClasses, QList< QPointF > Positions)
Definition
SchemaGraphicsScene.cpp:268
dbse::SchemaGraphicsScene::m_next_note
int m_next_note
Definition
SchemaGraphicsScene.hpp:112
dbse::SchemaGraphicsScene::m_inherited_properties_visible
bool m_inherited_properties_visible
Definition
SchemaGraphicsScene.hpp:113
dbse::SchemaGraphicsScene::m_save
QAction * m_save
Definition
SchemaGraphicsScene.hpp:104
dbse::SchemaGraphicsScene::sceneModified
void sceneModified(bool)
dbse::SchemaGraphicsScene::SchemaGraphicsScene
SchemaGraphicsScene(QObject *parent=nullptr)
Definition
SchemaGraphicsScene.cpp:23
dbse::SchemaGraphicsScene::m_move
QAction * m_move
Definition
SchemaGraphicsScene.hpp:105
dbse::SchemaGraphicsScene::m_add_direct_super_classes
QAction * m_add_direct_super_classes
Definition
SchemaGraphicsScene.hpp:94
dbse::SchemaGraphicsScene::AddAllSubClassesSlot
void AddAllSubClassesSlot()
Definition
SchemaGraphicsScene.cpp:690
dbse::SchemaGraphicsScene::m_toggle_highlight_active
QAction * m_toggle_highlight_active
Definition
SchemaGraphicsScene.hpp:91
dbse::SchemaGraphicsScene::edit_note_slot
void edit_note_slot()
Definition
SchemaGraphicsScene.cpp:543
dbse::SchemaGraphicsScene::m_class_pos
int m_class_pos
Definition
SchemaGraphicsScene.hpp:83
dbse::SchemaGraphicsScene::m_toggle_highlight_abstract
QAction * m_toggle_highlight_abstract
Definition
SchemaGraphicsScene.hpp:90
dbse::SchemaGraphicsScene::ToggleHighlightActive
void ToggleHighlightActive()
Definition
SchemaGraphicsScene.cpp:613
dbse::SchemaGraphicsScene::highlight_abstract
bool highlight_abstract() const
Definition
SchemaGraphicsScene.hpp:33
dbse::SchemaGraphicsScene::moveScene
void moveScene()
Definition
SchemaGraphicsScene.cpp:444
dbse::SchemaGraphicsScene::m_modified
bool m_modified
Definition
SchemaGraphicsScene.hpp:117
dbse::SchemaGraphicsScene::m_highlight_active
bool m_highlight_active
Definition
SchemaGraphicsScene.hpp:115
dbse::SchemaGraphicsScene::AddDirectRelationshipClassesSlot
void AddDirectRelationshipClassesSlot()
Definition
SchemaGraphicsScene.cpp:711
dbse::SchemaGraphicsScene::IsModified
bool IsModified() const
Definition
SchemaGraphicsScene.hpp:38
dbse::SchemaGraphicsScene::ToggleHighlightClass
void ToggleHighlightClass()
Definition
SchemaGraphicsScene.cpp:606
dbse::SchemaGraphicsScene::AddAllRelationshipClassesSlot
void AddAllRelationshipClassesSlot()
Definition
SchemaGraphicsScene.cpp:732
dbse::SchemaGraphicsScene::mouseReleaseEvent
void mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition
SchemaGraphicsScene.cpp:483
dbse::SchemaGraphicsScene::m_arrow_pos
int m_arrow_pos
Definition
SchemaGraphicsScene.hpp:84
dbse::SchemaGraphicsScene::m_add_note
QAction * m_add_note
Definition
SchemaGraphicsScene.hpp:99
dbse::SchemaGraphicsScene::show_defaults
bool show_defaults() const
Definition
SchemaGraphicsScene.hpp:37
dbse::SchemaGraphicsScene::m_highlight_abstract
bool m_highlight_abstract
Definition
SchemaGraphicsScene.hpp:114
dbse::SchemaGraphicsScene::m_add_direct_relationship_classes
QAction * m_add_direct_relationship_classes
Definition
SchemaGraphicsScene.hpp:95
dbse::SchemaGraphicsScene::EditClassSlot
void EditClassSlot()
Definition
SchemaGraphicsScene.cpp:599
dbse::SchemaGraphicsScene::m_show_defaults
bool m_show_defaults
Definition
SchemaGraphicsScene.hpp:116
dbse::SchemaGraphicsScene::m_note_pos
int m_note_pos
Definition
SchemaGraphicsScene.hpp:85
dbse::SchemaGraphicsScene::dragEnterEvent
void dragEnterEvent(QGraphicsSceneDragDropEvent *event)
Drag & Drop.
Definition
SchemaGraphicsScene.cpp:131
dbse::SchemaGraphicsScene::inherited_properties_visible
bool inherited_properties_visible() const
Definition
SchemaGraphicsScene.hpp:35
dbse::SchemaGraphicsScene::modified
void modified(bool state)
Definition
SchemaGraphicsScene.cpp:437
dbse::SchemaGraphicsScene::ToggleHighlightAbstract
void ToggleHighlightAbstract()
Definition
SchemaGraphicsScene.cpp:620
dbse::SchemaGraphicsScene::m_toggle_indirect_infos
QAction * m_toggle_indirect_infos
Definition
SchemaGraphicsScene.hpp:89
dbse::SchemaGraphicsScene::new_note_slot
void new_note_slot()
Definition
SchemaGraphicsScene.cpp:569
dbse::SchemaGraphicsScene::contextMenuEvent
void contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
Definition
SchemaGraphicsScene.cpp:172
dbse::SchemaGraphicsScene::CleanItemMap
void CleanItemMap()
Definition
SchemaGraphicsScene.cpp:391
dbse::SchemaGraphicsScene::modified_slot
void modified_slot()
Definition
SchemaGraphicsScene.cpp:478
dbse::SchemaGraphicsScene::m_save_pos
int m_save_pos
Definition
SchemaGraphicsScene.hpp:86
dbse::SchemaGraphicsScene::mousePressEvent
void mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition
SchemaGraphicsScene.cpp:397
dbse::SchemaGraphicsScene::m_notes
std::set< SchemaGraphicNote * > m_notes
Definition
SchemaGraphicsScene.hpp:79
dbse::SchemaGraphicsScene::m_edit_class
QAction * m_edit_class
Definition
SchemaGraphicsScene.hpp:88
dbse::SchemaGraphicsScene::add_note_slot
void add_note_slot(SchemaGraphicNote *)
Definition
SchemaGraphicsScene.cpp:555
dbse::SchemaGraphicsScene::m_toggle_default
QAction * m_toggle_default
Definition
SchemaGraphicsScene.hpp:93
dbse::SchemaGraphicsScene::m_current_arrow
SchemaGraphicSegmentedArrow * m_current_arrow
Definition
SchemaGraphicsScene.hpp:108
dbse::SchemaGraphicsScene::dropEvent
void dropEvent(QGraphicsSceneDragDropEvent *event)
Definition
SchemaGraphicsScene.cpp:147
dbse::SchemaGraphicsScene::new_class_slot
void new_class_slot()
Definition
SchemaGraphicsScene.cpp:591
dbse::SchemaGraphicsScene::saveRequested
void saveRequested()
dbse::SchemaGraphicsScene::m_toggle_highlight_class
QAction * m_toggle_highlight_class
Definition
SchemaGraphicsScene.hpp:92
dbse::SchemaGraphicsScene::add_notes
void add_notes(QStringList notes, QList< QPointF > positions)
Definition
SchemaGraphicsScene.cpp:360
dbse::SchemaGraphicsScene::m_line
QGraphicsLineItem * m_line
Definition
SchemaGraphicsScene.hpp:80
dbse::SchemaGraphicsScene::ToggleIndirectInfos
void ToggleIndirectInfos()
Definition
SchemaGraphicsScene.cpp:637
dbse::SchemaGraphicsScene::m_add_all_sub_classes
QAction * m_add_all_sub_classes
Definition
SchemaGraphicsScene.hpp:97
dbse::SchemaGraphicsScene::ItemMap
QMap< QString, SchemaGraphicObject * > ItemMap
Definition
SchemaGraphicsScene.hpp:78
dbse::SchemaGraphicsScene::mouseMoveEvent
void mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition
SchemaGraphicsScene.cpp:420
dbse::SchemaGraphicsScene::AddDirectSuperClassesSlot
void AddDirectSuperClassesSlot()
Definition
SchemaGraphicsScene.cpp:648
dbse::SchemaGraphicsScene::m_context_menu
QMenu * m_context_menu
Definition
SchemaGraphicsScene.hpp:81
dbse::SchemaGraphicsScene::add_class_slot
void add_class_slot(QString)
Definition
SchemaGraphicsScene.cpp:580
dbse::SchemaGraphicsScene::ToggleDefault
void ToggleDefault()
Definition
SchemaGraphicsScene.cpp:627
dbse::SchemaGraphicsScene::DrawArrow
void DrawArrow(QString ClassName, QString RelationshipType, QString RelationshipName)
Definition
SchemaGraphicsScene.cpp:774
dbse::SchemaGraphicsScene::remove_note_object
void remove_note_object(SchemaGraphicNote *obj)
Definition
SchemaGraphicsScene.cpp:370
dbse::SchemaGraphicsScene::m_add_all_super_classes
QAction * m_add_all_super_classes
Definition
SchemaGraphicsScene.hpp:96
dbse::SchemaGraphicsScene::m_addclass_connection
QMetaObject::Connection m_addclass_connection
Definition
SchemaGraphicsScene.hpp:106
dbse::SchemaGraphicsScene::CurrentObject
SchemaGraphicObject * CurrentObject
Definition
SchemaGraphicsScene.hpp:107
dbse::SchemaGraphicsScene::m_add_class
QAction * m_add_class
Definition
SchemaGraphicsScene.hpp:87
dbse::SchemaGraphicsScene::m_current_note
SchemaGraphicNote * m_current_note
Definition
SchemaGraphicsScene.hpp:109
dbse::SchemaGraphicsScene::m_edit_note
QAction * m_edit_note
Definition
SchemaGraphicsScene.hpp:100
dbse::SchemaGraphicsScene::m_seperator_pos
int m_seperator_pos
Definition
SchemaGraphicsScene.hpp:82
dbse::SchemaGraphicsScene::AddAllSuperClassesSlot
void AddAllSuperClassesSlot()
Definition
SchemaGraphicsScene.cpp:669
dbse::SchemaGraphicsScene::RemoveItemFromScene
void RemoveItemFromScene(QGraphicsItem *item)
Definition
SchemaGraphicsScene.cpp:353
dbse::SchemaGraphicsScene::highlight_active
bool highlight_active() const
Definition
SchemaGraphicsScene.hpp:34
dbse::SchemaGraphicsScene::m_remove_note
QAction * m_remove_note
Definition
SchemaGraphicsScene.hpp:101
dbse::SchemaGraphicsScene::ClearModified
void ClearModified()
Definition
SchemaGraphicsScene.cpp:431
dbse::SchemaGraphicsScene::m_current_pos
QPointF m_current_pos
Definition
SchemaGraphicsScene.hpp:110
dbse::SchemaGraphicsScene::m_remove_arrow
QAction * m_remove_arrow
Definition
SchemaGraphicsScene.hpp:103
dbse::SchemaGraphicsScene::RemoveClassSlot
void RemoveClassSlot()
Definition
SchemaGraphicsScene.cpp:753
dbse::SchemaGraphicsScene::m_remove_class
QAction * m_remove_class
Definition
SchemaGraphicsScene.hpp:102
dbse::SchemaGraphicsScene::m_mouse_item_pos
QPointF m_mouse_item_pos
Definition
SchemaGraphicsScene.hpp:111
dbse::SchemaGraphicsScene::dragMoveEvent
void dragMoveEvent(QGraphicsSceneDragDropEvent *event)
Definition
SchemaGraphicsScene.cpp:139
dbse::SchemaGraphicsScene::CreateActions
void CreateActions()
Definition
SchemaGraphicsScene.cpp:47
dbse::SchemaGraphicsScene::RemoveClassObject
void RemoveClassObject(SchemaGraphicObject *Object)
Definition
SchemaGraphicsScene.cpp:379
dbse::SchemaGraphicsScene::cancel_note_slot
void cancel_note_slot(SchemaGraphicNote *)
Definition
SchemaGraphicsScene.cpp:562
dbse::SchemaGraphicsScene::requestSave
void requestSave()
Definition
SchemaGraphicsScene.cpp:473
dbse::SchemaGraphicsScene::RemoveArrowSlot
void RemoveArrowSlot()
Definition
SchemaGraphicsScene.cpp:765
dbse::SchemaGraphicsScene::remove_note_slot
void remove_note_slot()
Definition
SchemaGraphicsScene.cpp:549
dbse::SchemaGraphicsScene::m_add_all_relationship_classes
QAction * m_add_all_relationship_classes
Definition
SchemaGraphicsScene.hpp:98
dbse
Including QT Headers.
Definition
SchemaAttributeEditor.hpp:13
Generated on
for DUNE-DAQ by
1.18.0