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 <QDir>
6#include <QMainWindow>
7#include <QModelIndex>
8#include <QMenu>
9#include <QSortFilterProxyModel>
13
14class QGraphicsView;
15
16namespace dbse
17{
18 class SchemaTab;
19 class SchemaFileInfo;
20
21namespace Ui
22{
23class SchemaMainWindow;
24} // namespace Ui
25
26class SchemaMainWindow: public QMainWindow
27{
28 Q_OBJECT
29public:
31 explicit SchemaMainWindow ( QString SchemaFile, QWidget * parent = nullptr );
32
33private:
34 std::unique_ptr<dbse::Ui::SchemaMainWindow> ui;
35
38 QSortFilterProxyModel * m_proxyModel;
42 QString m_title{"DUNE DAQ Configuration Schema editor"};
43 QString m_view_dir{"."};
44 QString m_export_path{"."};
46 void InitialSettings();
47 void InitialTab();
48 void InitialTabCorner();
49 void SetController();
50 void BuildFileModel();
51 void BuildTableModel();
52 void update_window_title(QString text);
53 void write_view_file(const QString& fn, SchemaTab* tab);
54 [[nodiscard]] int ShouldSaveChanges() const;
55 [[nodiscard]] int ShouldSaveViewChanges() const;
56 bool check_schema_file(QString file);
57 bool save_schema_file(QString file);
58protected:
59 void closeEvent ( QCloseEvent * event );
60 void OpenSchemaFile( QString SchemaFile);
61public slots:
62 void modifiedView (bool modified);
63 void update_models();
64private slots:
65 void OpenSchemaFile();
66 void CreateNewSchema();
68 void show_file_info(QModelIndex);
69 void show_file_info(QString);
70 void show_file_info();
72 void edit_settings();
73 // From main menu / shortcut
74 void SaveSchema();
75 // From FileView
76 void SaveSchemaFile();
77 bool SaveModifiedSchema();
78 void ChangeCursorRelationship ( bool State );
79 void ChangeCursorInheritance ( bool State );
80 void add_tab();
81 void SaveView();
82 void SaveViewAs();
83 void LoadView();
84 void NameView();
85 void LaunchClassEditor ( QModelIndex Index );
86 void RemoveTab ( int i );
87 void close_tab();
88 void CustomContextMenuFileView ( QPoint Pos );
89 void CustomContextMenuTableView ( QPoint Pos );
90 void AddNewClass();
91 void RemoveClass();
92 void editClass();
94 void PrintCurrentView();
96 void toggle_case_sensitive ( int );
97 void update_view();
98};
99
100} // namespace dbse
101#endif // MAINWINDOW_H
SchemaMainWindow(QString SchemaFile, QWidget *parent=nullptr)
SchemaSettings * m_settings
void connect_file_info(SchemaFileInfo *win)
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)
bool save_schema_file(QString file)
void update_window_title(QString text)
CustomFileModel * FileModel
QSortFilterProxyModel * m_proxyModel
void ChangeCursorRelationship(bool State)
CustomTableModel * TableModel
std::unique_ptr< dbse::Ui::SchemaMainWindow > ui
void closeEvent(QCloseEvent *event)
bool check_schema_file(QString file)
Including QT Headers.