Rabbit Remote Control
0.1.0-bate14
Toggle main menu visibility
Loading...
Searching...
No Matches
Plugins
Template
Base
OperateTemplateBase.cpp
1
// Author: Kang Lin <kl222@126.com>
2
3
#include <QLoggingCategory>
4
5
#include "BackendThread.h"
6
#include "BackendTemplateBase.h"
7
#include "ParameterTemplateBase.h"
8
#include "FrmViewerTemplateBase.h"
9
#include "DlgSettingsTemplateBase.h"
10
#include "OperateTemplateBase.h"
11
12
static
Q_LOGGING_CATEGORY(log,
"TemplateBase.Operate"
)
13
COperateTemplateBase
::
COperateTemplateBase
(
CPlugin
*plugin)
14
:
COperate
(plugin)
15
, m_pPara(
nullptr
)
16
, m_pViewer(
nullptr
)
17
, m_pThread(
nullptr
)
18
{
19
qDebug(log) << Q_FUNC_INFO;
20
}
21
22
COperateTemplateBase::~COperateTemplateBase()
23
{
24
qDebug(log) << Q_FUNC_INFO;
25
QString szClass = this->metaObject()->className();
26
QString szWhat;
27
szWhat +=
"Please call "
;
28
szWhat += szClass;
29
szWhat +=
"::Stop() first"
;
30
Q_ASSERT_X(!m_pThread && !m_pPara && !m_pViewer,
31
szClass.toStdString().c_str(), szWhat.toStdString().c_str());
32
}
33
34
CParameterTemplateBase
*
COperateTemplateBase::GetParameter
()
const
35
{
36
return
m_pPara;
37
}
38
39
const
qint16 COperateTemplateBase::Version()
const
40
{
41
// TODO: Add version
42
return
0;
43
}
44
45
QWidget *
COperateTemplateBase::GetViewer
()
46
{
47
return
m_pViewer;
48
}
49
50
int
COperateTemplateBase::Start
()
51
{
52
int
nRet = 0;
53
// TODO: If backend threads are not needed, modifications are required.
54
m_pThread =
new
CBackendThread
(
this
);
55
if
(!m_pThread) {
56
qCritical(log) <<
"new CBackendThread fail"
;
57
return
-1;
58
}
59
m_pThread->start();
60
return
nRet;
61
}
62
63
int
COperateTemplateBase::Stop
()
64
{
65
int
nRet = 0;
66
// TODO: If backend threads are not needed, modifications are required.
67
if
(m_pThread)
68
{
69
m_pThread->quit();
70
// NOTE: Don't delete m_pThread, See CBackendThread
71
m_pThread =
nullptr
;
72
}
73
return
nRet;
74
}
75
76
CBackend
* COperateTemplateBase::InstanceBackend()
77
{
78
return
new
CBackendTemplateBase
(
this
);
79
}
80
81
int
COperateTemplateBase::SetPluginParameters
(
CParameterPlugin
*pPara)
82
{
83
int
nRet = 0;
84
// TODO: Modify apply plugin parameters
85
if
(m_pPara) {
86
m_pPara->SetPluginParameters(pPara);
87
}
88
return
nRet;
89
}
90
91
QDialog *
COperateTemplateBase::OnOpenDialogSettings
(QWidget *parent)
92
{
93
return
new
CDlgSettingsTemplateBase
(m_pPara, parent);
94
}
95
96
int
COperateTemplateBase::Load
(QSettings &set)
97
{
98
int
nRet = 0;
99
100
if
(m_pPara)
101
nRet = m_pPara->Load(set);
102
103
return
nRet;
104
}
105
106
int
COperateTemplateBase::Save
(QSettings &set)
107
{
108
int
nRet = 0;
109
if
(m_pPara)
110
nRet = m_pPara->Save(set);
111
return
nRet;
112
}
113
114
int
COperateTemplateBase::Initial
()
115
{
116
int
nRet = 0;
117
nRet =
COperate::Initial
();
118
m_pPara =
new
CParameterTemplateBase
();
119
m_pViewer =
new
CFrmViewerTemplateBase
();
120
121
// TODO: add initial
122
123
if
(m_pActionSettings)
124
m_Menu.addAction(m_pActionSettings);
125
return
nRet;
126
}
127
128
int
COperateTemplateBase::Clean
()
129
{
130
int
nRet = 0;
131
// TODO: add Clean
132
133
if
(m_pPara) {
134
delete
m_pPara;
135
m_pPara =
nullptr
;
136
}
137
if
(m_pViewer) {
138
delete
m_pViewer;
139
m_pViewer =
nullptr
;
140
}
141
nRet =
COperate::Clean
();
142
return
nRet;
143
}
CBackendTemplateBase
Definition
BackendTemplateBase.h:8
CBackendThread::CBackendThread
CBackendThread(COperate *pOperate, QObject *pParent=nullptr)
CBackendThread.
CBackend
Backend interface.
Definition
Backend.h:52
CDlgSettingsTemplateBase
Definition
DlgSettingsTemplateBase.h:13
CFrmViewerTemplateBase
Definition
FrmViewerTemplateBase.h:11
COperateTemplateBase
Definition
OperateTemplateBase.h:12
COperateTemplateBase::GetParameter
virtual CParameterTemplateBase * GetParameter() const
Get parameter.
Definition
OperateTemplateBase.cpp:34
COperateTemplateBase::Start
virtual int Start() override
Start.
Definition
OperateTemplateBase.cpp:50
COperateTemplateBase::GetViewer
virtual QWidget * GetViewer() override
Get Viewer.
Definition
OperateTemplateBase.cpp:45
COperateTemplateBase::Clean
virtual Q_INVOKABLE int Clean() override
Clean parameters and resource.
Definition
OperateTemplateBase.cpp:128
COperateTemplateBase::Save
virtual int Save(QSettings &set) override
Save parameters.
Definition
OperateTemplateBase.cpp:106
COperateTemplateBase::Stop
virtual int Stop() override
Stop.
Definition
OperateTemplateBase.cpp:63
COperateTemplateBase::Initial
virtual Q_INVOKABLE int Initial() override
Initial parameters and resource.
Definition
OperateTemplateBase.cpp:114
COperateTemplateBase::Load
virtual int Load(QSettings &set) override
Load parameters.
Definition
OperateTemplateBase.cpp:96
COperateTemplateBase::OnOpenDialogSettings
virtual QDialog * OnOpenDialogSettings(QWidget *parent) override
Open settgins dialog.
Definition
OperateTemplateBase.cpp:91
COperateTemplateBase::SetPluginParameters
virtual int SetPluginParameters(CParameterPlugin *pPara) override
Apply the parameters of the plug-in.
Definition
OperateTemplateBase.cpp:81
COperate
Operate interface.
Definition
Operate.h:51
COperate::Initial
virtual Q_INVOKABLE int Initial()
Initial parameters and resource.
Definition
Operate.cpp:190
COperate::Clean
virtual Q_INVOKABLE int Clean()
Clean parameters and resource.
Definition
Operate.cpp:209
CParameterPlugin
Global parameters of plugins.
Definition
ParameterPlugin.h:36
CParameterTemplateBase
Definition
ParameterTemplateBase.h:7
CPlugin
Plugin interface.
Definition
Plugin.h:15
Author: Kang Lin (kl222@126.com)
Copyright (c) Kang Lin Studios All Rights Reserved