51 lines
1.4 KiB
C
51 lines
1.4 KiB
C
|
#ifndef PROJECT_VIEW_H
|
||
|
#define PROJECT_VIEW_H
|
||
|
|
||
|
#include "DocsManager.h"
|
||
|
#include "manager_docs.h"
|
||
|
|
||
|
#include <QTreeView>
|
||
|
#include <QWidget>
|
||
|
#include <commandsdispatcher.h>
|
||
|
#include <libProjectManager.h>
|
||
|
#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
|