Orb/Doxygen/src/textdocvisitor.h
changeset 3 d8fccb2cd802
parent 0 42188c7ea2d9
child 4 468f4c8d3d5b
equal deleted inserted replaced
2:932c358ece3e 3:d8fccb2cd802
       
     1 /******************************************************************************
       
     2  *
       
     3  * 
       
     4  *
       
     5  *
       
     6  * Copyright (C) 1997-2008 by Dimitri van Heesch.
       
     7  *
       
     8  * Permission to use, copy, modify, and distribute this software and its
       
     9  * documentation under the terms of the GNU General Public License is hereby 
       
    10  * granted. No representations are made about the suitability of this software 
       
    11  * for any purpose. It is provided "as is" without express or implied warranty.
       
    12  * See the GNU General Public License for more details.
       
    13  *
       
    14  * Documents produced by Doxygen are derivative works derived from the
       
    15  * input used in their production; they are not affected by this license.
       
    16  *
       
    17  */
       
    18 
       
    19 #ifndef _TEXTDOCVISITOR_H
       
    20 #define _TEXTDOCVISITOR_H
       
    21 
       
    22 #include "docvisitor.h"
       
    23 #include "docparser.h"
       
    24 #include <qstack.h>
       
    25 #include <qcstring.h>
       
    26 #include <qtextstream.h>
       
    27 
       
    28 
       
    29 /*! @brief Concrete visitor implementation for TEXT output. */
       
    30 class TextDocVisitor : public DocVisitor
       
    31 {
       
    32   public:
       
    33     TextDocVisitor(QTextStream &t) : DocVisitor(DocVisitor_Text), m_t(t) {}
       
    34     
       
    35     //--------------------------------------
       
    36     // visitor functions for leaf nodes
       
    37     //--------------------------------------
       
    38     
       
    39     void visit(DocWord *w)        { filter(w->word()); }
       
    40     void visit(DocLinkedWord *w)  { filter(w->word()); }
       
    41     void visit(DocWhiteSpace *)   { m_t << " ";       }
       
    42     void visit(DocSymbol *);
       
    43     void visit(DocURL *u)         { filter(u->url());  }
       
    44     void visit(DocLineBreak *)    { m_t << " ";       }
       
    45     void visit(DocHorRuler *)     {}
       
    46     void visit(DocStyleChange *)  {}
       
    47     void visit(DocVerbatim *s)    { filter(s->text()); }
       
    48     void visit(DocAnchor *)       {}
       
    49     void visit(DocInclude *)      {}
       
    50     void visit(DocIncOperator *)  {}
       
    51     void visit(DocFormula *)      {}
       
    52     void visit(DocIndexEntry *)   {}
       
    53     void visit(DocSimpleSectSep *){}
       
    54 
       
    55     //--------------------------------------
       
    56     // visitor functions for compound nodes
       
    57     //--------------------------------------
       
    58     
       
    59     void visitPre(DocAutoList *) {}
       
    60     void visitPost(DocAutoList *) {}
       
    61     void visitPre(DocAutoListItem *) {}
       
    62     void visitPost(DocAutoListItem *) {}
       
    63     void visitPre(DocPara *)  {}
       
    64     void visitPost(DocPara *) {}
       
    65     void visitPre(DocRoot *) {}
       
    66     void visitPost(DocRoot *) {}
       
    67     void visitPre(DocSimpleSect *) {}
       
    68     void visitPost(DocSimpleSect *) {}
       
    69     void visitPre(DocTitle *) {}
       
    70     void visitPost(DocTitle *) {}
       
    71     void visitPre(DocSimpleList *) {}
       
    72     void visitPost(DocSimpleList *) {}
       
    73     void visitPre(DocSimpleListItem *) {}
       
    74     void visitPost(DocSimpleListItem *) {}
       
    75     void visitPre(DocSection *) {}
       
    76     void visitPost(DocSection *) {}
       
    77     void visitPre(DocHtmlList *) {}
       
    78     void visitPost(DocHtmlList *)  {}
       
    79     void visitPre(DocHtmlListItem *) {}
       
    80     void visitPost(DocHtmlListItem *) {}
       
    81     void visitPre(DocHtmlDescList *) {}
       
    82     void visitPost(DocHtmlDescList *) {}
       
    83     void visitPre(DocHtmlDescTitle *) {}
       
    84     void visitPost(DocHtmlDescTitle *) {}
       
    85     void visitPre(DocHtmlDescData *) {}
       
    86     void visitPost(DocHtmlDescData *) {}
       
    87     void visitPre(DocHtmlTable *) {}
       
    88     void visitPost(DocHtmlTable *) {}
       
    89     void visitPre(DocHtmlRow *) {}
       
    90     void visitPost(DocHtmlRow *)  {}
       
    91     void visitPre(DocHtmlCell *) {}
       
    92     void visitPost(DocHtmlCell *) {}
       
    93     void visitPre(DocHtmlCaption *) {}
       
    94     void visitPost(DocHtmlCaption *) {}
       
    95     void visitPre(DocInternal *) {}
       
    96     void visitPost(DocInternal *) {}
       
    97     void visitPre(DocHRef *) {}
       
    98     void visitPost(DocHRef *) {}
       
    99     void visitPre(DocHtmlHeader *) {}
       
   100     void visitPost(DocHtmlHeader *) {}
       
   101     void visitPre(DocImage *) {}
       
   102     void visitPost(DocImage *) {}
       
   103     void visitPre(DocDotFile *) {}
       
   104     void visitPost(DocDotFile *) {}
       
   105     void visitPre(DocLink *) {}
       
   106     void visitPost(DocLink *) {}
       
   107     void visitPre(DocRef *) {}
       
   108     void visitPost(DocRef *) {}
       
   109     void visitPre(DocSecRefItem *) {}
       
   110     void visitPost(DocSecRefItem *) {}
       
   111     void visitPre(DocSecRefList *) {}
       
   112     void visitPost(DocSecRefList *) {}
       
   113     void visitPre(DocParamSect *) {}
       
   114     void visitPost(DocParamSect *) {}
       
   115     void visitPre(DocParamList *) {}
       
   116     void visitPost(DocParamList *) {}
       
   117     void visitPre(DocXRefItem *) {}
       
   118     void visitPost(DocXRefItem *) {}
       
   119     void visitPre(DocInternalRef *) {}
       
   120     void visitPost(DocInternalRef *) {}
       
   121     void visitPre(DocCopy *) {}
       
   122     void visitPost(DocCopy *) {}
       
   123     void visitPre(DocText *) {}
       
   124     void visitPost(DocText *) {}
       
   125 
       
   126   private:
       
   127 
       
   128    void filter(const char *str);
       
   129 
       
   130     QTextStream &m_t;
       
   131 };
       
   132 
       
   133 #endif