DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
SchemaClassEditor.hpp
Go to the documentation of this file.
1#ifndef SCHEMACLASSEDITOR_H
2#define SCHEMACLASSEDITOR_H
3
4#include <memory>
6#include <QWidget>
7#include <QMenu>
9#include "oks/class.hpp"
16
17namespace dbse
18{
19
20namespace Ui
21{
22class SchemaClassEditor;
23} // namespace Ui
24
25class SchemaClassEditor: public QWidget
26{
27 Q_OBJECT
28public:
30
31 explicit SchemaClassEditor ( dunedaq::oks::OksClass * ClassInfo, QWidget * parent = nullptr );
32
33 static QString createNewClass ();
34 static void launch(QString class_name);
35 static void move_class(dunedaq::oks::OksClass* schema_class, QWidget* widget);
36
37private:
38 void keyPressEvent(QKeyEvent* event);
39 void SetController();
40 void BuildModels();
41 void InitialSettings();
43 bool ShouldOpenAttributeEditor ( QString Name );
44 bool ShouldOpenRelationshipEditor ( QString Name );
45 bool ShouldOpenMethodEditor ( QString Name );
46
47 std::unique_ptr<dbse::Ui::SchemaClassEditor> ui;
48
59 QStringList CurrentRow;
60
61 void OpenNewClassEditor( const QString& ClassName);
62
63private slots:
64 void close_slot(){close();}
65 void OpenSuperClass( QModelIndex Index);
66 void OpenSubClass( QModelIndex Index);
67
68 void ParseToSave();
69 void AddNewSuperClass();
70 void AddNewAttribute();
71 void AddNewRelationship();
72 void AddNewMethod();
73 void OpenAttributeEditor ( QModelIndex Index );
74 void OpenRelationshipEditor ( QModelIndex Index );
75 void OpenMethodEditor ( QModelIndex Index );
82 void CustomMenuAttributeView ( QPoint pos );
83 void CustomMenuRelationshipView ( QPoint pos );
84 void CustomMenuMethodView ( QPoint pos );
85 void CustomMenuClassView ( QPoint pos );
87 void RemoveAttribute();
88 void RemoveRelationship();
89 void RemoveMethod();
90 void RemoveSuperClass();
91 void ClassRemoved( QString className );
92 void ClassUpdated( QString className );
93
94 void move_class();
95};
96} // namespace dbse
97
98#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:200
Including QT Headers.