Rabbit Remote Control 0.1.0-bate6
Loading...
Searching...
No Matches
Classes | Signals | 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...
 

Signals

void sigNewOperate (COperate *pOperate, bool bOpenSettingsDialog)
 This signal is triggered when a new operate is created in the plugin.
 

Public Member Functions

 CManager (QObject *parent=nullptr)
 
int Initial (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.
 
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 Slots

void slotCaptureAllKeyboard ()
 

Private Member Functions

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

Private Attributes

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

Detailed Description

Manage plugins.

Definition at line 47 of file Manager.h.

Constructor & Destructor Documentation

◆ ~CManager()

CManager::~CManager ( )
virtual

Definition at line 50 of file Manager.cpp.

Member Function Documentation

◆ AppendPlugin()

int CManager::AppendPlugin ( CPlugin plugin)
private

Append Plugin.

Parameters
plugin
Returns

Definition at line 312 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 340 of file Manager.cpp.

◆ DeleteOperate()

int CManager::DeleteOperate ( COperate p)
virtual

Delete COperate.

[CManager CreateOperate]

Definition at line 368 of file Manager.cpp.

◆ Details()

const QString CManager::Details ( ) const

Definition at line 632 of file Manager.cpp.

◆ EnumPlugins() [1/2]

int CManager::EnumPlugins ( Handle handle)
virtual

Enum plugins.

Definition at line 604 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 238 of file Manager.cpp.

◆ GetGlobalParameters()

CParameterGlobal * CManager::GetGlobalParameters ( )

Get Global Parameters.

Definition at line 532 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
This window is generally derived from CParameterUI. For example: CParameterPluginUI If it is not derived from CParameterUI, then you need to implement the following interfaces:
  • virtual int SetParameter(CParameter* pParameter);
  • virtual int Accept();

Usage:

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();
}
}

Connect the signal(accepted) to the slot(slotAccept) in 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());
}
See also
CParameterPluginUI CParameterDlgSettings

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

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

Definition at line 539 of file Manager.cpp.

◆ Initial()

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

Definition at line 77 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 401 of file Manager.cpp.

◆ LoadPlugin()

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

LoadPlugin.

Parameters
szPathmust be absolute.
Returns

Definition at line 282 of file Manager.cpp.

◆ LoadPlugins()

int CManager::LoadPlugins ( )
private

Definition at line 167 of file Manager.cpp.

◆ LoadSettings()

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

Load Client parameters from file.

Parameters
szFilefile name

Definition at line 504 of file Manager.cpp.

◆ SaveOperate()

int CManager::SaveOperate ( COperate pOperate)
virtual

Accept Operate parameters to file.

Definition at line 451 of file Manager.cpp.

◆ SaveSettings()

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

Save Client parameters to file.

Parameters
szFilefile name

Definition at line 518 of file Manager.cpp.

◆ sigNewOperate

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

This signal is triggered when a new operate is created in the plugin.

Parameters
pOperatea new operate is created.
bOpenSettingsDialog
  • true: open the settings dialog
  • false: don't open the settings dialog

◆ slotCaptureAllKeyboard

void CManager::slotCaptureAllKeyboard ( )
privateslot

Definition at line 655 of file Manager.cpp.

Member Data Documentation

◆ m_FileVersion

qint8 CManager::m_FileVersion
private

Definition at line 232 of file Manager.h.

◆ m_pDatabaseFile

CDatabaseFile* CManager::m_pDatabaseFile
private

Definition at line 237 of file Manager.h.

◆ m_pHook

CHook* CManager::m_pHook
private

Definition at line 234 of file Manager.h.

◆ m_Plugins

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

Definition at line 231 of file Manager.h.

◆ m_pParameterPlugin

CParameterPlugin* CManager::m_pParameterPlugin
private

Definition at line 235 of file Manager.h.

◆ m_szDetails

QString CManager::m_szDetails
private

Definition at line 236 of file Manager.h.

◆ m_szSettingsFile

QString CManager::m_szSettingsFile
private

Definition at line 230 of file Manager.h.

◆ m_Translator

QSharedPointer<QTranslator> CManager::m_Translator
private

Definition at line 233 of file Manager.h.


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