玉兔远程控制 0.1.0-bate10
载入中...
搜索中...
未找到
OperateTemplateQtEvent.cpp
1// Author: Kang Lin <kl222@126.com>
2
3#include <QLoggingCategory>
4
5#include "BackendThread.h"
6#include "BackendTemplateQtEvent.h"
7#include "ParameterTemplateQtEvent.h"
8#include "FrmViewerTemplateQtEvent.h"
9#include "DlgSettingsTemplateQtEvent.h"
10#include "OperateTemplateQtEvent.h"
11
12static Q_LOGGING_CATEGORY(log, "TemplateQtEvent.Operate")
14 : COperate(plugin)
15 , m_pPara(nullptr)
16 , m_pViewer(nullptr)
17{
18 qDebug(log) << Q_FUNC_INFO;
19}
20
21COperateTemplateQtEvent::~COperateTemplateQtEvent()
22{
23 qDebug(log) << Q_FUNC_INFO;
24 QString szClass = this->metaObject()->className();
25 QString szWhat;
26 szWhat += "Please call ";
27 szWhat += szClass;
28 szWhat += "::Stop() first, then call " + szClass + "::Clean()";
29 Q_ASSERT_X(!m_pPara && !m_pViewer,
30 szClass.toStdString().c_str(), szWhat.toStdString().c_str());
31}
32
37
39{
40 // TODO: Add version
41 return 0;
42}
43
45{
46 return m_pViewer;
47}
48
50{
51 int nRet = 0;
52 emit sigNewBackend(this);
53 return nRet;
54}
55
57{
58 int nRet = 0;
59 emit sigDeleteBackend(this);
60 return nRet;
61}
62
63CBackend* COperateTemplateQtEvent::InstanceBackend()
64{
65 return new CBackendTemplateQtEvent(this);
66}
67
69{
70 int nRet = 0;
71 // TODO: Modify apply plugin parameters
72 if(m_pPara) {
73 m_pPara->SetPluginParameters(pPara);
74 }
75 return nRet;
76}
77
79{
80 return new CDlgSettingsTemplateQtEvent(m_pPara, parent);
81}
82
84{
85 int nRet = 0;
86
87 if(m_pPara)
88 nRet = m_pPara->Load(set);
89
90 return nRet;
91}
92
94{
95 int nRet = 0;
96 if(m_pPara)
97 nRet = m_pPara->Save(set);
98 return nRet;
99}
100
102{
103 int nRet = 0;
104 nRet = COperate::Initial();
105 m_pPara = new CParameterTemplateQtEvent();
106 m_pViewer = new CFrmViewerTemplateQtEvent();
107
108 // TODO: add initial
109
110 if(m_pActionSettings)
111 m_Menu.addAction(m_pActionSettings);
112 return nRet;
113}
114
116{
117 int nRet = 0;
118 // TODO: add Clean
119
120 if(m_pPara) {
121 delete m_pPara;
122 m_pPara = nullptr;
123 }
124 if(m_pViewer) {
125 delete m_pViewer;
126 m_pViewer = nullptr;
127 }
128 nRet = COperate::Clean();
129 return nRet;
130}
后端接口。它由协议插件实现。 它默认启动一个定时器来开启一个非 Qt 事件循环(就是普通的循环处理)。 详见: Start()、 slotTimeOut()、 OnProcess() 。 当然,它仍然支...
Definition Backend.h:42
The operate is not block.
virtual QDialog * OnOpenDialogSettings(QWidget *parent) override
得到设置对话框
virtual const qint16 Version() const override
版本
virtual int SetPluginParameters(CParameterPlugin *pPara) override
应用插件全局参数
virtual int Stop() override
关闭
virtual CParameterTemplateQtEvent * GetParameter() const
Get parameter
virtual Q_INVOKABLE int Initial() override
Initial parameters and resource
void sigDeleteBackend(COperate *pOperate)
Delete backend signal
virtual int Save(QSettings &set) override
保存参数
virtual Q_INVOKABLE int Clean() override
Clean parameters and resource
void sigNewBackend(COperate *pOperate)
New backend signal
virtual QWidget * GetViewer() override
得到显示视图
virtual int Load(QSettings &set) override
加载参数
virtual int Start() override
开始
操作接口。
Definition Operate.h:51
virtual Q_INVOKABLE int Initial()
Initial parameters and resource
Definition Operate.cpp:190
virtual Q_INVOKABLE int Clean()
Clean parameters and resource
Definition Operate.cpp:209
插件的全局参数。
virtual int Save(QString szFile=QString(), bool bForce=true)
Save to file
Definition Parameter.cpp:47
virtual int Load(QString szFile=QString())
Load from file
Definition Parameter.cpp:35
插件接口
Definition Plugin.h:15