DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
MainWindow.hpp
Go to the documentation of this file.
1// DUNE DAQ modification notice:
2// This file has been modified from the original ATLAS dbe source for the DUNE DAQ project.
3// Fork baseline commit: dbe-02-12-17 (2022-05-12).
4// Renamed since fork: yes (from dbe/MainWindow.h to include/dbe/MainWindow.hpp).
5
6#ifndef MAINWINDOW_H
7#define MAINWINDOW_H
8
10#include <QMap>
11#include <QSet>
12#include <QSettings>
13#include <QString>
14#include <QMessageBox>
15#include <QMainWindow>
16
17#include <QTabWidget>
18#include <QDragEnterEvent>
19#include <QDropEvent>
20
22#include "ui_DBE.h"
23
25#include "dbe/FileModel.hpp"
27//#include "dbe/OracleWidget.hpp"
28#include "dbe/TableTab.hpp"
29#include "dbe/tree.hpp"
30#include "dbe/table.hpp"
32#include "dbe/treeselection.hpp"
33#include "dbe/subtreeproxy.hpp"
34
35// /// Including IPC
36//#include <ipc/partition.h>
37//#include <rdb/rdb.hh>
38
39#include <atomic>
40
41namespace dbe
42{
43namespace Ui
44{
45class MainWindow;
46} // namespace Ui
47
49 public QMainWindow,
50 private dbe::Ui::MainWindow
51{
52 Q_OBJECT
53public:
54 explicit MainWindow ( QMap<QString, QString> const & CommandLine, QWidget * parent =
55 nullptr );
56
57 static MainWindow * findthis();
58
59 [[nodiscard]] bool check_ready() const;
60
61 [[nodiscard]] cptr<dbe::CustomTreeView> get_view() const;
62
63 [[nodiscard]] QString find_db_repository_dir();
64
65private:
66 //typedef QMap<QString, bool> RDBMap;
67
68 QSet<QString> allFiles;
69
72 QSortFilterProxyModel this_filesort;
73
76
77 //OracleWidget * this_oraclewidget;
78
79 std::atomic<bool> isArchivedConf;
80
81 std::vector<dbe::tref> ProcessQuery ( QString const & );
82
83 void closeEvent ( QCloseEvent * event );
84
85 bool eventFilter ( QObject * Target, QEvent * Event );
86
87 bool check_close();
88
89 void init();
90
91 void attach();
92
93 bool dbopen ( QString const &, dbinfo const & );
94
95 bool dbload();
96
97 bool dbreload();
98
99 void setinternals();
100
102 void build_table_model();
103public:
104 void build_file_model();
105private:
106 void apply_settings (QSettings& setting);
107
108 void WriteSettings();
109 void argsparse ( QMap<QString, QString> const & );
110 //void init_rdb_menu();
111 //void lookForRDBServers ( const IPCPartition & p );
112 void init_tabs();
113
114 void edit_object_at ( const QModelIndex & Index );
115
117 void display_message_box(const QString& title, const QString& msg,
118 const QMessageBox::Icon& icon);
120private slots:
121 void slot_create_newdb();
123 void slot_load_db_from_create_widget ( const QString & );
124
125 //void slot_rdb_selected ( QAction * );
126 //void slot_rdb_found (const QString& p, const RDBMap& rdbs);
127
128 //void slot_oracle_prepare();
129 //void slot_load_oracle ( const QString & );
130
131 bool slot_commit_database ( bool Exit = false );
132
133 void slot_abort_changes();
135
137 void slot_edit_object_from_class_view ( QModelIndex const & );
138
139 void slot_fetch_data ( treenode const * );
140
143
145
146 void slot_filter_query();
147 void slot_filter_textchange ( const QString & );
148 void slot_filter_table_textchange ( const QString & );
149
150 void slot_tree_reset();
151 void slot_model_rebuild();
152
153 void slot_whatisthis();
154
156 void slot_show_userguide();
158
161
163 void slot_add_tab();
164 void slot_remove_tab ( int i );
165
167
168 void slot_update_committed_files(const std::list<std::string>&, const std::string&);
169
170 void slot_loaded_db_file ( QString );
171
173public slots:
175 void slot_batch_change_stop(const QList<QPair<QString, QString>>&);
176
177 void slot_information_message ( QString const, QString const );
178 void slot_warning_message ( QString const, QString const );
179 void slot_error_message ( QString const, QString const );
180
181signals:
182 //void signal_rdb_found (const QString& p, const RDBMap& rdbs);
183 void signal_batch_change_stopped(const QList<QPair<QString, QString>>&);
187};
188
189} // namespace dbe
190
191#endif // MAINWINDOW_H
Definition cptr.hpp:55
void slot_fetch_data(treenode const *)
void slot_information_message(QString const, QString const)
void edit_object_at(const QModelIndex &Index)
bool dbopen(QString const &, dbinfo const &)
void slot_show_userchanges()
void slot_update_committed_files(const std::list< std::string > &, const std::string &)
void slot_warning_message(QString const, QString const)
std::atomic< bool > isArchivedConf
void slot_batch_change_start()
void slot_loaded_db_file(QString)
void slot_batch_change_stop(const QList< QPair< QString, QString > > &)
void slot_remove_tab(int i)
dbe::models::tree * this_classes
void slot_launch_object_editor(tref)
void slot_abort_changes()
void slot_process_externalchanges()
void slot_toggle_casesensitive_for_treeview(bool)
void load_default_settings()
void display_message_box(const QString &title, const QString &msg, const QMessageBox::Icon &icon)
void slot_launch_batchchange_on_table()
void build_class_tree_model()
QSet< QString > allFiles
void slot_toggle_commit_button()
void closeEvent(QCloseEvent *event)
void slot_load_db_from_create_widget(const QString &)
void build_file_model()
bool slot_commit_database(bool Exit=false)
void argsparse(QMap< QString, QString > const &)
void slot_launch_batchchange()
void apply_settings(QSettings &setting)
cptr< dbe::CustomTreeView > get_view() const
models::treeselection * this_treefilter
void slot_error_message(QString const, QString const)
bool eventFilter(QObject *Target, QEvent *Event)
void slot_open_database_from_file()
void slot_abort_external_changes()
void signal_new_file_model()
QString find_db_repository_dir()
void build_table_model()
FileModel * this_files
void slot_create_newdb()
void slot_show_userguide()
static MainWindow * findthis()
void slot_undo_allchanges()
void slot_model_rebuild()
bool m_batch_change_in_progress
void slot_edit_object_from_class_view(QModelIndex const &)
void slot_filter_table_textchange(const QString &)
void signal_db_loaded()
void slot_filter_textchange(const QString &)
void signal_externalchanges_processed()
std::vector< dbe::tref > ProcessQuery(QString const &)
void signal_batch_change_stopped(const QList< QPair< QString, QString > > &)
void update_total_objects()
void reload_default_settings()
bool check_ready() const
MainWindow(QMap< QString, QString > const &CommandLine, QWidget *parent=nullptr)
void slot_launch_preferences()
QSortFilterProxyModel this_filesort
void slot_show_information_about_dbe()
Include QT Headers.
inner::configobject::tref tref
Definition tref.hpp:35
dbinfo
Definition dbinfo.hpp:20