Rabbit Remote Control 0.0.35
Loading...
Searching...
No Matches
Connecter.h
1// Author: Kang Lin <kl222@126.com>
2
3#ifndef CCONNECTER_H
4#define CCONNECTER_H
5
6#pragma once
7
8#include <QObject>
9#include <QDir>
10#include <QtPlugin>
11#include <QDataStream>
12#include <QDialog>
13#include <QIcon>
14#include <QMimeData>
15#include <QSettings>
16#include <QMessageBox>
17#include <QMenu>
18
19#include "client_export.h"
20#include "ParameterClient.h"
21
22class CPluginClient;
23
61class CLIENT_EXPORT CConnecter : public QObject
62{
63 Q_OBJECT
64
65public:
87 explicit CConnecter(CPluginClient *plugin);
88 virtual ~CConnecter();
89
91 virtual const QString Id();
93 virtual const QString Name();
95 virtual const QString Description();
97 virtual const QString Protocol() const;
99 virtual qint16 Version() = 0;
101 virtual const QIcon Icon() const;
102
115 virtual QWidget* GetViewer() = 0;
133 virtual int OpenDialogSettings(QWidget* parent = nullptr);
137 virtual QMenu* GetMenu(QWidget* parent = nullptr);
138
139public Q_SLOTS:
154 virtual int Connect() = 0;
170 virtual int DisConnect() = 0;
171
172Q_SIGNALS:
210 void sigViewerFocusIn(QWidget* pView);
215 void sigUpdateName(const QString& szName);
233 void sigError(const int nError, const QString &szError);
246 void sigInformation(const QString& szInfo);
261 void sigShowMessageBox(const QString& title, const QString& message,
262 const QMessageBox::Icon& icon = QMessageBox::Information);
263
264protected:
270 Q_INVOKABLE virtual int Initial();
275 Q_INVOKABLE virtual int Clean();
282 Q_INVOKABLE virtual int SetParameterClient(CParameterClient* pPara);
283
297 virtual int SetParameter(CParameter* p);
298 CParameter* GetParameter();
299
300protected:
301 Q_INVOKABLE CPluginClient* GetPlugClient() const;
302
303 static QObject* createObject(const QString &className, QObject* parent = NULL);
304
305private:
322 virtual QDialog* OnOpenDialogSettings(QWidget* parent = nullptr) = 0;
323
324public:
325 /* \~chinese 得到配置文件名
326 * \~english Get settings file name
327 */
328 virtual QString GetSettingsFile();
329 /* \~chinese 设置配置文件名
330 * \~english Set settings file name
331 */
332 virtual int SetSettingsFile(const QString &szFile);
333private:
334 QString m_szSettings;
335protected:
340 virtual int Load(QSettings &set);
345 virtual int Save(QSettings &set);
352 Q_INVOKABLE virtual int Load(QString szFile = QString());
361 Q_INVOKABLE virtual int Save(QString szFile = QString());
362
363private Q_SLOTS:
364 void slotShowServerName();
365 void slotUpdateName();
366
384 virtual void slotBlockShowWidget(const QString& className, int &nRet, void* pContext);
395 virtual void slotBlockShowMessageBox(const QString& szTitle,
396 const QString& szMessage,
397 QMessageBox::StandardButtons buttons,
398 QMessageBox::StandardButton& nRet,
399 bool &checkBox,
400 QString szCheckBoxContext = QString());
406 virtual void slotBlockInputDialog(const QString& szTitle,
407 const QString& szLable,
408 const QString& szMessage,
409 QString& szText
410 );
411
412private Q_SLOTS:
415 virtual void slotSetClipboard(QMimeData *data);
416private:
417Q_SIGNALS:
418 void sigClipBoardChanged();
419
420protected:
421 QMenu m_Menu;
422 QAction* m_pSettings;
423private Q_SLOTS:
424 virtual void slotSettings();
425
426private:
427 CPluginClient* m_pPluginClient;
428
429 // The owner is a derived class of this class
430 CParameter* m_pParameter;
431};
432
433#endif // CCONNECTER_H
Connecter interface.
Definition Connecter.h:62
void sigUpdateName(const QString &szName)
virtual int DisConnect()=0
Close connect.
void sigConnected()
Successful connection signal.
virtual QDialog * OnOpenDialogSettings(QWidget *parent=nullptr)=0
Open settgins dialog.
CConnecter(CPluginClient *plugin)
virtual qint16 Version()=0
Version.
virtual QWidget * GetViewer()=0
Get Viewer.
void sigDisconnected()
Successful disconnection signal.
void sigDisconnect()
Notify the user to disconnect.
void sigError(const int nError, const QString &szError)
Triggered when an error is generated.
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 sigViewerFocusIn(QWidget *pView)
The view is focus.
virtual int Connect()=0
Start connect.
void sigInformation(const QString &szInfo)
Show information in main windows.
void sigUpdateParameters(CConnecter *pConnecter)
Update parameters, notify application to save or show parameters.
The parameters of client.
Parameter interface.
Definition Parameter.h:169
The plugin interface.