#ifndef PROJECT_VIEW_H #define PROJECT_VIEW_H #include "DocsManager.h" #include "manager_docs.h" #include #include #include #include #include "message_view.h" namespace Components { /** * @brief 妞ゅ湱娲扮憴鍡楁禈 */ class ProjectView : public QWidget, public ExtendView { Q_OBJECT public: ProjectView(); explicit ProjectView(QWidget *parent, Schedule::CommandsDispatcher *core, Core::DocumentsManager *mgr); // ExtendView interface public: virtual ExtendView *newInst(QWidget *parent, XApp *core) override; virtual QMenu *bindMenu() const override; virtual QString typeName() const override; virtual Components::ExtendType type() const override; virtual QWidget *presentWidget() const override; virtual void saveProcess() override; virtual void closeProcess() override; signals: void currentIndexChanged(const QModelIndex &index); private: Core::DocumentsManager *const project_manager; Schedule::CommandsDispatcher *const source; QTreeView *const view_present; QMenu *const menu_root; void menu_popup(const QPoint &p); void open_target(const QModelIndex &t); QMenu* menGenerate(QMenu *m=nullptr); }; } #endif // PROJECT_VIEW_H