玉兔远程控制
0.1.0-bate11
Toggle main menu visibility
载入中...
搜索中...
未找到
Src
Terminal
OperateTerminal.h
1
// Author: Kang Lin <kl222@126.com>
2
3
#pragma once
4
5
#include "Operate.h"
6
#include "Backend.h"
7
#include "ParameterTerminalBase.h"
8
9
class
CBackendThread
;
18
25
class
PLUGIN_EXPORT COperateTerminal :
public
COperate
26
{
27
Q_OBJECT
28
public
:
29
explicit
COperateTerminal(
CPlugin
*parent);
30
virtual
~COperateTerminal()
override
;
31
41
Q_INVOKABLE
virtual
CBackend
*
InstanceBackend
() = 0;
43
[[nodiscard]]
virtual
CParameterTerminalBase
*
GetParameter
()
const
;
51
virtual
int
SetParameter
(
CParameterTerminalBase
*pPara);
52
53
[[nodiscard]]
virtual
const
QString
Id
()
override
;
54
[[nodiscard]]
virtual
const
QString
Name
()
override
;
55
[[nodiscard]]
virtual
const
QString
Description
()
override
;
56
[[nodiscard]]
virtual
const
qint16
Version
()
const override
;
57
[[nodiscard]]
static
const
QString Details();
58
59
[[nodiscard]]
CStats
*
GetStats
()
override
;
60
[[nodiscard]] QWidget*
GetViewer
()
override
;
61
62
public
Q_SLOTS:
63
virtual
int
Start()
override
;
64
virtual
int
Stop()
override
;
65
66
protected
:
67
virtual
int
Initial
()
override
;
68
virtual
int
Clean
()
override
;
74
virtual
int
SetPluginParameters
(
CParameterPlugin
*pPara)
override
;
75
int
WriteTerminal(
const
char
* buf,
int
len);
76
77
private
Q_SLOTS:
78
void
slotZoomReset();
79
void
slotCustomContextMenu(
const
QPoint & pos);
80
void
slotActivateUrl(
const
QUrl& url,
bool
fromContextMenu);
81
void
slotTermKeyPressed(QKeyEvent* e);
82
void
slotFocusIn();
83
void
slotFocusOut();
84
protected
Q_SLOTS:
85
void
slotUpdateParameter(COperate *pOperate);
86
87
protected
:
88
virtual
int
Load
(QSettings &set)
override
;
89
virtual
int
Save
(QSettings &set)
override
;
90
virtual
void
SetShotcuts(
bool
bEnable =
true
);
91
92
QTermWidget* m_pTerminal;
93
CBackendThread
* m_pThread;
94
QAction* m_pActionOpenWithSystem;
95
QAction* m_pActionFind;
96
97
private
:
98
CParameterTerminalBase
* m_pParameters;
99
100
QAction* m_pEditCopy;
101
QAction* m_pEditPaste;
102
QAction* m_pZoomIn;
103
QAction* m_pZoomOut;
104
QAction* m_pZoomOriginal;
105
QAction* m_pClear;
106
107
CStats
m_Stats;
108
};
CBackendThread
The backend thread
定义
BackendThread.h:15
CBackend
后端接口。它由协议插件实现。 它默认启动一个定时器来开启一个非 Qt 事件循环(就是普通的循环处理)。 详见: Start()、 slotTimeOut()、 OnProcess() 。 当然,它仍然支...
定义
Backend.h:52
COperateTerminal::Save
virtual int Save(QSettings &set) override
保存参数
定义
OperateTerminal.cpp:184
COperateTerminal::GetStats
CStats * GetStats() override
得到统计信息。如果有,其派生类则需要重载此函数提供统计信息。
定义
OperateTerminal.cpp:169
COperateTerminal::Version
virtual const qint16 Version() const override
版本
定义
OperateTerminal.cpp:148
COperateTerminal::Initial
virtual int Initial() override
Initial parameters and resource
定义
OperateTerminal.cpp:194
COperateTerminal::Name
virtual const QString Name() override
名称
定义
OperateTerminal.cpp:106
COperateTerminal::Clean
virtual int Clean() override
Clean parameters and resource
定义
OperateTerminal.cpp:245
COperateTerminal::InstanceBackend
virtual Q_INVOKABLE CBackend * InstanceBackend()=0
新建后端实例。它的所有者是调用者, 如果调用者不再使用它,调用者必须负责释放它。
COperateTerminal::Load
virtual int Load(QSettings &set) override
加载参数
定义
OperateTerminal.cpp:174
COperateTerminal::Id
virtual const QString Id() override
标识
定义
OperateTerminal.cpp:92
COperateTerminal::SetParameter
virtual int SetParameter(CParameterTerminalBase *pPara)
设置参数指针
定义
OperateTerminal.cpp:284
COperateTerminal::GetParameter
virtual CParameterTerminalBase * GetParameter() const
Get parameters
定义
OperateTerminal.cpp:279
COperateTerminal::Description
virtual const QString Description() override
描述
定义
OperateTerminal.cpp:116
COperateTerminal::GetViewer
QWidget * GetViewer() override
得到显示视图
定义
OperateTerminal.cpp:164
COperateTerminal::SetPluginParameters
virtual int SetPluginParameters(CParameterPlugin *pPara) override
Set Global Parameters
定义
OperateTerminal.cpp:380
CParameterPlugin
插件的全局参数。
定义
ParameterPlugin.h:36
CParameterTerminalBase
终端基本参数
定义
ParameterTerminalBase.h:18
CPlugin
插件接口
定义
Plugin.h:15
CStats
定义
Stats.h:11
作者:康林 (kl222@126.com)
版权所有(c) 康林工作室 保留所有权力