Rabbit Remote Control 0.1.0-bate8
Loading...
Searching...
No Matches
Operate.h
1// Author: Kang Lin <kl222@126.com>
2
3#pragma once
4
5#include <QMessageBox>
6#include <QObject>
7#include <QMenu>
8#include <QClipboard>
9#include "ParameterPlugin.h"
10#include "Stats.h"
11
12class CPlugin;
13
50class PLUGIN_EXPORT COperate : public QObject
51{
52 Q_OBJECT
53
54public:
55 explicit COperate(CPlugin *plugin);
56 virtual ~COperate();
57
61
64 [[nodiscard]] virtual const QString Id();
70 [[nodiscard]] virtual const QString Name();
76 [[nodiscard]] virtual const QString Description();
79 [[nodiscard]] virtual const QString Protocol() const;
82 [[nodiscard]] virtual const qint16 Version() const = 0;
85 [[nodiscard]] virtual const QIcon Icon() const;
88 [[nodiscard]] virtual const QString GetTypeName() const;
90
106 [[nodiscard]] virtual QWidget* GetViewer() = 0;
127 [[nodiscard]] virtual int OpenDialogSettings(QWidget* parent = nullptr);
131 [[nodiscard]] virtual QMenu* GetMenu(QWidget* parent = nullptr);
132
136public:
151 virtual int Start() = 0;
167 virtual int Stop() = 0;
168
169Q_SIGNALS:
197 void sigStop();
206
213 void sigViewerFocusIn(QWidget* pView);
224 void sigFullScreen(bool bFullScreen);
230 void sigUpdateName(const QString& szName);
248 void sigError(const int nError, const QString &szError);
261 void sigInformation(const QString& szInfo);
276 void sigShowMessageBox(const QString& title, const QString& message,
277 const QMessageBox::Icon& icon = QMessageBox::Information);
278
279protected:
286 Q_INVOKABLE virtual int Initial();
291 Q_INVOKABLE virtual int Clean();
304 Q_INVOKABLE virtual int SetGlobalParameters(CParameterPlugin* pPara) = 0;
305
306protected:
311 Q_INVOKABLE CPlugin* GetPlugin() const;
318 static QObject* createObject(const QString &className, QObject* parent = NULL);
319
320private:
335 [[nodiscard]] virtual QDialog* OnOpenDialogSettings(QWidget* parent = nullptr) = 0;
336
340public:
341 /* \~chinese 得到配置文件名
342 * \~english Get settings file name
343 * \see CManager::SaveOperate
344 */
345 [[nodiscard]] virtual QString GetSettingsFile();
346 /* \~chinese 设置配置文件名
347 * \~english Set settings file name
348 */
349 virtual int SetSettingsFile(const QString &szFile);
350private:
351 QString m_szSettings;
352protected:
357 Q_INVOKABLE virtual int Load(QSettings &set) = 0;
362 Q_INVOKABLE virtual int Save(QSettings &set) = 0;
371 Q_INVOKABLE virtual int Load(QString szFile = QString());
380 Q_INVOKABLE virtual int Save(QString szFile = QString());
382
386public:
392 [[nodiscard]] virtual CStats* GetStats();
398 [[nodiscard]] virtual CSecurityLevel::Levels GetSecurityLevel() const;
399Q_SIGNALS:
407protected Q_SLOTS:
408 void slotSetSecurityLevel(CSecurityLevel::Levels level);
409private:
410 CSecurityLevel::Levels m_SecurityLevel;
412
413protected Q_SLOTS:
414 void slotUpdateName();
415
416private Q_SLOTS:
433 virtual void slotBlockShowWidget(const QString& className, int &nRet, void* pContext);
444 virtual void slotBlockShowMessageBox(const QString& szTitle,
445 const QString& szMessage,
446 QMessageBox::StandardButtons buttons,
447 QMessageBox::StandardButton& nRet,
448 bool &checkBox,
449 QString szCheckBoxContext = QString());
455 virtual void slotBlockInputDialog(const QString& szTitle,
456 const QString& szLable,
457 const QString& szMessage,
458 QString& szText
459 );
460
461private Q_SLOTS:
464 virtual void slotSetClipboard(QMimeData *data);
465private:
466Q_SIGNALS:
467 void sigClipBoardChanged();
468
469protected:
470 QMenu m_Menu;
471 QAction* m_pActionSettings;
472private Q_SLOTS:
473 virtual void slotSettings();
474
475private:
476 CPlugin* m_pPlugin;
477};
Operate interface.
Definition Operate.h:51
virtual QDialog * OnOpenDialogSettings(QWidget *parent=nullptr)=0
Open settgins dialog.
void sigInformation(const QString &szInfo)
Show information in main windows.
void sigFinished()
Successful disconnection signal.
virtual int Start()=0
Start.
void sigRunning()
Start success signal.
void sigFullScreen(bool bFullScreen)
Full screen.
void sigError(const int nError, const QString &szError)
Triggered when an error is generated.
virtual QWidget * GetViewer()=0
Get Viewer.
virtual Q_INVOKABLE int Load(QSettings &set)=0
Load parameters.
void sigStop()
Notify the user to stop.
void sigViewerFocusIn(QWidget *pView)
The view is focus.
virtual int Stop()=0
Stop.
void sigUpdateParameters(COperate *pOperate)
Update parameters, notify application to save or show parameters.
virtual Q_INVOKABLE int Save(QSettings &set)=0
Save parameters.
void sigShowMessageBox(const QString &title, const QString &message, const QMessageBox::Icon &icon=QMessageBox::Information)
Trigger the display of a message dialog (QMessageBox) in the main thread from a background thread wit...
void sigUpdateName(const QString &szName)
void sigSecurityLevel()
Triggered when the security level changes.
Global parameters of plugins.
Plugin interface.
Definition Plugin.h:15
Definition Stats.h:11