Rabbit Remote Control 0.1.0-alpha.2
Loading...
Searching...
No Matches
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
25class PLUGIN_EXPORT COperateTerminal : public COperate
26{
27 Q_OBJECT
28public:
29 explicit COperateTerminal(CPlugin *parent);
30 virtual ~COperateTerminal() override;
31
41 [[nodiscard]] Q_INVOKABLE virtual CBackend* InstanceBackend() = 0;
43 [[nodiscard]] virtual CParameterTerminalBase* GetParameter();
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;
69 virtual int SetGlobalParameters(CParameterPlugin *pPara) override;
70 int WriteTerminal(const char* buf, int len);
71
72private Q_SLOTS:
73 void slotZoomReset();
74 void slotCustomContextMenu(const QPoint & pos);
75 void slotActivateUrl(const QUrl& url, bool fromContextMenu);
76 void slotTermKeyPressed(QKeyEvent* e);
77 void slotFocusIn();
78 void slotFocusOut();
79protected Q_SLOTS:
80 void slotUpdateParameter(COperate *pOperate);
81
82protected:
83 virtual int Load(QSettings &set) override;
84 virtual int Save(QSettings &set) override;
85 virtual void SetShotcuts(bool bEnable = true);
86
87 QTermWidget* m_pTerminal;
88 CBackendThread* m_pThread;
89 QAction* m_pActionOpenWithSystem;
90 QAction* m_pActionFind;
91
92private:
93 CParameterTerminalBase* m_pParameters;
94
95 QAction* m_pEditCopy;
96 QAction* m_pEditPaste;
97 QAction* m_pZoomIn;
98 QAction* m_pZoomOut;
99 QAction* m_pZoomOriginal;
100 QAction* m_pClear;
101
102 CStats m_Stats;
103};
The backend thread.
Backend interface.
Definition Backend.h:42
Terminal operate interface.
virtual Q_INVOKABLE CBackend * InstanceBackend()=0
New CBackend.
Operate interface.
Definition Operate.h:51
virtual const qint16 Version() const =0
Version.
virtual int Load(QSettings &set)
Load parameters.
Definition Operate.cpp:216
virtual int Save(QSettings &set)
Save parameters.
Definition Operate.cpp:223
virtual int Start()=0
Start.
virtual Q_INVOKABLE int Initial()
Initial parameters and resource.
Definition Operate.cpp:230
virtual QWidget * GetViewer()=0
Get Viewer.
virtual Q_INVOKABLE int SetGlobalParameters(CParameterPlugin *pPara)=0
Apply the global parameters of the plug-in.
Definition Operate.cpp:264
virtual Q_INVOKABLE int Clean()
Clean parameters and resource.
Definition Operate.cpp:247
virtual const QString Name()
Name.
Definition Operate.cpp:41
virtual int Stop()=0
Stop.
virtual const QString Description()
Description.
Definition Operate.cpp:46
virtual const QString Id()
Identity.
Definition Operate.cpp:33
Global parameters of plugins.
Terminal base parameter.
Plugin interface.
Definition Plugin.h:15
Definition Stats.h:11