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 <QGraphicsScene>
6
#include <QGraphicsLineItem>
7
#include <QAction>
9
#include "
dbe/SchemaGraphicNote.hpp
"
10
#include "
dbe/SchemaGraphicObject.hpp
"
11
12
namespace
dbse
13
{
14
15
class
SchemaGraphicsScene
:
public
QGraphicsScene
16
{
17
Q_OBJECT
18
public
:
19
explicit
SchemaGraphicsScene
( QObject * parent =
nullptr
);
20
~SchemaGraphicsScene
();
21
void
CreateActions
();
23
void
dragEnterEvent
( QGraphicsSceneDragDropEvent * event );
24
void
dragMoveEvent
( QGraphicsSceneDragDropEvent * event );
25
void
dropEvent
( QGraphicsSceneDragDropEvent * event );
26
27
void
contextMenuEvent
( QGraphicsSceneContextMenuEvent * event );
28
QStringList
AddItemsToScene
( QStringList SchemaClasses, QList<QPointF> Positions );
29
void
CleanItemMap
();
30
void
RemoveClassObject
(
SchemaGraphicObject
* Object );
31
void
add_notes
(QStringList notes, QList<QPointF> positions );
32
void
remove_note_object
(
SchemaGraphicNote
* obj);
33
34
[[nodiscard]]
bool
highlight_abstract
()
const
{
return
m_highlight_abstract
;}
35
[[nodiscard]]
bool
highlight_active
()
const
{
return
m_highlight_active
;}
36
[[nodiscard]]
bool
inherited_properties_visible
()
const
{
37
return
m_inherited_properties_visible
;}
38
39
[[nodiscard]]
bool
show_defaults
()
const
{
return
m_show_defaults
;};
40
[[nodiscard]]
bool
IsModified
()
const
{
return
m_modified
;};
41
void
ClearModified
();
42
signals:
43
void
sceneModified
(
bool
);
44
void
saveRequested
();
45
protected
:
46
// bool event ( QEvent* event );
47
void
mousePressEvent
( QGraphicsSceneMouseEvent * mouseEvent );
48
void
mouseMoveEvent
( QGraphicsSceneMouseEvent * mouseEvent );
49
void
mouseReleaseEvent
( QGraphicsSceneMouseEvent * mouseEvent );
50
void
RemoveItemFromScene
( QGraphicsItem* item );
51
void
modified
(
bool
state);
52
private
slots:
53
void
new_class_slot
();
54
void
add_class_slot
(QString);
55
void
new_note_slot
();
56
void
add_note_slot
(
SchemaGraphicNote
*);
57
void
cancel_note_slot
(
SchemaGraphicNote
*);
58
void
edit_note_slot
();
59
void
remove_note_slot
();
60
void
modified_slot
();
61
void
EditClassSlot
();
62
void
ToggleIndirectInfos
();
63
void
ToggleHighlightAbstract
();
64
void
ToggleHighlightActive
();
65
void
ToggleHighlightClass
();
66
void
ToggleDefault
();
67
void
AddDirectSuperClassesSlot
();
68
void
AddAllSuperClassesSlot
();
69
void
AddAllSubClassesSlot
();
70
void
AddDirectRelationshipClassesSlot
();
71
void
AddAllRelationshipClassesSlot
();
72
void
RemoveClassSlot
();
73
void
RemoveArrowSlot
();
74
void
DrawArrow
( QString ClassName, QString RelationshipType, QString RelationshipName );
75
void
requestSave
();
76
void
moveScene
();
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:15
dbse::SchemaGraphicObject
Definition
SchemaGraphicObject.hpp:21
dbse::SchemaGraphicSegmentedArrow
Definition
SchemaGraphicSegmentedArrow.hpp:14
dbse::SchemaGraphicsScene::AddItemsToScene
QStringList AddItemsToScene(QStringList SchemaClasses, QList< QPointF > Positions)
Definition
SchemaGraphicsScene.cpp:274
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:684
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:561
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:616
dbse::SchemaGraphicsScene::highlight_abstract
bool highlight_abstract() const
Definition
SchemaGraphicsScene.hpp:34
dbse::SchemaGraphicsScene::moveScene
void moveScene()
Definition
SchemaGraphicsScene.cpp:457
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:704
dbse::SchemaGraphicsScene::IsModified
bool IsModified() const
Definition
SchemaGraphicsScene.hpp:40
dbse::SchemaGraphicsScene::ToggleHighlightClass
void ToggleHighlightClass()
Definition
SchemaGraphicsScene.cpp:611
dbse::SchemaGraphicsScene::AddAllRelationshipClassesSlot
void AddAllRelationshipClassesSlot()
Definition
SchemaGraphicsScene.cpp:725
dbse::SchemaGraphicsScene::mouseReleaseEvent
void mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition
SchemaGraphicsScene.cpp:490
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:39
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:605
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:36
dbse::SchemaGraphicsScene::modified
void modified(bool state)
Definition
SchemaGraphicsScene.cpp:452
dbse::SchemaGraphicsScene::ToggleHighlightAbstract
void ToggleHighlightAbstract()
Definition
SchemaGraphicsScene.cpp:621
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:579
dbse::SchemaGraphicsScene::contextMenuEvent
void contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
Definition
SchemaGraphicsScene.cpp:173
dbse::SchemaGraphicsScene::CleanItemMap
void CleanItemMap()
Definition
SchemaGraphicsScene.cpp:406
dbse::SchemaGraphicsScene::modified_slot
void modified_slot()
Definition
SchemaGraphicsScene.cpp:487
dbse::SchemaGraphicsScene::m_save_pos
int m_save_pos
Definition
SchemaGraphicsScene.hpp:86
dbse::SchemaGraphicsScene::~SchemaGraphicsScene
~SchemaGraphicsScene()
Definition
SchemaGraphicsScene.cpp:44
dbse::SchemaGraphicsScene::mousePressEvent
void mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition
SchemaGraphicsScene.cpp:411
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:569
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:598
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:375
dbse::SchemaGraphicsScene::m_line
QGraphicsLineItem * m_line
Definition
SchemaGraphicsScene.hpp:80
dbse::SchemaGraphicsScene::ToggleIndirectInfos
void ToggleIndirectInfos()
Definition
SchemaGraphicsScene.cpp:634
dbse::SchemaGraphicsScene::m_add_all_sub_classes
QAction * m_add_all_sub_classes
Definition
SchemaGraphicsScene.hpp:97
dbse::SchemaGraphicsScene::mouseMoveEvent
void mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition
SchemaGraphicsScene.cpp:435
dbse::SchemaGraphicsScene::AddDirectSuperClassesSlot
void AddDirectSuperClassesSlot()
Definition
SchemaGraphicsScene.cpp:643
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:589
dbse::SchemaGraphicsScene::ToggleDefault
void ToggleDefault()
Definition
SchemaGraphicsScene.cpp:626
dbse::SchemaGraphicsScene::DrawArrow
void DrawArrow(QString ClassName, QString RelationshipType, QString RelationshipName)
Definition
SchemaGraphicsScene.cpp:765
dbse::SchemaGraphicsScene::remove_note_object
void remove_note_object(SchemaGraphicNote *obj)
Definition
SchemaGraphicsScene.cpp:387
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:663
dbse::SchemaGraphicsScene::RemoveItemFromScene
void RemoveItemFromScene(QGraphicsItem *item)
Definition
SchemaGraphicsScene.cpp:370
dbse::SchemaGraphicsScene::highlight_active
bool highlight_active() const
Definition
SchemaGraphicsScene.hpp:35
dbse::SchemaGraphicsScene::m_remove_note
QAction * m_remove_note
Definition
SchemaGraphicsScene.hpp:101
dbse::SchemaGraphicsScene::ClearModified
void ClearModified()
Definition
SchemaGraphicsScene.cpp:448
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:745
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:48
dbse::SchemaGraphicsScene::RemoveClassObject
void RemoveClassObject(SchemaGraphicObject *Object)
Definition
SchemaGraphicsScene.cpp:394
dbse::SchemaGraphicsScene::cancel_note_slot
void cancel_note_slot(SchemaGraphicNote *)
Definition
SchemaGraphicsScene.cpp:574
dbse::SchemaGraphicsScene::requestSave
void requestSave()
Definition
SchemaGraphicsScene.cpp:484
dbse::SchemaGraphicsScene::ItemMap
QMap< QString, SchemaGraphicObject * > ItemMap
Definition
SchemaGraphicsScene.hpp:78
dbse::SchemaGraphicsScene::RemoveArrowSlot
void RemoveArrowSlot()
Definition
SchemaGraphicsScene.cpp:757
dbse::SchemaGraphicsScene::remove_note_slot
void remove_note_slot()
Definition
SchemaGraphicsScene.cpp:565
dbse::SchemaGraphicsScene::m_add_all_relationship_classes
QAction * m_add_all_relationship_classes
Definition
SchemaGraphicsScene.hpp:98
dbse
Including QT Headers.
Definition
SchemaAttributeEditor.hpp:14
Generated on
for DUNE-DAQ by
1.17.0