#ifndef DEVICESCONTROLLWIDGET_H
#define DEVICESCONTROLLWIDGET_H

#include <QWidget>
#include <wDevicesManager/controlbrightnesswidget.h>
#include <wDevicesManager/controlpowerwidget.h>
#include <wDevicesManager/controlnetconfigwidget.h>
#include <wDevicesManager/controlverifyclockwidget.h>
#include <wDevicesManager/controlhdmiwidget.h>
#include <wDevicesManager/controlvolumewidget.h>
#include <wDevicesManager/controlencryptwidget.h>
#include <wDevicesManager/controladvparamwidget.h>
#include <wDevicesManager/controltestwidget.h>

#include <wDevicesManager/ledcard.h>
namespace Ui {
class DevicesControllWidget;
}

class DevicesControllWidget : public QWidget
{
    Q_OBJECT

public:
    explicit DevicesControllWidget(QWidget *parent = nullptr,QList<LedCard *> *list=nullptr);
    ~DevicesControllWidget();
    void SwitchControlWidget(int index);
signals:
    void sigSwitchIndexChanged(int index);
public slots:
    void OnOutputInfo(QString strInfo);
    void onSelectedDeviceList(QList<LedCard *> *list);
    void refreshLable();

private:
    Ui::DevicesControllWidget *ui;
    QVector<QWidget*>  m_wnds;
    ControlBrightnessWidget * m_pControlBrightnessWidget=nullptr;
    ControlPowerWidget * m_pControlPowerWidget=nullptr;
    ControlNetConfigWidget * m_pControlNetConfigWidget=nullptr;
    ControlVerifyClockWidget * m_pControlVerifyClockWidget=nullptr;
    ControlHdmiWidget * m_pControlHdmiWidgett=nullptr;
    ControlVolumeWidget * m_pControlVolumeWidget=nullptr;
    ControlEncryptWidget * m_pControlEncryptWidget=nullptr;
    ControlAdvParamWidget *m_pControlAdvParamWidget=nullptr;
    ControlTestWidget *m_pControlTestWidget=nullptr;
    int curIndex=0;
    QList<LedCard *> *m_pLedlist=nullptr;
    LedCard   *m_pLedCard = nullptr;
};

#endif // DEVICESCONTROLLWIDGET_H
