⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pluginsinterfaces.h

📁 用qt4 编写的局域网聊天工具
💻 H
字号:
/*************************************************************************** *   Copyright (C) 2007-2008 by Anistratov Oleg                            * *   ower86@gmail.com                                                      * *                                                                         * *   This program is free software; you can redistribute it and/or modify  * *   it under the terms of the GNU General Public License version 2        * *   as published by the Free Software Foundation;                         * *                                                                         * *   This program is distributed in the hope that it will be useful,       * *   but WITHOUT ANY WARRANTY; without even the implied warranty of        * *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         * *   GNU General Public License for more details.                          * *                                                                         * ***************************************************************************/#ifndef INTERFACES_H#define INTERFACES_H#include <QObject>#include <QHostAddress>#include <QByteArray>#include <QIcon>#include <QMenu>#include <QToolBar>/** * @class QChatBasicPlugin * @author Anistratov Oleg <ower@users.sourceforge.net> * @brief Basic abstract interface for qchat plugins * * \note If plugin needs to send data it must use for this purpose signal with following signature:\n * \code *  void sendData(const QString & plugin_id, *                const QMap < QString, QByteArray > & parametrs, *                quint64 destination_user_id, *                AbstractChatCore::DataType data_type, *                const QString & channel_id, *                uint channel_type, *                const QString & message); * \endcode * * \b plugin_id is used to determine to which plugin data is arrived \n * As \b data_type in most cases you need to use a AbstractChatCore::PLUGIN_DATA * **/class QChatBasicPlugin{  private:    QString m_path;  public:    virtual ~QChatBasicPlugin(){};    virtual void load() = 0;    virtual void unload() = 0;    /**     * @brief Path to plugin     * \return full path to plugin     */    const QString& path() const {return m_path;}    void setPath(const QString& p){m_path = p;}    /**     * @brief Plugin's icon     * \return pointer to plugin's icon or NULL pointer if there is no icon     */    virtual QIcon* icon() const = 0;    /**     * @brief Plugin's settings page     * \return pointer to widget with plugin's settings or NULL pointer if plugin have no settings     */    virtual QWidget* settingsPage() const = 0;    /**     * @brief Name of a plugin     * \return name of a plugin     */    virtual QString name() const = 0;    /**     * @brief Information about plugin     * \return 'about information' which will be placed in 'about plugin' section     */    virtual QString about() const = 0;    /**     * @brief Must process data which arrived from network     * @param parametrs - QMap with key - QString parametrName and value - QByteArray parametrValue     */    virtual void processData(QMap<QString, QByteArray> parametrs) = 0;};/**  @class QChatWidgetPlugin  @author Anistratov Oleg <ower@users.sourceforge.net>  @brief Abstract interface for qchat plugins with GUI*/class QChatWidgetPlugin : public QChatBasicPlugin{  public:    virtual ~QChatWidgetPlugin(){};    /**     * @brief Plugin's main widget     * \return Plugin's main widget     */    virtual QWidget* widget() = 0;//     virtual void updateMenus(QMenu*) const = 0;    /**     * @brief Setting up toolbar object with plugin's actions     *     * This function is calls when plugin's widget is activating, it must setup toolbar object with plugin's actions     */    virtual void setupToolBar(QToolBar*) const = 0;};Q_DECLARE_INTERFACE(QChatBasicPlugin, "QChat.QChatBasicPlugin/0.1");Q_DECLARE_INTERFACE(QChatWidgetPlugin, "QChat.QChatWidgetPlugin/0.1");#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -