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

📄 ui3reader.h

📁 奇趣公司比较新的qt/emd版本
💻 H
字号:
/******************************************************************************** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.**** This file is part of the tools applications 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.******************************************************************************/#ifndef UI3READER_H#define UI3READER_H#include <QDomDocument>#include <QString>#include <QStringList>#include <QMap>#include <QTextStream>#include <QVariant>#include <QByteArray>#include <QPair>class DomUI;class DomFont;class DomWidget;class DomProperty;class DomLayout;class DomLayoutItem;class DomActionGroup;class Porting;struct Color;typedef QList<QPair<int, Color> > ColorGroup;class Ui3Reader{public:    Ui3Reader(QTextStream &stream);    ~Ui3Reader();    void computeDeps(const QDomElement &e, QStringList &globalIncludes, QStringList &localIncludes, bool impl = false);    void generateUi4(const QString &fn, const QString &outputFn, QDomDocument doc, bool implicitIncludes);    void generate(const QString &fn, const QString &outputFn,         QDomDocument doc, bool decl, bool subcl, const QString &trm,         const QString& subclname, bool omitForwardDecls, bool implicitIncludes, const QString &convertedUiFile);    void embed(const char *project, const QStringList &images);    void setTrMacro(const QString &trmacro);    void setForwardDeclarationsEnabled(bool b);    void setOutputFileName(const QString &fileName);    void createFormDecl(const QDomElement &e, bool implicitIncludes);    void createFormImpl(const QDomElement &e);    void createWrapperDecl(const QDomElement &e, const QString &convertedUiFile);    void createSubDecl(const QDomElement &e, const QString& subclname);    void createSubImpl(const QDomElement &e, const QString& subclname);    void createColorGroupImpl(const QString& cg, const QDomElement& e);    ColorGroup loadColorGroup(const QDomElement &e);    QDomElement getObjectProperty(const QDomElement& e, const QString& name);    QString getPixmapLoaderFunction(const QDomElement& e);    QString getFormClassName(const QDomElement& e);    QString getClassName(const QDomElement& e);    QString getObjectName(const QDomElement& e);    QString getLayoutName(const QDomElement& e);    QString registerObject(const QString& name);    QString registeredName(const QString& name);    bool isObjectRegistered(const QString& name);    QStringList unique(const QStringList&);    QString trcall(const QString& sourceText, const QString& comment = QString());    QDomElement parse(const QDomDocument &doc);    void setExtractImages(bool extract, const QString &qrcOutputFile);private:    void init();    void createWrapperDeclContents(const QDomElement &e);    void errorInvalidProperty(const QString &propertyName, const QString &widgetName, const QString &widgetClass,                              int line, int col);    void errorInvalidSignal(const QString &signal, const QString &widgetName, const QString &widgetClass,                            int line, int col);    void errorInvalidSlot(const QString &slot, const QString &widgetName, const QString &widgetClass,                          int line, int col);    DomUI *generateUi4(const QDomElement &e, bool implicitIncludes);    DomWidget *createWidget(const QDomElement &w, const QString &widgetClass = QString());    void createProperties(const QDomElement &e, QList<DomProperty*> *properties, const QString &className);    void createAttributes(const QDomElement &e, QList<DomProperty*> *properties, const QString &className);    DomLayout *createLayout(const QDomElement &e);    DomLayoutItem *createLayoutItem(const QDomElement &e);    DomProperty *readProperty(const QDomElement &e);    void fixActionGroup(DomActionGroup *g);    QString fixActionProperties(QList<DomProperty*> &properties, bool isActionGroup = false);    QString fixHeaderName(const QString &headerName) const;    QString fixClassName(const QString &className) const;    QString fixDeclaration(const QString &declaration) const;    QString fixType(const QString &type) const;    QString fixMethod(const QString &method) const;    void findDerivedFontProperties(const QDomElement &n, DomFont &result) const;    void fixLayoutMargin(DomLayout *ui_layout);    QTextStream &out;    QTextOStream trout;    QString languageChangeBody;    QString outputFileName;    QStringList objectNames;    QMap<QString,QString> objectMapper;    QString indent;    QStringList tags;    QStringList layouts;    QString formName;    QString lastItem;    QString trmacro;    bool nofwd;    struct Buddy    {        Buddy(const QString& k, const QString& b)            : key(k), buddy(b) {}        Buddy(){} // for valuelist        QString key;        QString buddy;        bool operator==(const Buddy& other) const            { return (key == other.key); }    };    struct CustomInclude    {        QString header;        QString location;        Q_DUMMY_COMPARISON_OPERATOR(CustomInclude)    };    QList<Buddy> buddies;    QStringList layoutObjects;    bool isLayout(const QString& name) const;    uint item_used : 1;    uint cg_used : 1;    uint pal_used : 1;    uint stdsetdef : 1;    uint externPixmaps : 1;    QString uiFileVersion;    QString nameOfClass;    QStringList namespaces;    QString bareNameOfClass;    QString pixmapLoaderFunction;    void registerDatabases(const QDomElement& e);    bool isWidgetInTable(const QDomElement& e, const QString& connection, const QString& table);    bool isFrameworkCodeGenerated(const QDomElement& e);    QString getDatabaseInfo(const QDomElement& e, const QString& tag);    void createFormImpl(const QDomElement& e, const QString& form, const QString& connection, const QString& table);    void writeFunctionsDecl(const QStringList &fuLst, const QStringList &typLst, const QStringList &specLst);    void writeFunctionsSubDecl(const QStringList &fuLst, const QStringList &typLst, const QStringList &specLst);    void writeFunctionsSubImpl(const QStringList &fuLst, const QStringList &typLst, const QStringList &specLst,                                const QString &subClass, const QString &descr);    QStringList dbConnections;    QMap<QString, QStringList> dbCursors;    QMap<QString, QStringList> dbForms;    static bool isMainWindow;    static QString mkBool(bool b);    static QString mkBool(const QString& s);    bool toBool(const QString& s);    static QString fixString(const QString &str, bool encode = false);    static bool onlyAscii;    static QString mkStdSet(const QString& prop);    static QString getComment(const QDomNode& n);    QVariant defSpacing, defMargin;    QString fileName;    bool writeFunctImpl;    QDomElement root;    QDomElement widget;    QMap<QString, bool> candidateCustomWidgets;    Porting *m_porting;    bool m_extractImages;    QString m_qrcOutputFile;    QMap<QString, QString> m_imageMap;};#endif // UI3READER_H

⌨️ 快捷键说明

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