summaryrefslogtreecommitdiffstats
path: root/trunk/src/outputlist.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/src/outputlist.cpp')
-rw-r--r--trunk/src/outputlist.cpp316
1 files changed, 0 insertions, 316 deletions
diff --git a/trunk/src/outputlist.cpp b/trunk/src/outputlist.cpp
deleted file mode 100644
index cb1bba1..0000000
--- a/trunk/src/outputlist.cpp
+++ /dev/null
@@ -1,316 +0,0 @@
-/******************************************************************************
- *
- *
- *
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation under the terms of the GNU General Public License is hereby
- * granted. No representations are made about the suitability of this software
- * for any purpose. It is provided "as is" without express or implied warranty.
- * See the GNU General Public License for more details.
- *
- * Documents produced by Doxygen are derivative works derived from the
- * input used in their production; they are not affected by this license.
- *
- */
-
-/*! \file
- * This class represents a list of output generators that work in "parallel".
- * The class only knows about the abstract base class OutputGenerators.
- * All output is produced by calling a method of this class, which forwards
- * the call to all output generators.
- */
-
-#include "outputlist.h"
-#include "outputgen.h"
-#include "config.h"
-#include "message.h"
-#include "definition.h"
-
-#include "docparser.h"
-
-OutputList::OutputList(bool)
-{
- //printf("OutputList::OutputList()\n");
- outputs = new QList<OutputGenerator>;
- outputs->setAutoDelete(TRUE);
-}
-
-OutputList::~OutputList()
-{
- //printf("OutputList::~OutputList()\n");
- delete outputs;
-}
-
-void OutputList::add(const OutputGenerator *og)
-{
- if (og) outputs->append(og);
-}
-
-void OutputList::disableAllBut(OutputGenerator::OutputType o)
-{
- OutputGenerator *og=outputs->first();
- while (og)
- {
- og->disableIfNot(o);
- og=outputs->next();
- }
-}
-
-void OutputList::enableAll()
-{
- OutputGenerator *og=outputs->first();
- while (og)
- {
- og->enable();
- og=outputs->next();
- }
-}
-
-void OutputList::disableAll()
-{
- OutputGenerator *og=outputs->first();
- while (og)
- {
- og->disable();
- og=outputs->next();
- }
-}
-
-void OutputList::disable(OutputGenerator::OutputType o)
-{
- OutputGenerator *og=outputs->first();
- while (og)
- {
- og->disableIf(o);
- og=outputs->next();
- }
-}
-
-void OutputList::enable(OutputGenerator::OutputType o)
-{
- OutputGenerator *og=outputs->first();
- while (og)
- {
- og->enableIf(o);
- og=outputs->next();
- }
-}
-
-bool OutputList::isEnabled(OutputGenerator::OutputType o)
-{
- bool result=FALSE;
- OutputGenerator *og=outputs->first();
- while (og)
- {
- result=result || og->isEnabled(o);
- og=outputs->next();
- }
- return result;
-}
-
-void OutputList::pushGeneratorState()
-{
- OutputGenerator *og=outputs->first();
- while (og)
- {
- og->pushGeneratorState();
- og=outputs->next();
- }
-}
-
-void OutputList::popGeneratorState()
-{
- OutputGenerator *og=outputs->first();
- while (og)
- {
- og->popGeneratorState();
- og=outputs->next();
- }
-}
-
-void OutputList::parseDoc(const char *fileName,int startLine,
- Definition *ctx,MemberDef * md,
- const QCString &docStr,bool indexWords,
- bool isExample,const char *exampleName,
- bool singleLine,bool linkFromIndex)
-{
- int count=0;
- if (docStr.isEmpty()) return;
-
- OutputGenerator *og=outputs->first();
- while (og)
- {
- if (og->isEnabled()) count++;
- og=outputs->next();
- }
- if (count==0) return; // no output formats enabled.
-
- DocNode *root=0;
- if (docStr.at(docStr.length()-1)=='\n')
- {
- root = validatingParseDoc(fileName,startLine,
- ctx,md,docStr,indexWords,isExample,exampleName,
- singleLine,linkFromIndex);
- }
- else
- {
- root = validatingParseDoc(fileName,startLine,
- ctx,md,docStr+"\n",indexWords,isExample,exampleName,
- singleLine,linkFromIndex);
- }
-
- og=outputs->first();
- while (og)
- {
- //printf("og->printDoc(extension=%s)\n",
- // ctx?ctx->getDefFileExtension().data():"<null>");
- if (og->isEnabled()) og->printDoc(root,ctx?ctx->getDefFileExtension():QCString(""));
- og=outputs->next();
- }
-
- delete root;
-}
-
-void OutputList::parseText(const QCString &textStr)
-{
- int count=0;
- OutputGenerator *og=outputs->first();
- while (og)
- {
- if (og->isEnabled()) count++;
- og=outputs->next();
- }
- if (count==0) return; // no output formats enabled.
-
- DocNode *root = validatingParseText(textStr);
-
- og=outputs->first();
- while (og)
- {
- if (og->isEnabled()) og->printDoc(root,0);
- og=outputs->next();
- }
-
- delete root;
-}
-
-
-//--------------------------------------------------------------------------
-// Create some overloaded definitions of the forall function.
-// Using template functions here would have made it a little less
-// portable (I guess).
-
-// zero arguments
-void OutputList::forall(void (OutputGenerator::*func)())
-{
- OutputGenerator *og=outputs->first();
- while (og)
- {
- if (og->isEnabled()) (og->*func)();
- og=outputs->next();
- }
-}
-
-// one argument
-#define FORALL1(a1,p1) \
-void OutputList::forall(void (OutputGenerator::*func)(a1),a1) \
-{ \
- OutputGenerator *og=outputs->first(); \
- while (og) \
- { \
- if (og->isEnabled()) (og->*func)(p1); \
- og=outputs->next(); \
- } \
-}
-
-// two arguments
-#define FORALL2(a1,a2,p1,p2) \
-void OutputList::forall(void (OutputGenerator::*func)(a1,a2),a1,a2) \
-{ \
- OutputGenerator *og=outputs->first(); \
- while (og) \
- { \
- if (og->isEnabled()) (og->*func)(p1,p2); \
- og=outputs->next(); \
- } \
-}
-
-// three arguments
-#define FORALL3(a1,a2,a3,p1,p2,p3) \
-void OutputList::forall(void (OutputGenerator::*func)(a1,a2,a3),a1,a2,a3) \
-{ \
- OutputGenerator *og=outputs->first(); \
- while (og) \
- { \
- if (og->isEnabled()) (og->*func)(p1,p2,p3); \
- og=outputs->next(); \
- } \
-}
-
-// four arguments
-#define FORALL4(a1,a2,a3,a4,p1,p2,p3,p4) \
-void OutputList::forall(void (OutputGenerator::*func)(a1,a2,a3,a4),a1,a2,a3,a4) \
-{ \
- OutputGenerator *og=outputs->first(); \
- while (og) \
- { \
- if (og->isEnabled()) (og->*func)(p1,p2,p3,p4); \
- og=outputs->next(); \
- } \
-}
-
-// five arguments
-#define FORALL5(a1,a2,a3,a4,a5,p1,p2,p3,p4,p5) \
-void OutputList::forall(void (OutputGenerator::*func)(a1,a2,a3,a4,a5),a1,a2,a3,a4,a5) \
-{ \
- OutputGenerator *og=outputs->first(); \
- while (og) \
- { \
- if (og->isEnabled()) (og->*func)(p1,p2,p3,p4,p5); \
- og=outputs->next(); \
- } \
-}
-
-// now instantiate only the ones we need.
-
-FORALL1(const char *a1,a1)
-FORALL1(char a1,a1)
-FORALL1(int a1,a1)
-FORALL1(const DotClassGraph &a1,a1)
-FORALL1(const DotInclDepGraph &a1,a1)
-FORALL1(const DotCallGraph &a1,a1)
-FORALL1(const DotDirDeps &a1,a1)
-FORALL1(const DotGfxHierarchyTable &a1,a1)
-FORALL1(const DotGroupCollaboration &a1,a1)
-FORALL1(SectionTypes a1,a1)
-#if defined(HAS_BOOL_TYPE) || defined(Q_HAS_BOOL_TYPE)
-FORALL1(bool a1,a1)
-FORALL2(bool a1,int a2,a1,a2)
-FORALL2(bool a1,bool a2,a1,a2)
-FORALL2(const char *a1,bool a2,a1,a2)
-FORALL4(const char *a1,const char *a2,const char *a3,bool a4,a1,a2,a3,a4)
-#endif
-FORALL2(int a1,bool a2,a1,a2)
-FORALL2(bool a1,const char *a2,a1,a2)
-FORALL2(ParamListTypes a1,const char *a2,a1,a2)
-FORALL1(IndexSections a1,a1)
-FORALL2(const char *a1,const char *a2,a1,a2)
-FORALL2(const char *a1,int a2,a1,a2)
-FORALL2(const char *a1,SectionInfo::SectionType a2,a1,a2)
-FORALL3(bool a1,HighlightedItem a2,const char *a3,a1,a2,a3)
-FORALL3(bool a1,bool a2,bool a3,a1,a2,a3)
-FORALL3(const ClassDiagram &a1,const char *a2,const char *a3,a1,a2,a3)
-FORALL3(const char *a1,const char *a2,const char *a3,a1,a2,a3)
-FORALL3(const char *a1,const char *a2,bool a3,a1,a2,a3)
-FORALL3(const char *a1,const char *a2,SectionInfo::SectionType a3,a1,a2,a3)
-FORALL3(uchar a1,uchar a2,uchar a3,a1,a2,a3)
-FORALL4(SectionTypes a1,const char *a2,const char *a3,const char *a4,a1,a2,a3,a4)
-FORALL4(const char *a1,const char *a2,const char *a3,const char *a4,a1,a2,a3,a4)
-FORALL4(const char *a1,const char *a2,const char *a3,int a4,a1,a2,a3,a4)
-FORALL5(const char *a1,const char *a2,const char *a3,const char *a4,const char *a5,a1,a2,a3,a4,a5)
-FORALL5(const char *a1,const char *a2,const char *a3,const char *a4,bool a5,a1,a2,a3,a4,a5)
-
-
-//--------------------------------------------------------------------------