|
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 _HTMLDOCVISITOR_H
|
|
Packit |
1c1d7e |
#define _HTMLDOCVISITOR_H
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#include "docvisitor.h"
|
|
Packit |
1c1d7e |
#include <qstack.h>
|
|
Packit |
1c1d7e |
#include <qcstring.h>
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class Definition;
|
|
Packit |
1c1d7e |
class MemberDef;
|
|
Packit |
1c1d7e |
class DocNode;
|
|
Packit |
1c1d7e |
class FTextStream;
|
|
Packit |
1c1d7e |
class CodeOutputInterface;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/*! @brief Concrete visitor implementation for HTML output. */
|
|
Packit |
1c1d7e |
class HtmlDocVisitor : public DocVisitor
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
HtmlDocVisitor(FTextStream &t,CodeOutputInterface &ci,Definition *ctx);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//--------------------------------------
|
|
Packit |
1c1d7e |
// visitor functions for leaf nodes
|
|
Packit |
1c1d7e |
//--------------------------------------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void visit(DocWord *);
|
|
Packit |
1c1d7e |
void visit(DocLinkedWord *);
|
|
Packit |
1c1d7e |
void visit(DocWhiteSpace *);
|
|
Packit |
1c1d7e |
void visit(DocSymbol *);
|
|
Packit |
1c1d7e |
void visit(DocURL *);
|
|
Packit |
1c1d7e |
void visit(DocLineBreak *);
|
|
Packit |
1c1d7e |
void visit(DocHorRuler *);
|
|
Packit |
1c1d7e |
void visit(DocStyleChange *);
|
|
Packit |
1c1d7e |
void visit(DocVerbatim *);
|
|
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 |
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 |
//--------------------------------------
|
|
Packit |
1c1d7e |
// helper functions
|
|
Packit |
1c1d7e |
//--------------------------------------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void writeObfuscatedMailAddress(const QCString &url;;
|
|
Packit |
1c1d7e |
void filter(const char *str);
|
|
Packit |
1c1d7e |
void filterQuotedCdataAttr(const char* str);
|
|
Packit |
1c1d7e |
void startLink(const QCString &ref,const QCString &file,
|
|
Packit |
1c1d7e |
const QCString &relPath,const QCString &anchor,
|
|
Packit |
1c1d7e |
const QCString &tooltip = "");
|
|
Packit |
1c1d7e |
void endLink();
|
|
Packit |
1c1d7e |
void writeDotFile(const QCString &fileName,const QCString &relPath,const QCString &context);
|
|
Packit |
1c1d7e |
void writeMscFile(const QCString &fileName,const QCString &relPath,const QCString &context);
|
|
Packit |
1c1d7e |
void writeDiaFile(const QCString &fileName,const QCString &relPath,const QCString &context);
|
|
Packit |
1c1d7e |
void writePlantUMLFile(const QCString &fileName,const QCString &relPath,const QCString &context);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void pushEnabled();
|
|
Packit |
1c1d7e |
void popEnabled();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void forceEndParagraph(DocNode *n);
|
|
Packit |
1c1d7e |
void forceStartParagraph(DocNode *n);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//--------------------------------------
|
|
Packit |
1c1d7e |
// state variables
|
|
Packit |
1c1d7e |
//--------------------------------------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
FTextStream &m_;;
|
|
Packit |
1c1d7e |
CodeOutputInterface &m_ci;
|
|
Packit |
1c1d7e |
bool m_insidePre;
|
|
Packit |
1c1d7e |
bool m_hide;
|
|
Packit |
1c1d7e |
QStack<bool> m_enabled;
|
|
Packit |
1c1d7e |
Definition *m_ctx;
|
|
Packit |
1c1d7e |
QCString m_langExt;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#endif
|