玉兔远程控制 0.1.0-bate6
载入中...
搜索中...
未找到
| 信号 | Public 成员函数 | Private 槽 | Private 成员函数 | Private 属性 | 所有成员列表
CManager类 参考

管理插件 更多...

#include <Manager.h>

类 CManager 继承关系图:
Inheritance graph
[图例]
CManager 的协作图:
Collaboration graph
[图例]

class  Handle
 处理连接者。用于客户端得到连接者信号 更多...
 

信号

void sigNewOperate (COperate *pOperate, bool bOpenSettingsDialog)
 当在插件中新建操作时,触发此信号
 

Public 成员函数

 CManager (QObject *parent=nullptr)
 
int Initial (QString szFile=QString())
 
virtual COperateCreateOperate (const QString &id)
 新建 COperate 指针,所有者是调用者。 当不在使用时,调用者必调用 DeteleOperate() 须释放指针。 调用者必须连接信号 COperate::sigFinished 。 释放指针 (使用 DeleteOperate() )
 
virtual int DeleteOperate (COperate *p)
 Delete COperate
 
virtual COperateLoadOperate (const QString &szFile)
 从文件中新建 COperate 指针,所有者是调用者。 当不再使用时,调用者必须负责调用 DeleteOperate() 删除此指针。 调用者必须连接信号 COperate::sigFinished 。 释放指针(使用 DeleteOperate() )
 
virtual int SaveOperate (COperate *pOperate)
 保存连接参数到文件
 
virtual QList< QWidget * > GetSettingsWidgets (QWidget *parent)
 得到设置参数窗口
 
virtual int LoadSettings (const QString szFile=QString())
 从文件中加载客户端参数
 
virtual int SaveSettings (const QString szFile=QString())
 保存客户端参数到文件
 
CParameterGlobalGetGlobalParameters ()
 Get Global Parameters
 
virtual int EnumPlugins (Handle *handle)
 Enum plugins
 
virtual int EnumPlugins (std::function< int(const QString &id, CPlugin *pPlugin)> cb)
 Enum plugins
 
const QString Details () const
 

Private 槽

void slotCaptureAllKeyboard ()
 

Private 成员函数

int LoadPlugins ()
 
int LoadPlugin (const QString &szPath)
 LoadPlugin
 
int FindPlugins (QDir dir, QStringList filters)
 
int AppendPlugin (CPlugin *plugin)
 Append Plugin
 

Private 属性

QString m_szSettingsFile
 
QMap< QString, CPlugin * > m_Plugins
 
qint8 m_FileVersion
 
QSharedPointer< QTranslator > m_Translator
 
CHookm_pHook
 
CParameterPluginm_pParameterPlugin
 
QString m_szDetails
 
CDatabaseFilem_pDatabaseFile
 

详细描述

管理插件

在文件 Manager.h47 行定义.

构造及析构函数说明

◆ ~CManager()

CManager::~CManager ( )
virtual

在文件 Manager.cpp50 行定义.

成员函数说明

◆ AppendPlugin()

int CManager::AppendPlugin ( CPlugin plugin)
private

Append Plugin

参数
plugin
返回

在文件 Manager.cpp312 行定义.

◆ CreateOperate()

COperate * CManager::CreateOperate ( const QString &  id)
virtual

新建 COperate 指针,所有者是调用者。 当不在使用时,调用者必调用 DeteleOperate() 须释放指针。 调用者必须连接信号 COperate::sigFinished 。 释放指针 (使用 DeleteOperate() )

[CManager CreateOperate]

参数
id插件 ID
参见
DeleteOperate

在文件 Manager.cpp340 行定义.

◆ DeleteOperate()

int CManager::DeleteOperate ( COperate p)
virtual

Delete COperate

[CManager CreateOperate]

在文件 Manager.cpp368 行定义.

◆ Details()

const QString CManager::Details ( ) const

在文件 Manager.cpp632 行定义.

◆ EnumPlugins() [1/2]

int CManager::EnumPlugins ( Handle handle)
virtual

Enum plugins

在文件 Manager.cpp604 行定义.

◆ EnumPlugins() [2/2]

virtual int CManager::EnumPlugins ( std::function< int(const QString &id, CPlugin *pPlugin)>  cb)
virtual

Enum plugins

注解
It is need c++ standard 11
参数
cbProcess plugins callback function
idplugin id
pPluginCPlugin pointer

◆ FindPlugins()

int CManager::FindPlugins ( QDir  dir,
QStringList  filters 
)
private

在文件 Manager.cpp238 行定义.

◆ GetGlobalParameters()

CParameterGlobal * CManager::GetGlobalParameters ( )

Get Global Parameters

在文件 Manager.cpp532 行定义.

◆ GetSettingsWidgets()

QList< QWidget * > CManager::GetSettingsWidgets ( QWidget *  parent)
virtual

