#ifndef WANGLUO_H
#define WANGLUO_H

#include <QWidget>
#include <QLineEdit>
#include <QPushButton>
#include <QLabel>
#include <QComboBox>

#include <keyboard.h>
#include <keyboard_ABC.h>
#include <QFrame>
#include <QPropertyAnimation>
#include <QParallelAnimationGroup>
#include <QDebug>
#include <QMouseEvent>
#include <QFile>
#include <QThread>

extern bool KeyBoard_Code,KeyBoard_ABC_Code;

extern bool lowpower_mode_flag1;
extern bool cspz_flag,xtpz_flag;

extern bool KeyBoard_Code,KeyBoard_ABC_Code,keyBoard_flag,keyBoard_ABC_flag;
extern bool WIFI_HOST_state;
extern QString WIFI_HOST_Name;
extern QString WIFI_HOST_code;

extern QString line_lan_ip,line_4G_ip;//LAN的IP地址

namespace Ui {
class wangluo;
}

class wangluo : public QWidget
{
    Q_OBJECT

public:
    explicit wangluo(QWidget *parent = nullptr);
    ~wangluo();

    bool eventFilter(QObject *, QEvent *);

    void wlxx_page(int a);//网络配置显示页数

    KeyBoard *keyBoard=nullptr;
    KeyBoard_ABC *keyBoard_ABC=nullptr;

    void wlxx_4Gset_page();
    void wlxx_WIFIHOSTset_page();
    void wlxx_WIFIset_page();
    void wlxx_LANset_page();
    void wlxx_WLZTset_page();

    void fun_WIFI_start();
    void wlxx_set_back_color();
    void wifiSoltClickGwUpdate();

    bool wifiConectFlag = false;

    Ui::wangluo *ui;
    QPushButton *mimaButton;
    QLineEdit *mimaline;
    QLabel *label_mima1;
    QLabel *label_mima2;
    QLabel *label_mimajiemian;

    QLabel *label_wlxx_0_1;//左右滑动切换页面label（4G配置）
    QLabel *label_wlxx_0_2;//左右滑动切换页面label（LORA配置）
    QLabel *label_wlxx_0_3;
    QLabel *label_wlxx_0_4;
    QLabel *label_wlxx_0_5;

    QLabel *label_wlxx_4G_back;
    QLabel *label_wlxx_WIFIHOST_back;
    QLabel *label_wlxx_WIFI_back;
    QLabel *label_wlxx_LAN_back;
    QLabel *label_wlxx_WLZT_back;

    //4G配置页面label1
    QLabel *label_wlxx_1_2;
    QLabel *label_wlxx_1_3;
    QLabel *label_wlxx_1_4;
    QLabel *label_wlxx_1_5;
    QLabel *label_wlxx_1_6;
    QLabel *label_wlxx_1_7;//平台的设备识别码

    QComboBox *comboBox_wlxx_1_2;
    QLineEdit *lineEdit_wlxx_1_1;
    QLineEdit *lineEdit_wlxx_1_2;
    QLineEdit *lineEdit_wlxx_1_3;//平台的设备识别码
    QPushButton *button_wlxx_1_1;

    QLabel *label_wlxx_2_1;//WIFI热点配置页面label1
    QLabel *label_wlxx_2_2;
    QLabel *label_wlxx_2_3;
    QLineEdit *lineEdit_wlxx_2_1;
    QLineEdit *lineEdit_wlxx_2_2;
    QPushButton *button_wlxx_2_1;
    QPushButton *button_wlxx_2_2;

    QLabel *label_wlxx_3_1;//WIFI配置页面label1
    QLabel *label_wlxx_3_2;
    QComboBox *comboBox_wlxx_3_1;
    QLineEdit *lineEdit_wlxx_3_1;
    QPushButton *button_wlxx_3_1;
    QPushButton *button_wlxx_3_2;
    QPushButton *button_wlxx_3_3;

    //LAN配置页面label1
    QLabel *label_wlxx_4_2;
    QLabel *label_wlxx_4_3;
    QLabel *label_wlxx_4_4;

    QLabel *label_wlxx_5_1;//网络状态页面label1
    QLabel *label_wlxx_5_2;
    QLabel *label_wlxx_5_3;
    QLabel *label_wlxx_5_4;
    QLabel *label_wlxx_5_5;
    QLabel *label_wlxx_5_6;
    QLabel *label_wlxx_5_7;
    QLabel *label_wlxx_5_8;

    QLabel *label_wlxx_5_10;
    QLabel *label_wlxx_5_11;
    QLabel *label_wlxx_5_12;
    QLabel *label_wlxx_5_13;
    QLabel *label_wlxx_5_14;
    QLineEdit *lineEdit_wlxx_5_1;
    QLineEdit *lineEdit_wlxx_5_2;
    QLineEdit *lineEdit_wlxx_5_3;

    QLineEdit *lineEdit_wlxx_5_5;
    QLineEdit *lineEdit_wlxx_5_6;//WIFI热点账号
    QFrame *line_wlxx_5_1;
    QFrame *line_wlxx_5_2;
    QFrame *line_wlxx_5_3;

signals:
    void sigWifiConnect(QString name, QString passwd);
    void sigWifiDisconect();
    void onWifiTuBiaoState(bool);
private slots:
    void onWifiStateUpdate(bool state);
    void label_wlxx_0_1_clicked();//点击切换页面槽函数
    void label_wlxx_0_2_clicked();//点击切换页面槽函数
    void label_wlxx_0_3_clicked();//点击切换页面槽函数
    void label_wlxx_0_4_clicked();//点击切换页面槽函数
    void label_wlxx_0_5_clicked();//点击切换页面槽函数

    void on_pushButton_wangluoxinxi_clicked();
    void on_pushButton_zhujiemian_clicked();
    void on_pushButton_canshushezhi_clicked();
    void on_pushButton_xitongshezhi_clicked();

    void mimaButtonClicked();

    void callKeyBoard(QLineEdit *a);
    void callKeyBoard_ABC(QLineEdit *a);

    void label_wlxx_1_show(int a);
    void label_wlxx_2_show(int a);
    void label_wlxx_3_show(int a);
    void label_wlxx_4_show(int a);
    void label_wlxx_5_show(int a);

    void button_wlxx_1_1_Clicked();
    void button_wlxx_1_2_Clicked();
    void button_wlxx_3_1_Clicked();
    void button_wlxx_2_1_Clicked();
    void button_wlxx_2_2_Clicked();
    void button_wlxx_3_2_Clicked();
    void button_wlxx_3_3_Clicked();

private:

};

#endif // WANGLUO_H
