Newer
Older
ZXSSCJ / DeviceHub / DeviceHubWindow.h
#ifndef DEVICEHUBWINDOW_H
#define DEVICEHUBWINDOW_H

#include <QWidget>
#include <QComboBox>

#include "common/HttpRequestController.h"
//#include "common/utils/QKafkaConsumer.h"
#include "device/DeviceBase.h"
#include "FrequencyTuningForm.h"
#include "SignalGeneratorForm.h"
#include "TimeSwitcherForm.h"
#include "FreqSwitcherForm.h"

QT_BEGIN_NAMESPACE
namespace Ui { class DeviceHubWindow; }
QT_END_NAMESPACE

class DeviceHubWindow : public QWidget
{
    Q_OBJECT

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

    QString currentDevType;
    int currentDevIndex;
    QMap<QString, QList<DeviceBase *>> allTypeDevList;

//    QKafkaConsumer * kafkaConsumer;

    QComboBox * getDevTypeSelect();
    QComboBox * getDevSelect();

    // forms
    FrequencyTuningForm * freqTunForm;
    SignalGeneratorForm * signGenForm;
    TimeSwitcherForm * tmSwitForm;
    FreqSwitcherForm * freqSwitForm;

private slots:
    void on_minButt_clicked();
    void on_exitButt_clicked();
    void on_devTypeSelect_currentIndexChanged(int index);

    void on_devSelect_currentIndexChanged(int index);

private:
    Ui::DeviceHubWindow *ui;

    // private objects
    HttpRequestController * httpReq;

    int initHttpToken();
    int initDictDeviceTypes();
    void initAllDeviceList();
};
#endif // DEVICEHUBWINDOW_H