autocookconfigwindow.h 1.06 KB
#ifndef AUTOCOOKCONFIGWINDOW_H
#define AUTOCOOKCONFIGWINDOW_H

#include <QMainWindow>
#include <QTimer>
#include <QPushButton>
#include <QLabel>
#include <QSlider>

#include "oven.h"
//#include "cook.h"
#include "cookbook.h"

namespace Ui {
class AutoCookConfigWindow;
}

class AutoCookConfigWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit AutoCookConfigWindow(QWidget *parent = 0, Oven *oven = 0,
                                  Cook cook = Cook(Define::Poultry, "/prime/cookbook/poultry/chicken", "Chicken"));
    ~AutoCookConfigWindow();

private:
    Ui::AutoCookConfigWindow *ui;
    Oven *oven;
    Cook cook;

    QTimer cookStartTimer;

    struct ConfigWidget {
        QPushButton *button;
        QLabel *minimum;
        QLabel *maximum;
        QLabel *current;
        QSlider *slider;
    };

    QList<ConfigWidget> configWidgets;

private slots:
    void setupUi();
    void updateView();
    void updateConfig();
    void startTimer();
    void stopTimer();
    void start();

    void on_backButton_clicked();
};

#endif // AUTOCOOKCONFIGWINDOW_H