#ifndef PROJECTVIEW_H #define PROJECTVIEW_H #include class ProjectInfo; class IndexSystemWidget; class SchemePlanWidget; class DataCollectionWidget; class DataProcessingWidget; class PushButton; class TreeWidget; class QVBoxLayout; class QHBoxLayout; class QLabel; class QTreeWidgetItem; class QStackedWidget; /// 工程视图 class ProjectView : public QWidget { Q_OBJECT public: explicit ProjectView(ProjectInfo *proj = nullptr, QWidget *parent = nullptr); void showEvent(QShowEvent *event) override; void hideEvent(QHideEvent *event) override; ProjectInfo *proj() const; void showEvalWidget(int eval, int task); signals: void sigClose(); private: void initWidgets(); void initLayout(); void connectSigalsAndSlots(); private slots: void itemClicked(QTreeWidgetItem *item, int column); private: ProjectInfo *m_proj = nullptr; QVBoxLayout *m_layout = nullptr; QHBoxLayout *m_headerLayout = nullptr; QHBoxLayout *m_contentLayout = nullptr; QLabel *m_title = nullptr; PushButton *m_close = nullptr; TreeWidget *m_tree = nullptr; QWidget *m_seperator = nullptr; QStackedWidget *m_stack = nullptr; IndexSystemWidget *m_indexSystem = nullptr; SchemePlanWidget *m_schemeDesign = nullptr; DataCollectionWidget *m_dataCollection = nullptr; DataProcessingWidget *m_dataProcessing = nullptr; }; #endif // PROJECTVIEW_H