Mercurial > projects > qtd
view tools/duic/d/dwriteincludes.h @ 376:06d8188a23e3
Revert requirement of cmake 2.8@
author | Eldar Insafutdinov <e.insafutdinov@gmail.com> |
---|---|
date | Fri, 09 Jul 2010 20:56:32 +0600 |
parents | e78566595089 |
children |
line wrap: on
line source
/**************************************************************************** ** ** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). ** Contact: Qt Software Information (qt-info@nokia.com) ** ** This file is part of the tools applications of the Qt Toolkit. ** ** Commercial Usage ** Licensees holding valid Qt Commercial licenses may use this file in ** accordance with the Qt Commercial License Agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and Nokia. ** ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License versions 2.0 or 3.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://www.fsf.org/licensing/licenses/info/GPLv2.html and ** http://www.gnu.org/copyleft/gpl.html. In addition, as a special ** exception, Nokia gives you certain additional rights. These rights ** are described in the Nokia Qt GPL Exception version 1.3, included in ** the file GPL_EXCEPTION.txt in this package. ** ** Qt for Windows(R) Licensees ** As a special exception, Nokia, 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. ** ** If you are unsure which license is appropriate for your use, please ** contact the sales department at qt-sales@nokia.com. ** ****************************************************************************/ #ifndef DWRITEINCLUDES_H #define DWRITEINCLUDES_H #include "treewalker.h" #include <QtCore/QHash> #include <QtCore/QMap> #include <QtCore/QSet> #include <QtCore/QString> QT_BEGIN_NAMESPACE class QTextStream; class Driver; class Uic; namespace D { struct WriteIncludes : public TreeWalker { WriteIncludes(Uic *uic); void acceptUI(DomUI *node); void acceptWidget(DomWidget *node); void acceptLayout(DomLayout *node); void acceptSpacer(DomSpacer *node); void acceptProperty(DomProperty *node); void acceptWidgetScripts(const DomScripts &, DomWidget *, const DomWidgets &); // // custom widgets // void acceptCustomWidgets(DomCustomWidgets *node); void acceptCustomWidget(DomCustomWidget *node); // // include hints // void acceptIncludes(DomIncludes *node); void acceptInclude(DomInclude *node); bool scriptsActivated() const { return m_scriptsActivated; } private: void add(const QString &className, bool determineHeader = true, const QString &header = QString(), bool global = false); private: typedef QMap<QString, bool> OrderedSet; void insertIncludeForClass(const QString &className, QString header = QString(), bool global = false); void insertInclude(const QString &header, bool global); void writeHeaders(const OrderedSet &headers, bool global); QString headerForClassName(const QString &className) const; void activateScripts(); const Uic *m_uic; QTextStream &m_output; OrderedSet m_localIncludes; OrderedSet m_globalIncludes; QSet<QString> m_includeBaseNames; QSet<QString> m_knownClasses; typedef QHash<QString, QString> StringMap; StringMap m_classToHeader; StringMap m_oldHeaderToNewHeader; bool m_scriptsActivated; }; } // namespace D QT_END_NAMESPACE #endif // DWRITEINCLUDES_H