Rabbit Remote Control 0.1.0-bate8
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 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 SetGlobalParameters(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.
Backend interface.
Definition Backend.h:42
Terminal operate interface.
virtual Q_INVOKABLE CBackend * InstanceBackend()=0
New CBackend.
Operate interface.
Definition Operate.h:51
virtual CStats * GetStats()
Get statistics.
Definition Operate.cpp:124
virtual int Start()=0
Start.
virtual Q_INVOKABLE int Initial()
Initial parameters and resource.
Definition Operate.cpp:190
virtual QWidget * GetViewer()=0
Get Viewer.
virtual Q_INVOKABLE int Load(QSettings &set)=0
Load parameters.
virtual Q_INVOKABLE int SetGlobalParameters(CParameterPlugin *pPara)=0
Apply the global parameters of the plug-in.
Definition Operate.cpp:224
virtual Q_INVOKABLE int Clean()
Clean parameters and resource.
Definition Operate.cpp:207
virtual const QString Name()
Name.
Definition Operate.cpp:46
virtual int Stop()=0
Stop.
virtual const QString Description()
Description.
Definition Operate.cpp:51
virtual Q_INVOKABLE int Save(QSettings &set)=0
Save parameters.
Global parameters of plugins.
Terminal base parameter.
Plugin interface.
Definition Plugin.h:15
Definition Stats.h:11