#ifndef EXPROJECTVIEW_H #define EXPROJECTVIEW_H #include class ProjectInfo; class EXIndexView; class EXDataView; class QPushButton; class TreeWidget; class QVBoxLayout; class QHBoxLayout; class QLabel; class QTreeWidgetItem; class QStackedWidget; class EXProjectView : public QWidget { Q_OBJECT public: explicit EXProjectView(ProjectInfo *proj, QWidget *parent = nullptr); void showEvent(QShowEvent *event) override; void hideEvent(QHideEvent *event) override; ProjectInfo *proj() const; void showEvalWidget(int eval, int task); private: void initWidgets(); void initLayout(); void connectSigalsAndSlots(); private slots: void itemClicked(QTreeWidgetItem *item, int column); void slotCompleteStateChanged(bool complete); private: ProjectInfo *m_proj = nullptr; QVBoxLayout *m_layout = nullptr; QHBoxLayout *m_headerLayout = nullptr; QHBoxLayout *m_contentLayout = nullptr; QLabel *m_title = nullptr; TreeWidget *m_tree = nullptr; QWidget *m_seperator = nullptr; QStackedWidget *m_stack = nullptr; EXIndexView *m_indexSystem = nullptr; EXDataView *m_dataCollection = nullptr; QPushButton *m_export = nullptr; QPushButton *m_user = nullptr; }; #endif // EXPROJECTVIEW_H