玉兔远程控制 0.1.0-bate11
载入中...
搜索中...
未找到
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
18
25class PLUGIN_EXPORT COperateTerminal : public COperate
26{
27 Q_OBJECT
28public:
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
62public Q_SLOTS:
63 virtual int Start() override;
64 virtual int Stop() override;
65
66protected:
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
77private 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();
84protected Q_SLOTS:
85 void slotUpdateParameter(COperate *pOperate);
86
87protected:
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
97private:
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};
The backend thread
后端接口。它由协议插件实现。 它默认启动一个定时器来开启一个非 Qt 事件循环(就是普通的循环处理)。 详见: Start()、 slotTimeOut()、 OnProcess() 。 当然,它仍然支...
virtual int Save(QSettings &set) override
保存参数
CStats * GetStats() override
得到统计信息。如果有,其派生类则需要重载此函数提供统计信息。
virtual const qint16 Version() const override
版本
virtual int Initial() override
Initial parameters and resource
virtual const QString Name() override
名称
virtual int Clean() override
Clean parameters and resource
virtual Q_INVOKABLE CBackend * InstanceBackend()=0
新建后端实例。它的所有者是调用者, 如果调用者不再使用它,调用者必须负责释放它。
virtual int Load(QSettings &set) override
加载参数
virtual const QString Id() override
标识
virtual int SetParameter(CParameterTerminalBase *pPara)
设置参数指针
virtual CParameterTerminalBase * GetParameter() const
Get parameters
virtual const QString Description() override
描述
QWidget * GetViewer() override
得到显示视图
virtual int SetPluginParameters(CParameterPlugin *pPara) override
Set Global Parameters
插件的全局参数。
插件接口