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 save_schema_file(QString file);
57protected:
58 void closeEvent ( QCloseEvent * event );
59 void OpenSchemaFile( QString SchemaFile);
60public slots:
61 void modifiedView (bool modified);
62 void update_models();
63private slots:
64 void OpenSchemaFile();
65 void CreateNewSchema();
67 void show_file_info(QModelIndex);
68 void show_file_info(QString);
69 void show_file_info();
71 void edit_settings();
72 // From main menu / shortcut
73 void SaveSchema();
74 // From FileView
75 void SaveSchemaFile();
76 void SaveModifiedSchema();
77 void ChangeCursorRelationship ( bool State );
78 void ChangeCursorInheritance ( bool State );
79 void add_tab();
80 void SaveView();
81 void SaveViewAs();
82 void LoadView();
83 void NameView();
84 void LaunchClassEditor ( QModelIndex Index );
85 void RemoveTab ( int i );
86 void close_tab();
87 void CustomContextMenuFileView ( QPoint Pos );
88 void CustomContextMenuTableView ( QPoint Pos );
89 void AddNewClass();
90 void RemoveClass();
91 void editClass();
93 void PrintCurrentView();
95 void toggle_case_sensitive ( int );
96 void update_view();
97};
98
99} // namespace dbse
100#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)
Including QT Headers.