#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QTimer>
#include <QSerialPort>
#include <QSerialPortInfo>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE


class MainWindow : public QMainWindow {
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

public slots:
    //void onAppendText(QString, QString suffix = "");
    //void onReplaceLast(QStringList, QString suffix = "");
    //void onReplaceLast(QString, QString suffix = "");
    //void onShowErrorMessage(QString, QString);
    //void onShowStatusMessage(QString, QString);
    //void onShowErrorMessage(QStringList);
    //void onShowStatusMessage(QStringList);
    //void onStopStartTimer();
    //void onRestartExitTimer();
    //void onEnableExit();
    //void onDisableExit();

signals:

private slots:
//    void onQuit();

private:
//    void scrollDownTextEdit();
//    void onShowMessage(QString, QString);

    bool openSerialPort();
    bool closeSerialPort();

    Ui::MainWindow *ui;
    QSerialPort *m_serial;
//    Worker *m_worker;
    int const m_width;
//    QTimer *m_startTimer;
//    QTimer *m_exitTimer;
//    bool m_progressRunning;
    //int m_progressValue;
//    UpdateDcEvent::UpdateStep m_updateStep;
};
#endif // MAINWINDOW_H