14class PLUGIN_EXPORT
CPlugin :
public QObject
19 explicit CPlugin(QObject *parent =
nullptr);
33 [[nodiscard]]
virtual const TYPE Type()
const = 0;
34 [[nodiscard]]
virtual const QString TypeName(
const TYPE t)
const;
37 [[nodiscard]]
virtual const QString Id()
const;
40 [[nodiscard]]
virtual const QString
Protocol()
const = 0;
45 [[nodiscard]]
virtual const QString
Name()
const = 0;
48 [[nodiscard]]
virtual const QString DisplayName()
const;
53 [[nodiscard]]
virtual const QString
Version()
const = 0;
54 [[nodiscard]]
virtual const QIcon Icon()
const = 0;
64 [[nodiscard]]
virtual const QString Details()
const;
105 Q_INVOKABLE
virtual COperate* CreateOperate(
107 [[nodiscard]]
virtual COperate* OnCreateOperate(
const QString& szId) = 0;
111 Q_INVOKABLE
virtual int DeleteOperate(
COperate* p);
132 Q_INVOKABLE
virtual QWidget* GetSettingsWidget(QWidget *parent);
135 QSharedPointer<QTranslator> m_Translator;
147 Q_INVOKABLE
int InitTranslator();
151#define CPlugin_iid "KangLinStudio.Rabbit.RemoteControl.CPlugin"
152Q_DECLARE_INTERFACE(
CPlugin, CPlugin_iid)
virtual const QString Version() const =0
Version
void sigNewOperate(COperate *pOperate, bool bOpenSettingsDialog)
当在插件中新建操作时,触发此信号
virtual const QString Name() const =0
插件名,这个名一定要与工程名(${PROJECT_NAME})相同。 翻译文件(${PROJECT_NAME}_*.ts))名与其相关。
virtual const QString Protocol() const =0
协议
virtual const QString Description() const =0
描述