Blame src/textdocvisitor.h

Packit 1c1d7e
/******************************************************************************
Packit 1c1d7e
 *
Packit 1c1d7e
 * 
Packit 1c1d7e
 *
Packit 1c1d7e
 *
Packit 1c1d7e
 * Copyright (C) 1997-2015 by Dimitri van Heesch.
Packit 1c1d7e
 *
Packit 1c1d7e
 * Permission to use, copy, modify, and distribute this software and its
Packit 1c1d7e
 * documentation under the terms of the GNU General Public License is hereby 
Packit 1c1d7e
 * granted. No representations are made about the suitability of this software 
Packit 1c1d7e
 * for any purpose. It is provided "as is" without express or implied warranty.
Packit 1c1d7e
 * See the GNU General Public License for more details.
Packit 1c1d7e
 *
Packit 1c1d7e
 * Documents produced by Doxygen are derivative works derived from the
Packit 1c1d7e
 * input used in their production; they are not affected by this license.
Packit 1c1d7e
 *
Packit 1c1d7e
 */
Packit 1c1d7e
Packit 1c1d7e
#ifndef _TEXTDOCVISITOR_H
Packit 1c1d7e
#define _TEXTDOCVISITOR_H
Packit 1c1d7e
Packit 1c1d7e
#include "docvisitor.h"
Packit 1c1d7e
#include "docparser.h"
Packit 1c1d7e
#include <qstack.h>
Packit 1c1d7e
#include <qcstring.h>
Packit 1c1d7e
#include "ftextstream.h"
Packit 1c1d7e
Packit 1c1d7e
Packit 1c1d7e
/*! @brief Concrete visitor implementation for TEXT output. */
Packit 1c1d7e
class TextDocVisitor : public DocVisitor
Packit 1c1d7e
{
Packit 1c1d7e
  public:
Packit 1c1d7e
    TextDocVisitor(FTextStream &t) : DocVisitor(DocVisitor_Text), m_t(t) {}
Packit 1c1d7e
    
Packit 1c1d7e
    //--------------------------------------
Packit 1c1d7e
    // visitor functions for leaf nodes
Packit 1c1d7e
    //--------------------------------------
Packit 1c1d7e
    
Packit 1c1d7e
    void visit(DocWord *w)        { filter(w->word()); }
Packit 1c1d7e
    void visit(DocLinkedWord *w)  { filter(w->word()); }
Packit 1c1d7e
    void visit(DocWhiteSpace *)   { m_t << " ";       }
Packit 1c1d7e
    void visit(DocSymbol *);
Packit 1c1d7e
    void visit(DocURL *u)         { filter(u->url());  }
Packit 1c1d7e
    void visit(DocLineBreak *)    { m_t << " ";       }
Packit 1c1d7e
    void visit(DocHorRuler *)     {}
Packit 1c1d7e
    void visit(DocStyleChange *)  {}
Packit 1c1d7e
    void visit(DocVerbatim *s)    { filter(s->text()); }
Packit 1c1d7e
    void visit(DocAnchor *)       {}
Packit 1c1d7e
    void visit(DocInclude *)      {}
Packit 1c1d7e
    void visit(DocIncOperator *)  {}
Packit 1c1d7e
    void visit(DocFormula *)      {}
Packit 1c1d7e
    void visit(DocIndexEntry *)   {}
Packit 1c1d7e
    void visit(DocSimpleSectSep *){}
Packit 1c1d7e
    void visit(DocCite *)         {}
Packit 1c1d7e
Packit 1c1d7e
    //--------------------------------------
Packit 1c1d7e
    // visitor functions for compound nodes
Packit 1c1d7e
    //--------------------------------------
Packit 1c1d7e
    
Packit 1c1d7e
    void visitPre(DocAutoList *) {}
Packit 1c1d7e
    void visitPost(DocAutoList *) {}
Packit 1c1d7e
    void visitPre(DocAutoListItem *) {}
Packit 1c1d7e
    void visitPost(DocAutoListItem *) {}
Packit 1c1d7e
    void visitPre(DocPara *)  {}
Packit 1c1d7e
    void visitPost(DocPara *) {}
Packit 1c1d7e
    void visitPre(DocRoot *) {}
Packit 1c1d7e
    void visitPost(DocRoot *) {}
Packit 1c1d7e
    void visitPre(DocSimpleSect *) {}
Packit 1c1d7e
    void visitPost(DocSimpleSect *) {}
Packit 1c1d7e
    void visitPre(DocTitle *) {}
Packit 1c1d7e
    void visitPost(DocTitle *) {}
Packit 1c1d7e
    void visitPre(DocSimpleList *) {}
Packit 1c1d7e
    void visitPost(DocSimpleList *) {}
Packit 1c1d7e
    void visitPre(DocSimpleListItem *) {}
Packit 1c1d7e
    void visitPost(DocSimpleListItem *) {}
Packit 1c1d7e
    void visitPre(DocSection *) {}
Packit 1c1d7e
    void visitPost(DocSection *) {}
Packit 1c1d7e
    void visitPre(DocHtmlList *) {}
Packit 1c1d7e
    void visitPost(DocHtmlList *)  {}
Packit 1c1d7e
    void visitPre(DocHtmlListItem *) {}
Packit 1c1d7e
    void visitPost(DocHtmlListItem *) {}
Packit 1c1d7e
    void visitPre(DocHtmlDescList *) {}
Packit 1c1d7e
    void visitPost(DocHtmlDescList *) {}
Packit 1c1d7e
    void visitPre(DocHtmlDescTitle *) {}
Packit 1c1d7e
    void visitPost(DocHtmlDescTitle *) {}
Packit 1c1d7e
    void visitPre(DocHtmlDescData *) {}
Packit 1c1d7e
    void visitPost(DocHtmlDescData *) {}
Packit 1c1d7e
    void visitPre(DocHtmlTable *) {}
Packit 1c1d7e
    void visitPost(DocHtmlTable *) {}
Packit 1c1d7e
    void visitPre(DocHtmlRow *) {}
Packit 1c1d7e
    void visitPost(DocHtmlRow *)  {}
Packit 1c1d7e
    void visitPre(DocHtmlCell *) {}
Packit 1c1d7e
    void visitPost(DocHtmlCell *) {}
Packit 1c1d7e
    void visitPre(DocHtmlCaption *) {}
Packit 1c1d7e
    void visitPost(DocHtmlCaption *) {}
Packit 1c1d7e
    void visitPre(DocInternal *) {}
Packit 1c1d7e
    void visitPost(DocInternal *) {}
Packit 1c1d7e
    void visitPre(DocHRef *) {}
Packit 1c1d7e
    void visitPost(DocHRef *) {}
Packit 1c1d7e
    void visitPre(DocHtmlHeader *) {}
Packit 1c1d7e
    void visitPost(DocHtmlHeader *) {}
Packit 1c1d7e
    void visitPre(DocImage *) {}
Packit 1c1d7e
    void visitPost(DocImage *) {}
Packit 1c1d7e
    void visitPre(DocDotFile *) {}
Packit 1c1d7e
    void visitPost(DocDotFile *) {}
Packit 1c1d7e
Packit 1c1d7e
    void visitPre(DocMscFile *) {}
Packit 1c1d7e
    void visitPost(DocMscFile *) {}
Packit 1c1d7e
    void visitPre(DocDiaFile *) {}
Packit 1c1d7e
    void visitPost(DocDiaFile *) {}
Packit 1c1d7e
    void visitPre(DocLink *) {}
Packit 1c1d7e
    void visitPost(DocLink *) {}
Packit 1c1d7e
    void visitPre(DocRef *) {}
Packit 1c1d7e
    void visitPost(DocRef *) {}
Packit 1c1d7e
    void visitPre(DocSecRefItem *) {}
Packit 1c1d7e
    void visitPost(DocSecRefItem *) {}
Packit 1c1d7e
    void visitPre(DocSecRefList *) {}
Packit 1c1d7e
    void visitPost(DocSecRefList *) {}
Packit 1c1d7e
    void visitPre(DocParamSect *) {}
Packit 1c1d7e
    void visitPost(DocParamSect *) {}
Packit 1c1d7e
    void visitPre(DocParamList *) {}
Packit 1c1d7e
    void visitPost(DocParamList *) {}
Packit 1c1d7e
    void visitPre(DocXRefItem *) {}
Packit 1c1d7e
    void visitPost(DocXRefItem *) {}
Packit 1c1d7e
    void visitPre(DocInternalRef *) {}
Packit 1c1d7e
    void visitPost(DocInternalRef *) {}
Packit 1c1d7e
    void visitPre(DocCopy *) {}
Packit 1c1d7e
    void visitPost(DocCopy *) {}
Packit 1c1d7e
    void visitPre(DocText *) {}
Packit 1c1d7e
    void visitPost(DocText *) {}
Packit 1c1d7e
    void visitPre(DocHtmlBlockQuote *) {}
Packit 1c1d7e
    void visitPost(DocHtmlBlockQuote *) {}
Packit 1c1d7e
    void visitPre(DocVhdlFlow *) {}
Packit 1c1d7e
    void visitPost(DocVhdlFlow *) {}
Packit 1c1d7e
    void visitPre(DocParBlock *) {}
Packit 1c1d7e
    void visitPost(DocParBlock *) {}
Packit 1c1d7e
Packit 1c1d7e
  private:
Packit 1c1d7e
Packit 1c1d7e
   void filter(const char *str);
Packit 1c1d7e
Packit 1c1d7e
    FTextStream &m_;;
Packit 1c1d7e
};
Packit 1c1d7e
Packit 1c1d7e
#endif