DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
SchemaClassEditor.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/SchemaClassEditor.h to include/dbe/SchemaClassEditor.hpp).
5
6#ifndef SCHEMACLASSEDITOR_H
7#define SCHEMACLASSEDITOR_H
8
9#include <memory>
11#include <QWidget>
12#include <QMenu>
14#include "oks/class.hpp"
21
22namespace dbse
23{
24
25namespace Ui
26{
27class SchemaClassEditor;
28} // namespace Ui
29
30class SchemaClassEditor: public QWidget
31{
32 Q_OBJECT
33public:
35
36 explicit SchemaClassEditor ( dunedaq::oks::OksClass * ClassInfo, QWidget * parent = nullptr );
37
38 static QString createNewClass ();
39 static void launch(QString class_name);
40 static void move_class(dunedaq::oks::OksClass* schema_class, QWidget* widget);
41
42private:
43 void keyPressEvent(QKeyEvent* event);
44 void SetController();
45 void BuildModels();
46 void InitialSettings();
48 bool ShouldOpenAttributeEditor ( QString Name );
49 bool ShouldOpenRelationshipEditor ( QString Name );
50 bool ShouldOpenMethodEditor ( QString Name );
51
52 std::unique_ptr<dbse::Ui::SchemaClassEditor> ui;
53
64 QStringList CurrentRow;
65
66 void OpenNewClassEditor( const QString& ClassName);
67
68private slots:
69 void close_slot(){close();}
70 void OpenSuperClass( QModelIndex Index);
71 void OpenSubClass( QModelIndex Index);
72
73 void ParseToSave();
74 void AddNewSuperClass();
75 void AddNewAttribute();
76 void AddNewRelationship();
77 void AddNewMethod();
78 void OpenAttributeEditor ( QModelIndex Index );
79 void OpenRelationshipEditor ( QModelIndex Index );
80 void OpenMethodEditor ( QModelIndex Index );
87 void CustomMenuAttributeView ( QPoint pos );
88 void CustomMenuRelationshipView ( QPoint pos );
89 void CustomMenuMethodView ( QPoint pos );
90 void CustomMenuClassView ( QPoint pos );
92 void RemoveAttribute();
93 void RemoveRelationship();
94 void RemoveMethod();
95 void RemoveSuperClass();
96 void ClassRemoved( QString className );
97 void ClassUpdated( QString className );
98
99 void move_class();
100};
101} // namespace dbse
102
103#endif // SCHEMACLASSEDITOR_H
void CustomMenuMethodView(QPoint pos)
void keyPressEvent(QKeyEvent *event)
void OpenRelationshipEditor(QModelIndex Index)
void ClassUpdated(QString className)
bool ShouldOpenAttributeEditor(QString Name)
Helper functions.
CustomRelationshipModel * RelationshipModel
bool ShouldOpenRelationshipEditor(QString Name)
CustomSuperClassModel * SuperClassModel
bool ShouldOpenMethodEditor(QString Name)
CustomMethodModel * MethodModel
void RemoveAttribute()
Remove Functions.
void CustomMenuRelationshipView(QPoint pos)
void ClassRemoved(QString className)
void OpenSuperClass(QModelIndex Index)
SchemaClassEditor(dunedaq::oks::OksClass *ClassInfo, QWidget *parent=nullptr)
static void launch(QString class_name)
dunedaq::oks::OksClass * SchemaClass
void CustomMenuClassView(QPoint pos)
void OpenMethodEditor(QModelIndex Index)
CustomAttributeModel * AttributeModel
void OpenSubClass(QModelIndex Index)
std::unique_ptr< dbse::Ui::SchemaClassEditor > ui
void OpenAttributeEditor(QModelIndex Index)
void OpenNewClassEditor(const QString &ClassName)
void CustomMenuAttributeView(QPoint pos)
Context Menu Functions.
CustomSubClassModel * SubClassModel
The OKS class.
Definition class.hpp:205
Including QT Headers.