diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2003-01-26 21:10:54 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2003-01-26 21:10:54 (GMT) |
commit | daa0336ab06f76a07f59499cbc47fd919073749d (patch) | |
tree | 76af52671423a9b083a05f78c82f3435635ab400 | |
parent | 92792d3adc9011f35467341eb535ed3580ddb901 (diff) | |
download | Doxygen-daa0336ab06f76a07f59499cbc47fd919073749d.zip Doxygen-daa0336ab06f76a07f59499cbc47fd919073749d.tar.gz Doxygen-daa0336ab06f76a07f59499cbc47fd919073749d.tar.bz2 |
Release-1.3-rc2-20030126
-rw-r--r-- | Doxyfile | 2 | ||||
-rw-r--r-- | INSTALL | 4 | ||||
-rw-r--r-- | README | 4 | ||||
-rw-r--r-- | VERSION | 2 | ||||
-rw-r--r-- | addon/doxmlparser/src/memberhandler.h | 19 | ||||
-rw-r--r-- | packages/rpm/doxygen.spec | 2 | ||||
-rw-r--r-- | src/classdef.cpp | 8 | ||||
-rw-r--r-- | src/classdef.h | 2 | ||||
-rw-r--r-- | src/config.l | 7 | ||||
-rw-r--r-- | src/definition.cpp | 13 | ||||
-rw-r--r-- | src/definition.h | 1 | ||||
-rw-r--r-- | src/docparser.cpp | 2 | ||||
-rw-r--r-- | src/filename.cpp | 8 | ||||
-rw-r--r-- | src/ftvhelp.cpp | 376 | ||||
-rw-r--r-- | src/ftvhelp.h | 13 | ||||
-rw-r--r-- | src/latexdocvisitor.cpp | 4 | ||||
-rw-r--r-- | src/scanner.l | 5 | ||||
-rw-r--r-- | src/tagreader.cpp | 1 | ||||
-rw-r--r-- | src/translator_jp.h | 26 |
19 files changed, 458 insertions, 41 deletions
@@ -107,7 +107,7 @@ BINARY_TOC = NO TOC_EXPAND = NO DISABLE_INDEX = NO ENUM_VALUES_PER_LINE = 4 -GENERATE_TREEVIEW = NO +GENERATE_TREEVIEW = YES TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output @@ -1,7 +1,7 @@ -DOXYGEN Version 1.3-rc2-20030119 +DOXYGEN Version 1.3-rc2-20030126 Please read the installation section of the manual (http://www.doxygen.org/install.html) for instructions. -------- -Dimitri van Heesch (19 January 2003) +Dimitri van Heesch (26 January 2003) @@ -1,4 +1,4 @@ -DOXYGEN Version 1.3_rc2_20030119 +DOXYGEN Version 1.3_rc2_20030126 Please read INSTALL for compilation instructions. @@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives. Enjoy, -Dimitri van Heesch (dimitri@stack.nl) (19 January 2003) +Dimitri van Heesch (dimitri@stack.nl) (26 January 2003) @@ -1 +1 @@ -1.3-rc2-20030119 +1.3-rc2-20030126 diff --git a/addon/doxmlparser/src/memberhandler.h b/addon/doxmlparser/src/memberhandler.h index 506ae79..213030b 100644 --- a/addon/doxmlparser/src/memberhandler.h +++ b/addon/doxmlparser/src/memberhandler.h @@ -33,16 +33,17 @@ class LinkedTextImpl; class LinkedTextHandler; class DocHandler; -struct MemberReference : public IMemberReference +class MemberReference : public IMemberReference { - virtual ~MemberReference() {} - virtual IMember *member() const; - virtual const IString *memberName() const { return &m_name; } - void initialize(MainHandler *m); - - QString m_memId; - StringImpl m_name; - MainHandler *m_mainHandler; + public: + virtual ~MemberReference() {} + virtual IMember *member() const; + virtual const IString *memberName() const { return &m_name; } + void initialize(MainHandler *m); + + QString m_memId; + StringImpl m_name; + MainHandler *m_mainHandler; }; class MemberReferenceIterator : public BaseIterator<IMemberReferenceIterator,IMemberReference,MemberReference> diff --git a/packages/rpm/doxygen.spec b/packages/rpm/doxygen.spec index dc12e3c..109bf8a 100644 --- a/packages/rpm/doxygen.spec +++ b/packages/rpm/doxygen.spec @@ -1,6 +1,6 @@ Summary: A documentation system for C/C++. Name: doxygen -Version: 1.3_rc2_20030119 +Version: 1.3_rc2_20030126 Release: 1 Epoch: 1 Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz diff --git a/src/classdef.cpp b/src/classdef.cpp index aacf994..5fd5254 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -2195,10 +2195,10 @@ void ClassDef::determineIntfUsageRelation() } #endif -PackageDef *ClassDef::packageDef() const -{ - return m_fileDef ? m_fileDef->packageDef() : 0; -} +//PackageDef *ClassDef::packageDef() const +//{ +// return m_fileDef ? m_fileDef->packageDef() : 0; +//} QCString ClassDef::compoundTypeString() const { diff --git a/src/classdef.h b/src/classdef.h index 36abdb7..2292e2d 100644 --- a/src/classdef.h +++ b/src/classdef.h @@ -138,7 +138,7 @@ class ClassDef : public Definition /*! Returns the Java package this class is in or 0 if not applicable. */ - PackageDef *packageDef() const; + //PackageDef *packageDef() const; MemberDef *getMemberByName(const QCString &); diff --git a/src/config.l b/src/config.l index 8b63659..fcc2f5b 100644 --- a/src/config.l +++ b/src/config.l @@ -1966,10 +1966,9 @@ void Config::create() "If the GENERATE_TREEVIEW tag is set to YES, a side panel will be\n" "generated containing a tree-like index structure (just like the one that \n" "is generated for HTML Help). For this to work a browser that supports \n" - "JavaScript and frames is required (for instance Mozilla, Netscape 4.0+, \n" - "or Internet explorer 4.0+). Note that for large projects the tree generation \n" - "can take a very long time. In such cases it is better to disable this feature. \n" - "Windows users are probably better off using the HTML help feature. \n", + "JavaScript, DHTML, CSS and frames is required (for instance Mozilla, \n" + "Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are \n" + "probably better off using the HTML help feature. \n", FALSE ); cb->addDependency("GENERATE_HTML"); diff --git a/src/definition.cpp b/src/definition.cpp index e3b35f5..583b55d 100644 --- a/src/definition.cpp +++ b/src/definition.cpp @@ -664,3 +664,16 @@ const QList<ListItemInfo> *Definition::specialListItems() const return m_specialListItems; } + +QCString Definition::convertNameToFile(const char *name,bool allowDots) const +{ + if (!m_ref.isEmpty()) + { + return name; + } + else + { + return ::convertNameToFile(name,allowDots); + } +} + diff --git a/src/definition.h b/src/definition.h index c3c726a..68b7a92 100644 --- a/src/definition.h +++ b/src/definition.h @@ -132,6 +132,7 @@ class Definition void makePartOfGroup(GroupDef *gd); GroupList *partOfGroups() const { return m_partOfGroups; } + QCString convertNameToFile(const char *name,bool allowDots=FALSE) const; protected: int m_startBodyLine; // line number of the start of the definition diff --git a/src/docparser.cpp b/src/docparser.cpp index 2cfa394..d194a49 100644 --- a/src/docparser.cpp +++ b/src/docparser.cpp @@ -225,7 +225,7 @@ static QCString findAndCopyImage(const char *fileName,DocImage::Type type) return result; } -/*! Collects the parameters found with @param or @retval commands +/*! Collects the parameters found with \@param or \@retval commands * in a global list g_paramsFound. If \a isParam is set to TRUE * and the parameter is not an actual parameter of the current * member g_memberDef, than a warning is raised (unless warnings diff --git a/src/filename.cpp b/src/filename.cpp index 131f362..a9c8a02 100644 --- a/src/filename.cpp +++ b/src/filename.cpp @@ -35,13 +35,18 @@ void FileName::generateDiskNames() //QCString commonPrefix; FileDef *fd=first(); int count=0; - while (fd) { if (!fd->isReference()) count++; fd=next(); } + while (fd) + { + if (!fd->isReference()) count++; + fd=next(); + } if (count==1) { fd=first(); // skip references while (fd && fd->isReference()) fd=next(); // name if unique, so diskname is simply the name + //printf("!!!!!!!! Unique disk name=%s for fd=%s\n",name.data(),fd->diskname.data()); fd->diskname=name.copy(); } else if (count>1) // multiple occurrences of the same file name @@ -84,6 +89,7 @@ void FileName::generateDiskNames() { QCString prefix = fd->path.right(fd->path.length()-j-1); fd->setName(prefix+name); + //printf("!!!!!!!! non unique disk name=%s for fd=%s\n",(prefix+name).data(),fd->diskname.data()); fd->diskname=prefix+name; } fd=next(); diff --git a/src/ftvhelp.cpp b/src/ftvhelp.cpp index 6a60074..0ed9565 100644 --- a/src/ftvhelp.cpp +++ b/src/ftvhelp.cpp @@ -1,7 +1,8 @@ /****************************************************************************** * ftvhelp.cpp,v 1.0 2000/09/06 16:09:00 * - * Kenney Wong <kwong@ea.com> + * Contributed by Kenney Wong <kwong@ea.com> + * Modified by Dimitri van Heesch (c) 2003 * * Folder Tree View for offline help on browsers that do not support HTML Help. * Uses the FTV structure from: @@ -20,10 +21,13 @@ #include "doxygen.h" #include "language.h" +#define MAX_INDENT 1024 +#if 0 const char treeview_data[]= #include "treeview.h" ; +#endif unsigned char ftv2blank_png[] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, @@ -329,6 +333,22 @@ struct ImageInfo { 0,0,0 } }; +struct FTVNode +{ + FTVNode(bool dir,const char *r,const char *f,const char *a,const char *n) + : isLast(TRUE), isDir(dir),ref(r),file(f),anchor(a),name(n), + parent(0) { children.setAutoDelete(TRUE); } + bool isLast; + bool isDir; + QCString ref; + QCString file; + QCString anchor; + QCString name; + QList<FTVNode> children; + FTVNode *parent; +}; + +#if 0 static void generateFolderTreeViewData() { // Generate tree view script @@ -437,6 +457,7 @@ static void generateFolderTreeViewData() p++; } } +#endif //---------------------------------------------------------------------------- @@ -446,11 +467,19 @@ FTVHelp *FTVHelp::m_theInstance = 0; * The object has to be \link initialize() initialized\endlink before it can * be used. */ -FTVHelp::FTVHelp() +FTVHelp::FTVHelp() { /* initial depth */ - m_dc = 0; + //m_dc = 0; m_cf = 0; + m_indentNodes = new QList<FTVNode>[MAX_INDENT]; + m_indentNodes[0].setAutoDelete(TRUE); + m_indent=0; +} + +FTVHelp::~FTVHelp() +{ + delete[] m_indentNodes; } /*! return a reference to the one and only instance of this class. @@ -501,7 +530,8 @@ void FTVHelp::finalize() m_cts.unsetDevice(); m_cf->close(); delete m_cf; - generateFolderTreeViewData(); + generateTreeView(); + //generateFolderTreeViewData(); } /*! Increase the level of the contents hierarchy. @@ -511,7 +541,9 @@ void FTVHelp::finalize() int FTVHelp::incContentsDepth() { //int i; for (i=0;i<m_dc+1;i++) m_cts << " "; - return ++m_dc; + m_indent++; + ASSERT(m_indent<MAX_INDENT); + return m_indent; } /*! Decrease the level of the contents hierarchy. @@ -521,7 +553,16 @@ int FTVHelp::incContentsDepth() int FTVHelp::decContentsDepth() { //int i; for (i=0;i<m_dc;i++) m_cts << " "; - return --m_dc; + + m_indent--; + QList<FTVNode> *nl = &m_indentNodes[m_indent]; + FTVNode *parent = nl->getLast(); + QList<FTVNode> *children = &m_indentNodes[m_indent+1]; + while (!children->isEmpty()) + { + parent->children.append(children->take(0)); + } + return m_indent; } /*! Add a list item to the contents file. @@ -538,6 +579,20 @@ void FTVHelp::addContentsItem(bool isDir, const char *name ) { + QList<FTVNode> *nl = &m_indentNodes[m_indent]; + FTVNode *newNode = new FTVNode(isDir,ref,file,anchor,name); + if (!nl->isEmpty()) + { + nl->getLast()->isLast=FALSE; + } + nl->append(newNode); + if (m_indent>0) + { + QList<FTVNode> *pnl = &m_indentNodes[m_indent-1]; + newNode->parent = pnl->getLast(); + } + +#if 0 int i; for (i=0;i<m_dc;i++) m_cts << " "; QCString parent; QCString tagName = ref; @@ -582,5 +637,314 @@ void FTVHelp::addContentsItem(bool isDir, } } m_cts << "\n"; +#endif +} + +static int folderId=1; + +void FTVHelp::generateIndent(QTextStream &t, FTVNode *n,int level) +{ + if (n->parent) + { + generateIndent(t,n->parent,level+1); + } + // from the root up to node n do... + if (level==0) // item before a dir or document + { + if (n->isLast) + { + if (n->isDir) + { + t << "<img src=\"ftv2plastnode.png\" onclick=\"toggleFolder('folder" << folderId << "', this)\"/>"; + } + else + { + t << "<img src=\"ftv2lastnode.png\"/>"; + } + } + else + { + if (n->isDir) + { + t << "<img src=\"ftv2pnode.png\" onclick=\"toggleFolder('folder" << folderId << "', this)\"/>"; + } + else + { + t << "<img src=\"ftv2node.png\"/>"; + } + } + } + else // item at another level + { + if (n->isLast) + { + t << "<img src=\"ftv2blank.png\"/>"; + } + else + { + t << "<img src=\"ftv2vertline.png\"/>"; + } + } +} + +void FTVHelp::generateLink(QTextStream &t,FTVNode *n) +{ + QCString *dest; + if (!n->ref.isEmpty()) // link to entity imported via tag file + { + t << "<a class=\"elRef\" "; + t << "doxygen=\"" << n->ref << ":"; + if ((dest=Doxygen::tagDestinationDict[n->ref])) t << *dest << "/"; + t << "\" "; + } + else // local link + { + t << "<a class=\"el\" "; + } + t << "href=\""; + if (!n->ref.isEmpty()) + { + if ((dest=Doxygen::tagDestinationDict[n->ref])) t << *dest << "/"; + } + if (!n->file.isEmpty()) t << n->file << Doxygen::htmlFileExtension; + if (!n->anchor.isEmpty()) t << "#" << n->anchor; + t << "\" target=\"basefrm\">"; + t << n->name; + t << "</a>"; + if (!n->ref.isEmpty()) + { + t << " [external]"; + } +} + +void FTVHelp::generateTree(QTextStream &t, const QList<FTVNode> &nl,int level) +{ + QCString spaces; + spaces.fill(' ',level*2+8); + QListIterator<FTVNode> nli(nl); + FTVNode *n; + for (nli.toFirst();(n=nli.current());++nli) + { + t << spaces << "<p>"; + generateIndent(t,n,0); + if (n->isDir) + { + t << "<img src=\"ftv2folderclosed.png\" onclick=\"toggleFolder('folder" << folderId << "', this)\"/>"; + generateLink(t,n); + t << "</p>\n"; + t << spaces << "<div id=\"folder" << folderId << "\">\n"; + folderId++; + generateTree(t,n->children,level+1); + t << spaces << "</div>\n"; + } + else + { + t << "<img src=\"ftv2doc.png\"/>"; + generateLink(t,n); + t << "</p>\n"; + } + } +} + +void FTVHelp::generateTreeView() +{ + // Generate alternative index.html as a frame + QCString fileName=Config_getString("HTML_OUTPUT")+"/index"+Doxygen::htmlFileExtension; + QFile f; + f.setName(fileName); + if (!f.open(IO_WriteOnly)) + { + err("Cannot open file %s for writing!\n",fileName.data()); + return; + } + else + { + QTextStream t(&f); +#if QT_VERSION >= 200 + t.setEncoding(QTextStream::Latin1); +#endif + t << "<html><head>"; + t << "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=" + << theTranslator->idLanguageCharset() << "\">\n"; + t << "<title>"; + if (Config_getString("PROJECT_NAME").isEmpty()) + { + t << "Doxygen Documentation"; + } + else + { + t << Config_getString("PROJECT_NAME"); + } + t << "</title></head>" << endl; + t << "<frameset cols=\"" << Config_getInt("TREEVIEW_WIDTH") << ",*\">" << endl; + t << " <frame src=\"tree" << Doxygen::htmlFileExtension << "\" name=\"treefrm\">" << endl; + t << " <frame src=\"main" << Doxygen::htmlFileExtension << "\" name=\"basefrm\">" << endl; + t << "</frameset>" << endl; + t << "</html>" << endl; + f.close(); + } + + // Generate tree view frame + fileName=Config_getString("HTML_OUTPUT")+"/tree"+Doxygen::htmlFileExtension; + f.setName(fileName); + if (!f.open(IO_WriteOnly)) + { + err("Cannot open file %s for writing!\n",fileName.data()); + return; + } + else + { + QTextStream t(&f); + t << "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n"; + t << " <head>\n"; + t << " <meta http-equiv=\"Content-Type\" content=\"text/xhtml; charset=ISO-8859-1\" />\n"; + t << " <meta http-equiv=\"Content-Style-Type\" content=\"text/css\" />\n"; + t << " <meta http-equiv=\"Content-Language\" content=\"en\" />\n"; + t << " <link rel=\"stylesheet\" href=\""; + QCString cssname=Config_getString("HTML_STYLESHEET"); + if (cssname.isEmpty()) + { + t << "doxygen.css"; + } + else + { + QFileInfo cssfi(cssname); + if (!cssfi.exists()) + { + err("Error: user specified HTML style sheet file does not exist!\n"); + } + t << cssfi.fileName(); + } + t << "\">" << endl; + t << " <title>Test</title>\n"; + t << " <style type=\"text/css\">\n"; + t << " <!--\n"; + t << " .directory { font-size: 10pt; font-weight: bold; }\n"; + t << " .directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; }\n"; + t << " .directory p { margin: 0px; white-space: nowrap; }\n"; + t << " .directory div { display: none; margin: 0px; }\n"; + t << " .directory img { vertical-align: middle; }\n"; + t << " -->\n"; + t << " </style>\n"; + t << " <script type=\"text/javascript\">\n"; + t << " <!-- // Hide script from old browsers\n"; + t << " \n"; + t << " function findChildNode(node, name) \n"; + t << " {\n"; + t << " var temp;\n"; + t << " if (node == null) \n"; + t << " {\n"; + t << " return null;\n"; + t << " } \n"; + t << " node = node.firstChild;\n"; + t << " while (node != null) \n"; + t << " {\n"; + t << " if (node.nodeName == name) \n"; + t << " {\n"; + t << " return node;\n"; + t << " }\n"; + t << " temp = findChildNode(node, name);\n"; + t << " if (temp != null) \n"; + t << " {\n"; + t << " return temp;\n"; + t << " }\n"; + t << " node = node.nextSibling;\n"; + t << " }\n"; + t << " return null;\n"; + t << " }\n"; + t << "\n"; + t << " function toggleFolder(id, imageNode) \n"; + t << " {\n"; + t << " var folder = document.getElementById(id);\n"; + t << " var l = 0;\n"; + t << " var vl = \"ftv2vertline.png\";\n"; + t << " if (imageNode != null && imageNode.nodeName != \"IMG\") \n"; + t << " {\n"; + t << " imageNode = findChildNode(imageNode, \"IMG\");\n"; + t << " if (imageNode!=null) l = imageNode.src.length;\n"; + t << " }\n"; + t << " if (folder == null) \n"; + t << " {\n"; + t << " } \n"; + t << " else if (folder.style.display == \"block\") \n"; + t << " {\n"; + t << " while (imageNode != null && \n"; + t << " imageNode.src.substring(l-vl.length,l) == vl)\n"; + t << " {\n"; + t << " imageNode = imageNode.nextSibling;\n"; + t << " l = imageNode.src.length;\n"; + t << " }\n"; + t << " if (imageNode != null) \n"; + t << " {\n"; + t << " l = imageNode.src.length;\n"; + t << " imageNode.nextSibling.src = \"ftv2folderclosed.png\";\n"; + t << " if (imageNode.src.substring(l-13,l) == \"ftv2mnode.png\")\n"; + t << " {\n"; + t << " imageNode.src = \"ftv2pnode.png\";\n"; + t << " }\n"; + t << " else if (imageNode.src.substring(l-17,l) == \"ftv2mlastnode.png\")\n"; + t << " {\n"; + t << " imageNode.src = \"ftv2plastnode.png\";\n"; + t << " }\n"; + t << " }\n"; + t << " folder.style.display = \"none\";\n"; + t << " } \n"; + t << " else \n"; + t << " {\n"; + t << " while (imageNode != null && \n"; + t << " imageNode.src.substring(l-vl.length,l) == vl)\n"; + t << " {\n"; + t << " imageNode = imageNode.nextSibling;\n"; + t << " l = imageNode.src.length;\n"; + t << " }\n"; + t << " if (imageNode != null) \n"; + t << " {\n"; + t << " l = imageNode.src.length;\n"; + t << " imageNode.nextSibling.src = \"ftv2folderopen.png\";\n"; + t << " if (imageNode.src.substring(l-13,l) == \"ftv2pnode.png\")\n"; + t << " {\n"; + t << " imageNode.src = \"ftv2mnode.png\";\n"; + t << " }\n"; + t << " else if (imageNode.src.substring(l-17,l) == \"ftv2plastnode.png\")\n"; + t << " {\n"; + t << " imageNode.src = \"ftv2mlastnode.png\";\n"; + t << " }\n"; + t << " }\n"; + t << " folder.style.display = \"block\";\n"; + t << " }\n"; + t << " }\n"; + t << "\n"; + t << " // End script hiding --> \n"; + t << " </script>\n"; + t << " </head>\n"; + t << "\n"; + t << " <body bgcolor=\"#ffffff\">\n"; + t << " <div class=\"directory\">\n"; + t << " <h3>Root</h3>\n"; + t << " <div style=\"display: block;\">\n"; + + generateTree(t,m_indentNodes[0],0); + + t << " </div>\n"; + t << " </div>\n"; + t << " </body>\n"; + t << "</html>\n"; + } + + // Generate tree view images + ImageInfo *p = image_info; + while (p->name) + { + QCString fileName=Config_getString("HTML_OUTPUT")+"/"+p->name; + QFile f(fileName); + if (f.open(IO_WriteOnly)) + f.writeBlock((char *)p->data,p->len); + else + { + fprintf(stderr,"Warning: Cannot open file %s for writing\n",fileName.data()); + } + f.close(); + p++; + } } diff --git a/src/ftvhelp.h b/src/ftvhelp.h index 1d6ccdf..57a18be 100644 --- a/src/ftvhelp.h +++ b/src/ftvhelp.h @@ -13,8 +13,10 @@ #include "qtbc.h" #include <qtextstream.h> +#include <qlist.h> class QFile; +struct FTVNode; /*! A class that generated the FTV Help specific file. * This file is used in conjunction with additional FTV web browser code @@ -30,7 +32,7 @@ class FTVHelp int incContentsDepth(); int decContentsDepth(); /*! return the current depth of the contents tree */ - int contentsDepth() { return m_dc; } + int contentsDepth() const { return m_indent; } void addContentsItem(bool isDir, const char *ref, const char *file, @@ -38,11 +40,18 @@ class FTVHelp const char *name); private: + void generateTreeView(); + void generateTree(QTextStream &t,const QList<FTVNode> &nl,int level); + void generateIndent(QTextStream &t,FTVNode *n,int level); + void generateLink(QTextStream &t,FTVNode *n); FTVHelp(); + ~FTVHelp(); QFile *m_cf; QTextStream m_cts; - int m_dc; + //int m_dc; static FTVHelp *m_theInstance; + QList<FTVNode> *m_indentNodes; + int m_indent; }; #endif /* FTVHELP_H */ diff --git a/src/latexdocvisitor.cpp b/src/latexdocvisitor.cpp index 00cf338..937252a 100644 --- a/src/latexdocvisitor.cpp +++ b/src/latexdocvisitor.cpp @@ -597,14 +597,14 @@ void LatexDocVisitor::visitPost(DocHtmlTable *t) } else { - m_t << "\\\\\\hline\n\\end{TabularC}\n"; + m_t << "\\end{TabularC}\n"; } } void LatexDocVisitor::visitPre(DocHtmlCaption *) { if (m_hide) return; - m_t << "\\\\\\hline\n\\end{TabularC}\n\\centering\n\\caption{"; + m_t << "\\end{TabularC}\n\\centering\n\\caption{"; } void LatexDocVisitor::visitPost(DocHtmlCaption *) diff --git a/src/scanner.l b/src/scanner.l index 778f179..3d30f2d 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -1853,6 +1853,11 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) current->reset(); } } +<FindFields>"[" { // attribute list in IDL + squareCount=1; + lastSquareContext = YY_START; + BEGIN(SkipSquare); + } /* <FindFieldArg>"," { unput(*yytext); BEGIN(FindFields); } */ diff --git a/src/tagreader.cpp b/src/tagreader.cpp index 2b81982..45fe620 100644 --- a/src/tagreader.cpp +++ b/src/tagreader.cpp @@ -1054,6 +1054,7 @@ void TagFileParser::buildLists(Entry *root) QString fullName = m_tagName+":"+tfi->path+stripPath(tfi->name); fe->fileName = fullName; + //printf("new FileDef() filename=%s\n",tfi->filename.data()); FileDef *fd = new FileDef(m_tagName+":"+tfi->path, tfi->name,m_tagName, tfi->filename diff --git a/src/translator_jp.h b/src/translator_jp.h index 3a4b904..e4b6445 100644 --- a/src/translator_jp.h +++ b/src/translator_jp.h @@ -41,7 +41,7 @@ class TranslatorJapaneseEn : public TranslatorEnglish /*! returns the name of the package that is included by LaTeX */ virtual QCString idLanguageCharset() { -#ifdef _WIN32 +#ifdef __CYGWIN__ return "Shift_JIS"; #else return "euc-jp"; @@ -61,13 +61,13 @@ class TranslatorJapaneseEn : public TranslatorEnglish } }; -class TranslatorJapanese : public TranslatorAdapter_1_2_18 +class TranslatorJapanese : public Translator { private: /*! The decode() can change euc into sjis */ inline QCString decode(const QCString & sInput) { -#ifdef _WIN32 +#ifdef __CYGWIN__ return JapaneseEucToSjis(sInput); #else return sInput; @@ -83,7 +83,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_2_18 /*! returns the name of the package that is included by LaTeX */ virtual QCString idLanguageCharset() { -#ifdef _WIN32 +#ifdef __CYGWIN__ return "Shift_JIS"; #else return "euc-jp"; @@ -1387,5 +1387,23 @@ class TranslatorJapanese : public TranslatorAdapter_1_2_18 { return "非推奨一覧"; } + +////////////////////////////////////////////////////////////////////////// +// new since 1.2.18 +////////////////////////////////////////////////////////////////////////// + + /*! Used as a header for declaration section of the events found in + * a C# program + */ + virtual QCString trEvents() + { + return "イベント"; + } + /*! Header used for the documentation section of a class' events. */ + virtual QCString trEventDocumentation() + { + return "イベントの解説"; + } + }; #endif |