#pragma once #include #include #include #include "metavis.h" #include #include #include #include #include "Project.h" class metavis; class ProjectManager : public QWidget { Q_OBJECT public: ProjectManager(metavis* owner); ~ProjectManager(); Project project; void openFileDialog(); void openFiles(QStringList pathlist); QMenu* projectMenu; private: std::future loadingFuture = std::async(std::launch::async, []() {}); QFuture future; QFutureWatcher watcher = QFutureWatcher(this); metavis* owner; QTreeWidget* treeWidget; QTreeWidgetItem* projectItem; void displayNewFile(); QMenu* metalogFileMenu; QMenu* singleRunMenu; QAction* removeMetalogFileAction; QAction* selectAction; enum Types{ LogManger = 1001, LogFile, Run, GraphManger, Graph, ProjectHeader}; QString lastPath; void createTreeWidget(); void showItem(QTreeWidgetItem* item); private slots: void prepareMenu(const QPoint& pos); void itemClicked(QTreeWidgetItem* item, int column); };