#ifndef LINERINGER_H #define LINERINGER_H #include #include #include #include #include #include #include extern "C" __declspec(dllexport) QWidget* init(QWidget *parent); #include class truthSeaker : public QEvent { public: truthSeaker() : QEvent(QEvent::User) {} ~truthSeaker() {} private: }; namespace Ui { class LineRinger; } class LineRinger : public QWidget { Q_OBJECT public: enum callStatus{ NOERROR = 0, ERROR = 1, INTERRUPT = 2 }; explicit LineRinger(QWidget *parent = nullptr); ~LineRinger(); callStatus lineCall(); void emitShowTheTru(QWidget* w); QWidget* father = nullptr; signals: void stopLineCall(); private slots: void on_connectButton_clicked(); void on_ringButton_clicked(); void on_checkAutoBaud_stateChanged(int arg1); private: Ui::LineRinger *ui; void syncColumnHeaders(); struct deviceOnLine { uint8_t adr; unsigned baudRate; QString fields[7] = {"Undefined", "Undefined", "Undefined", "Undefined", "Undefined", "Undefined", "Undefined"}; }; QVectordevicesList; bool isAutoBaud = false; unsigned currentBaudRate; QModbusClient *modbusDevice = nullptr; }; extern "C" __declspec(dllexport) void linker(LineRinger *w, QWidget*par, void (*lkn)(QWidget*)); #endif // LINERINGER_H