Rabbit Remote Control 0.0.37
Loading...
Searching...
No Matches
Classes | Public Member Functions | Private Slots | Private Member Functions | Private Attributes | List of all members

Manage plugins. More...

#include <Manager.h>

Inheritance diagram for CManager:
Inheritance graph
[legend]
Collaboration diagram for CManager:
Collaboration graph
[legend]

Classes

class  Handle
 The Handle COperate class. More...
 

Public Member Functions

 CManager (QObject *parent=nullptr, QString szFile=QString())
 
virtual COperateCreateOperate (const QString &id)
 New COperate pointer, the owner is caller.
 
virtual int DeleteOperate (COperate *p)
 Delete COperate.
 
virtual COperateLoadOperate (const QString &szFile)
 New COperate pointer from file, the owner is caller.
 
virtual int SaveOperate (COperate *pOperate)
 Accept Operate parameters to file.
 
virtual QList< QWidget * > GetSettingsWidgets (QWidget *parent)
 Get parameter settings widget.
 
virtual int LoadSettings (const QString szFile=QString())
 Load Client parameters from file.
 
virtual int SaveSettings (const QString szFile=QString())
 Save Client parameters to file.
 
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 Slots

void slotNativeWindowRecieveKeyboard ()
 

Private Member Functions

int LoadPlugins ()
 
int FindPlugins (QDir dir, QStringList filters)
 
int AppendPlugin (CPlugin *plugin)
 

Private Attributes

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

Detailed Description

Manage plugins.

Definition at line 44 of file Manager.h.

Constructor & Destructor Documentation

◆ ~CManager()

CManager::~CManager ( )
virtual

Definition at line 55 of file Manager.cpp.

Member Function Documentation

◆ AppendPlugin()

int CManager::AppendPlugin ( CPlugin plugin)
private

Definition at line 180 of file Manager.cpp.

◆ CreateOperate()

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

New COperate pointer, the owner is caller.

[CManager CreateOperate]

The caller must be call DeteleOperate() to delete it, when it isn't need. The caller must connect COperate::sigFinished, then delete it( Use DeleteOperate() )

Parameters
idPlugin ID
See also
DeleteOperate

Definition at line 207 of file Manager.cpp.

◆ DeleteOperate()

int CManager::DeleteOperate ( COperate p)
virtual

Delete COperate.

[CManager CreateOperate]

Definition at line 235 of file Manager.cpp.

◆ Details()

const QString CManager::Details ( ) const

Definition at line 437 of file Manager.cpp.

◆ EnumPlugins() [1/2]

int CManager::EnumPlugins ( Handle handle)
virtual

Enum plugins.

Definition at line 409 of file Manager.cpp.

◆ EnumPlugins() [2/2]

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

Enum plugins.

Note
It is need c++ standard 11
Parameters
cbProcess plugins callback function
idplugin id
pPluginCPlugin pointer

◆ FindPlugins()

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

Definition at line 121 of file Manager.cpp.

◆ GetSettingsWidgets()

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

Get parameter settings widget.

Returns
Parameter widget. The QWidget owner is caller.
Note
The widget must be a derivative of CParameterUI. Eg: CParameterPluginUI

Usage:

void MainWindow::on_actionSettings_triggered()
{
CParameterDlgSettings set(&m_Parameter, m_Manager.GetSettingsWidgets(this), this);
if(CParameterDlgSettings::Accepted == RC_SHOW_WINDOW(&set))
{
m_Manager.SaveSettings();
m_Parameter.Save();
}
}

Connect the signal(accepted) to the slot(slotAccept) in CParameterDlgSettings

foreach(auto p, wViewer)
{
ui->tabWidget->addTab(p, p->windowIcon(), p->windowTitle());
bool check = false;
check = connect(this, SIGNAL(accepted()), p, SLOT(slotAccept()));
if(!check)
{
qCritical(log) << "Class" << p->metaObject()->className()
<< "must has slot slotAccept(), please add it";
}
Q_ASSERT(check);
}
See also
CParameterPluginUI CParameterDlgSettings

Definition at line 383 of file Manager.cpp.

◆ LoadOperate()

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

New COperate pointer from file, the owner is caller.

The caller must delete it(call DeleteOperate()), when it isn't need. The caller must connect COperate::sigFinished, then delete it (Use DeleteOperate() )

See also
DeleteOperate

Definition at line 268 of file Manager.cpp.

◆ LoadPlugins()

int CManager::LoadPlugins ( )
private

Definition at line 82 of file Manager.cpp.

◆ LoadSettings()

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

Load Client parameters from file.

Parameters
szFilefile name

Definition at line 355 of file Manager.cpp.

◆ SaveOperate()

int CManager::SaveOperate ( COperate pOperate)
virtual

Accept Operate parameters to file.

Definition at line 307 of file Manager.cpp.

◆ SaveSettings()

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

Save Client parameters to file.

Parameters
szFilefile name

Definition at line 369 of file Manager.cpp.

◆ slotNativeWindowRecieveKeyboard

void CManager::slotNativeWindowRecieveKeyboard ( )
privateslot

Definition at line 442 of file Manager.cpp.

Member Data Documentation

◆ m_FileVersion

qint8 CManager::m_FileVersion
private

Definition at line 186 of file Manager.h.

◆ m_pHook

CHook* CManager::m_pHook
private

Definition at line 188 of file Manager.h.

◆ m_Plugins

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

Definition at line 185 of file Manager.h.

◆ m_pParameter

CParameterPlugin* CManager::m_pParameter
private

Definition at line 189 of file Manager.h.

◆ m_szDetails

QString CManager::m_szDetails
private

Definition at line 190 of file Manager.h.

◆ m_szSettingsFile

QString CManager::m_szSettingsFile
private

Definition at line 184 of file Manager.h.

◆ m_Translator

QSharedPointer<QTranslator> CManager::m_Translator
private

Definition at line 187 of file Manager.h.


The documentation for this class was generated from the following files: