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}
24
25class SchemaClassEditor: public QWidget
26{
27 Q_OBJECT
28public:
30
31 explicit SchemaClassEditor ( dunedaq::oks::OksClass * ClassInfo, QWidget * parent = nullptr );
32
33 static void createNewClass ();
34private:
35
36 void SetController();
37 void BuildModels();
38 void InitialSettings();
40 bool ShouldOpenAttributeEditor ( QString Name );
41 bool ShouldOpenRelationshipEditor ( QString Name );
42 bool ShouldOpenMethodEditor ( QString Name );
43
44 std::unique_ptr<dbse::Ui::SchemaClassEditor> ui;
45
56 QStringList CurrentRow;
57
58 void OpenNewClassEditor( const QString& ClassName);
59
60private slots:
61 void OpenSuperClass( QModelIndex Index);
62 void OpenSubClass( QModelIndex Index);
63 void ProxySlot();
64 void ParseToSave();
65 void AddNewSuperClass();
66 void AddNewAttribute();
67 void AddNewRelationship();
68 void AddNewMethod();
69 void OpenAttributeEditor ( QModelIndex Index );
70 void OpenRelationshipEditor ( QModelIndex Index );
71 void OpenMethodEditor ( QModelIndex Index );
78 void CustomMenuAttributeView ( QPoint pos );
79 void CustomMenuRelationshipView ( QPoint pos );
80 void CustomMenuMethodView ( QPoint pos );
81 void CustomMenuClassView ( QPoint pos );
83 void RemoveAttribute();
84 void RemoveRelationship();
85 void RemoveMethod();
86 void RemoveSuperClass();
87 void ClassRemoved( QString className );
88 void ClassUpdated( QString className );
89};
90} // namespace dbse
91
92#endif // SCHEMACLASSEDITOR_H
void CustomMenuMethodView(QPoint pos)
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)
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.