#ifndef CLOFFLINEEXAM_H
#define CLOFFLINEEXAM_H

#include <QWidget>
#include "CHttpBll.h"
#include "cloeViewPaper.h"
#include "cloeUploadFile.h"


namespace Ui {
class clOfflineExam;
}

class clOfflineExam : public QWidget
{
    Q_OBJECT

public:
    explicit clOfflineExam(QWidget *parent = nullptr);
    ~clOfflineExam();

    void setUI(const int nWidth, const int nHeight);
private slots:
	void onGetOfflineCourse(CGetOfflineCourse getOfflineCourse);
	void onGetOffLineExamAnswerSheet(CGetOffLineExamAnswerSheet getOffLineExamAnswerSheet);
	void onStartOfflineExam(CStartOfflineExam startOfflineExam);
	void onGetOffLineExamPaper(CGetOffLineExamPaper getOffLineExamPaper);
	void onPreviewOffLineExamPaper(CPreviewOffLineExamPaper previewOffLineExamPaper);
	void onDownLoadFile(CDownLoadFileInfo downLoadFileInfo);
	void onGetExamProperty(CGetExamProperty getExamProperty);
    void on_btn_downloadAnswerSheet_clicked();

private:
	void showEvent(QShowEvent *);

    void refreshCourse();

    Ui::clOfflineExam *ui;
    std::vector<COfflineCourseInfo> m_vOfflineCourseInfo;
	std::shared_ptr<cloeViewPaper> m_pViewPaper;
    std::shared_ptr<cloeUploadFile> m_pUploadFile;
    QString m_sAnswerSheetUrl;
};

#endif // CLOFFLINEEXAM_H
