/******************************************************************************** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).** All rights reserved.** Contact: Nokia Corporation (qt-info@nokia.com)**** This file is part of the tools applications of the Qt Toolkit.**** $QT_BEGIN_LICENSE:LGPL$** No Commercial Usage** This file contains pre-release code and may not be distributed.** You may use this file in accordance with the terms and conditions** contained in the Technology Preview License Agreement accompanying** this package.**** GNU Lesser General Public License Usage** Alternatively, this file may be used under the terms of the GNU Lesser** General Public License version 2.1 as published by the Free Software** Foundation and appearing in the file LICENSE.LGPL included in the** packaging of this file. Please review the following information to** ensure the GNU Lesser General Public License version 2.1 requirements** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.**** In addition, as a special exception, Nokia gives you certain additional** rights. These rights are described in the Nokia Qt LGPL Exception** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.**** If you have questions regarding the use of this file, please contact** Nokia at qt-info@nokia.com.****************** $QT_END_LICENSE$******************************************************************************//* doc.h*/#ifndef DOC_H#define DOC_H#include <QSet>#include <QString>#include "location.h"QT_BEGIN_NAMESPACEclass Atom;class CodeMarker;class Config;class DocPrivate;class Quoter;class Text;class FakeNode;typedef QMap<QString, QStringList> QCommandMap;typedef QMap<QString, QString> QStringMap;typedef QStringMap::const_iterator QStringMapEntry; typedef QMultiMap<QString, QString> QStringMultiMap;class Doc{ public: // the order is important enum SectioningUnit { Book = -2, Part, Chapter, Section1, Section2, Section3, Section4 }; Doc() : priv(0) {} Doc(const Location &start_loc, const Location &end_loc, const QString &source, const QSet<QString> &metaCommandSet); Doc(const Doc &doc); ~Doc(); Doc& operator=( const Doc& doc ); void renameParameters(const QStringList &oldNames, const QStringList &newNames); void simplifyEnumDoc(); void setBody(const Text &body); const Location &location() const; bool isEmpty() const; const QString& source() const; const Text& body() const; Text briefText() const; Text trimmedBriefText(const QString &className) const; Text legaleseText() const; const QString& baseName() const; SectioningUnit granularity() const; const QSet<QString> ¶meterNames() const; const QStringList &enumItemNames() const; const QStringList &omitEnumItemNames() const; const QSet<QString> &metaCommandsUsed() const; QStringList metaCommandArgs( const QString& metaCommand ) const; const QList<Text> &alsoList() const; bool hasTableOfContents() const; bool hasKeywords() const; bool hasTargets() const; const QList<Atom *> &tableOfContents() const; const QList<int> &tableOfContentsLevels() const; const QList<Atom *> &keywords() const; const QList<Atom *> &targets() const; const QStringMap &metaTagMap() const; static void initialize( const Config &config ); static void terminate(); static QString alias( const QString &english ); static void trimCStyleComment( Location& location, QString& str ); static CodeMarker *quoteFromFile(const Location &location, Quoter "er, const QString &fileName); static QString canonicalTitle(const QString &title); private: void detach(); DocPrivate *priv;};QT_END_NAMESPACE#endif