Ignore:
Timestamp:
May 5, 2011, 5:36:53 AM (14 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.7.2 sources from branches/vendor/nokia/qt.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/tools/qdoc3/htmlgenerator.h

    r651 r846  
    11/****************************************************************************
    22**
    3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
     3** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
    44** All rights reserved.
    55** Contact: Nokia Corporation (qt-info@nokia.com)
     
    4747#define HTMLGENERATOR_H
    4848
    49 #define QDOC_NAME_ALIGNMENT
    50 
    5149#include <qmap.h>
    5250#include <qregexp.h>
     51#include <QXmlStreamWriter>
    5352
    5453#include "codemarker.h"
     
    9089        Property,
    9190        Variable,
     91        QmlClass,
    9292        QmlProperty,
    9393        QmlSignal,
     
    9696    };
    9797
     98    enum Application {
     99        Online,
     100        Creator};
     101
    98102 public:
    99103    HtmlGenerator();
     
    105109    virtual void generateTree(const Tree *tree, CodeMarker *marker);
    106110
    107     static QString protect(const QString& string);
     111    QString protectEnc(const QString &string);
     112    static QString protect(const QString &string, const QString &encoding = "ISO-8859-1");
    108113    static QString cleanRef(const QString& ref);
    109114    static QString sinceTitle(int i) { return sinceTitles[i]; }
     
    116121    virtual void generateClassLikeNode(const InnerNode *inner, CodeMarker *marker);
    117122    virtual void generateFakeNode(const FakeNode *fake, CodeMarker *marker);
    118     virtual QString fileExtension(const Node *node);
     123    virtual QString fileExtension(const Node *node) const;
    119124    virtual QString refForNode(const Node *node);
    120125    virtual QString linkForNode(const Node *node, const Node *relative);
     
    123128 private:
    124129    enum SubTitleSize { SmallSubTitle, LargeSubTitle };
     130    enum ExtractionMarkType {
     131        BriefMark,
     132        DetailedDescriptionMark,
     133        MemberMark,
     134        EndMark
     135    };
    125136
    126137    const QPair<QString,QString> anchorForNode(const Node *node);
     
    129140                                  CodeMarker *marker,
    130141                                  const Atom *atom = 0);
    131     void generateHeader(const QString& title, const Node *node = 0,
    132                         CodeMarker *marker = 0, bool mainPage = true);
     142    void generateBreadCrumbs(const QString& title,
     143                             const Node *node,
     144                             CodeMarker *marker);
     145    void generateHeader(const QString& title,
     146                        const Node *node = 0,
     147                        CodeMarker *marker = 0);
    133148    void generateTitle(const QString& title,
    134149                       const Text &subTitle,
     
    151166                                 int numColumns,
    152167                                 const Node *relative = 0);
    153     QString generateListOfAllMemberFile(const InnerNode *inner, CodeMarker *marker);
     168    void generateTableOfContents(const Node *node,
     169                                 CodeMarker *marker,
     170                                 QList<Section>* sections = 0);
     171    QString generateListOfAllMemberFile(const InnerNode *inner,
     172                                        CodeMarker *marker);
     173    QString generateAllQmlMembersFile(const QmlClassNode* qml_cn,
     174                                      CodeMarker* marker);
    154175    QString generateLowStatusMemberFile(const InnerNode *inner,
    155176                                        CodeMarker *marker,
     
    164185                             CodeMarker *marker,
    165186                             const NodeMap &classMap,
     187                             bool includeAlphabet,
    166188                             QString commonPrefix = QString());
    167189    void generateFunctionIndex(const Node *relative, CodeMarker *marker);
     
    184206                                   CodeMarker *marker);
    185207    void generateQmlInherits(const QmlClassNode* cn, CodeMarker* marker);
     208    void generateQmlInheritedBy(const QmlClassNode* cn, CodeMarker* marker);
    186209    void generateQmlInstantiates(const QmlClassNode* qcn, CodeMarker* marker);
    187210    void generateInstantiatedBy(const ClassNode* cn, CodeMarker* marker);
    188211#endif
    189 #ifdef QDOC_NAME_ALIGNMENT
     212
    190213    void generateSection(const NodeList& nl,
    191214                         const Node *relative,
     
    196219                          CodeMarker *marker,
    197220                          CodeMarker::SynopsisStyle style,
    198                           bool nameAlignment = false);
    199     void generateSectionInheritedList(const Section& section,
    200                                       const Node *relative,
    201                                       CodeMarker *marker,
    202                                       bool nameAlignment = false);
    203     QString highlightedCode(const QString& markedCode,
    204                             CodeMarker *marker,
    205                             const Node *relative,
    206                             CodeMarker::SynopsisStyle style = CodeMarker::Accessors,
    207                             bool nameAlignment = false);
    208 #else
    209     void generateSynopsis(const Node *node,
    210                           const Node *relative,
    211                           CodeMarker *marker,
    212                           CodeMarker::SynopsisStyle style);
     221                          bool alignNames = false);
    213222    void generateSectionInheritedList(const Section& section,
    214223                                      const Node *relative,
    215224                                      CodeMarker *marker);
    216225    QString highlightedCode(const QString& markedCode,
    217                             CodeMarker *marker,
    218                             const Node *relative);
    219 #endif
     226                            CodeMarker* marker,
     227                            const Node* relative,
     228                            bool alignNames = false,
     229                            const Node* self = 0);
     230
    220231    void generateFullName(const Node *apparentNode,
    221232                          const Node *relative,
     
    231242   
    232243    QString registerRef(const QString& ref);
    233     QString fileBase(const Node *node);
     244    virtual QString fileBase(const Node *node) const;
    234245#if 0
    235246    QString fileBase(const Node *node, const SectionIterator& section);
     
    240251    void findAllLegaleseTexts(const InnerNode *node);
    241252    void findAllNamespaces(const InnerNode *node);
    242 #ifdef ZZZ_QDOC_QML   
    243     void findAllQmlClasses(const InnerNode *node);
    244 #endif
    245253    void findAllSince(const InnerNode *node);
    246254    static int hOffset(const Node *node);
     
    256264                               const QString &url,
    257265                               const QString &title);
     266#ifdef GENERATE_MAC_REFS   
    258267    void generateMacRef(const Node *node, CodeMarker *marker);
     268#endif
    259269    void beginLink(const QString &link,
    260270                   const Node *node,
     
    262272                   CodeMarker *marker);
    263273    void endLink();
     274    bool generatePageElement(QXmlStreamWriter& writer,
     275                             const Node* node,
     276                             CodeMarker* marker) const;
     277    void generatePageElements(QXmlStreamWriter& writer,
     278                              const Node* node,
     279                              CodeMarker* marker) const;
     280    void generatePageIndex(const QString& fileName,
     281                           CodeMarker* marker) const;
     282    void generateExtractionMark(const Node *node, ExtractionMarkType markType);
    264283
    265284#if 0
     
    283302    int numTableRows;
    284303    bool threeColumnEnumValueTable;
     304    Application application;
    285305    QString link;
    286306    QStringList sectionNumber;
     
    288308    QString style;
    289309    QString postHeader;
     310    QString postPostHeader;
     311    QString creatorPostHeader;
     312    QString creatorPostPostHeader;
    290313    QString footer;
    291314    QString address;
     
    308331    NodeMap namespaceIndex;
    309332    NodeMap serviceClasses;
    310 #ifdef QDOC_QML   
    311333    NodeMap qmlClasses;
    312 #endif
    313334    QMap<QString, NodeMap > funcIndex;
    314335    QMap<Text, const Node *> legaleseTexts;
     
    316337    static QString sinceTitles[];
    317338    NewClassMaps newClassMaps;
     339    NewClassMaps newQmlClassMaps;
     340    static int id;
     341 public:
     342    static bool debugging_on;
     343    static QString divNavTop;
    318344};
    319345
    320346#define HTMLGENERATOR_ADDRESS           "address"
    321347#define HTMLGENERATOR_FOOTER            "footer"
    322 #define HTMLGENERATOR_GENERATEMACREFS    "generatemacrefs" // ### document me
     348#define HTMLGENERATOR_GENERATEMACREFS   "generatemacrefs" // ### document me
    323349#define HTMLGENERATOR_POSTHEADER        "postheader"
     350#define HTMLGENERATOR_POSTPOSTHEADER    "postpostheader"
     351#define HTMLGENERATOR_CREATORPOSTHEADER        "postheader"
     352#define HTMLGENERATOR_CREATORPOSTPOSTHEADER    "postpostheader"
    324353#define HTMLGENERATOR_STYLE             "style"
    325354#define HTMLGENERATOR_STYLESHEETS       "stylesheets"
Note: See TracChangeset for help on using the changeset viewer.