得到设置参数窗口

返回
设置参数窗口。此窗口的所有者为调用者。
注解
此窗口一般从 CParameterUI 派生。 例如: CParameterPluginUI 如果不是从 CParameterUI 派生,则需要实现接口:
  • virtual int SetParameter(CParameter* pParameter);
  • virtual int Accept();

用法示例:

void MainWindow::on_actionSettings_triggered()
{
CParameterDlgSettings set(&m_Parameter, this);
auto viewers = m_Manager.GetSettingsWidgets(&set);
set.AddViewers(viewers);
if(CParameterDlgSettings::Accepted == RC_SHOW_WINDOW(&set))
{
m_Manager.SaveSettings();
m_Parameter.Save();
}
foreach(auto v, viewers) {
v->deleteLater();
}
}

CParameterDlgSettings 的构造函数中连接信号和槽

foreach(auto p, wViewer)
{
QString szMsg;
QWidget* pView = p;
if(bScroll)
{
QScrollArea* pScroll = new QScrollArea(ui->tabWidget);
if(!pScroll) continue;
pScroll->setWidget(p);
pView = pScroll;
}
ui->tabWidget->addTab(pView, p->windowIcon(), p->windowTitle());
bool check = false;
check = connect(this, SIGNAL(accepted()), p, SLOT(slotAccept()));
if(!check)
{
szMsg = "Class '" + QString(p->metaObject()->className())
+ "' must has slot slotAccept(), please add it. "
+ "Or the class derived from CParameterUI";
qCritical(log) << szMsg;
}
Q_ASSERT_X(check, "CParameterDlgSettings", szMsg.toStdString().c_str());
}
参见
CParameterPluginUI CParameterDlgSettings

[Get the widget to set global parameters for the plugin]

[Get the widget to set global parameters for the plugin]

在文件 Manager.cpp539 行定义.

◆ Initial()

int CManager::Initial ( QString  szFile = QString())

在文件 Manager.cpp77 行定义.

◆ LoadOperate()

COperate * CManager::LoadOperate ( const QString &  szFile)
virtual

从文件中新建 COperate 指针,所有者是调用者。 当不再使用时,调用者必须负责调用 DeleteOperate() 删除此指针。 调用者必须连接信号 COperate::sigFinished 。 释放指针(使用 DeleteOperate() )

参见
DeleteOperate

在文件 Manager.cpp401 行定义.

◆ LoadPlugin()

int CManager::LoadPlugin ( const QString &  szPath)
private

LoadPlugin

参数
szPathmust be absolute.
返回

在文件 Manager.cpp282 行定义.

◆ LoadPlugins()

int CManager::LoadPlugins ( )
private

在文件 Manager.cpp167 行定义.

◆ LoadSettings()

int CManager::LoadSettings ( const QString  szFile = QString())
virtual

从文件中加载客户端参数

参数
szFile文件名

在文件 Manager.cpp504 行定义.

◆ SaveOperate()

int CManager::SaveOperate ( COperate pOperate)
virtual

保存连接参数到文件

在文件 Manager.cpp451 行定义.

◆ SaveSettings()

int CManager::SaveSettings ( const QString  szFile = QString())
virtual

保存客户端参数到文件

参数
szFile:文件名

在文件 Manager.cpp518 行定义.

◆ sigNewOperate

void CManager::sigNewOperate ( COperate pOperate,
bool  bOpenSettingsDialog 
)
signal

当在插件中新建操作时,触发此信号

参数
pOperate新建的操作
bOpenSettingsDialog
  • true: 打开设置对话框
  • false: 不打开设置对话框

◆ slotCaptureAllKeyboard

void CManager::slotCaptureAllKeyboard ( )
privateslot

在文件 Manager.cpp655 行定义.

类成员变量说明

◆ m_FileVersion

qint8 CManager::m_FileVersion
private

在文件 Manager.h232 行定义.

◆ m_pDatabaseFile

CDatabaseFile* CManager::m_pDatabaseFile
private

在文件 Manager.h237 行定义.

◆ m_pHook

CHook* CManager::m_pHook
private

在文件 Manager.h234 行定义.

◆ m_Plugins

QMap<QString, CPlugin*> CManager::m_Plugins
private

在文件 Manager.h231 行定义.

◆ m_pParameterPlugin

CParameterPlugin* CManager::m_pParameterPlugin
private

在文件 Manager.h235 行定义.

◆ m_szDetails

QString CManager::m_szDetails
private

在文件 Manager.h236 行定义.

◆ m_szSettingsFile

QString CManager::m_szSettingsFile
private

在文件 Manager.h230 行定义.

◆ m_Translator

QSharedPointer<QTranslator> CManager::m_Translator
private

在文件 Manager.h233 行定义.


该类的文档由以下文件生成: