DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
FileInfo.hpp
Go to the documentation of this file.
1#ifndef DBE_FILEINFO_H
2#define DBE_FILEINFO_H
3
4#include "dbe/tref.hpp"
6
7#include <QFileDialog>
8#include <QKeyEvent>
9#include <QString>
10#include <QListWidgetItem>
11#include <QUuid>
12#include <QWidget>
13
14#include <map>
15
16namespace dbe
17{
18 namespace Ui
19 {
20 class FileInfo;
21 } // namespace Ui
22
23 class FileInfo : public QWidget {
24 Q_OBJECT
25 public:
26 FileInfo(QString filename, QWidget* parent=0);
27 ~FileInfo() = default;
28
29 void keyPressEvent(QKeyEvent* event) override;
30
31 static void show_file_info(const QString& filename);
32 static void setup_paths();
33 static QList<QUrl> get_path_urls();
34 static QStringList get_path_list();
35 static QString prune_path(QString file);
36 static bool match_path(QString& file, QStringList& includes);
37 static void parse_all_objects();
38 static QString check_file_includes(const QString& file);
39
40 private slots:
41 void accept();
42 void reject();
43 void file_info_slot ();
44 void file_info_slot (const QString& fn);
45 void file_info_slot(QListWidgetItem*);
46 void edit_object_slot();
47 void edit_object_slot(QListWidgetItem*);
48 void delete_object_slot();
49 void rename_object_slot();
50 void activate_schema_context_menu(QPoint point);
51 void activate_data_context_menu(QPoint point);
52 void activate_object_context_menu(QPoint point);
53
54 void add_datafile();
55 void add_schemafile();
56 void add_includefile(QFileDialog* fd);
57
60 void remove_includefile(const QString& file);
61
62 void filemodel_updated();
63 private:
64 void parse_objects();
65 void parse_includes();
66 bool check_includes();
67 Ui::FileInfo* m_ui;
68 std::map<QString, const tref> m_obj_map;
69 QString m_filename;
70 bool m_readonly{false};
71 QMenu* m_schema_menu{nullptr};
72 QMenu* m_data_menu{nullptr};
73 QMenu* m_object_menu{nullptr};
74 QUuid const m_uuid;
75
76 static std::map<QString, std::map<QString, const tref>> s_obj_map;
77
78 static QStringList s_path_list;
79 static QList<QUrl> s_path_urls;
80 static QString s_schema_path;
81 static QString s_data_path;
82 };
83} //namespace dbe
84#endif // DBE_FILEINFO_H
QString m_filename
Definition FileInfo.hpp:69
static QList< QUrl > get_path_urls()
Definition FileInfo.cpp:81
static QString prune_path(QString file)
Definition FileInfo.cpp:47
void keyPressEvent(QKeyEvent *event) override
Definition FileInfo.cpp:256
static void parse_all_objects()
Definition FileInfo.cpp:94
QMenu * m_data_menu
Definition FileInfo.hpp:72
static QStringList get_path_list()
Definition FileInfo.cpp:87
~FileInfo()=default
void activate_data_context_menu(QPoint point)
Definition FileInfo.cpp:421
void parse_includes()
Definition FileInfo.cpp:233
void rename_object_slot()
Definition FileInfo.cpp:305
void filemodel_updated()
Definition FileInfo.cpp:204
void add_datafile()
Definition FileInfo.cpp:320
QMenu * m_schema_menu
Definition FileInfo.hpp:71
void file_info_slot()
Definition FileInfo.cpp:371
Ui::FileInfo * m_ui
Definition FileInfo.hpp:67
bool check_includes()
Definition FileInfo.cpp:227
void remove_datafile_slot()
Definition FileInfo.cpp:361
QMenu * m_object_menu
Definition FileInfo.hpp:73
void activate_schema_context_menu(QPoint point)
Definition FileInfo.cpp:400
static bool match_path(QString &file, QStringList &includes)
Definition FileInfo.cpp:60
void edit_object_slot()
Definition FileInfo.cpp:270
void add_includefile(QFileDialog *fd)
Definition FileInfo.cpp:342
void add_schemafile()
Definition FileInfo.cpp:331
void delete_object_slot()
Definition FileInfo.cpp:296
static QStringList s_path_list
Definition FileInfo.hpp:78
void activate_object_context_menu(QPoint point)
Definition FileInfo.cpp:451
static QString check_file_includes(const QString &file)
Definition FileInfo.cpp:109
static void setup_paths()
Definition FileInfo.cpp:27
std::map< QString, const tref > m_obj_map
Definition FileInfo.hpp:68
static QString s_data_path
Definition FileInfo.hpp:81
void remove_schemafile_slot()
Definition FileInfo.cpp:358
FileInfo(QString filename, QWidget *parent=0)
Definition FileInfo.cpp:157
static QList< QUrl > s_path_urls
Definition FileInfo.hpp:79
static QString s_schema_path
Definition FileInfo.hpp:80
static std::map< QString, std::map< QString, const tref > > s_obj_map
Definition FileInfo.hpp:76
static void show_file_info(const QString &filename)
Definition FileInfo.cpp:383
void remove_includefile(const QString &file)
Definition FileInfo.cpp:364
QUuid const m_uuid
Definition FileInfo.hpp:74
void parse_objects()
Definition FileInfo.cpp:211
Include QT Headers.