widgetfactory_p.h

来自「奇趣公司比较新的qt/emd版本」· C头文件 代码 · 共 113 行

H
113
字号
/******************************************************************************** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.**** This file is part of the Qt Designer of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://trolltech.com/products/qt/licenses/licensing/opensource/**** If you are unsure which license is appropriate for your use, please** review the following information:** http://trolltech.com/products/qt/licenses/licensing/licensingoverview** or contact the sales department at sales@trolltech.com.**** In addition, as a special exception, Trolltech gives you certain** additional rights. These rights are described in the Trolltech GPL** Exception version 1.0, which can be found at** http://www.trolltech.com/products/qt/gplexception/ and in the file** GPL_EXCEPTION.txt in this package.**** In addition, as a special exception, Trolltech, as the sole copyright** holder for Qt Designer, grants users of the Qt/Eclipse Integration** plug-in the right for the Qt/Eclipse Integration to link to** functionality provided by Qt Designer and its related libraries.**** Trolltech reserves all rights not expressly granted herein.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/////  W A R N I N G//  -------------//// This file is not part of the Qt API.  It exists for the convenience// of Qt Designer.  This header// file may change from version to version without notice, or even be removed.//// We mean it.//#ifndef WIDGETFACTORY_H#define WIDGETFACTORY_H#include "shared_global_p.h"#include "pluginmanager_p.h"#include <QtDesigner/QDesignerWidgetFactoryInterface>#include <QtCore/QMap>#include <QtCore/QVariant>#include <QtCore/QPointer>class QObject;class QWidget;class QLayout;class QDesignerFormEditorInterface;class QDesignerCustomWidgetInterface;class QDesignerFormWindowInterface;namespace qdesigner_internal {class QDESIGNER_SHARED_EXPORT WidgetFactory: public QDesignerWidgetFactoryInterface{    Q_OBJECTpublic:    WidgetFactory(QDesignerFormEditorInterface *core, QObject *parent = 0);    ~WidgetFactory();    virtual QWidget* containerOfWidget(QWidget *widget) const;    virtual QWidget* widgetOfContainer(QWidget *widget) const;    QObject* createObject(const QString &className, QObject* parent) const;        virtual QWidget *createWidget(const QString &className, QWidget *parentWidget) const;    virtual QLayout *createLayout(QWidget *widget, QLayout *layout, int type) const;    virtual bool isPassiveInteractor(QWidget *widget);    virtual void initialize(QObject *object) const;    virtual QDesignerFormEditorInterface *core() const;    static QString classNameOf(QDesignerFormEditorInterface *core, QObject* o);    QDesignerFormWindowInterface *currentFormWindow(QDesignerFormWindowInterface *fw);    static QLayout *createUnmanagedLayout(QWidget *parentWidget, int type);public slots:    void loadPlugins();private:    QWidget* createCustomWidget(const QString &className, QWidget *parentWidget) const;        QDesignerFormEditorInterface *m_core;    typedef QMap<QString, QDesignerCustomWidgetInterface*> CustomWidgetFactoryMap;    CustomWidgetFactoryMap m_customFactory;    QDesignerFormWindowInterface *m_formWindow;    static QPointer<QWidget> *m_lastPassiveInteractor;    static bool m_lastWasAPassiveInteractor;};} // namespace qdesigner_internal#endif // WIDGETFACTORY_H

⌨️ 快捷键说明

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