Blame src/outputlist.h

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 OUTPUTLIST_H
Packit 1c1d7e
#define OUTPUTLIST_H
Packit 1c1d7e
Packit 1c1d7e
#include <qlist.h>
Packit 1c1d7e
#include "index.h" // for IndexSections
Packit 1c1d7e
#include "outputgen.h"
Packit 1c1d7e
Packit 1c1d7e
#define FORALLPROTO1(arg1) \
Packit 1c1d7e
  void forall(void (OutputGenerator::*func)(arg1),arg1)
Packit 1c1d7e
#define FORALLPROTO2(arg1,arg2) \
Packit 1c1d7e
  void forall(void (OutputGenerator::*func)(arg1,arg2),arg1,arg2)
Packit 1c1d7e
#define FORALLPROTO3(arg1,arg2,arg3) \
Packit 1c1d7e
  void forall(void (OutputGenerator::*func)(arg1,arg2,arg3),arg1,arg2,arg3)
Packit 1c1d7e
#define FORALLPROTO4(arg1,arg2,arg3,arg4) \
Packit 1c1d7e
  void forall(void (OutputGenerator::*func)(arg1,arg2,arg3,arg4),arg1,arg2,arg3,arg4)
Packit 1c1d7e
#define FORALLPROTO5(arg1,arg2,arg3,arg4,arg5) \
Packit 1c1d7e
  void forall(void (OutputGenerator::*func)(arg1,arg2,arg3,arg4,arg5),arg1,arg2,arg3,arg4,arg5)
Packit 1c1d7e
#define FORALLPROTO6(arg1,arg2,arg3,arg4,arg5,arg6) \
Packit 1c1d7e
  void forall(void (OutputGenerator::*func)(arg1,arg2,arg3,arg4,arg5,arg6),arg1,arg2,arg3,arg4,arg5,arg6)
Packit 1c1d7e
#define FORALLPROTO7(arg1,arg2,arg3,arg4,arg5,arg6,arg7) \
Packit 1c1d7e
  void forall(void (OutputGenerator::*func)(arg1,arg2,arg3,arg4,arg5,arg6,arg7),arg1,arg2,arg3,arg4,arg5,arg6,arg7)
Packit 1c1d7e
#define FORALLPROTO8(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) \
Packit 1c1d7e
  void forall(void (OutputGenerator::*func)(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8),arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8)
Packit 1c1d7e
  
Packit 1c1d7e
class ClassDiagram;
Packit 1c1d7e
class DotClassGraph;
Packit 1c1d7e
class DotDirDeps;
Packit 1c1d7e
class DotInclDepGraph;
Packit 1c1d7e
class DotGfxHierarchyTable;
Packit 1c1d7e
class SectionDict;
Packit 1c1d7e
class DotGroupCollaboration;
Packit 1c1d7e
class DocRoot;
Packit 1c1d7e
Packit 1c1d7e
/** Class representing a list of output generators that are written to
Packit 1c1d7e
 *  in parallel. 
Packit 1c1d7e
 */
