Subversion Repositories Code-Repo

Rev

Rev 345 | Go to most recent revision | Blame | 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, QStringList dataBits,
                                     QStringList stopBits, QStringList parity, QStringList flowControl);
        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);

    signals:
        void Serial_QueryParameters(void);
        void Serial_Connect(QString port, QString speed, QString dataBits,
                            QString stopBits, QString parity, QString flowControl);
        void Serial_Disconnect(void);
        void Serial_TransmitString(QString string);

    protected:

    private:
        QWidget *centralWidget;

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

        QGroupBox *groupSerialInit;
        QPushButton *btnSerialConnect;
        QPushButton *btnSerialRefresh;
        QLabel *labelSerialPort;
        QLabel *labelSerialSpeed;
        QLabel *labelSerialDataBits;
        QLabel *labelSerialStopBits;
        QLabel *labelSerialParity;
        QLabel *labelSerialFlowControl;
        QComboBox *cboxSerialPort;
        QComboBox *cboxSerialSpeed;
        QComboBox *cboxSerialDataBits;
        QComboBox *cboxSerialStopBits;
        QComboBox *cboxSerialParity;
        QComboBox *cboxSerialFlowControl;

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

        // Macro controller + UI
        MacroController *macroController;
        QDockWidget *macroDockWidget;

        QGroupBox *groupMacro;
        QPushButton *btnMacro;

};

#endif // MAINWINDOW_H