QtNovelUI/WordsIDE/vcontrol_project.h

41 lines
1.1 KiB
C++

#ifndef VISUABLE_PROJECT_CONTROLLER
#define VISUABLE_PROJECT_CONTROLLER
#include "appcore.h"
#include <QTreeView>
#include <QWidget>
#include <libProjectManager.h>
namespace Components {
class VisiableProjectController : public QTreeView
{
Q_OBJECT
public:
VisiableProjectController(Core::AppCore *src, Project::ProjectManager *project, QWidget *parent=nullptr);
virtual ~VisiableProjectController() = default;
signals:
void activeDocument(const QString &file_path, const QString &name);
void aboutToBoDelete(const QList<QFileInfo> &file_paths);
private:
Core::AppCore *const rtcore;
Project::ProjectManager *pjtins;
void explicit_active_document(const QModelIndex &curr);
void contexMenuPopup(const QPoint &pos);
void alloc_file(const QModelIndex &idx_it, const QString &type, const QString &suffix);
void project_configration();
void remove_node_tree(const QModelIndex &target);
QList<QStandardItem*> nodes_contained(QStandardItem *root);
};
}
#endif // VISUABLE_PROJECT_CONTROLLER