Commit 2149c9cb authored by Dimitri van Heesch's avatar Dimitri van Heesch

Release-1.7.3

parent 48f4fd9c
DOXYGEN Version 1.7.2-20101224
DOXYGEN Version 1.7.3
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (24 December 2010)
Dimitri van Heesch (03 January 2011)
DOXYGEN Version 1.7.2_20101224
DOXYGEN Version 1.7.3
Please read INSTALL for compilation instructions.
......@@ -26,4 +26,4 @@ forum.
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (24 December 2010)
Dimitri van Heesch (dimitri@stack.nl) (03 January 2011)
......@@ -33,6 +33,7 @@ Expert::Expert()
m_treeWidget = new QTreeWidget;
m_treeWidget->setColumnCount(1);
m_topicStack = new QStackedWidget;
m_inShowHelp = FALSE;
QFile file(SA(":/config.xml"));
QString err;
......@@ -435,13 +436,18 @@ bool Expert::restoreInnerState ( const QByteArray & state )
void Expert::showHelp(Input *option)
{
m_helper->setText(
QString::fromAscii("<qt><b>")+option->id()+
QString::fromAscii("</b><br>")+
option->docs().
replace(QChar::fromAscii('\n'),QChar::fromAscii(' '))+
QString::fromAscii("<qt>")
);
if (!m_inShowHelp)
{
m_inShowHelp = TRUE;
m_helper->setText(
QString::fromAscii("<qt><b>")+option->id()+
QString::fromAscii("</b><br>")+
option->docs().
replace(QChar::fromAscii('\n'),QChar::fromAscii(' '))+
QString::fromAscii("<qt>")
);
m_inShowHelp = FALSE;
}
}
void Expert::nextTopic()
......
......@@ -59,6 +59,7 @@ class Expert : public QSplitter
QPushButton *m_next;
QPushButton *m_prev;
QDomElement m_rootElement;
bool m_inShowHelp;
};
#endif
This diff is collapsed.
......@@ -43,13 +43,63 @@ class TuneColorDialog : public QDialog
Q_OBJECT
public:
TuneColorDialog(QWidget *parent=0);
TuneColorDialog(int hue,int sat,int gamma,QWidget *parent=0);
int getHue() const;
int getSaturation() const;
int getGamma() const;
private slots:
void updateImage(int hue,int sat,int val);
private:
QImage *m_image;
QLabel *m_imageLab;
int m_hue;
int m_sat;
int m_gam;
};
class ColorPicker : public QWidget
{
Q_OBJECT
public:
enum Mode { Hue, Saturation, Gamma };
ColorPicker(Mode m);
~ColorPicker();
public slots:
void setCol(int h, int s, int g);
//void setCol(int h, int s);
signals:
void newHsv(int h, int s, int g);
protected:
void paintEvent(QPaintEvent*);
void mouseMoveEvent(QMouseEvent *);
void mousePressEvent(QMouseEvent *);
private:
enum { foff = 3, coff = 4 }; //frame and contents offset
int y2hue(int y);
int y2sat(int y);
int y2gam(int y);
int hue2y(int hue);
int sat2y(int sat);
int gam2y(int gamma);
void setHue(int v);
void setSat(int v);
void setGam(int v);
QPixmap *m_pix;
Mode m_mode;
int m_gam;
int m_hue;
int m_sat;
};
class Step1 : public QWidget
{
Q_OBJECT
......@@ -61,7 +111,9 @@ class Step1 : public QWidget
private slots:
void selectSourceDir();
void selectDestinationDir();
void selectProjectIcon();
void setProjectName(const QString &name);
void setProjectBrief(const QString &desc);
void setProjectNumber(const QString &num);
void setSourceDir(const QString &dir);
void setDestinationDir(const QString &dir);
......@@ -69,9 +121,11 @@ class Step1 : public QWidget
private:
QLineEdit *m_projName;
QLineEdit *m_projBrief;
QLineEdit *m_projNumber;
QLineEdit *m_sourceDir;
QLineEdit *m_destDir;
QLabel *m_projIconLab;
QCheckBox *m_recursive;
QPushButton *m_srcSelectDir;
QPushButton *m_dstSelectDir;
......
......@@ -17,10 +17,10 @@
doxygen_version_major=1
doxygen_version_minor=7
doxygen_version_revision=2
doxygen_version_revision=3
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
doxygen_version_mmn=20101224
doxygen_version_mmn=NO
bin_dirs=`echo $PATH | sed -e "s/:/ /g"`
......
......@@ -336,7 +336,7 @@ followed by the descriptions of the tags grouped by category.
Afrikaans, Arabic, Brazilian, Catalan, Chinese, Croatian, Czech, Danish, Dutch,
Finnish, French, German, Greek, Hungarian, Italian, Japanese, Korean,
Lithuanian, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Serbian,
Slovak, Slovene, Spanish, Swedish, and Ukrainian.
Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
\anchor cfg_brief_member_desc
<dt>\c BRIEF_MEMBER_DESC <dd>
......@@ -1041,7 +1041,7 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn"
<dt>\c EXCLUDE_SYMLINKS <dd>
\addindex EXCLUDE_SYMLINKS
The \c EXCLUDE_SYMLINKS tag can be used select whether or not files or directories
that are symbolic links (a Unix filesystem feature) are excluded from the input.
that are symbolic links (a Unix file system feature) are excluded from the input.
\anchor cfg_exclude_patterns
<dt>\c EXCLUDE_PATTERNS <dd>
......@@ -2197,7 +2197,7 @@ install and use dot, since it yields more powerful graphs.
directory and reference it in all dot files that doxygen generates. This
font does not include all possible unicode characters however, so when you need
these (or just want a differently looking font) you can specify the font name
using \c DOT_FONTNAME. You need need to make sure dot is able to find the font,
using \c DOT_FONTNAME. You need to make sure dot is able to find the font,
which can be done by putting it in a standard location or by setting the
\c DOTFONTPATH environment variable or by setting \c DOT_FONTPATH to the directory
containing the font.
......
......@@ -58,9 +58,12 @@ but when the group has been defined already, then it silently merges the
existing documentation with the new one.
The title of the group is optional for this command, so you can use
\verbatim
/** \addtogroup <label> */
/*\@{*/
/*\@}*/
/** \addtogroup <label>
* @{
*/
...
/** @}*/
\endverbatim
to add additional members to a group that is defined in more detail elsewhere.
......@@ -91,27 +94,27 @@ extern int VarInA;
/**
* \defgroup IntVariables Global integer variables
* @{
*/
/*@{*/
/** an integer variable */
extern int IntegerVariable;
/*@}*/
/**@}*/
....
/**
* \defgroup Variables Global variables
*/
/*@{*/
/**@{*/
/** a variable in group A */
int VarInA;
int IntegerVariable;
/*@}*/
/**@}*/
\endverbatim
The \ref cmdref "\\ref" command can be used to refer to a group.
......@@ -151,15 +154,15 @@ types belong to the same (semantic) group.
A member group is defined by
a
\verbatim
//@{
///@{
...
//@}
///@}
\endverbatim
block or a
\verbatim
/*@{*/
/**@{*/
...
/*@}*/
/**@}*/
\endverbatim
block if you prefer C style
comments. Note that the members of the group should be
......
......@@ -78,9 +78,9 @@ when the translator was updated.
</tr>
<tr bgcolor="#ffffff">
<td>Chinese</td>
<td>Li Daobing<br/>Wei Liu</td>
<td>lidaobing at gmail dot com<br/>liuwei at asiainfo dot com</td>
<td>1.6.0</td>
<td>Lang Yang<br/>Li Daobing<br/>Wei Liu</td>
<td>lian dot yang dot cn at gmail dot com<br/>lidaobing at gmail dot com<br/>liuwei at asiainfo dot com</td>
<td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
<td>Chinese Traditional</td>
......@@ -102,9 +102,9 @@ when the translator was updated.
</tr>
<tr bgcolor="#ffffff">
<td>Danish</td>
<td>Erik Søe Sørensen</td>
<td>eriksoe+doxygen at daimi dot au dot dk</td>
<td>1.5.4</td>
<td>Poul-Erik Hansen<br/>Erik Søe Sørensen</td>
<td>pouhan at gnotometrics dot dk<br/>eriksoe+doxygen at daimi dot au dot dk</td>
<td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
<td>Dutch</td>
......@@ -318,7 +318,8 @@ when the translator was updated.
Catalan & Maximiliano Pin & {\tt\tiny max dot pin at bitroit dot com} & 1.6.3 \\
~ & Albert Mora & {\tt\tiny [unreachable] amora at iua dot upf dot es} & ~ \\
\hline
Chinese & Li Daobing & {\tt\tiny lidaobing at gmail dot com} & 1.6.0 \\
Chinese & Lang Yang & {\tt\tiny lian dot yang dot cn at gmail dot com} & up-to-date \\
~ & Li Daobing & {\tt\tiny lidaobing at gmail dot com} & ~ \\
~ & Wei Liu & {\tt\tiny liuwei at asiainfo dot com} & ~ \\
\hline
Chinese Traditional & Daniel YC Lin & {\tt\tiny dlin dot tw at gmail dot com} & 1.6.0 \\
......@@ -328,7 +329,8 @@ when the translator was updated.
\hline
Czech & Petr Přikryl & {\tt\tiny prikrylp at skil dot cz} & up-to-date \\
\hline
Danish & Erik Søe Sørensen & {\tt\tiny eriksoe+doxygen at daimi dot au dot dk} & 1.5.4 \\
Danish & Poul-Erik Hansen & {\tt\tiny pouhan at gnotometrics dot dk} & up-to-date \\
~ & Erik Søe Sørensen & {\tt\tiny eriksoe+doxygen at daimi dot au dot dk} & ~ \\
\hline
Dutch & Dimitri van Heesch & {\tt\tiny dimitri at stack dot nl} & up-to-date \\
\hline
......
......@@ -45,6 +45,7 @@ TranslatorCzech
Petr Přikryl: prikrylp at skil dot cz
TranslatorDanish
Poul-Erik Hansen: pouhan at gnotometrics dot dk
Erik Søe Sørensen: eriksoe+doxygen at daimi dot au dot dk
TranslatorDutch
......
......@@ -10,7 +10,7 @@ Persian, Polish, Portuguese, Romanian, Russian, Serbian,
SerbianCyrilic, Slovak, Slovene, Spanish, Swedish, Turkish, Ukrainian,
and Vietnamese.
Of them, 12 translators are up-to-date, 26 translators are based on
Of them, 14 translators are up-to-date, 24 translators are based on
some adapter class, and 2 are English based.
----------------------------------------------------------------------
......@@ -20,8 +20,10 @@ and they implement all 225 of the required methods. Anyway, there
still may be some details listed even for them:
TranslatorBrazilian
TranslatorChinese -- Reimplementation using UTF-8 suggested.
TranslatorCroatian
TranslatorCzech
TranslatorDanish -- Reimplementation using UTF-8 suggested.
TranslatorDutch
TranslatorEnglish
TranslatorEsperanto
......@@ -64,18 +66,12 @@ must be implemented to become up-to-date:
TranslatorItalian 1.6.0 9 methods to implement (4 %)
TranslatorFinnish 1.6.0 9 methods to implement (4 %)
TranslatorChinese 1.6.0 9 methods to implement (4 %)
Note: Reimplementation using UTF-8 suggested.
TranslatorChinesetraditional 1.6.0 9 methods to implement (4 %)
Note: Reimplementation using UTF-8 suggested.
TranslatorAfrikaans 1.6.0 9 methods to implement (4 %)
Note: Reimplementation using UTF-8 suggested.
TranslatorDanish 1.5.4 31 methods to implement (13 %)
Note: Reimplementation using UTF-8 suggested.
TranslatorSlovene 1.4.6 33 methods to implement (14 %)
Note: Reimplementation using UTF-8 suggested.
......@@ -118,9 +114,11 @@ the '*translator*' files in doxygen/src directory were simply searched
for occurence of the method identifiers:
QCString idLanguageCharset()
QCString trAlphabeticalList()
QCString trDCOPMethods()
QCString trDirDependency(const char *)
QCString trFunctionPrototypeDocumentation()
QCString trSearchForIndex()
======================================================================
......@@ -212,22 +210,10 @@ TranslatorCatalan (TranslatorAdapter_1_6_3) 4 methods to implement (1 %)
virtual QCString trIncludesFileIn(const char * name)
TranslatorChinese (TranslatorAdapter_1_6_0) 9 methods to implement (4 %)
TranslatorChinese (Translator)
-----------------
Implements 216 of the required methods (96 %).
Missing methods (should be implemented):
virtual QCString trSearching()
virtual QCString trNoMatches()
virtual QCString trLoading()
virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime)
virtual QCString trFileIn(const char * name)
virtual QCString trGlobalNamespace()
virtual QCString trDirRelation(const char * name)
virtual QCString trDirDependency(const char * name)
virtual QCString trIncludesFileIn(const char * name)
Implements 225 of the required methods (100 %).
TranslatorChinesetraditional (TranslatorAdapter_1_6_0) 9 methods to implement (4 %)
......@@ -248,44 +234,10 @@ TranslatorChinesetraditional (TranslatorAdapter_1_6_0) 9 methods to implement
virtual QCString trIncludesFileIn(const char * name)
TranslatorDanish (TranslatorAdapter_1_5_4) 31 methods to implement (13 %)
TranslatorDanish (Translator)
----------------
Implements 194 of the required methods (86 %).
Missing methods (should be implemented):
virtual QCString trCompoundMembersDescriptionFortran(bool extractAll)
virtual QCString trSearching()
virtual QCString trNoMatches()
virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType, bool single)
virtual QCString trLoading()
virtual QCString trSubprograms()
virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime)
virtual QCString trModulesListDescription(bool extractAll)
virtual QCString trModulesList()
virtual QCString trTypeConstraints()
virtual QCString trFileIn(const char * name)
virtual QCString trGlobalNamespace()
virtual QCString trMemberFunctionDocumentationFortran()
virtual QCString trCompoundListDescriptionFortran()
virtual QCString trTypeDocumentation()
virtual QCString trModuleReference(const char * namespaceName)
virtual QCString trModulesMemberDescription(bool extractAll)
virtual QCString trModulesMembers()
virtual QCString trModulesIndex()
virtual QCString trDirRelation(const char * name)
virtual QCString trCompoundListFortran()
virtual QCString trDataTypes()
virtual QCString trDirDependency(const char * name)
virtual QCString trIncludesFileIn(const char * name)
virtual QCString trCompoundIndexFortran()
virtual QCString trSubprogram(bool first_capital, bool singular)
virtual QCString trCompoundReferenceFortran(const char * clName, ClassDef::CompoundType compType, bool isTemplate)
virtual QCString trType(bool first_capital, bool singular)
virtual QCString trModule(bool first_capital, bool singular)
virtual QCString trCompoundMembersFortran()
virtual QCString trSubprogramDocumentation()
Implements 225 of the required methods (100 %).
TranslatorFinnish (TranslatorAdapter_1_6_0) 9 methods to implement (4 %)
......
......@@ -379,6 +379,17 @@ void replaceComment(int offset);
BEGIN(CComment);
}
}
<Scan>"!>" {
if (g_lang!=SrcLangExt_F90)
{
REJECT;
}
else
{
copyToOutput(yytext,yyleng);
BEGIN(CComment);
}
}
<CComment>"{@code"/[ \t\n] {
copyToOutput("@code",5);
g_lastCommentContext = YY_START;
......@@ -664,7 +675,8 @@ void replaceComment(int offset);
{
//printf("** Adding start of comment!\n");
if (g_lang!=SrcLangExt_Python &&
g_lang!=SrcLangExt_VHDL)
g_lang!=SrcLangExt_VHDL &&
g_lang!=SrcLangExt_F90)
{
ADDCHAR('/');
ADDCHAR('*');
......@@ -682,7 +694,8 @@ void replaceComment(int offset);
{
//printf("** Adding terminator for comment!\n");
if (g_lang!=SrcLangExt_Python &&
g_lang!=SrcLangExt_VHDL)
g_lang!=SrcLangExt_VHDL &&
g_lang!=SrcLangExt_F90)
{
ADDCHAR('*');
ADDCHAR('/');
......
......@@ -59,7 +59,7 @@
<xsd:attribute name="ambiguityscope" type="xsd:string" />
</xsd:complexType>
<xsd:complexType name="compoundRefType" mixed="true">
<xsd:complexType name="compoundRefType">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="refid" type="xsd:string" use="optional" />
......@@ -69,7 +69,7 @@
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="reimplementType" mixed="true">
<xsd:complexType name="reimplementType">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="refid" type="xsd:string" />
......@@ -77,7 +77,7 @@
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="incType" mixed="true">
<xsd:complexType name="incType">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="refid" type="xsd:string" />
......@@ -86,7 +86,7 @@
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="refType" mixed="true">
<xsd:complexType name="refType">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="refid" type="xsd:string" />
......@@ -95,7 +95,7 @@
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="refTextType" mixed="true">
<xsd:complexType name="refTextType">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="refid" type="xsd:string" />
......@@ -582,6 +582,12 @@
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="docParamType" mixed="true">
<xsd:sequence>
<xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="1" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="docParamName" mixed="true">
<xsd:sequence>
<xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="1" />
......
......@@ -59,7 +59,7 @@
" <xsd:attribute name=\"ambiguityscope\" type=\"xsd:string\" />\n"
" </xsd:complexType>\n"
"\n"
" <xsd:complexType name=\"compoundRefType\" mixed=\"true\">\n"
" <xsd:complexType name=\"compoundRefType\">\n"
" <xsd:simpleContent>\n"
" <xsd:extension base=\"xsd:string\">\n"
" <xsd:attribute name=\"refid\" type=\"xsd:string\" use=\"optional\" />\n"
......@@ -69,7 +69,7 @@
" </xsd:simpleContent>\n"
" </xsd:complexType>\n"
"\n"
" <xsd:complexType name=\"reimplementType\" mixed=\"true\">\n"
" <xsd:complexType name=\"reimplementType\">\n"
" <xsd:simpleContent>\n"
" <xsd:extension base=\"xsd:string\">\n"
" <xsd:attribute name=\"refid\" type=\"xsd:string\" />\n"
......@@ -77,7 +77,7 @@
" </xsd:simpleContent>\n"
" </xsd:complexType>\n"
"\n"
" <xsd:complexType name=\"incType\" mixed=\"true\">\n"
" <xsd:complexType name=\"incType\">\n"
" <xsd:simpleContent>\n"
" <xsd:extension base=\"xsd:string\">\n"
" <xsd:attribute name=\"refid\" type=\"xsd:string\" />\n"
......@@ -86,7 +86,7 @@
" </xsd:simpleContent>\n"
" </xsd:complexType>\n"
"\n"
" <xsd:complexType name=\"refType\" mixed=\"true\">\n"
" <xsd:complexType name=\"refType\">\n"
" <xsd:simpleContent>\n"
" <xsd:extension base=\"xsd:string\">\n"
" <xsd:attribute name=\"refid\" type=\"xsd:string\" />\n"
......@@ -95,7 +95,7 @@
" </xsd:simpleContent>\n"
" </xsd:complexType>\n"
"\n"
" <xsd:complexType name=\"refTextType\" mixed=\"true\">\n"
" <xsd:complexType name=\"refTextType\">\n"
" <xsd:simpleContent>\n"
" <xsd:extension base=\"xsd:string\">\n"
" <xsd:attribute name=\"refid\" type=\"xsd:string\" />\n"
......@@ -582,6 +582,12 @@
" </xsd:sequence>\n"
" </xsd:complexType>\n"
"\n"
" <xsd:complexType name=\"docParamType\" mixed=\"true\">\n"
" <xsd:sequence>\n"
" <xsd:element name=\"ref\" type=\"refTextType\" minOccurs=\"0\" maxOccurs=\"1\" />\n"
" </xsd:sequence>\n"
" </xsd:complexType>\n"
"\n"
" <xsd:complexType name=\"docParamName\" mixed=\"true\">\n"
" <xsd:sequence>\n"
" <xsd:element name=\"ref\" type=\"refTextType\" minOccurs=\"0\" maxOccurs=\"1\" />\n"
......
......@@ -49,7 +49,7 @@ Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,
Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
'>
<value name='Afrikaans'/>
......@@ -298,7 +298,7 @@ When the cache is full, less often used symbols will be written to disk.
For small to medium size projects (&lt;1000 input files) the default value is
probably good enough. For larger projects a too small cache size can cause
doxygen to be busy swapping symbols to and from disk most of the time
causing a significant performance penality.
causing a significant performance penalty.
If the system has enough physical memory increasing the cache will improve the
performance by keeping more symbols in memory. Note that the value works on
a logarithmic scale so increasing the size by one will roughly double the
......@@ -624,7 +624,7 @@ subdirectory from a directory tree whose root is specified with the INPUT tag.
</option>
<option type='bool' id='EXCLUDE_SYMLINKS' docs='
The EXCLUDE_SYMLINKS tag can be used select whether or not files or
directories that are symbolic links (a Unix filesystem feature) are excluded
directories that are symbolic links (a Unix file system feature) are excluded
from the input.
' defval='0'/>
<option type='list' id='EXCLUDE_PATTERNS' format='string' docs='
......@@ -1380,7 +1380,7 @@ between CPU load and processing speed.
By default doxygen will write a font called Helvetica to the output
directory and reference it in all dot files that doxygen generates.
When you want a differently looking font you can specify the font name
using DOT_FONTNAME. You need need to make sure dot is able to find the font,
using DOT_FONTNAME. You need to make sure dot is able to find the font,
which can be done by putting it in a standard location or by setting the
DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
containing the font.
......@@ -1458,7 +1458,7 @@ relations between the files in the directories.
' defval='1' depends='HAVE_DOT'/>
<option type='enum' id='DOT_IMAGE_FORMAT' defval='png' docs='
The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
generated by dot. Possible values are png, jpg, or gif.
generated by dot. Possible values are png, svg, gif or svg.
If left blank png will be used.
' depends='HAVE_DOT'>
<value name='png'/>
......
......@@ -87,7 +87,7 @@ void addConfigOptions(Config *cfg)
"Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,\n"
"Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English\n"
"messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,\n"
"Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,\n"
"Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,\n"
"Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.",
"English"
);
......@@ -413,7 +413,7 @@ void addConfigOptions(Config *cfg)
"For small to medium size projects (<1000 input files) the default value is\n"
"probably good enough. For larger projects a too small cache size can cause\n"
"doxygen to be busy swapping symbols to and from disk most of the time\n"
"causing a significant performance penality.\n"
"causing a significant performance penalty.\n"
"If the system has enough physical memory increasing the cache will improve the\n"
"performance by keeping more symbols in memory. Note that the value works on\n"
"a logarithmic scale so increasing the size by one will roughly double the\n"
......@@ -879,7 +879,7 @@ void addConfigOptions(Config *cfg)
cb = cfg->addBool(
"EXCLUDE_SYMLINKS",
"The EXCLUDE_SYMLINKS tag can be used select whether or not files or\n"
"directories that are symbolic links (a Unix filesystem feature) are excluded\n"
"directories that are symbolic links (a Unix file system feature) are excluded\n"
"from the input.",
FALSE
);
......@@ -2080,7 +2080,7 @@ void addConfigOptions(Config *cfg)
"By default doxygen will write a font called Helvetica to the output\n"
"directory and reference it in all dot files that doxygen generates.\n"
"When you want a differently looking font you can specify the font name\n"
"using DOT_FONTNAME. You need need to make sure dot is able to find the font,\n"
"using DOT_FONTNAME. You need to make sure dot is able to find the font,\n"
"which can be done by putting it in a standard location or by setting the\n"
"DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory\n"
"containing the font."
......@@ -2213,7 +2213,7 @@ void addConfigOptions(Config *cfg)
ce = cfg->addEnum(
"DOT_IMAGE_FORMAT",
"The DOT_IMAGE_FORMAT tag can be used to set the image format of the images\n"
"generated by dot. Possible values are png, jpg, or gif.\n"
"generated by dot. Possible values are png, svg, gif or svg.\n"
"If left blank png will be used.",
"png"
);
......
......@@ -258,18 +258,18 @@ class Definition : public DefinitionIntf, public LockableObj
void setName(const char *name);
/*! Sets the documentation of this definition to \a d. */
void setDocumentation(const char *d,const char *docFile,int docLine,bool stripWhiteSpace=TRUE);
virtual void setDocumentation(const char *d,const char *docFile,int docLine,bool stripWhiteSpace=TRUE);
/*! Sets the brief description of this definition to \a b.
* A dot is added to the sentence if not available.
*/
void setBriefDescription(const char *b,const char *briefFile,int briefLine);
virtual void setBriefDescription(const char *b,const char *briefFile,int briefLine);
/*! Set the documentation that was found inside the body of an item.
* If there was already some documentation set, the new documentation
* will be appended.
*/
void setInbodyDocumentation(const char *d,const char *docFile,int docLine);
virtual void setInbodyDocumentation(const char *d,const char *docFile,int docLine);
/*! Sets the tag file id via which this definition was imported. */
void setReference(const char *r);
......
......@@ -343,7 +343,8 @@ HTMLKEYL "strong"|"center"|"table"|"caption"|"small"|"code"|"dfn"|"var"|"img"|"
HTMLKEYU "STRONG"|"CENTER"|"TABLE"|"CAPTION"|"SMALL"|"CODE"|"DFN"|"VAR"|"IMG"|"PRE"|"SUB"|"SUP"|"TR"|"TD"|"TH"|"OL"|"UL"|"LI"|"TT"|"KBD"|"EM"|"HR"|"DL"|"DT"|"DD"|"BR"|"I"|"A"|"B"|"P"
HTMLKEYW {HTMLKEYL}|{HTMLKEYU}
REFWORD2 ("#"|"::")?({ID}{TEMPLPART}?("."|"#"|"::"|"-"|"/"))*({ID}(":")?){FUNCARG}?
REFWORD {LABELID}|{REFWORD2}
REFWORD3 ({ID}":")*{ID}":"?
REFWORD {LABELID}|{REFWORD2}|{REFWORD3}
%option noyywrap
%option yylineno
......
......@@ -710,6 +710,12 @@ div.headertitle
{
padding: 5px 5px 5px 10px;
}
dl
{
padding: 0 0 0 10px;
}
dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug
{
border-left:4px solid;
......
......@@ -710,6 +710,12 @@
"{\n"
" padding: 5px 5px 5px 10px;\n"
"}\n"
"\n"
"dl\n"
"{\n"
" padding: 0 0 0 10px;\n"
"}\n"
"\n"
"dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug\n"
"{\n"
" border-left:4px solid;\n"
......
......@@ -43,9 +43,15 @@ static const char resize_script[]=
#include "resize_js.h"
;
static const char jquery_script[]=
static const char jquery_script1[]=
#include "jquery_js.h"
;
static const char jquery_script2[]=
#include "sizzle_js.h"
;
static const char jquery_script3[]=
#include "jquery_ui_js.h"
;
static const char navtree_css[]=
#include "navtree_css.h"
......@@ -1088,7 +1094,7 @@ void FTVHelp::generateTreeViewScripts()
if (f.open(IO_WriteOnly))
{
FTextStream t(&f);
t << jquery_script;
t << jquery_script1 << jquery_script2 << jquery_script3;
}
}
// generate navtree.css
......
......@@ -224,8 +224,10 @@ class HtmlGenerator : public OutputGenerator
void endDirDepGraph(const DotDirDeps &g);
void writeGraphicalHierarchy(const DotGfxHierarchyTable &g);
void startTextBlock(bool) {}
void endTextBlock(bool) {}
void startTextBlock(bool)
{ t << "<div class=\"textblock\">"; }
void endTextBlock(bool)
{ t << "</div>"; }
void lastIndexPage() {}
void startMemberDocPrefixItem();
......
......@@ -703,7 +703,6 @@ int countClassHierarchy()
void writeHierarchicalIndex(OutputList &ol)
{
bool vhdlOpt=Config_getBool("OPTIMIZE_OUTPUT_VHDL");
if (hierarchyClasses==0) return;
ol.pushGeneratorState();
ol.disable(OutputGenerator::Man);
......@@ -711,11 +710,6 @@ void writeHierarchicalIndex(OutputList &ol)
QCString title = lne->title();
startFile(ol,"hierarchy",0, title, HLI_Hierarchy);
startTitle(ol,0);
if (vhdlOpt) title = VhdlDocGen::trDesignUnitHierarchy();
//if (!Config_getString("PROJECT_NAME").isEmpty())
//{
// title.prepend(Config_getString("PROJECT_NAME")+" ");
//}
ol.parseText(title);
endTitle(ol,0,0);
ol.startContents();
......@@ -733,7 +727,7 @@ void writeHierarchicalIndex(OutputList &ol)
ol.enable(OutputGenerator::Latex);
ol.enable(OutputGenerator::RTF);
}
ol.parseText(theTranslator->trClassHierarchyDescription());
ol.parseText(lne->intro());
ol.endTextBlock();
FTVHelp* ftv = 0;
......@@ -847,7 +841,7 @@ void writeFileIndex(OutputList &ol)
ol.startTextBlock();
Doxygen::indexList.addContentsItem(TRUE,title,0,"files",0);
Doxygen::indexList.incContentsDepth();
ol.parseText(theTranslator->trFileListDescription(Config_getBool("EXTRACT_ALL")));
ol.parseText(lne->intro());
ol.endTextBlock();
OutputNameDict outputNameDict(1009);
......@@ -1001,7 +995,6 @@ int countNamespaces()
void writeNamespaceIndex(OutputList &ol)
{
bool fortranOpt = Config_getBool("OPTIMIZE_FOR_FORTRAN");
if (documentedNamespaces==0) return;
ol.pushGeneratorState();
ol.disable(OutputGenerator::Man);
......@@ -1019,20 +1012,7 @@ void writeNamespaceIndex(OutputList &ol)
ol.startTextBlock();
Doxygen::indexList.addContentsItem(TRUE,title,0,"namespaces",0);
Doxygen::indexList.incContentsDepth();
//ol.newParagraph();
if (Config_getBool("OPTIMIZE_OUTPUT_JAVA"))
{
ol.parseText(theTranslator->trPackageListDescription());
}
else if (fortranOpt)
{
ol.parseText(theTranslator->trModulesListDescription(Config_getBool("EXTRACT_ALL")));
}
else
{
ol.parseText(theTranslator->trNamespaceListDescription(Config_getBool("EXTRACT_ALL")));
}
//ol.newParagraph();
ol.parseText(lne->intro());
ol.endTextBlock();
bool first=TRUE;
......@@ -1475,8 +1455,6 @@ void writeAlphabeticalIndex(OutputList &ol)
void writeAnnotatedIndex(OutputList &ol)
{
bool fortranOpt = Config_getBool("OPTIMIZE_FOR_FORTRAN");
bool vhdlOpt = Config_getBool("OPTIMIZE_OUTPUT_VHDL");
if (annotatedClasses==0) return;
ol.pushGeneratorState();
......@@ -1496,10 +1474,7 @@ void writeAnnotatedIndex(OutputList &ol)
ol.startTextBlock();
Doxygen::indexList.addContentsItem(TRUE,title,0,"annotated",0);
Doxygen::indexList.incContentsDepth();
QCString desc = fortranOpt ? theTranslator->trCompoundListDescriptionFortran() :
vhdlOpt ? VhdlDocGen::trDesignUnitListDescription() :
theTranslator->trCompoundListDescription() ;
ol.parseText(desc);
ol.parseText(lne->intro());
ol.endTextBlock();
writeAnnotatedClassList(ol);
Doxygen::indexList.decContentsDepth();
......@@ -1926,8 +1901,6 @@ static void writeClassMemberIndexFiltered(OutputList &ol, ClassMemberHighlight h
{
if (documentedClassMembers[hl]==0) return;
static bool fortranOpt = Config_getBool("OPTIMIZE_FOR_FORTRAN");
//static bool vhdlOpt = Config_getBool("OPTIMIZE_OUTPUT_VHDL");
static bool generateTreeView = Config_getBool("GENERATE_TREEVIEW");
static bool disableIndex = Config_getBool("DISABLE_INDEX");
......@@ -2007,9 +1980,9 @@ static void writeClassMemberIndexFiltered(OutputList &ol, ClassMemberHighlight h
if (hl==CMHL_All)
{
static bool extractAll = Config_getBool("EXTRACT_ALL");
ol.parseText(fortranOpt ? theTranslator->trCompoundMembersDescriptionFortran(extractAll) :
theTranslator->trCompoundMembersDescription(extractAll));
ol.startTextBlock();
ol.parseText(lne->intro());
ol.endTextBlock();
}
else
{
......@@ -2160,7 +2133,9 @@ static void writeFileMemberIndexFiltered(OutputList &ol, FileMemberHighlight hl)
if (hl==FMHL_All)
{
ol.parseText(theTranslator->trFileMembersDescription(Config_getBool("EXTRACT_ALL")));
ol.startTextBlock();
ol.parseText(lne->intro());
ol.endTextBlock();
}
else
{
......@@ -2234,7 +2209,6 @@ static void writeNamespaceMemberIndexFiltered(OutputList &ol,
if (documentedNamespaceMembers[hl]==0) return;
static bool generateTreeView = Config_getBool("GENERATE_TREEVIEW");
static bool fortranOpt = Config_getBool("OPTIMIZE_FOR_FORTRAN");
static bool disableIndex = Config_getBool("DISABLE_INDEX");
bool multiPageIndex=FALSE;
......@@ -2309,7 +2283,9 @@ static void writeNamespaceMemberIndexFiltered(OutputList &ol,
if (hl==NMHL_All)
{
ol.parseText(fortranOpt?theTranslator->trModulesMemberDescription(Config_getBool("EXTRACT_ALL")):theTranslator->trNamespaceMemberDescription(Config_getBool("EXTRACT_ALL")));
ol.startTextBlock();
ol.parseText(lne->intro());
ol.endTextBlock();
}
else
{
......@@ -3013,18 +2989,13 @@ void writeExampleIndex(OutputList &ol)
QCString title = lne->title();
startFile(ol,"examples",0,title,HLI_Examples);
startTitle(ol,0);
//if (!Config_getString("PROJECT_NAME").isEmpty())
//{
// title.prepend(Config_getString("PROJECT_NAME")+" ");
//}
ol.parseText(title);
endTitle(ol,0,0);
ol.startContents();
ol.startTextBlock();
Doxygen::indexList.addContentsItem(TRUE,title,0,"examples",0);
Doxygen::indexList.incContentsDepth();
ol.parseText(theTranslator->trExamplesDescription());
//ol.newParagraph();
ol.parseText(lne->intro());
ol.endTextBlock();
ol.startItemList();
PageSDict::Iterator pdi(*Doxygen::exampleSDict);
......@@ -3279,7 +3250,7 @@ void writePageIndex(OutputList &ol)
ol.startTextBlock();
Doxygen::indexList.addContentsItem(TRUE,title,0,"pages",0);
Doxygen::indexList.incContentsDepth();
ol.parseText(theTranslator->trRelatedPagesDescription());
ol.parseText(lne->intro());
ol.endTextBlock();
startIndexHierarchy(ol,0);
PageSDict::Iterator pdi(*Doxygen::pageSDict);
......@@ -3752,7 +3723,7 @@ void writeGroupIndex(OutputList &ol)
ol.startTextBlock();
Doxygen::indexList.addContentsItem(TRUE,title,0,"modules",0);
Doxygen::indexList.incContentsDepth();
ol.parseText(theTranslator->trModulesDescription());
ol.parseText(lne->intro());
ol.endTextBlock();
FTVHelp* ftv = 0;
......@@ -3801,7 +3772,7 @@ void writeDirIndex(OutputList &ol)
ol.startTextBlock();
Doxygen::indexList.addContentsItem(TRUE,title,0,"dirs",0);
Doxygen::indexList.incContentsDepth();
ol.parseText(theTranslator->trDirDescription());
ol.parseText(lne->intro());
ol.endTextBlock();
FTVHelp* ftv = 0;
......@@ -3965,9 +3936,11 @@ void writeIndex(OutputList &ol)
if (Doxygen::mainPage)
{
Doxygen::insideMainPage=TRUE;
ol.startTextBlock();
ol.parseDoc(defFileName,defLine,Doxygen::mainPage,0,
Doxygen::mainPage->documentation(),TRUE,FALSE
/*,Doxygen::mainPage->sectionDict*/);
ol.endTextBlock();
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
......
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
......@@ -324,41 +324,41 @@ static void writeDefaultStyleSheetPart1(FTextStream &t)
"\\RequirePackage{sectsty}\n"
"\\RequirePackage{tocloft}\n"
"\\allsectionsfont{\\usefont{OT1}{phv}{bc}{n}\\selectfont}\n"
"\\renewcommand{\\cftchapfont}{%\n"
"\\providecommand{\\cftchapfont}{%\n"
" \\fontsize{11}{13}\\usefont{OT1}{phv}{bc}{n}\\selectfont\n"
"}\n"
"\\renewcommand{\\cftchappagefont}{%\n"
"\\providecommand{\\cftchappagefont}{%\n"
" \\fontsize{11}{13}\\usefont{OT1}{phv}{c}{n}\\selectfont\n"
"}\n"
"\\renewcommand{\\cftsecfont}{%\n"
"\\providecommand{\\cftsecfont}{%\n"
" \\fontsize{10}{12}\\usefont{OT1}{phv}{c}{n}\\selectfont\n"
"}\n"
"\\renewcommand{\\cftsecpagefont}{%\n"
"\\providecommand{\\cftsecpagefont}{%\n"
" \\fontsize{10}{12}\\usefont{OT1}{phv}{c}{n}\\selectfont\n"
"}\n"
"\\renewcommand{\\cftsubsecfont}{%\n"
"\\providecommand{\\cftsubsecfont}{%\n"
" \\fontsize{10}{12}\\usefont{OT1}{phv}{c}{n}\\selectfont\n"
"}\n"
"\\renewcommand{\\cftsubsecpagefont}{%\n"
"\\providecommand{\\cftsubsecpagefont}{%\n"
" \\fontsize{10}{12}\\usefont{OT1}{phv}{c}{n}\\selectfont\n"
"}\n"
"\\renewcommand{\\cftsubsubsecfont}{%\n"
"\\providecommand{\\cftsubsubsecfont}{%\n"
" \\fontsize{9}{11}\\usefont{OT1}{phv}{c}{n}\\selectfont\n"
"}\n"
"\\renewcommand{\\cftsubsubsecpagefont}{%\n"
"\\providecommand{\\cftsubsubsecpagefont}{%\n"
" \\fontsize{9}{11}\\usefont{OT1}{phv}{c}{n}\\selectfont\n"
"}\n"
"\\renewcommand{\\cftparafont}{%\n"
"\\providecommand{\\cftparafont}{%\n"
" \\fontsize{9}{11}\\usefont{OT1}{phv}{c}{n}\\selectfont\n"
"}\n"
"\\renewcommand{\\cftparapagefont}{%\n"
"\\providecommand{\\cftparapagefont}{%\n"
" \\fontsize{9}{11}\\usefont{OT1}{phv}{c}{n}\\selectfont\n"
"}\n"
"\\renewcommand{\\cfttoctitlefont}{%\n"
"\\providecommand{\\cfttoctitlefont}{%\n"
" \\fontsize{20}{22}\\usefont{OT1}{phv}{b}{n}\\selectfont\n"
"}\n"
"\\renewcommand{\\rmdefault}{phv}\n"
"\\renewcommand{\\bfdefault}{bc}\n"
"\\providecommand{\\rmdefault}{phv}\n"
"\\providecommand{\\bfdefault}{bc}\n"
"\n\n";
t << "% Setup fancy headings\n"
......
......@@ -766,52 +766,120 @@ class LayoutParser : public QXmlDefaultHandler
void startNavEntry(const QXmlAttributes &attrib)
{
bool javaOpt = Config_getBool("OPTIMIZE_OUTPUT_JAVA");
bool fortranOpt = Config_getBool("OPTIMIZE_FOR_FORTRAN");
bool vhdlOpt = Config_getBool("OPTIMIZE_OUTPUT_VHDL");
bool hasGraphicalHierarchy = Config_getBool("HAVE_DOT") &&
Config_getBool("GRAPHICAL_HIERARCHY");
static bool javaOpt = Config_getBool("OPTIMIZE_OUTPUT_JAVA");
static bool fortranOpt = Config_getBool("OPTIMIZE_FOR_FORTRAN");
static bool vhdlOpt = Config_getBool("OPTIMIZE_OUTPUT_VHDL");
static bool hasGraphicalHierarchy = Config_getBool("HAVE_DOT") &&
Config_getBool("GRAPHICAL_HIERARCHY");
static bool extractAll = Config_getBool("EXTRACT_ALL");
static struct NavEntryMap
{
const char *typeStr; // type attribute name in the XML file
LayoutNavEntry::Kind kind; // corresponding enum name
QCString mainName; // default title for an item if it has children
QCString subName; // optional name for an item if it is rendered as a child
QCString intro; // introduction text to be put on the index page
QCString baseFile; // base name of the file containing the index page
} mapping[] =
{
{ "mainpage", LayoutNavEntry::MainPage, theTranslator->trMainPage(), QCString(), /*Config_getBool("GENERATE_TREEVIEW") ? "main" :*/ "index" },
{ "pages", LayoutNavEntry::Pages, theTranslator->trRelatedPages(), QCString(), "pages" },
{ "modules", LayoutNavEntry::Modules, theTranslator->trModules(), QCString(), "modules" },
{ "namespaces", LayoutNavEntry::Namespaces, javaOpt ? theTranslator->trPackages() :
fortranOpt ? theTranslator->trModules() :
theTranslator->trNamespaces(),
javaOpt ? theTranslator->trPackages() :
fortranOpt ? theTranslator->trModulesList() :
theTranslator->trNamespaceList(), "namespaces" },
{ "namespacemembers", LayoutNavEntry::NamespaceMembers, javaOpt ? theTranslator->trPackageMembers() :
fortranOpt ? theTranslator->trModulesMembers() :
theTranslator->trNamespaceMembers(), QCString(), "namespacemembers" },
{ "classindex", LayoutNavEntry::Classes, fortranOpt ? theTranslator->trDataTypes() :
vhdlOpt ? VhdlDocGen::trDesignUnits() :
theTranslator->trCompoundIndex(),
QCString(), "classes" },
{ "classes", LayoutNavEntry::ClassAnnotated, fortranOpt ? theTranslator->trCompoundListFortran() :
vhdlOpt ? VhdlDocGen::trDesignUnitList() :
theTranslator->trClasses(),
theTranslator->trCompoundList(), "annotated" },
{ "hierarchy", LayoutNavEntry::ClassHierarchy, vhdlOpt ? VhdlDocGen::trDesignUnitHierarchy() :
theTranslator->trClassHierarchy(), QCString(),
hasGraphicalHierarchy ? "inherits" : "hierarchy" },
{ "classmembers", LayoutNavEntry::ClassMembers, fortranOpt ? theTranslator->trCompoundMembersFortran() :
vhdlOpt ? VhdlDocGen::trDesignUnitMembers() :
theTranslator->trCompoundMembers(), QCString(), "functions" },
{ "files", LayoutNavEntry::Files, theTranslator->trFile(TRUE,FALSE),
theTranslator->trFileList(), "files" },
{ "globals", LayoutNavEntry::FileGlobals, theTranslator->trFileMembers(), QCString(), "globals" },
{ "dirs", LayoutNavEntry::Dirs, theTranslator->trDirectories(), QCString(), "dirs" },
{ "examples", LayoutNavEntry::Examples, theTranslator->trExamples(), QCString(), "examples" },
{ 0, (LayoutNavEntry::Kind)0, QCString(), QCString(), QCString() }
{ "mainpage",
LayoutNavEntry::MainPage,
theTranslator->trMainPage(),
QCString(),
QCString(),
"index"
},
{ "pages",
LayoutNavEntry::Pages,
theTranslator->trRelatedPages(),
QCString(),
theTranslator->trRelatedPagesDescription(),
"pages"
},
{ "modules",
LayoutNavEntry::Modules,
theTranslator->trModules(),
QCString(),
theTranslator->trModulesDescription(),
"modules"
},
{ "namespaces",
LayoutNavEntry::Namespaces,
javaOpt ? theTranslator->trPackages() : fortranOpt ? theTranslator->trModules() : theTranslator->trNamespaces(),
javaOpt ? theTranslator->trPackages() : fortranOpt ? theTranslator->trModulesList() : theTranslator->trNamespaceList(),
javaOpt ? theTranslator->trPackageListDescription() : fortranOpt ? theTranslator->trModulesListDescription(extractAll) : theTranslator->trNamespaceListDescription(extractAll),
"namespaces"
},
{ "namespacemembers",
LayoutNavEntry::NamespaceMembers,
javaOpt ? theTranslator->trPackageMembers() : fortranOpt ? theTranslator->trModulesMembers() : theTranslator->trNamespaceMembers(),
QCString(),
fortranOpt ? theTranslator->trModulesMemberDescription(extractAll) : theTranslator->trNamespaceMemberDescription(extractAll),
"namespacemembers"
},
{ "classindex",
LayoutNavEntry::Classes,
fortranOpt ? theTranslator->trDataTypes() : vhdlOpt ? VhdlDocGen::trDesignUnits() : theTranslator->trCompoundIndex(),
QCString(),
QCString(),
"classes"
},
{ "classes",
LayoutNavEntry::ClassAnnotated,
fortranOpt ? theTranslator->trCompoundListFortran() : vhdlOpt ? VhdlDocGen::trDesignUnitList() : theTranslator->trClasses(),
theTranslator->trCompoundList(),
fortranOpt ? theTranslator->trCompoundListDescriptionFortran() : vhdlOpt ? VhdlDocGen::trDesignUnitListDescription() : theTranslator->trCompoundListDescription(),
"annotated"
},
{ "hierarchy",
LayoutNavEntry::ClassHierarchy,
vhdlOpt ? VhdlDocGen::trDesignUnitHierarchy() : theTranslator->trClassHierarchy(),
QCString(),
theTranslator->trClassHierarchyDescription(),
hasGraphicalHierarchy ? "inherits" : "hierarchy"
},
{ "classmembers",
LayoutNavEntry::ClassMembers,
fortranOpt ? theTranslator->trCompoundMembersFortran() : vhdlOpt ? VhdlDocGen::trDesignUnitMembers() : theTranslator->trCompoundMembers(),
QCString(),
fortranOpt ? theTranslator->trCompoundMembersDescriptionFortran(extractAll) : theTranslator->trCompoundMembersDescription(extractAll),
"functions"
},
{ "files",
LayoutNavEntry::Files,
theTranslator->trFile(TRUE,FALSE),
theTranslator->trFileList(),
theTranslator->trFileListDescription(extractAll),
"files"
},
{ "globals",
LayoutNavEntry::FileGlobals,
theTranslator->trFileMembers(),
QCString(),
theTranslator->trFileMembersDescription(extractAll),
"globals"
},
{ "dirs",
LayoutNavEntry::Dirs,
theTranslator->trDirectories(),
QCString(),
theTranslator->trDirDescription(),
"dirs"
},
{ "examples",
LayoutNavEntry::Examples,
theTranslator->trExamples(),
QCString(),
theTranslator->trExamplesDescription(),
"examples"
},
{ 0, // end of list
(LayoutNavEntry::Kind)0,
QCString(),
QCString(),
QCString(),
QCString()
}
};
LayoutNavEntry::Kind kind;
// find type in the table
......@@ -850,8 +918,13 @@ class LayoutParser : public QXmlDefaultHandler
// this is mainly done to get compatible naming with older versions.
}
}
QCString intro = convertToQCString(attrib.value("intro"));
if (intro.isEmpty()) // use default intro text
{
intro = mapping[i].intro;
}
// create new item and make it the new root
m_rootNav = new LayoutNavEntry(m_rootNav,kind,kind==LayoutNavEntry::MainPage?TRUE:isVisible,baseFile,title);
m_rootNav = new LayoutNavEntry(m_rootNav,kind,kind==LayoutNavEntry::MainPage?TRUE:isVisible,baseFile,title,intro);
}
void endNavEntry()
......
......@@ -123,8 +123,9 @@ struct LayoutNavEntry
Dirs,
Examples
};
LayoutNavEntry(LayoutNavEntry *parent,Kind k,bool vs,const QCString &bf, const QCString &tl,bool prepend=FALSE)
: m_parent(parent), m_kind(k), m_visible(vs), m_baseFile(bf), m_title(tl)
LayoutNavEntry(LayoutNavEntry *parent,Kind k,bool vs,const QCString &bf,
const QCString &tl,const QCString &intro,bool prepend=FALSE)
: m_parent(parent), m_kind(k), m_visible(vs), m_baseFile(bf), m_title(tl), m_intro(intro)
{ m_children.setAutoDelete(TRUE);
if (parent) { if (prepend) parent->prependChild(this); else parent->addChild(this); }
}
......@@ -132,6 +133,7 @@ struct LayoutNavEntry
Kind kind() const { return m_kind; }
QCString baseFile() const { return m_baseFile; }
QCString title() const { return m_title; }
QCString intro() const { return m_intro; }
bool visible() { return m_visible; }
void clear() { m_children.clear(); }
void addChild(LayoutNavEntry *e) { m_children.append(e); }
......@@ -146,6 +148,7 @@ struct LayoutNavEntry
bool m_visible;
QCString m_baseFile;
QCString m_title;
QCString m_intro;
QList<LayoutNavEntry> m_children;
friend class LayoutDocManager;
};
......
......@@ -2,24 +2,24 @@
" <!-- Navigation index tabs for HTML output -->\n"
" <navindex>\n"
" <tab type=\"mainpage\" visible=\"yes\" title=\"\"/>\n"
" <tab type=\"pages\" visible=\"yes\" title=\"\"/>\n"
" <tab type=\"modules\" visible=\"yes\" title=\"\"/>\n"
" <tab type=\"pages\" visible=\"yes\" title=\"\" intro=\"\"/>\n"
" <tab type=\"modules\" visible=\"yes\" title=\"\" intro=\"\"/>\n"
" <tab type=\"namespaces\" visible=\"yes\" title=\"\">\n"
" <tab type=\"namespaces\" visible=\"yes\" title=\"\"/>\n"
" <tab type=\"namespacemembers\" visible=\"yes\" title=\"\"/>\n"
" <tab type=\"namespaces\" visible=\"yes\" title=\"\" intro=\"\"/>\n"
" <tab type=\"namespacemembers\" visible=\"yes\" title=\"\" intro=\"\"/>\n"
" </tab>\n"
" <tab type=\"classes\" visible=\"yes\" title=\"\">\n"
" <tab type=\"classes\" visible=\"yes\" title=\"\"/>\n"
" <tab type=\"classes\" visible=\"yes\" title=\"\" intro=\"\"/>\n"
" <tab type=\"classindex\" visible=\"$ALPHABETICAL_INDEX\" title=\"\"/> \n"
" <tab type=\"hierarchy\" visible=\"yes\" title=\"\"/>\n"
" <tab type=\"classmembers\" visible=\"yes\" title=\"\"/>\n"
" <tab type=\"hierarchy\" visible=\"yes\" title=\"\" intro=\"\"/>\n"
" <tab type=\"classmembers\" visible=\"yes\" title=\"\" intro=\"\"/>\n"
" </tab>\n"
" <tab type=\"files\" visible=\"yes\" title=\"\">\n"
" <tab type=\"files\" visible=\"yes\" title=\"\"/>\n"
" <tab type=\"globals\" visible=\"yes\" title=\"\"/>\n"
" <tab type=\"files\" visible=\"yes\" title=\"\" intro=\"\"/>\n"
" <tab type=\"globals\" visible=\"yes\" title=\"\" intro=\"\"/>\n"
" </tab>\n"
" <tab type=\"dirs\" visible=\"yes\" title=\"\"/>\n"
" <tab type=\"examples\" visible=\"yes\" title=\"\"/> \n"
" <tab type=\"dirs\" visible=\"yes\" title=\"\" intro=\"\"/>\n"
" <tab type=\"examples\" visible=\"yes\" title=\"\" intro=\"\"/> \n"
" </navindex>\n"
"\n"
" <!-- Layout definition for a class page -->\n"
......
......@@ -2,24 +2,24 @@
<!-- Navigation index tabs for HTML output -->
<navindex>
<tab type="mainpage" visible="yes" title=""/>
<tab type="pages" visible="yes" title=""/>
<tab type="modules" visible="yes" title=""/>
<tab type="pages" visible="yes" title="" intro=""/>
<tab type="modules" visible="yes" title="" intro=""/>
<tab type="namespaces" visible="yes" title="">
<tab type="namespaces" visible="yes" title=""/>
<tab type="namespacemembers" visible="yes" title=""/>
<tab type="namespaces" visible="yes" title="" intro=""/>
<tab type="namespacemembers" visible="yes" title="" intro=""/>
</tab>
<tab type="classes" visible="yes" title="">
<tab type="classes" visible="yes" title=""/>
<tab type="classes" visible="yes" title="" intro=""/>
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="hierarchy" visible="yes" title=""/>
<tab type="classmembers" visible="yes" title=""/>
<tab type="hierarchy" visible="yes" title="" intro=""/>
<tab type="classmembers" visible="yes" title="" intro=""/>
</tab>
<tab type="files" visible="yes" title="">
<tab type="files" visible="yes" title=""/>
<tab type="globals" visible="yes" title=""/>
<tab type="files" visible="yes" title="" intro=""/>
<tab type="globals" visible="yes" title="" intro=""/>
</tab>
<tab type="dirs" visible="yes" title=""/>
<tab type="examples" visible="yes" title=""/>
<tab type="dirs" visible="yes" title="" intro=""/>
<tab type="examples" visible="yes" title="" intro=""/>
</navindex>
<!-- Layout definition for a class page -->
......
......@@ -62,6 +62,8 @@ HEADERS = bufstr.h \
index_xsd.h \
instdox.h \
jquery_js.h \
jquery_ui_js.h \
sizzle_js.h \
language.h \
latexdocvisitor.h \
latexgen.h \
......
......@@ -132,6 +132,12 @@ resize_js.h: resize.js
jquery_js.h: jquery.js
cat jquery.js | $(TO_C_CMD) >jquery_js.h
jquery_ui_js.h: jquery_ui.js
cat jquery_ui.js | $(TO_C_CMD) >jquery_ui_js.h
sizzle_js.h: sizzle.js
cat sizzle.js | $(TO_C_CMD) >sizzle_js.h
navtree_css.h: navtree.css
cat navtree.css | $(TO_C_CMD) >navtree_css.h
......@@ -923,6 +923,27 @@ void MemberDef::_computeLinkableInProject()
return; // linkable!
}
void MemberDef::setDocumentation(const char *d,const char *docFile,int docLine,bool stripWhiteSpace)
{
makeResident();
Definition::setDocumentation(d,docFile,docLine,stripWhiteSpace);
m_isLinkableCached = 0;
}
void MemberDef::setBriefDescription(const char *b,const char *briefFile,int briefLine)
{
makeResident();
Definition::setBriefDescription(b,briefFile,briefLine);
m_isLinkableCached = 0;
}
void MemberDef::setInbodyDocumentation(const char *d,const char *inbodyFile,int inbodyLine)
{
makeResident();
Definition::setInbodyDocumentation(d,inbodyFile,inbodyLine);
m_isLinkableCached = 0;
}
bool MemberDef::isLinkableInProject() const
{
if (m_isLinkableCached==0)
......@@ -2095,7 +2116,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
MemberDef *fmd=fmdl->first();
while (fmd)
{
//printf("Enum: isLinkable()=%d\n",fmd->isLinkable());
//printf("Enum %p: isLinkable()=%d\n",fmd,fmd->isLinkable());
if (fmd->isLinkable())
{
if (first)
......
......@@ -330,6 +330,10 @@ class MemberDef : public Definition
void copyArgumentNames(MemberDef *bmd);
void setCategory(ClassDef *);
void setDocumentation(const char *d,const char *docFile,int docLine,bool stripWhiteSpace=TRUE);
void setBriefDescription(const char *b,const char *briefFile,int briefLine);
void setInbodyDocumentation(const char *d,const char *inbodyFile,int inbodyLine);
//-----------------------------------------------------------------------------------
// --- actions ----
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -421,14 +421,19 @@ QCString resolveTypeDef(Definition *context,const QCString &qualifiedName,
// step 3: get the member's type
if (md)
{
//printf(">>resolveTypeDef: Found typedef name `%s' in scope `%s' value=`%s'\n",
// qualifiedName.data(),context->name().data(),md->typeString()
//printf(">>resolveTypeDef: Found typedef name `%s' in scope `%s' value=`%s' args='%s'\n",
// qualifiedName.data(),context->name().data(),md->typeString(),md->argsString()
// );
result=md->typeString();
QString args = md->argsString();
if (result.find("*)")!=-1) // typedef of a function/member pointer
{
result+=md->argsString();
}
if (args.find('[')!=-1)
{
result+=args;
}
if (typedefContext) *typedefContext=md->getOuterScope();
}
else
......@@ -2851,7 +2856,7 @@ static bool matchArgument(const Argument *srcA,const Argument *dstA,
if (srcPos==0 || dstPos==0)
{
NOMATCH
return FALSE;
return FALSE;
}
if (isId(srcAType.at(srcPos)) && isId(dstAType.at(dstPos)))
{
......@@ -2860,7 +2865,7 @@ static bool matchArgument(const Argument *srcA,const Argument *dstA,
if (!srcAName.isEmpty() || !dstAName.isEmpty())
{
NOMATCH
return FALSE;
return FALSE;
}
// types only
while (srcPos<srcATypeLen && isId(srcAType.at(srcPos))) srcPos++;
......@@ -2871,7 +2876,7 @@ static bool matchArgument(const Argument *srcA,const Argument *dstA,
)
{
NOMATCH
return FALSE;
return FALSE;
}
}
else
......@@ -2888,7 +2893,7 @@ static bool matchArgument(const Argument *srcA,const Argument *dstA,
if (srcPos!=srcATypeLen || dstPos!=dstATypeLen)
{
NOMATCH
return FALSE;
return FALSE;
}
}
}
......@@ -2899,13 +2904,13 @@ static bool matchArgument(const Argument *srcA,const Argument *dstA,
if (!dstAName.isEmpty()) // dst has its name separated from its type
{
NOMATCH
return FALSE;
return FALSE;
}
while (dstPos<dstAType.length() && isId(dstAType.at(dstPos))) dstPos++;
if (dstPos!=dstAType.length())
{
NOMATCH
return FALSE; // more than a difference in name -> no match
return FALSE; // more than a difference in name -> no match
}
}
else // maybe dst has a name while src has not
......@@ -2915,7 +2920,7 @@ static bool matchArgument(const Argument *srcA,const Argument *dstA,
if (dstPos!=dstAType.length() || !srcAName.isEmpty())
{
NOMATCH
return FALSE; // nope not a name -> no match
return FALSE; // nope not a name -> no match
}
}
}
......@@ -2926,13 +2931,13 @@ static bool matchArgument(const Argument *srcA,const Argument *dstA,
if (!srcAName.isEmpty()) // src has its name separated from its type
{
NOMATCH
return FALSE;
return FALSE;
}
while (srcPos<srcAType.length() && isId(srcAType.at(srcPos))) srcPos++;
if (srcPos!=srcAType.length())
{
NOMATCH
return FALSE; // more than a difference in name -> no match
return FALSE; // more than a difference in name -> no match
}
}
else // maybe src has a name while dst has not
......@@ -2942,7 +2947,7 @@ static bool matchArgument(const Argument *srcA,const Argument *dstA,
if (srcPos!=srcAType.length() || !dstAName.isEmpty())
{
NOMATCH
return FALSE; // nope not a name -> no match
return FALSE; // nope not a name -> no match
}
}
}
......@@ -3335,6 +3340,10 @@ static QCString extractCanonicalArgType(Definition *d,FileDef *fs,const Argument
if (!type.isEmpty()) type+=" ";
type+=name;
}
if (!arg->array.isEmpty())
{
type+=arg->array;
}
return extractCanonicalType(d,fs,type);
}
......@@ -3350,11 +3359,11 @@ static bool matchArgument2(
// dstScope ? dstScope->name().data() : "",
// dstA->type.data(),dstA->name.data(),dstA->canType.data());
if (srcA->array!=dstA->array) // nomatch for char[] against char
{
NOMATCH
return FALSE;
}
//if (srcA->array!=dstA->array) // nomatch for char[] against char
//{
// NOMATCH
// return FALSE;
//}
QCString sSrcName = " "+srcA->name;
QCString sDstName = " "+dstA->name;
QCString srcType = srcA->type;
......
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