diff options
Diffstat (limited to 'src/mangen.h')
-rw-r--r-- | src/mangen.h | 171 |
1 files changed, 171 insertions, 0 deletions
diff --git a/src/mangen.h b/src/mangen.h new file mode 100644 index 0000000..d091782 --- /dev/null +++ b/src/mangen.h @@ -0,0 +1,171 @@ +/****************************************************************************** + * + * $Id$ + * + * Copyright (C) 1997-1999 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. + * + * All output generated with Doxygen is not covered by this license. + * + */ + +#ifndef MANGEN_H +#define MANGEN_H + +#include "outputgen.h" + +class QFile; + +class ManGenerator : public OutputGenerator +{ + public: + ManGenerator(); + ~ManGenerator(); + + OutputGenerator *copy() { return new ManGenerator; } + //OutputGenerator *clone() { return new ManGenerator(*this); } + void append(const OutputGenerator *o); + void enable() { active=TRUE; } + void disable() { active=FALSE; } + void enableIf(OutputType o) { if (o==Man) active=TRUE; } + void disableIf(OutputType o) { if (o==Man) active=FALSE; } + void disableIfNot(OutputType o) { if (o!=Man) active=FALSE; } + bool isEnabled(OutputType o) { return (o==Man && active); } + OutputGenerator *get(OutputType o) { return (o==Man) ? this : 0; } + + static void init(); + void startFile(const char *name,const char *title,bool external); + void writeFooter(int,bool) {} + void endFile(); + void clearBuffer(); + + //void writeIndex(); + void startIndexSection(IndexSections) {} + void endIndexSection(IndexSections) {} + void startProjectNumber() {} + void endProjectNumber() {} + void writeStyleInfo(int) {} + void startTitleHead() {} + void endTitleHead(const char *); + void startTitle(); + void endTitle() {} + + void newParagraph(); + void writeString(const char *text); + void startIndexList() {} + void endIndexList() {} + void startItemList() {} + void endItemList() {} + void startEnumList() {} + void endEnumList() {} + void writeIndexItem(const char *ref,const char *file,const char *name); + void docify(const char *text); + void codify(const char *text); + void writeObjectLink(const char *ref,const char *file, + const char *anchor,const char *name); + void writeCodeLink(const char *ref,const char *f, + const char *anchor,const char *name); + void startTextLink(const char *,const char *) {} + void endTextLink() {} + void writeHtmlLink(const char *url,const char *text); + void startTypewriter() { t << "\\fC"; firstCol=FALSE; } + void endTypewriter() { t << "\\fR"; firstCol=FALSE; } + void startGroupHeader(); + void endGroupHeader(); + void startMemberHeader(); + void endMemberHeader(); + void writeListItem(); + void startMemberList() { t << "\n.in +1c"; firstCol=FALSE; } + void endMemberList() { t << "\n.in -1c"; firstCol=FALSE; } + void startMemberItem() { if (firstCol) t << ".in +1c"; + t << "\n.ti -1c\n.RI \""; + firstCol=FALSE; + } + void endMemberItem() { t << "\"\n.br"; } + void writeRuler() {} + void writeAnchor(const char *) {} + void startCodeFragment(); + void endCodeFragment(); + void writeBoldString(const char *text) + { t << "\\fB"; docify(text); t << "\\fR"; firstCol=FALSE; } + void startEmphasis() { t << "\\fI"; firstCol=FALSE; } + void endEmphasis() { t << "\\fR"; firstCol=FALSE; } + void startBold() { t << "\\fB"; firstCol=FALSE; } + void endBold() { t << "\\fR"; firstCol=FALSE; } + void startDescription() {} + void endDescription() {} + void startDescItem(); + void endDescItem(); + void lineBreak() { t << "\n.br" << endl; } + void writeChar(char c); + void startMemberDoc(const char *,const char *,const char *); + void endMemberDoc() {} + void writeDoxyAnchor(const char *clName,const char *anchor,const char *name); + void writeLatexSpacing() {} + void writeStartAnnoItem(const char *type,const char *file, + const char *path,const char *name); + void writeEndAnnoItem(const char *) { t << endl; firstCol=TRUE; } + void startSubsection(); + void endSubsection() {} + void startSubsubsection(); + void endSubsubsection() {} + void startCenter() {} + void endCenter() {} + void startSmall() {} + void endSmall() {} + void startSubscript() { t << "\\*<"; firstCol=FALSE; } + void endSubscript() { t << "\\*>"; firstCol=FALSE; } + void startSuperscript() { t << "\\*{"; firstCol=FALSE; } + void endSuperscript() { t << "\\*}"; firstCol=FALSE; } + void startTable(int) {} + void endTable() {} + void nextTableRow() {} + void endTableRow() {} + void nextTableColumn() {} + void endTableColumn() {} + void writeCopyright() { t << "(c)"; firstCol=FALSE; } + void writeQuote() { t << "\""; firstCol=FALSE; } + void writeUmlaut(char c) { t << c << "\\*'"; firstCol=FALSE; } + void writeAcute(char c) { t << c << "\\*`"; firstCol=FALSE; } + void writeGrave(char c) { t << c << "\\*:"; firstCol=FALSE; } + void writeCirc(char c) { t << c << "\\*^"; firstCol=FALSE; } + void writeTilde(char c) { t << c << "\\*~"; firstCol=FALSE; } + void startMemberDescription() { t << "\n.RI \"\\fI"; firstCol=FALSE; } + void endMemberDescription() { t << "\\fR\""; firstCol=FALSE; } + void startDescList(); + void endDescTitle(); + void writeDescItem(); + void endDescList() {} + void writeSection(const char *,const char *,bool) {} + void writeSectionRef(const char *,const char *,const char *) {} + void writeSectionRefItem(const char *,const char *,const char *) {} + void addToIndex(const char *,const char *) {} + void startIndent() {} + void endIndent() {} + void writeSynopsis(); + //void generateExternalIndex() {} + void startClassDiagram() {} + void endClassDiagram(ClassDiagram &,const char *,const char *) {} + void startColorFont(uchar,uchar,uchar) {} + void endColorFont() {} + void writePageRef(const char *,const char *) {} + void startQuickIndexItem(const char *,const char *) {} + void endQuickIndexItem() {} + void writeFormula(const char *,const char *) {} + + private: + bool firstCol; + bool paragraph; + int col; + bool upperCase; + + ManGenerator(const ManGenerator &g); + ManGenerator &operator=(const ManGenerator &g); +}; + +#endif |