DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
SchemaFileInfo.hpp
Go to the documentation of this file.
1#ifndef DBE_SCHEMAFILEINFO_H
2#define DBE_SCHEMAFILEINFO_H
3
4#include <QDialog>
5#include <QKeyEvent>
6#include <QList>
7#include <QListWidgetItem>
8#include <QMenu>
9#include <QPushButton>
10#include <QUrl>
11#include <set>
12#include <string>
13
14namespace dunedaq::oks {
15 class OksClass;
16} // namespace dunedaq::oks
17
18namespace dbse
19{
20 namespace Ui
21 {
22 class SchemaFileInfo;
23 } // namespace Ui
24
25 class SchemaFileInfo : public QWidget {
26 Q_OBJECT
27 public:
28 SchemaFileInfo(std::string filename, QWidget* parent=0);
29 ~SchemaFileInfo() = default;
30
31 void show_file_info(QString fn);
32 void keyPressEvent(QKeyEvent* event) override;
33 signals:
36 private slots:
37 void accept();
38 void reject();
39// void close();
40 void add_include();
41 void remove_include();
42 void set_active();
44 void launch_class_editor(QListWidgetItem*);
45 void show_file_info();
46 void show_file_info(QListWidgetItem*);
47 void activate_include_context_menu(QPoint point);
48 void activate_class_context_menu(QPoint point);
49 void add_new_class();
50 void edit_class();
51 void move_class();
52 void remove_class();
54 void show_status();
55 void class_updated(QString class_name);
56 void save_schema();
57 private:
58 void get_includes();
59 void add_file(std::string file);
62 std::string prune_path(std::string file);
63 bool set_active(std::string filename);
64 void remove_include(std::string filename);
65 void update_class_list();
66
67 Ui::SchemaFileInfo* m_ui;
68 std::string m_filename;
69 std::set<std::string> m_missing_includes;
70 std::set<std::string> m_all_includes;
73
74 QStringList m_path_list;
75 QList<QUrl> m_path_urls;
76 QPushButton* m_add_button;
77 QPushButton* m_missing_button;
78 };
79} //namespace dbse
80#endif // DBE_SCHEMAFILEINFO_H
void new_window(SchemaFileInfo *win)
QPushButton * m_add_button
std::string prune_path(std::string file)
bool check_relationships(dunedaq::oks::OksClass *cls)
void launch_class_editor(QListWidgetItem *)
bool check_superclasses(dunedaq::oks::OksClass *cls)
std::set< std::string > m_missing_includes
QList< QUrl > m_path_urls
SchemaFileInfo(std::string filename, QWidget *parent=0)
QPushButton * m_missing_button
void class_updated(QString class_name)
void keyPressEvent(QKeyEvent *event) override
~SchemaFileInfo()=default
void add_file(std::string file)
void activate_include_context_menu(QPoint point)
std::set< std::string > m_all_includes
Ui::SchemaFileInfo * m_ui
void activate_class_context_menu(QPoint point)
The OKS class.
Definition class.hpp:200
Including QT Headers.