68 lines
1.5 KiB
C++
68 lines
1.5 KiB
C++
#ifndef SHAREDATA_H
|
|
#define SHAREDATA_H
|
|
|
|
#include "serialcontroller.h"
|
|
#include "qserialproto.h"
|
|
|
|
#include <QObject>
|
|
#include <QDebug>
|
|
#include "lua_wraper.h"
|
|
#include <QQuickView>
|
|
|
|
class ShareData;
|
|
|
|
extern ShareData gGlobal;
|
|
|
|
// 桥接Lua虚拟机和qml界面
|
|
class ShareData : public QObject ,SerialController::SerialListener
|
|
{
|
|
Q_OBJECT
|
|
Q_PROPERTY(QString _txt READ rtxt WRITE settxt NOTIFY txtchanged)
|
|
public:
|
|
explicit ShareData(QObject *parent = nullptr);
|
|
int SetQuickView(QQuickView *);
|
|
QString rtxt() const{
|
|
return _txt;
|
|
}
|
|
void settxt(QString s){
|
|
_txt = s;
|
|
emit txtchanged();
|
|
}
|
|
int OnDataRecv(QByteArray);
|
|
int ShowDataInQML(QString x);
|
|
int SendUartData(const char *);
|
|
|
|
Q_INVOKABLE void getValFromQml(int v) {
|
|
qDebug() << "value from qml is :" << v;
|
|
emit valueFromCpp(456);
|
|
}
|
|
|
|
Q_INVOKABLE int openUart(QString port,QString baudRate,QString dataBits,QString stopBits,
|
|
QString flow);
|
|
Q_INVOKABLE int closeSerial();
|
|
Q_INVOKABLE int TestLua();
|
|
Q_INVOKABLE int TestShowData();
|
|
Q_INVOKABLE int updateLuaScript(QString);
|
|
Q_INVOKABLE int saveLuaScript(QString);
|
|
Q_INVOKABLE bool luaStatus();
|
|
|
|
QString _txt = "hello world\r\n";
|
|
|
|
signals:
|
|
void txtchanged();
|
|
void valueFromCpp(int val);
|
|
|
|
private:
|
|
SerialController *mSerialController;
|
|
LuaDelegate mLua;
|
|
QObject *mProtoDebug;
|
|
QObject *mRootObj;
|
|
bool mLuaStatus;
|
|
QString mLuaScript;
|
|
QQuickView *mView;
|
|
};
|
|
|
|
|
|
|
|
#endif // SHAREDATA_H
|