DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
SchemaMainWindow.hpp
Go to the documentation of this file.
1#ifndef MAINWINDOW_H
2#define MAINWINDOW_H
3
4#include <memory>
5#include <QMainWindow>
6#include <QModelIndex>
7#include <QMenu>
8#include <QSortFilterProxyModel>
11
12class QGraphicsView;
13
14namespace dbse
15{
16 class SchemaTab;
17
18namespace Ui
19{
20class SchemaMainWindow;
21} // namespace Ui
22
23class SchemaMainWindow: public QMainWindow
24{
25 Q_OBJECT
26public:
28 explicit SchemaMainWindow ( QString SchemaFile, QWidget * parent = nullptr );
29
30private:
31 std::unique_ptr<dbse::Ui::SchemaMainWindow> ui;
32
35 QSortFilterProxyModel * proxyModel;
38 QString m_title{"DUNE DAQ Configuration Schema editor"};
39 QString m_view_dir{"."};
40 QString m_export_path{"."};
41 void InitialSettings();
42 void InitialTab();
43 void InitialTabCorner();
44 void SetController();
45 void BuildFileModel();
46 void BuildTableModel();
47 void update_window_title(QString text);
48 void write_view_file(const QString& fn, SchemaTab* tab);
49 [[nodiscard]] int ShouldSaveChanges() const;
50 [[nodiscard]] int ShouldSaveViewChanges() const;
51protected:
52 void closeEvent ( QCloseEvent * event );
53 void OpenSchemaFile( QString SchemaFile);
54public slots:
55 void modifiedView (bool modified);
56 void update_models();
57private slots:
58 void OpenSchemaFile();
59 void CreateNewSchema();
62 // From main menu / shortcut
63 void SaveSchema();
64 // From FileView
65 void SaveSchemaFile();
66 void SaveModifiedSchema();
67 void ChangeCursorRelationship ( bool State );
68 void ChangeCursorInheritance ( bool State );
69 void add_tab();
70 void SaveView();
71 void SaveViewAs();
72 void LoadView();
73 void NameView();
74 void LaunchClassEditor ( QModelIndex Index );
75 void RemoveTab ( int i );
76 void close_tab();
77 void CustomContextMenuFileView ( QPoint Pos );
78 void CustomContextMenuTableView ( QPoint Pos );
79 void AddNewClass();
80 void RemoveClass();
81 void editClass();
83 void PrintCurrentView();
85};
86
87} // namespace dbse
88#endif // MAINWINDOW_H
QSortFilterProxyModel * proxyModel
SchemaMainWindow(QString SchemaFile, QWidget *parent=nullptr)
void LaunchClassEditor(QModelIndex Index)
void CustomContextMenuTableView(QPoint Pos)
void ChangeCursorInheritance(bool State)
void write_view_file(const QString &fn, SchemaTab *tab)
void modifiedView(bool modified)
void CustomContextMenuFileView(QPoint Pos)
void update_window_title(QString text)
CustomFileModel * FileModel
void ChangeCursorRelationship(bool State)
CustomTableModel * TableModel
std::unique_ptr< dbse::Ui::SchemaMainWindow > ui
void closeEvent(QCloseEvent *event)
Including QT Headers.