/****************************************************************************+ −
**+ −
** Copyright (C) 2009 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_NAMESPACE+ −
+ −
class 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+ −