Subversion Repositories Code-Repo

Rev

Rev 344 | Rev 348 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include "GlobalDefines.h"
#include "SerialController.h"
#include "MacroController.h"

class MainWindow : public QMainWindow
{
        Q_OBJECT

    public:
        explicit MainWindow(QWidget *parent = 0);
        ~MainWindow();

    public slots:
        void Serial_UpdateParameters(QStringList ports, QStringList speeds);
        void Serial_ReceivedString(QString string);
        void Serial_Connected(void);
        void Serial_Disconnected(void);

        void Serial_ConnectToggleBtn(void);
        void Serial_PrepareTransmit(QString string = "");
        void Serial_ClearBtn(void);

        void Macro_ShowWindowBtn(void);

    signals:
        void Serial_QueryParameters(void);
        void Serial_Connect(QString port, QString speed);
        void Serial_Disconnect(void);
        void Serial_TransmitString(QString string);

    protected:
        void closeEvent(QCloseEvent *event);

    private:
        QWidget *centralWidget;

        // Serial controller + UI
        SerialController *serialController;
        QThread *serialThread;

        QGroupBox *groupSerialInit;
        QPushButton *btnSerialConnect;
        QPushButton *btnSerialRefresh;
        QLabel *labelSerialPort;
        QLabel *labelSerialSpeed;
        QComboBox *cboxSerialPort;
        QComboBox *cboxSerialSpeed;

        QGroupBox *groupSerialData;
        QTextEdit *textSerialData;
        QLineEdit *textSerialTransmit;
        QPushButton *btnSerialTransmit;
        QPushButton *btnSerialClear;

        // Macro controller + UI
        MacroController *macroController;

        QGroupBox *groupMacro;
        QPushButton *btnMacro;

};

#endif // MAINWINDOW_H