Files
qtmodbustester/mainwindow.h

55 lines
1.2 KiB
C
Raw Permalink Normal View History

2021-04-20 21:34:48 +02:00
#pragma once
// system includes
#include <memory>
// Qt includes
#include <QMainWindow>
#include <QElapsedTimer>
2025-04-07 17:33:46 +02:00
#include <QStringListModel>
#include <QSettings>
#include <QCompleter>
#include <QSettings>
#include <qmodbusdevice.h>
2021-04-20 21:34:48 +02:00
// forward declares
2025-04-07 17:33:46 +02:00
class QModbusClient;
2021-04-20 21:34:48 +02:00
class QModbusReply;
namespace Ui { class MainWindow; }
class ModbusTableModel;
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow() override;
private slots:
2025-04-07 17:33:46 +02:00
void refreshSerialPorts();
2021-04-20 21:34:48 +02:00
void connectPressed();
void requestPressed();
2021-05-09 17:53:06 +02:00
void writePressed();
2021-04-20 21:34:48 +02:00
void modbusErrorOccured(int error);
void modbusStateChanged(int state);
void replyFinished();
2025-04-07 17:33:46 +02:00
void replyErrorOccurred(QModbusDevice::Error error);
void replyIntermediateErrorOccurred(QModbusDevice::IntermediateError error);
2021-04-20 21:34:48 +02:00
private:
void updateRequestFields();
const std::unique_ptr<Ui::MainWindow> m_ui;
2025-04-07 17:33:46 +02:00
QSettings m_settings;
std::unique_ptr<QModbusClient> m_modbus;
2021-04-20 21:34:48 +02:00
const std::unique_ptr<ModbusTableModel> m_model;
std::unique_ptr<QModbusReply> m_reply;
QElapsedTimer m_timer;
2025-04-07 17:33:46 +02:00
QStringListModel m_completerModel;
QCompleter m_completer;
2021-04-20 21:34:48 +02:00
};