#ifndef ENVIRONMENTALTEST_H
#define ENVIRONMENTALTEST_H

#include <QWidget>


#include "etCameraTest.h"
#include "etVoiceTest.h"
#include "etMobileTest.h"
#include "etTestResult.h"
#include "etNetworkTest.h"
#include "etTimeTest.h"

namespace Ui {
class environmentalTest;
}

enum class ENV_TEST_STEP
{
    ett_network = 1,
    ett_time,
    ett_camera,
    ett_voice,
    ett_mobile,
    ett_result
};

class environmentalTest : public QWidget
{
    Q_OBJECT
signals:
    void enterExam();
public:
    explicit environmentalTest(QWidget *parent = nullptr);
    ~environmentalTest();

private slots:
    void on_btn_previousStep_clicked();

    void on_btn_nextStep_clicked();

private:
    void initUI();
    void changeStepUI(ENV_TEST_STEP step);

    Ui::environmentalTest *ui;
    std::shared_ptr<etNetworkTest> m_pNetworkTest;
    std::shared_ptr<etTimeTest> m_pTimeTest;
    std::shared_ptr<etCameraTest> m_pCameraTest;
    std::shared_ptr<etVoiceTest> m_pVoiceTest;
    std::shared_ptr<etMobileTest> m_pMobileTest;
    std::shared_ptr<etTestResult> m_pTestResult;

    ENV_TEST_STEP m_curentStep;
};

#endif // ENVIRONMENTALTEST_H