Packit 1c1d7e
class OutputList : public OutputDocInterface
Packit 1c1d7e
{
Packit 1c1d7e
  public:
Packit 1c1d7e
    OutputList(bool);
Packit 1c1d7e
    virtual ~OutputList();
Packit 1c1d7e
Packit 1c1d7e
    void add(const OutputGenerator *);
Packit 1c1d7e
    uint count() const { return m_outputs.count(); }
Packit 1c1d7e
    
Packit 1c1d7e
    void disableAllBut(OutputGenerator::OutputType o);
Packit 1c1d7e
    void enableAll();
Packit 1c1d7e
    void disableAll();
Packit 1c1d7e
    void disable(OutputGenerator::OutputType o);
Packit 1c1d7e
    void enable(OutputGenerator::OutputType o);
Packit 1c1d7e
    bool isEnabled(OutputGenerator::OutputType o);
Packit 1c1d7e
    void pushGeneratorState();
Packit 1c1d7e
    void popGeneratorState();
Packit 1c1d7e
Packit 1c1d7e
Packit 1c1d7e
    //////////////////////////////////////////////////
Packit 1c1d7e
    // OutputDocInterface implementation
Packit 1c1d7e
    //////////////////////////////////////////////////
Packit 1c1d7e
Packit 1c1d7e
    bool generateDoc(const char *fileName,int startLine,
Packit 1c1d7e
                     Definition *ctx,MemberDef *md,const QCString &docStr,
Packit 1c1d7e
                     bool indexWords,bool isExample,const char *exampleName=0,
Packit 1c1d7e
                     bool singleLine=FALSE,bool linkFromIndex=FALSE);
Packit 1c1d7e
    void writeDoc(DocRoot *root,Definition *ctx,MemberDef *md);
Packit 1c1d7e
    bool parseText(const QCString &textStr);
Packit 1c1d7e
    
Packit 1c1d7e
Packit 1c1d7e
    void startIndexSection(IndexSections is)
Packit 1c1d7e
    { forall(&OutputGenerator::startIndexSection,is); }
Packit 1c1d7e
    void endIndexSection(IndexSections is)
Packit 1c1d7e
    { forall(&OutputGenerator::endIndexSection,is); }
Packit 1c1d7e
    void writePageLink(const char *name,bool first)
Packit 1c1d7e
    { forall(&OutputGenerator::writePageLink,name,first); }
Packit 1c1d7e
    void startProjectNumber()
Packit 1c1d7e
    { forall(&OutputGenerator::startProjectNumber); }
Packit 1c1d7e
    void endProjectNumber()
Packit 1c1d7e
    { forall(&OutputGenerator::endProjectNumber); }
Packit 1c1d7e
    void writeStyleInfo(int part) 
Packit 1c1d7e
    { forall(&OutputGenerator::writeStyleInfo,part); }
Packit 1c1d7e
    void startFile(const char *name,const char *manName,const char *title)
Packit 1c1d7e
    { forall(&OutputGenerator::startFile,name,manName,title); }
Packit 1c1d7e
    void writeSearchInfo()
Packit 1c1d7e
    { forall(&OutputGenerator::writeSearchInfo); }
Packit 1c1d7e
    void writeFooter(const char *navPath)
Packit 1c1d7e
    { forall(&OutputGenerator::writeFooter,navPath); }
Packit 1c1d7e
    void endFile() 
Packit 1c1d7e
    { forall(&OutputGenerator::endFile); }
Packit 1c1d7e
    void startTitleHead(const char *fileName) 
Packit 1c1d7e
    { forall(&OutputGenerator::startTitleHead,fileName); }
Packit 1c1d7e
    void endTitleHead(const char *fileName,const char *name)
Packit 1c1d7e
    { forall(&OutputGenerator::endTitleHead,fileName,name); }
Packit 1c1d7e
    void startTitle() 
Packit 1c1d7e
    { forall(&OutputGenerator::startTitle); }
Packit 1c1d7e
    void endTitle() 
Packit 1c1d7e
    { forall(&OutputGenerator::endTitle); }
Packit 1c1d7e
    //void newParagraph() 
Packit 1c1d7e
    //{ forall(&OutputGenerator::newParagraph); }
Packit 1c1d7e
    void startParagraph(const char *classDef=0)
Packit 1c1d7e
    { forall(&OutputGenerator::startParagraph,classDef); }
Packit 1c1d7e
    void endParagraph() 
Packit 1c1d7e
    { forall(&OutputGenerator::endParagraph); }
Packit 1c1d7e
    void writeString(const char *text) 
Packit 1c1d7e
    { forall(&OutputGenerator::writeString,text); }
Packit 1c1d7e
    void startIndexListItem() 
Packit 1c1d7e
    { forall(&OutputGenerator::startIndexListItem); }
Packit 1c1d7e
    void endIndexListItem() 
Packit 1c1d7e
    { forall(&OutputGenerator::endIndexListItem); }
Packit 1c1d7e
    void startIndexList() 
Packit 1c1d7e
    { forall(&OutputGenerator::startIndexList); }
Packit 1c1d7e
    void endIndexList() 
Packit 1c1d7e
    { forall(&OutputGenerator::endIndexList); }
Packit 1c1d7e
    void startIndexKey()
Packit 1c1d7e
    { forall(&OutputGenerator::startIndexKey); }
Packit 1c1d7e
    void endIndexKey()
Packit 1c1d7e
    { forall(&OutputGenerator::endIndexKey); }
Packit 1c1d7e
    void startIndexValue(bool b)
Packit 1c1d7e
    { forall(&OutputGenerator::startIndexValue,b); }
Packit 1c1d7e
    void endIndexValue(const char *name,bool b)
Packit 1c1d7e
    { forall(&OutputGenerator::endIndexValue,name,b); }
Packit 1c1d7e
    void startItemList() 
Packit 1c1d7e
    { forall(&OutputGenerator::startItemList); }
Packit 1c1d7e
    void endItemList() 
Packit 1c1d7e
    { forall(&OutputGenerator::endItemList); }
Packit 1c1d7e
    void startIndexItem(const char *ref,const char *file)
Packit 1c1d7e
    { forall(&OutputGenerator::startIndexItem,ref,file); }
Packit 1c1d7e
    void endIndexItem(const char *ref,const char *file)
Packit 1c1d7e
    { forall(&OutputGenerator::endIndexItem,ref,file); }
Packit 1c1d7e
    void docify(const char *s)
Packit 1c1d7e
    { forall(&OutputGenerator::docify,s); }
Packit 1c1d7e
    void codify(const char *s)
Packit 1c1d7e
    { forall(&OutputGenerator::codify,s); }
Packit 1c1d7e
    void writeObjectLink(const char *ref,const char *file,
Packit 1c1d7e
                         const char *anchor, const char *name)
Packit 1c1d7e
    { forall(&OutputGenerator::writeObjectLink,ref,file,anchor,name); }
Packit 1c1d7e
    void writeCodeLink(const char *ref,const char *file,
Packit 1c1d7e
                       const char *anchor,const char *name,
Packit 1c1d7e
                       const char *tooltip)
Packit 1c1d7e
    { forall(&OutputGenerator::writeCodeLink,ref,file,anchor,name,tooltip); }
Packit 1c1d7e
    void writeTooltip(const char *id, const DocLinkInfo &docInfo, const char *decl,
Packit 1c1d7e
                      const char *desc, const SourceLinkInfo &defInfo, const SourceLinkInfo &declInfo)
Packit 1c1d7e
    { forall(&OutputGenerator::writeTooltip,id,docInfo,decl,desc,defInfo,declInfo); }
Packit 1c1d7e
    void startTextLink(const char *file,const char *anchor)
Packit 1c1d7e
    { forall(&OutputGenerator::startTextLink,file,anchor); }
Packit 1c1d7e
    void endTextLink()
Packit 1c1d7e
    { forall(&OutputGenerator::endTextLink); }
Packit 1c1d7e
    void startHtmlLink(const char *url)
Packit 1c1d7e
    { forall(&OutputGenerator::startHtmlLink,url); }
Packit 1c1d7e
    void endHtmlLink()
Packit 1c1d7e
    { forall(&OutputGenerator::endHtmlLink); }
Packit 1c1d7e
    void writeStartAnnoItem(const char *type,const char *file, 
Packit 1c1d7e
                            const char *path,const char *name)
Packit 1c1d7e
    { forall(&OutputGenerator::writeStartAnnoItem,type,file,path,name); }
Packit 1c1d7e
    void writeEndAnnoItem(const char *name)
Packit 1c1d7e
    { forall(&OutputGenerator::writeEndAnnoItem,name); }
Packit 1c1d7e
    void startTypewriter() 
Packit 1c1d7e
    { forall(&OutputGenerator::startTypewriter); }
Packit 1c1d7e
    void endTypewriter() 
Packit 1c1d7e
    { forall(&OutputGenerator::endTypewriter); }
Packit 1c1d7e
    void startGroupHeader(int extraLevels=0)
Packit 1c1d7e
    { forall(&OutputGenerator::startGroupHeader,extraLevels); }
Packit 1c1d7e
    void endGroupHeader(int extraLevels=0)
Packit 1c1d7e
    { forall(&OutputGenerator::endGroupHeader,extraLevels); }
Packit 1c1d7e
    //void writeListItem() 
Packit 1c1d7e
    //{ forall(&OutputGenerator::writeListItem); }
Packit 1c1d7e
    void startItemListItem() 
Packit 1c1d7e
    { forall(&OutputGenerator::startItemListItem); }
Packit 1c1d7e
    void endItemListItem() 
Packit 1c1d7e
    { forall(&OutputGenerator::endItemListItem); }
Packit 1c1d7e
    void startMemberSections()
Packit 1c1d7e
    { forall(&OutputGenerator::startMemberSections); }
Packit 1c1d7e
    void endMemberSections()
Packit 1c1d7e
    { forall(&OutputGenerator::endMemberSections); }
Packit 1c1d7e
    void startHeaderSection()
Packit 1c1d7e
    { forall(&OutputGenerator::startHeaderSection); }
Packit 1c1d7e
    void endHeaderSection()
Packit 1c1d7e
    { forall(&OutputGenerator::endHeaderSection); }
Packit 1c1d7e
    void startMemberHeader(const char *anchor)
Packit 1c1d7e
    { forall(&OutputGenerator::startMemberHeader,anchor); }
Packit 1c1d7e
    void endMemberHeader()
Packit 1c1d7e
    { forall(&OutputGenerator::endMemberHeader); }
Packit 1c1d7e
    void startMemberSubtitle()
Packit 1c1d7e
    { forall(&OutputGenerator::startMemberSubtitle); }
Packit 1c1d7e
    void endMemberSubtitle()
Packit 1c1d7e
    { forall(&OutputGenerator::endMemberSubtitle); }
Packit 1c1d7e
    void startMemberDocList() 
Packit 1c1d7e
    { forall(&OutputGenerator::startMemberDocList); }
Packit 1c1d7e
    void endMemberDocList() 
Packit 1c1d7e
    { forall(&OutputGenerator::endMemberDocList); }
Packit 1c1d7e
    void startMemberList() 
Packit 1c1d7e
    { forall(&OutputGenerator::startMemberList); }
Packit 1c1d7e
    void endMemberList() 
Packit 1c1d7e
    { forall(&OutputGenerator::endMemberList); }
Packit 1c1d7e
    void startInlineHeader()
Packit 1c1d7e
    { forall(&OutputGenerator::startInlineHeader); }
Packit 1c1d7e
    void endInlineHeader()
Packit 1c1d7e
    { forall(&OutputGenerator::endInlineHeader); }
Packit 1c1d7e
    void startAnonTypeScope(int i1) 
Packit 1c1d7e
    { forall(&OutputGenerator::startAnonTypeScope,i1); }
Packit 1c1d7e
    void endAnonTypeScope(int i1) 
Packit 1c1d7e
    { forall(&OutputGenerator::endAnonTypeScope,i1); }
Packit 1c1d7e
    void startMemberItem(const char *anchor,int i1,const char *id=0) 
Packit 1c1d7e
    { forall(&OutputGenerator::startMemberItem,anchor,i1,id); }
Packit 1c1d7e
    void endMemberItem() 
Packit 1c1d7e
    { forall(&OutputGenerator::endMemberItem); }
Packit 1c1d7e
    void startMemberTemplateParams() 
Packit 1c1d7e
    { forall(&OutputGenerator::startMemberTemplateParams); }
Packit 1c1d7e
    void endMemberTemplateParams(const char *anchor,const char *inheritId) 
Packit 1c1d7e
    { forall(&OutputGenerator::endMemberTemplateParams,anchor,inheritId); }
Packit 1c1d7e
    void startMemberGroupHeader(bool b) 
Packit 1c1d7e
    { forall(&OutputGenerator::startMemberGroupHeader,b); }
Packit 1c1d7e
    void endMemberGroupHeader()
Packit 1c1d7e
    { forall(&OutputGenerator::endMemberGroupHeader); }
Packit 1c1d7e
    void startMemberGroupDocs()
Packit 1c1d7e
    { forall(&OutputGenerator::startMemberGroupDocs); }
Packit 1c1d7e
    void endMemberGroupDocs()
Packit 1c1d7e
    { forall(&OutputGenerator::endMemberGroupDocs); }
Packit 1c1d7e
    void startMemberGroup()
Packit 1c1d7e
    { forall(&OutputGenerator::startMemberGroup); }
Packit 1c1d7e
    void endMemberGroup(bool last)
Packit 1c1d7e
    { forall(&OutputGenerator::endMemberGroup,last); }
Packit 1c1d7e
    void insertMemberAlign(bool templ=FALSE) 
Packit 1c1d7e
    { forall(&OutputGenerator::insertMemberAlign,templ); }
Packit 1c1d7e
    void writeRuler() 
Packit 1c1d7e
    { forall(&OutputGenerator::writeRuler); }
Packit 1c1d7e
    void writeAnchor(const char *fileName,const char *name)
Packit 1c1d7e
    { forall(&OutputGenerator::writeAnchor,fileName,name); }
Packit 1c1d7e
    void startCodeFragment() 
Packit 1c1d7e
    { forall(&OutputGenerator::startCodeFragment); }
Packit 1c1d7e
    void endCodeFragment() 
Packit 1c1d7e
    { forall(&OutputGenerator::endCodeFragment); }
Packit 1c1d7e
    void startCodeLine(bool hasLineNumbers) 
Packit 1c1d7e
    { forall(&OutputGenerator::startCodeLine,hasLineNumbers); }
Packit 1c1d7e
    void endCodeLine() 
Packit 1c1d7e
    { forall(&OutputGenerator::endCodeLine); }
Packit 1c1d7e
    void writeLineNumber(const char *ref,const char *file,const char *anchor,
Packit 1c1d7e
                         int lineNumber) 
Packit 1c1d7e
    { forall(&OutputGenerator::writeLineNumber,ref,file,anchor,lineNumber); }
Packit 1c1d7e
    void startEmphasis() 
Packit 1c1d7e
    { forall(&OutputGenerator::startEmphasis); }
Packit 1c1d7e
    void endEmphasis() 
Packit 1c1d7e
    { forall(&OutputGenerator::endEmphasis); }
Packit 1c1d7e
    void writeChar(char c)
Packit 1c1d7e
    { forall(&OutputGenerator::writeChar,c); }
Packit 1c1d7e
    void startMemberDoc(const char *clName,const char *memName,
Packit 1c1d7e
                        const char *anchor,const char *title,
Packit 1c1d7e
                        int memCount,int memTotal,bool showInline)
Packit 1c1d7e
    { forall(&OutputGenerator::startMemberDoc,clName,memName,anchor,title,memCount,memTotal,showInline); }
Packit 1c1d7e
    void endMemberDoc(bool hasArgs) 
Packit 1c1d7e
    { forall(&OutputGenerator::endMemberDoc,hasArgs); }
Packit 1c1d7e
    void startDoxyAnchor(const char *fName,const char *manName,
Packit 1c1d7e
                         const char *anchor, const char *name,
Packit 1c1d7e
                         const char *args)
Packit 1c1d7e
    { forall(&OutputGenerator::startDoxyAnchor,fName,manName,anchor,name,args); }
Packit 1c1d7e
    void endDoxyAnchor(const char *fn,const char *anchor)
Packit 1c1d7e
    { forall(&OutputGenerator::endDoxyAnchor,fn,anchor); }
Packit 1c1d7e
    void writeLatexSpacing() 
Packit 1c1d7e
    { forall(&OutputGenerator::writeLatexSpacing); }
Packit 1c1d7e
    void startDescription() 
Packit 1c1d7e
    { forall(&OutputGenerator::startDescription); }
Packit 1c1d7e
    void endDescription() 
Packit 1c1d7e
    { forall(&OutputGenerator::endDescription); }
Packit 1c1d7e
    void startDescItem() 
Packit 1c1d7e
    { forall(&OutputGenerator::startDescItem); }
Packit 1c1d7e
    void endDescItem() 
Packit 1c1d7e
    { forall(&OutputGenerator::endDescItem); }
Packit 1c1d7e
    void startDescForItem() 
Packit 1c1d7e
    { forall(&OutputGenerator::startDescForItem); }
Packit 1c1d7e
    void endDescForItem() 
Packit 1c1d7e
    { forall(&OutputGenerator::endDescForItem); }
Packit 1c1d7e
    void startSubsection() 
Packit 1c1d7e
    { forall(&OutputGenerator::startSubsection); }
Packit 1c1d7e
    void endSubsection() 
Packit 1c1d7e
    { forall(&OutputGenerator::endSubsection); }
Packit 1c1d7e
    void startSubsubsection() 
Packit 1c1d7e
    { forall(&OutputGenerator::startSubsubsection); }
Packit 1c1d7e
    void endSubsubsection() 
Packit 1c1d7e
    { forall(&OutputGenerator::endSubsubsection); }
Packit 1c1d7e
    void startCenter() 
Packit 1c1d7e
    { forall(&OutputGenerator::startCenter); }
Packit 1c1d7e
    void endCenter() 
Packit 1c1d7e
    { forall(&OutputGenerator::endCenter); }
Packit 1c1d7e
    void startSmall() 
Packit 1c1d7e
    { forall(&OutputGenerator::startSmall); }
Packit 1c1d7e
    void endSmall() 
Packit 1c1d7e
    { forall(&OutputGenerator::endSmall); }
Packit 1c1d7e
    void lineBreak(const char *style=0) 
Packit 1c1d7e
    { forall(&OutputGenerator::lineBreak,style); }
Packit 1c1d7e
    void startBold() 
Packit 1c1d7e
    { forall(&OutputGenerator::startBold); }
Packit 1c1d7e
    void endBold() 
Packit 1c1d7e
    { forall(&OutputGenerator::endBold); }
Packit 1c1d7e
    void startMemberDescription(const char *anchor,const char *inheritId=0) 
Packit 1c1d7e
    { forall(&OutputGenerator::startMemberDescription,anchor,inheritId); }
Packit 1c1d7e
    void endMemberDescription() 
Packit 1c1d7e
    { forall(&OutputGenerator::endMemberDescription); }
Packit 1c1d7e
    void startMemberDeclaration()
Packit 1c1d7e
    { forall(&OutputGenerator::startMemberDeclaration); }
Packit 1c1d7e
    void endMemberDeclaration(const char *anchor,const char *inheritId)
Packit 1c1d7e
    { forall(&OutputGenerator::endMemberDeclaration,anchor,inheritId); }
Packit 1c1d7e
    void writeInheritedSectionTitle(const char *id,   const char *ref,
Packit 1c1d7e
                                    const char *file, const char *anchor,
Packit 1c1d7e
                                    const char *title,const char *name)
Packit 1c1d7e
    { forall(&OutputGenerator::writeInheritedSectionTitle,id,ref,
Packit 1c1d7e
                                    file,anchor,title,name); }
Packit 1c1d7e
    void startSimpleSect(SectionTypes t,const char *file,const char *anchor,
Packit 1c1d7e
                         const char *title) 
Packit 1c1d7e
    { forall(&OutputGenerator::startSimpleSect,t,file,anchor,title); }
Packit 1c1d7e
    void endSimpleSect() 
Packit 1c1d7e
    { forall(&OutputGenerator::endSimpleSect); }
Packit 1c1d7e
    void startParamList(ParamListTypes t,const char *title) 
Packit 1c1d7e
    { forall(&OutputGenerator::startParamList,t,title); }
Packit 1c1d7e
    void endParamList() 
Packit 1c1d7e
    { forall(&OutputGenerator::endParamList); }
Packit 1c1d7e
    void startIndent() 
Packit 1c1d7e
    { forall(&OutputGenerator::startIndent); }
Packit 1c1d7e
    void endIndent() 
Packit 1c1d7e
    { forall(&OutputGenerator::endIndent); }
Packit 1c1d7e
    void startSection(const char *lab,const char *title,SectionInfo::SectionType t)
Packit 1c1d7e
    { forall(&OutputGenerator::startSection,lab,title,t); }
Packit 1c1d7e
    void endSection(const char *lab,SectionInfo::SectionType t)
Packit 1c1d7e
    { forall(&OutputGenerator::endSection,lab,t); }
Packit 1c1d7e
    void addIndexItem(const char *s1,const char *s2)
Packit 1c1d7e
    { forall(&OutputGenerator::addIndexItem,s1,s2); }
Packit 1c1d7e
    void writeSynopsis() 
Packit 1c1d7e
    { forall(&OutputGenerator::writeSynopsis); }
Packit 1c1d7e
    void startClassDiagram()
Packit 1c1d7e
    { forall(&OutputGenerator::startClassDiagram); }
Packit 1c1d7e
    void endClassDiagram(const ClassDiagram &d,const char *f,const char *n)
Packit 1c1d7e
    { forall(&OutputGenerator::endClassDiagram,d,f,n); }
Packit 1c1d7e
    void startPageRef()
Packit 1c1d7e
    { forall(&OutputGenerator::startPageRef); }
Packit 1c1d7e
    void endPageRef(const char *c,const char *a)
Packit 1c1d7e
    { forall(&OutputGenerator::endPageRef,c,a); }
Packit 1c1d7e
    void startQuickIndices()
Packit 1c1d7e
    { forall(&OutputGenerator::startQuickIndices); }
Packit 1c1d7e
    void endQuickIndices()
Packit 1c1d7e
    { forall(&OutputGenerator::endQuickIndices); }
Packit 1c1d7e
    void writeSplitBar(const char *name)
Packit 1c1d7e
    { forall(&OutputGenerator::writeSplitBar,name); }
Packit 1c1d7e
    void writeNavigationPath(const char *s)
Packit 1c1d7e
    { forall(&OutputGenerator::writeNavigationPath,s); }
Packit 1c1d7e
    void writeLogo()
Packit 1c1d7e
    { forall(&OutputGenerator::writeLogo); }
Packit 1c1d7e
    void writeQuickLinks(bool compact,HighlightedItem hli,const char *file)
Packit 1c1d7e
    { forall(&OutputGenerator::writeQuickLinks,compact,hli,file); }
Packit 1c1d7e
    void writeSummaryLink(const char *file,const char *anchor,const char *title,bool first)
Packit 1c1d7e
    { forall(&OutputGenerator::writeSummaryLink,file,anchor,title,first); }
Packit 1c1d7e
    void startContents()
Packit 1c1d7e
    { forall(&OutputGenerator::startContents); }
Packit 1c1d7e
    void endContents()
Packit 1c1d7e
    { forall(&OutputGenerator::endContents); }
Packit 1c1d7e
    void writeNonBreakableSpace(int num)
Packit 1c1d7e
    { forall(&OutputGenerator::writeNonBreakableSpace,num); }
Packit 1c1d7e
    void startDescTable(const char *title)
Packit 1c1d7e
    { forall(&OutputGenerator::startDescTable,title); }
Packit 1c1d7e
    void endDescTable()
Packit 1c1d7e
    { forall(&OutputGenerator::endDescTable); }
Packit 1c1d7e
    void startDescTableRow()
Packit 1c1d7e
    { forall(&OutputGenerator::startDescTableRow); }
Packit 1c1d7e
    void endDescTableRow()
Packit 1c1d7e
    { forall(&OutputGenerator::endDescTableRow); }
Packit 1c1d7e
    void startDescTableTitle()
Packit 1c1d7e
    { forall(&OutputGenerator::startDescTableTitle); }
Packit 1c1d7e
    void endDescTableTitle()
Packit 1c1d7e
    { forall(&OutputGenerator::endDescTableTitle); }
Packit 1c1d7e
    void startDescTableData()
Packit 1c1d7e
    { forall(&OutputGenerator::startDescTableData); }
Packit 1c1d7e
    void endDescTableData()
Packit 1c1d7e
    { forall(&OutputGenerator::endDescTableData); }
Packit 1c1d7e
    void startDotGraph()
Packit 1c1d7e
    { forall(&OutputGenerator::startDotGraph); }
Packit 1c1d7e
    void endDotGraph(const DotClassGraph &g)
Packit 1c1d7e
    { forall(&OutputGenerator::endDotGraph,g); }
Packit 1c1d7e
    void startInclDepGraph()
Packit 1c1d7e
    { forall(&OutputGenerator::startInclDepGraph); }
Packit 1c1d7e
    void endInclDepGraph(const DotInclDepGraph &g)
Packit 1c1d7e
    { forall(&OutputGenerator::endInclDepGraph,g); }
Packit 1c1d7e
    void startCallGraph()
Packit 1c1d7e
    { forall(&OutputGenerator::startCallGraph); }
Packit 1c1d7e
    void endCallGraph(const DotCallGraph &g)
Packit 1c1d7e
    { forall(&OutputGenerator::endCallGraph,g); }
Packit 1c1d7e
    void startDirDepGraph()
Packit 1c1d7e
    { forall(&OutputGenerator::startDirDepGraph); }
Packit 1c1d7e
    void endDirDepGraph(const DotDirDeps &g)
Packit 1c1d7e
    { forall(&OutputGenerator::endDirDepGraph,g); }
Packit 1c1d7e
    void startGroupCollaboration()
Packit 1c1d7e
    { forall(&OutputGenerator::startGroupCollaboration); }
Packit 1c1d7e
    void endGroupCollaboration(const DotGroupCollaboration &g)
Packit 1c1d7e
    { forall(&OutputGenerator::endGroupCollaboration,g); }
Packit 1c1d7e
    void writeGraphicalHierarchy(const DotGfxHierarchyTable &g)
Packit 1c1d7e
    { forall(&OutputGenerator::writeGraphicalHierarchy,g); }
Packit 1c1d7e
    void startTextBlock(bool dense=FALSE)
Packit 1c1d7e
    { forall(&OutputGenerator::startTextBlock,dense); }
Packit 1c1d7e
    void endTextBlock(bool paraBreak=FALSE)
Packit 1c1d7e
    { forall(&OutputGenerator::endTextBlock,paraBreak); }
Packit 1c1d7e
    void lastIndexPage()
Packit 1c1d7e
    { forall(&OutputGenerator::lastIndexPage); }
Packit 1c1d7e
    void startMemberDocPrefixItem()
Packit 1c1d7e
    { forall(&OutputGenerator::startMemberDocPrefixItem); }
Packit 1c1d7e
    void endMemberDocPrefixItem()
Packit 1c1d7e
    { forall(&OutputGenerator::endMemberDocPrefixItem); }
Packit 1c1d7e
    void startMemberDocName(bool align)
Packit 1c1d7e
    { forall(&OutputGenerator::startMemberDocName,align); }
Packit 1c1d7e
    void endMemberDocName()
Packit 1c1d7e
    { forall(&OutputGenerator::endMemberDocName); }
Packit 1c1d7e
    void startParameterType(bool first,const char *key)
Packit 1c1d7e
    { forall(&OutputGenerator::startParameterType,first,key); }
Packit 1c1d7e
    void endParameterType()
Packit 1c1d7e
    { forall(&OutputGenerator::endParameterType); }
Packit 1c1d7e
    void startParameterName(bool one)
Packit 1c1d7e
    { forall(&OutputGenerator::startParameterName,one); }
Packit 1c1d7e
    void endParameterName(bool last,bool one,bool bracket)
Packit 1c1d7e
    { forall(&OutputGenerator::endParameterName,last,one,bracket); }
Packit 1c1d7e
    void startParameterList(bool openBracket)
Packit 1c1d7e
    { forall(&OutputGenerator::startParameterList,openBracket); }
Packit 1c1d7e
    void endParameterList()
Packit 1c1d7e
    { forall(&OutputGenerator::endParameterList); }
Packit 1c1d7e
    void exceptionEntry(const char* prefix,bool closeBracket)
Packit 1c1d7e
    { forall(&OutputGenerator::exceptionEntry,prefix,closeBracket); }
Packit 1c1d7e
Packit 1c1d7e
    void startConstraintList(const char *header) 
Packit 1c1d7e
    { forall(&OutputGenerator::startConstraintList,header); }
Packit 1c1d7e
    void startConstraintParam() 
Packit 1c1d7e
    { forall(&OutputGenerator::startConstraintParam); }
Packit 1c1d7e
    void endConstraintParam() 
Packit 1c1d7e
    { forall(&OutputGenerator::endConstraintParam); }
Packit 1c1d7e
    void startConstraintType()
Packit 1c1d7e
    { forall(&OutputGenerator::startConstraintType); }
Packit 1c1d7e
    void endConstraintType()
Packit 1c1d7e
    { forall(&OutputGenerator::endConstraintType); }
Packit 1c1d7e
    void startConstraintDocs()
Packit 1c1d7e
    { forall(&OutputGenerator::startConstraintDocs); }
Packit 1c1d7e
    void endConstraintDocs()
Packit 1c1d7e
    { forall(&OutputGenerator::endConstraintDocs); }
Packit 1c1d7e
    void endConstraintList()
Packit 1c1d7e
    { forall(&OutputGenerator::endConstraintList); }
Packit 1c1d7e
Packit 1c1d7e
    void startMemberDocSimple(bool b)
Packit 1c1d7e
    { forall(&OutputGenerator::startMemberDocSimple,b); }
Packit 1c1d7e
    void endMemberDocSimple(bool b)
Packit 1c1d7e
    { forall(&OutputGenerator::endMemberDocSimple,b); }
Packit 1c1d7e
    void startInlineMemberType()
Packit 1c1d7e
    { forall(&OutputGenerator::startInlineMemberType); }
Packit 1c1d7e
    void endInlineMemberType()
Packit 1c1d7e
    { forall(&OutputGenerator::endInlineMemberType); }
Packit 1c1d7e
    void startInlineMemberName()
Packit 1c1d7e
    { forall(&OutputGenerator::startInlineMemberName); }
Packit 1c1d7e
    void endInlineMemberName()
Packit 1c1d7e
    { forall(&OutputGenerator::endInlineMemberName); }
Packit 1c1d7e
    void startInlineMemberDoc()
Packit 1c1d7e
    { forall(&OutputGenerator::startInlineMemberDoc); }
Packit 1c1d7e
    void endInlineMemberDoc()
Packit 1c1d7e
    { forall(&OutputGenerator::endInlineMemberDoc); }
Packit 1c1d7e
Packit 1c1d7e
    void startLabels() 
Packit 1c1d7e
    { forall(&OutputGenerator::startLabels); }
Packit 1c1d7e
    void writeLabel(const char *l,bool isLast)
Packit 1c1d7e
    { forall(&OutputGenerator::writeLabel,l,isLast); }
Packit 1c1d7e
    void endLabels()
Packit 1c1d7e
    { forall(&OutputGenerator::endLabels); }
Packit 1c1d7e
Packit 1c1d7e
    void startFontClass(const char *c)
Packit 1c1d7e
    { forall(&OutputGenerator::startFontClass,c); }
Packit 1c1d7e
    void endFontClass()
Packit 1c1d7e
    { forall(&OutputGenerator::endFontClass); }
Packit 1c1d7e
    void writeCodeAnchor(const char *name)
Packit 1c1d7e
    { forall(&OutputGenerator::writeCodeAnchor,name); }
Packit 1c1d7e
    void setCurrentDoc(Definition *context,const char *anchor,bool isSourceFile)
Packit 1c1d7e
    { forall(&OutputGenerator::setCurrentDoc,context,anchor,isSourceFile); }
Packit 1c1d7e
    void addWord(const char *word,bool hiPriority)
Packit 1c1d7e
    { forall(&OutputGenerator::addWord,word,hiPriority); }
Packit 1c1d7e
Packit 1c1d7e
    void startPlainFile(const char *name)
Packit 1c1d7e
    {
Packit 1c1d7e
      QListIterator<OutputGenerator> it(m_outputs);
Packit 1c1d7e
      OutputGenerator *og;
Packit 1c1d7e
      for (;(og=it.current());++it)
Packit 1c1d7e
      {
Packit 1c1d7e
        if (og->isEnabled()) (og->startPlainFile)(name);
Packit 1c1d7e
      }
Packit 1c1d7e
    }
Packit 1c1d7e
    void endPlainFile()
Packit 1c1d7e
    {
Packit 1c1d7e
      QListIterator<OutputGenerator> it(m_outputs);
Packit 1c1d7e
      OutputGenerator *og;
Packit 1c1d7e
      for (;(og=it.current());++it)
Packit 1c1d7e
      {
Packit 1c1d7e
        if (og->isEnabled()) (og->endPlainFile)();
Packit 1c1d7e
      }
Packit 1c1d7e
    }
Packit 1c1d7e
Packit 1c1d7e
  private:
Packit 1c1d7e
    void debug();
Packit 1c1d7e
    void clear();
Packit 1c1d7e
Packit 1c1d7e
    void forall(void (OutputGenerator::*func)());
Packit 1c1d7e
    FORALLPROTO1(const char *);
Packit 1c1d7e
    FORALLPROTO1(char);
Packit 1c1d7e
    FORALLPROTO1(IndexSections);
Packit 1c1d7e
    FORALLPROTO1(int);
Packit 1c1d7e
    FORALLPROTO1(const DotClassGraph &);
Packit 1c1d7e
    FORALLPROTO1(const DotInclDepGraph &);
Packit 1c1d7e
    FORALLPROTO1(const DotCallGraph &);
Packit 1c1d7e
    FORALLPROTO1(const DotGroupCollaboration &);
Packit 1c1d7e
    FORALLPROTO1(const DotDirDeps &);
Packit 1c1d7e
    FORALLPROTO1(const DotGfxHierarchyTable &);
Packit 1c1d7e
    FORALLPROTO1(SectionTypes);
Packit 1c1d7e
#if defined(HAS_BOOL_TYPE) || defined(Q_HAS_BOOL_TYPE)
Packit 1c1d7e
    FORALLPROTO1(bool);
Packit 1c1d7e
    FORALLPROTO2(bool,int);
Packit 1c1d7e
    FORALLPROTO2(bool,bool);
Packit 1c1d7e
    FORALLPROTO2(const char *,bool);
Packit 1c1d7e
    FORALLPROTO4(const char *,const char *,const char *,int);
Packit 1c1d7e
#endif
Packit 1c1d7e
    FORALLPROTO2(int,bool);
Packit 1c1d7e
    FORALLPROTO2(bool,const char *);
Packit 1c1d7e
    FORALLPROTO2(ParamListTypes,const char *);
Packit 1c1d7e
    FORALLPROTO2(const char *,const char *);
Packit 1c1d7e
    FORALLPROTO2(const char *,int);
Packit 1c1d7e
    FORALLPROTO2(const char *,SectionInfo::SectionType);
Packit 1c1d7e
    FORALLPROTO3(bool,HighlightedItem,const char *);
Packit 1c1d7e
    FORALLPROTO3(bool,bool,bool);
Packit 1c1d7e
    FORALLPROTO3(const char *,const char *,bool);
Packit 1c1d7e
    FORALLPROTO3(const char *,int,const char *);
Packit 1c1d7e
    FORALLPROTO3(const char *,const char *,SectionInfo::SectionType);
Packit 1c1d7e
    FORALLPROTO3(uchar,uchar,uchar);
Packit 1c1d7e
    FORALLPROTO3(const char *,const char *,const char *);
Packit 1c1d7e
    FORALLPROTO3(const ClassDiagram &,const char *,const char *);
Packit 1c1d7e
    FORALLPROTO3(Definition*,const char *,bool);
Packit 1c1d7e
    FORALLPROTO4(SectionTypes,const char *,const char *,const char *);
Packit 1c1d7e
    FORALLPROTO4(const char *,const char *,const char *,const char *);
Packit 1c1d7e
    FORALLPROTO4(const char *,const char *,const char *,bool);
Packit 1c1d7e
    FORALLPROTO5(const char *,const char *,const char *,const char *,const char *);
Packit 1c1d7e
    FORALLPROTO5(const char *,const char *,const char *,const char *,bool);
Packit 1c1d7e
    FORALLPROTO6(const char *,const char *,const char *,const char *,const char *,const char *);
Packit 1c1d7e
    FORALLPROTO6(const char *,const DocLinkInfo &,const char *,const char *,const SourceLinkInfo &,const SourceLinkInfo &);
Packit 1c1d7e
    FORALLPROTO7(const char *,const char *,const char *,const char *,int,int,bool);
Packit 1c1d7e
Packit 1c1d7e
    OutputList(const OutputList &ol);
Packit 1c1d7e
    QList<OutputGenerator> m_outputs;
Packit 1c1d7e
};
Packit 1c1d7e
Packit 1c1d7e
#endif