Commit 66353e2e authored by Dimitri van Heesch's avatar Dimitri van Heesch

Release-1.5.2

parent cc52853c
DOXYGEN Version 1.5.1-20070315
DOXYGEN Version 1.5.2
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (15 March 2007)
Dimitri van Heesch (04 April 2007)
DOXYGEN Version 1.5.1_20070315
DOXYGEN Version 1.5.2
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) (15 March 2007)
Dimitri van Heesch (dimitri@stack.nl) (04 April 2007)
......@@ -52,6 +52,11 @@ void setDotPath()
Config_getString("DOT_PATH")=getResourcePath();
}
void setMscgenPath()
{
Config_getString("MSCGEN_PATH")=getResourcePath();
}
#endif
......@@ -667,6 +672,7 @@ MainWidget::MainWidget(QWidget *parent)
Config_getBool("HAVE_DOT")=TRUE;
#if defined(Q_OS_MACX)
setDotPath();
setMscgenPath();
#endif
QWidget *w = new QWidget(this);
......
......@@ -17,10 +17,10 @@
doxygen_version_major=1
doxygen_version_minor=5
doxygen_version_revision=1
doxygen_version_revision=2
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
doxygen_version_mmn=20070315
doxygen_version_mmn=NO
bin_dirs=`echo $PATH | sed -e "s/:/ /g"`
......@@ -426,7 +426,7 @@ echo "using $f_perl";
#
echo " Creating VERSION file."
# Output should be something like 1.4.5-20051010
if test "$doxygen_version_mmn" = NO; then
if test "x$doxygen_version_mmn" = "xNO"; then
echo "$doxygen_version_major.$doxygen_version_minor.$doxygen_version_revision" > VERSION
else
echo "$doxygen_version_major.$doxygen_version_minor.$doxygen_version_revision-$doxygen_version_mmn" > VERSION
......
......@@ -263,12 +263,11 @@ void replaceComment(int offset);
%}
CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'"))
%option noyywrap
%x Scan
%x SkipString
%x SkipChar
%x SComment
%x CComment
%x Verbatim
......@@ -285,8 +284,9 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'"))
copyToOutput(yytext,yyleng);
BEGIN(SkipString);
}
<Scan>{CHARLIT} {
<Scan>' {
copyToOutput(yytext,yyleng);
BEGIN(SkipChar);
}
<Scan>\n { /* new line */
copyToOutput(yytext,yyleng);
......@@ -398,6 +398,20 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'"))
<SkipString>\n { /* new line inside string (illegal for some compilers) */
copyToOutput(yytext,yyleng);
}
<SkipChar>\\. { /* escaped character */
copyToOutput(yytext,yyleng);
}
<SkipChar>' { /* end of character literal */
copyToOutput(yytext,yyleng);
BEGIN(Scan);
}
<SkipChar>. { /* any other string character */
copyToOutput(yytext,yyleng);
}
<SkipChar>\n { /* new line character */
copyToOutput(yytext,yyleng);
}
<CComment>[^\\@*\n]* { /* anything that is not a '*' or command */
copyToOutput(yytext,yyleng);
}
......
......@@ -384,7 +384,7 @@ static void checkEncoding()
static FILE *tryPath(const char *path,const char *fileName)
{
QCString absName=(QCString)path+"/"+fileName;
QCString absName=(path ? (QCString)path+"/"+fileName : (QCString)fileName);
QFileInfo fi(absName);
if (fi.exists() && fi.isFile())
{
......@@ -398,8 +398,27 @@ static FILE *tryPath(const char *path,const char *fileName)
static void substEnvVarsInStrList(QStrList &sl);
static void substEnvVarsInString(QCString &s);
static bool isAbsolute(const char * fileName)
{
# ifdef _WIN32
if (isalpha (fileName [0]) && fileName[1] == ':')
fileName += 2;
# endif
char const fst = fileName [0];
if (fst == '/') {
return true;
}
# ifdef _WIN32
if (fst == '\\')
return true;
# endif
return false;
}
static FILE *findFile(const char *fileName)
{
if(isAbsolute(fileName))
return tryPath(NULL, fileName);
substEnvVarsInStrList(includePathList);
char *s=includePathList.first();
while (s) // try each of the include paths
......@@ -431,7 +450,6 @@ static void readIncludeFile(const char *incName)
FILE *f;
//printf("Searching for `%s'\n",incFileName.data());
if ((f=findFile(inc))) // see if the include file can be found
{
// For debugging
......
......@@ -1316,7 +1316,7 @@ DocSymbol::SymType DocSymbol::decodeSymbol(const QString &symName,char *letter)
int l=symName.length();
DBG(("decodeSymbol(%s) l=%d\n",symName.data(),l));
if (symName=="&copy;") return DocSymbol::Copy;
else if (symName=="&tm;") return DocSymbol::Tm;
else if (symName=="&trade;") return DocSymbol::Tm;
else if (symName=="&reg;") return DocSymbol::Reg;
else if (symName=="&lt;") return DocSymbol::Less;
else if (symName=="&gt;") return DocSymbol::Greater;
......
......@@ -2116,7 +2116,8 @@ QCString DotClassGraph::writeGraph(QTextStream &out,
return baseName;
}
int maxWidth = 420; /* approx. page width in points */
out << "\\begin{figure}[H]\n"
out << "\\nopagebreak\n"
"\\begin{figure}[H]\n"
"\\begin{center}\n"
"\\leavevmode\n"
"\\includegraphics[width=" << QMIN(width/2,maxWidth)
......@@ -2410,7 +2411,8 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out,
}
int maxWidth = 420; /* approx. page width in points */
out << "\\begin{figure}[H]\n"
out << "\\nopagebreak\n"
"\\begin{figure}[H]\n"
"\\begin{center}\n"
"\\leavevmode\n"
"\\includegraphics[width=" << QMIN(width/2,maxWidth)
......@@ -2689,7 +2691,8 @@ QCString DotCallGraph::writeGraph(QTextStream &out, GraphOutputFormat format,
}
int maxWidth = 420; /* approx. page width in points */
out << "\\begin{figure}[H]\n"
out << "\\nopagebreak\n"
"\\begin{figure}[H]\n"
"\\begin{center}\n"
"\\leavevmode\n"
"\\includegraphics[width=" << QMIN(width/2,maxWidth)
......@@ -2825,7 +2828,8 @@ QCString DotDirDeps::writeGraph(QTextStream &out,
}
int maxWidth = 420; /* approx. page width in points */
out << "\\begin{figure}[H]\n"
out << "\\nopagebreak\n"
"\\begin{figure}[H]\n"
"\\begin{center}\n"
"\\leavevmode\n"
"\\includegraphics[width=" << QMIN(width/2,maxWidth)
......@@ -3317,7 +3321,8 @@ QCString DotGroupCollaboration::writeGraph( QTextStream &t, GraphOutputFormat fo
return baseName;
}
int maxWidth = 420; /* approx. page width in points */
t << "\\begin{figure}[H]\n"
t << "\\nopagebreak\n"
"\\begin{figure}[H]\n"
"\\begin{center}\n"
"\\leavevmode\n"
"\\includegraphics[width=" << QMIN(width/2,maxWidth)
......
......@@ -596,8 +596,7 @@ void FTVHelp::generateTreeView()
#endif
t << "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n";
t << "<html><head>";
t << "<meta http-equiv=\"Content-Type\" content=\"text/html;charset="
<< theTranslator->idLanguageCharset() << "\">\n";
t << "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\">\n";
t << "<title>";
if (Config_getString("PROJECT_NAME").isEmpty())
{
......@@ -635,8 +634,7 @@ void FTVHelp::generateTreeView()
#endif
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="
<< theTranslator->idLanguageCharset() << "\" />\n";
t << " <meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\" />\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=\"";
......
......@@ -102,7 +102,7 @@ void HtmlDocVisitor::visit(DocSymbol *s)
case DocSymbol::Hash: m_t << "#"; break;
case DocSymbol::Percent: m_t << "%"; break;
case DocSymbol::Copy: m_t << "&copy;"; break;
case DocSymbol::Tm: m_t << "&tm;"; break;
case DocSymbol::Tm: m_t << "&trade;"; break;
case DocSymbol::Reg: m_t << "&reg;"; break;
case DocSymbol::Apos: m_t << "'"; break;
case DocSymbol::Quot: m_t << "\""; break;
......
......@@ -102,7 +102,9 @@ LatexGenerator::LatexGenerator() : OutputGenerator()
//printf("LatexGenerator::LatexGenerator() insideTabbing=FALSE\n");
insideTabbing=FALSE;
firstDescItem=TRUE;
disableLinks=FALSE;
m_indent=0;
templateMemberItem = FALSE;
}
LatexGenerator::~LatexGenerator()
......@@ -974,7 +976,7 @@ void LatexGenerator::endIndexValue(const char *name,bool hasBrief)
void LatexGenerator::startTextLink(const char *f,const char *anchor)
{
if (Config_getBool("PDF_HYPERLINKS"))
if (!disableLinks && Config_getBool("PDF_HYPERLINKS"))
{
t << "\\hyperlink{";
if (f) t << stripPath(f);
......@@ -995,7 +997,7 @@ void LatexGenerator::endTextLink()
void LatexGenerator::writeObjectLink(const char *ref, const char *f,
const char *anchor, const char *text)
{
if (!ref && Config_getBool("PDF_HYPERLINKS"))
if (!disableLinks && !ref && Config_getBool("PDF_HYPERLINKS"))
{
t << "\\hyperlink{";
if (f) t << stripPath(f);
......@@ -1088,10 +1090,12 @@ void LatexGenerator::startGroupHeader()
{
t << "\\subsection{";
}
disableLinks=TRUE;
}
void LatexGenerator::endGroupHeader()
{
disableLinks=FALSE;
t << "}" << endl;
}
......@@ -1105,10 +1109,12 @@ void LatexGenerator::startMemberHeader()
{
t << "\\subsection*{";
}
disableLinks=TRUE;
}
void LatexGenerator::endMemberHeader()
{
disableLinks=FALSE;
t << "}" << endl;
}
......@@ -1149,10 +1155,12 @@ void LatexGenerator::startMemberDoc(const char *clname,
// t << "]";
//}
t << "{\\setlength{\\rightskip}{0pt plus 5cm}";
disableLinks=TRUE;
}
void LatexGenerator::endMemberDoc(bool)
{
disableLinks=FALSE;
t << "}";
if (Config_getBool("COMPACT_LATEX")) t << "\\hfill";
}
......@@ -1351,12 +1359,29 @@ void LatexGenerator::endAnonTypeScope(int indent)
}
}
void LatexGenerator::startMemberItem(int)
void LatexGenerator::startMemberTemplateParams()
{
if (templateMemberItem)
{
t << "{\\footnotesize ";
}
}
void LatexGenerator::endMemberTemplateParams()
{
if (templateMemberItem)
{
t << "}\\\\";
}
}
void LatexGenerator::startMemberItem(int annoType)
{
//printf("LatexGenerator::startMemberItem(%d)\n",annType);
if (!insideTabbing)
{
t << "\\item " << endl;
templateMemberItem = (annoType == 3);
}
}
......@@ -1366,6 +1391,7 @@ void LatexGenerator::endMemberItem()
{
t << "\\\\";
}
templateMemberItem = FALSE;
t << endl;
}
......
......@@ -103,8 +103,8 @@ class LatexGenerator : public OutputGenerator
void endAnonTypeScope(int);
void startMemberItem(int);
void endMemberItem();
void startMemberTemplateParams() {}
void endMemberTemplateParams() {}
void startMemberTemplateParams();
void endMemberTemplateParams();
void startMemberGroupHeader(bool);
void endMemberGroupHeader();
......@@ -222,8 +222,10 @@ class LatexGenerator : public OutputGenerator
int col;
bool insideTabbing;
bool firstDescItem;
bool disableLinks;
QCString relPath;
int m_indent;
bool templateMemberItem;
};
#endif
......@@ -552,6 +552,7 @@ ATTR ({B}+[^>\n]*)?
A [aA]
BR [bB][rR]
PRE [pP][rR][eE]
CODE [cC][oO][dD][eE]
TABLE [tT][aA][bB][lL][eE]
P [pP]
UL [uU][lL]
......@@ -4709,6 +4710,18 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
docBlockName=&yytext[1];
BEGIN(DocCopyBlock);
}
<DocBlock>{B}*"<code>" {
if (insideCS)
{
docBlock+=yytext;
docBlockName="<code>";
BEGIN(DocCopyBlock);
}
else
{
REJECT;
}
}
<DocBlock>[^@*\/\\\n]+ { // any character that isn't special
docBlock+=yytext;
}
......@@ -4729,6 +4742,13 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
BEGIN(DocBlock);
}
}
<DocCopyBlock>"</"{CODE}">" { // end of a <code> block
docBlock+=yytext;
if (docBlockName=="<code>")
{
BEGIN(DocBlock);
}
}
<DocCopyBlock>[\\@]("f$"|"f]"|"f}") {
docBlock+=yytext;
BEGIN(DocBlock);
......@@ -4746,7 +4766,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
REJECT;
}
}
<DocCopyBlock>[^@/*\]\$\\\n]+ { // any character that is not special
<DocCopyBlock>[^\<@/*\]\$\\\n]+ { // any character that is not special
docBlock+=yytext;
}
<DocCopyBlock>"/*"|"*/"|"//" {
......
......@@ -1573,14 +1573,14 @@ class TranslatorJapanese : public Translator
virtual QCString trCallerGraph()
{
// return "Here is the caller graph for this function:";
return "呼出しグラフ:";
return decode("呼出しグラフ:");
}
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration values
*/
virtual QCString trEnumerationValueDocumentation()
{ return "列挙型"; }
{ return decode("列挙型"); }
};
#endif
......@@ -142,8 +142,7 @@ inline void writeXMLCodeString(QTextStream &t,const char *s, int &col)
static void writeXMLHeader(QTextStream &t)
{
t << "<?xml version='1.0' encoding='" << theTranslator->idLanguageCharset()
<< "' standalone='no'?>" << endl;;
t << "<?xml version='1.0' encoding='UTF-8' standalone='no'?>" << endl;;
t << "<doxygen xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ";
t << "xsi:noNamespaceSchemaLocation=\"compound.xsd\" ";
t << "version=\"" << versionString << "\">" << endl;
......@@ -1877,8 +1876,7 @@ void generateXML()
t.setEncoding(QTextStream::Latin1);
// write index header
t << "<?xml version='1.0' encoding='" << theTranslator->idLanguageCharset()
<< "' standalone='no'?>" << endl;;
t << "<?xml version='1.0' encoding='UTF-8' standalone='no'?>" << endl;;
t << "<doxygenindex xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ";
t << "xsi:noNamespaceSchemaLocation=\"index.xsd\" ";
t << "version=\"" << versionString << "\">" << endl;
......
......@@ -29,6 +29,7 @@
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="version.bat"
/>
<Tool
Name="VCCustomBuildTool"
......@@ -127,6 +128,7 @@
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="version.bat"
/>
<Tool
Name="VCCustomBuildTool"
......
......@@ -29,6 +29,7 @@
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="version.bat"
/>
<Tool
Name="VCCustomBuildTool"
......@@ -126,6 +127,7 @@
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="version.bat"
/>
<Tool
Name="VCCustomBuildTool"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment