summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/code.l13
-rw-r--r--src/config.l17
-rw-r--r--src/docparser.cpp9
-rw-r--r--src/docparser.h350
-rw-r--r--src/dot.cpp19
-rw-r--r--src/dot.h2
-rw-r--r--src/doxygen.cpp75
-rw-r--r--src/filedef.cpp4
-rw-r--r--src/htmldocvisitor.cpp3
-rw-r--r--src/memberdef.cpp1
-rw-r--r--src/translator_pl.h30
-rw-r--r--src/util.cpp9
-rw-r--r--src/util.h60
-rw-r--r--src/xmlgen.cpp8
14 files changed, 331 insertions, 269 deletions
diff --git a/src/code.l b/src/code.l
index 4a2b80a..5335daa 100644
--- a/src/code.l
+++ b/src/code.l
@@ -672,6 +672,7 @@ static void generateClassOrGlobalLink(BaseCodeDocInterface &ol,char *clName,
}
else
{
+ //printf("typeOnly=%d\n",typeOnly);
if (cd==0 && !typeOnly) // not a class, see if it is a global enum/variable/typedef.
{
MemberDef *md = setCallContextForVar(clName);
@@ -1556,7 +1557,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
<MemberCall2,FuncCall>[a-z_A-Z][:a-z_A-Z0-9]*({B}*"<"[^\n\<\>]*">")? {
addParmType();
g_parmName=yytext;
- generateClassOrGlobalLink(*g_code,yytext,TRUE);
+ generateClassOrGlobalLink(*g_code,yytext,!g_insideBody);
}
<MemberCall2,FuncCall>, {
g_code->codify(yytext);
@@ -1798,6 +1799,11 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
codifyLines(yytext);
endFontClass();
}
+ if (YY_START==SkipCxxComment)
+ {
+ endFontClass();
+ BEGIN( g_lastCContext ) ;
+ }
}
<*>\n{B}*"//@"[{}].*\n { // remove one-line group marker
if (Config_getBool("STRIP_CODE_COMMENTS"))
@@ -1815,6 +1821,11 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
codifyLines(yytext);
endFontClass();
}
+ if (YY_START==SkipCxxComment)
+ {
+ endFontClass();
+ BEGIN( g_lastCContext ) ;
+ }
}
<*>\n{B}*"/*@"[{}] { // remove one-line group marker
if (Config_getBool("STRIP_CODE_COMMENTS"))
diff --git a/src/config.l b/src/config.l
index b569d5d..184763d 100644
--- a/src/config.l
+++ b/src/config.l
@@ -2371,8 +2371,21 @@ void Config::create()
//-----------------------------------------------------------------------------------------------
cl = addList(
"TAGFILES",
- "The TAGFILES tag can be used to specify one or more tagfiles. \n"
- );
+ "The TAGFILES option can be used to specify one or more tagfiles. \n"
+ "Optionally an initial location of the external documentation \n"
+ "can be added for each tagfile. The format of a tag file without \n"
+ "this location is as follows: \n"
+ " TAGFILES = file1 file2 ... \n"
+ "Adding location for the tag files is done as follows: \n"
+ " TAGFILES = file1=loc1 \"file2 = loc2\" ... \n"
+ "where \"loc1\" and \"loc2\" can be relative or absolute paths or \n"
+ "URLs. If a location is present for each tag, the installdox tool \n"
+ "does not have to be run to correct the links.\n"
+ "Note that each tag file must have a unique name\n"
+ "(where the name does NOT include the path)\n"
+ "If a tag file is not located in the directory in which doxygen \n"
+ "is run, you must also specify the path to the tagfile here. \n"
+ );
cl->setWidgetType(ConfigList::File);
cs = addString(
"GENERATE_TAGFILE",
diff --git a/src/docparser.cpp b/src/docparser.cpp
index 08e21cf..bd50337 100644
--- a/src/docparser.cpp
+++ b/src/docparser.cpp
@@ -1175,6 +1175,7 @@ DocAnchor::DocAnchor(DocNode *parent,const QString &id,bool newAnchor)
void DocInclude::parse()
{
+ DBG(("DocInclude::parse(file=%s,text=%s)\n",m_file.data(),m_text.data()));
switch(m_type)
{
case Include:
@@ -1184,6 +1185,7 @@ void DocInclude::parse()
g_includeFileText = m_text;
g_includeFileOffset = 0;
g_includeFileLength = m_text.length();
+ //printf("g_includeFile=<<%s>>\n",g_includeFileText.data());
break;
case VerbInclude:
// fall through
@@ -1200,7 +1202,7 @@ void DocIncOperator::parse()
const char *p = g_includeFileText;
uint l = g_includeFileLength;
uint o = g_includeFileOffset;
- //printf("DocIncOperator::parse() text=%s off=%d len=%d\n",p,o,l);
+ DBG(("DocIncOperator::parse() text=%s off=%d len=%d\n",p,o,l));
uint so = o,bo;
bool nonEmpty = FALSE;
switch(type())
@@ -1223,6 +1225,7 @@ void DocIncOperator::parse()
if (g_includeFileText.mid(so,o-so).find(m_pattern)!=-1)
{
m_text = g_includeFileText.mid(so,o-so);
+ DBG(("DocIncOperator::parse() Line: %s\n",m_text.data()));
}
g_includeFileOffset = QMIN(l,o+1); // set pointer to start of new line
break;
@@ -1247,6 +1250,7 @@ void DocIncOperator::parse()
if (g_includeFileText.mid(so,o-so).find(m_pattern)!=-1)
{
m_text = g_includeFileText.mid(so,o-so);
+ DBG(("DocIncOperator::parse() SkipLine: %s\n",m_text.data()));
break;
}
o++; // skip new line
@@ -1301,6 +1305,7 @@ void DocIncOperator::parse()
if (g_includeFileText.mid(so,o-so).find(m_pattern)!=-1)
{
m_text = g_includeFileText.mid(bo,o-bo);
+ DBG(("DocIncOperator::parse() Until: %s\n",m_text.data()));
break;
}
o++; // skip new line
@@ -3129,6 +3134,7 @@ int DocPara::handleXRefItem(DocXRefItem::Type t)
void DocPara::handleIncludeOperator(const QString &cmdName,DocIncOperator::Type t)
{
+ DBG(("handleIncludeOperator(%s)\n",cmdName.data()));
int tok=doctokenizerYYlex();
if (tok!=TK_WHITESPACE)
{
@@ -3349,6 +3355,7 @@ endlang:
void DocPara::handleInclude(const QString &cmdName,DocInclude::Type t)
{
+ DBG(("handleInclude(%s)\n",cmdName.data()));
int tok=doctokenizerYYlex();
if (tok!=TK_WHITESPACE)
{
diff --git a/src/docparser.h b/src/docparser.h
index 15d931c..72c7d9b 100644
--- a/src/docparser.h
+++ b/src/docparser.h
@@ -47,6 +47,8 @@ class SectionDict;
* Can be 0.
* @param input String representation of the documentation block.
* @param isExample TRUE if the documentation belongs to an example.
+ * @param sections Sections (and anchors) found in the documentation are
+ * collected here (if not 0).
* @returns Root node of the abstract syntax tree. Ownership of the
* pointer is handed over to the caller.
*/
@@ -139,9 +141,11 @@ class DocNode
/*! Returns TRUE iff this node is inside a preformatted section */
bool isPreformatted() const { return m_insidePre; }
+ protected:
/*! Sets whether or not this item is inside a preformatted section */
void setInsidePreformatted(bool p) { m_insidePre = p; }
private:
+
bool m_insidePre;
};
@@ -193,12 +197,12 @@ class DocLinkedWord : public DocNode
const QString &anchor) :
m_parent(parent), m_word(word), m_ref(ref),
m_file(file), m_anchor(anchor) {}
- QString word() const { return m_word; }
+ QString word() const { return m_word; }
Kind kind() const { return Kind_Word; }
DocNode *parent() const { return m_parent; }
- QString file() const { return m_file; }
- QString ref() const { return m_ref; }
- QString anchor() const { return m_anchor; }
+ QString file() const { return m_file; }
+ QString ref() const { return m_ref; }
+ QString anchor() const { return m_anchor; }
void accept(DocVisitor *v) { v->visit(this); }
private:
@@ -215,11 +219,11 @@ class DocURL : public DocNode
public:
DocURL(DocNode *parent,const QString &url,bool isEmail) :
m_parent(parent), m_url(url), m_isEmail(isEmail) {}
- QString url() const { return m_url; }
- Kind kind() const { return Kind_URL; }
- DocNode *parent() const { return m_parent; }
+ QString url() const { return m_url; }
+ Kind kind() const { return Kind_URL; }
+ DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { v->visit(this); }
- bool isEmail() const { return m_isEmail; }
+ bool isEmail() const { return m_isEmail; }
private:
DocNode *m_parent;
@@ -233,8 +237,8 @@ class DocLineBreak : public DocNode
public:
DocLineBreak(DocNode *parent) :
m_parent(parent) {}
- Kind kind() const { return Kind_LineBreak; }
- DocNode *parent() const { return m_parent; }
+ Kind kind() const { return Kind_LineBreak; }
+ DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { v->visit(this); }
private:
@@ -247,8 +251,8 @@ class DocHorRuler : public DocNode
public:
DocHorRuler(DocNode *parent) :
m_parent(parent) {}
- Kind kind() const { return Kind_HorRuler; }
- DocNode *parent() const { return m_parent; }
+ Kind kind() const { return Kind_HorRuler; }
+ DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { v->visit(this); }
private:
@@ -260,10 +264,10 @@ class DocAnchor : public DocNode
{
public:
DocAnchor(DocNode *parent,const QString &id,bool newAnchor);
- Kind kind() const { return Kind_Anchor; }
- DocNode *parent() const { return m_parent; }
- QString anchor() const { return m_anchor; }
- QString file() const { return m_file; }
+ Kind kind() const { return Kind_Anchor; }
+ DocNode *parent() const { return m_parent; }
+ QString anchor() const { return m_anchor; }
+ QString file() const { return m_file; }
void accept(DocVisitor *v) { v->visit(this); }
private:
@@ -284,13 +288,13 @@ class DocStyleChange : public DocNode
const HtmlAttribList *attribs=0) :
m_parent(parent), m_position(position), m_style(s), m_enable(enable)
{ if (attribs) m_attribs=*attribs; }
- Kind kind() const { return Kind_StyleChange; }
- Style style() const { return m_style; }
+ Kind kind() const { return Kind_StyleChange; }
+ Style style() const { return m_style; }
const char *styleString() const;
- bool enable() const { return m_enable; }
- uint position() const { return m_position; }
- DocNode *parent() const { return m_parent; }
- void accept(DocVisitor *v) { v->visit(this); }
+ bool enable() const { return m_enable; }
+ uint position() const { return m_position; }
+ DocNode *parent() const { return m_parent; }
+ void accept(DocVisitor *v) { v->visit(this); }
const HtmlAttribList &attribs() const { return m_attribs; }
private:
@@ -311,10 +315,10 @@ class DocSymbol : public DocNode
};
DocSymbol(DocNode *parent,SymType s,char letter='\0') :
m_parent(parent), m_symbol(s), m_letter(letter) {}
- SymType symbol() const { return m_symbol; }
- char letter() const { return m_letter; }
- Kind kind() const { return Kind_Symbol; }
- DocNode *parent() const { return m_parent; }
+ SymType symbol() const { return m_symbol; }
+ char letter() const { return m_letter; }
+ Kind kind() const { return Kind_Symbol; }
+ DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { v->visit(this); }
static SymType decodeSymbol(const QString &symName,char *letter);
@@ -330,9 +334,9 @@ class DocWhiteSpace : public DocNode
public:
DocWhiteSpace(DocNode *parent,const QString &chars) :
m_parent(parent), m_chars(chars) {}
- Kind kind() const { return Kind_WhiteSpace; }
- QString chars() const { return m_chars; }
- DocNode *parent() const { return m_parent; }
+ Kind kind() const { return Kind_WhiteSpace; }
+ QString chars() const { return m_chars; }
+ DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { v->visit(this); }
private:
DocNode *m_parent;
@@ -349,13 +353,13 @@ class DocVerbatim : public DocNode
const QString &exampleFile) :
m_parent(parent), m_context(context), m_text(text), m_type(t),
m_isExample(isExample), m_exampleFile(exampleFile) {}
- Kind kind() const { return Kind_Verbatim; }
- Type type() const { return m_type; }
- QString text() const { return m_text; }
- QString context() const { return m_context; }
- DocNode *parent() const { return m_parent; }
- void accept(DocVisitor *v) { v->visit(this); }
- bool isExample() const { return m_isExample; }
+ Kind kind() const { return Kind_Verbatim; }
+ Type type() const { return m_type; }
+ QString text() const { return m_text; }
+ QString context() const { return m_context; }
+ DocNode *parent() const { return m_parent; }
+ void accept(DocVisitor *v) { v->visit(this); }
+ bool isExample() const { return m_isExample; }
QString exampleFile() const { return m_exampleFile; }
private:
@@ -440,11 +444,11 @@ class DocFormula : public DocNode
{
public:
DocFormula(DocNode *parent,int id);
- Kind kind() const { return Kind_Formula; }
- QString name() const { return m_name; }
- QString text() const { return m_text; }
- int id() const { return m_id; }
- DocNode *parent() const { return m_parent; }
+ Kind kind() const { return Kind_Formula; }
+ QString name() const { return m_name; }
+ QString text() const { return m_text; }
+ int id() const { return m_id; }
+ DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { v->visit(this); }
private:
@@ -461,9 +465,9 @@ class DocIndexEntry : public DocNode
DocIndexEntry(DocNode *parent) : m_parent(parent) { }
Kind kind() const { return Kind_IndexEntry; }
int parse();
- DocNode *parent() const { return m_parent; }
- void accept(DocVisitor *v) { v->visit(this); }
- QString entry() { return m_entry; }
+ DocNode *parent() const { return m_parent; }
+ void accept(DocVisitor *v) { v->visit(this); }
+ QString entry() { return m_entry; }
private:
DocNode *m_parent;
@@ -478,11 +482,11 @@ class DocCopy : public CompAccept<DocCopy>, public DocNode
public:
DocCopy(DocNode *parent,const QString &link)
: m_parent(parent), m_link(link) { }
- Kind kind() const { return Kind_IndexEntry; }
- QString link() const { return m_link; }
- void parse();
- DocNode *parent() const { return m_parent; }
+ Kind kind() const { return Kind_IndexEntry; }
+ QString link() const { return m_link; }
+ DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { CompAccept<DocCopy>::accept(this,v); }
+ void parse();
private:
DocNode *m_parent;
@@ -495,12 +499,12 @@ class DocAutoList : public CompAccept<DocAutoList>, public DocNode
public:
DocAutoList(DocNode *parent,int indent,bool isEnumList) :
m_parent(parent), m_indent(indent), m_isEnumList(isEnumList) {}
- Kind kind() const { return Kind_AutoList; }
- int parse();
- bool isEnumList() const { return m_isEnumList; }
- int indent() const { return m_indent; }
- DocNode *parent() const { return m_parent; }
+ Kind kind() const { return Kind_AutoList; }
+ bool isEnumList() const { return m_isEnumList; }
+ int indent() const { return m_indent; }
+ DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { CompAccept<DocAutoList>::accept(this,v); }
+ int parse();
private:
DocNode *m_parent;
@@ -516,8 +520,8 @@ class DocTitle : public CompAccept<DocTitle>, public DocNode
DocTitle(DocNode *parent) : m_parent(parent) {}
void parse();
void parseFromString(const QString &title);
- Kind kind() const { return Kind_Title; }
- DocNode *parent() const { return m_parent; }
+ Kind kind() const { return Kind_Title; }
+ DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { CompAccept<DocTitle>::accept(this,v); }
private:
@@ -531,14 +535,14 @@ class DocXRefItem : public CompAccept<DocXRefItem>, public DocNode
enum Type { Bug, Test, Todo, Deprecated };
DocXRefItem(DocNode *parent,int id,Type t) :
m_parent(parent), m_id(id), m_type(t) {}
- Kind kind() const { return Kind_XRefItem; }
- Type type() const { return m_type; }
- QString file() const { return m_file; }
- QString anchor() const { return m_anchor; }
- QString title() const { return m_title; }
- void parse();
- DocNode *parent() const { return m_parent; }
+ Kind kind() const { return Kind_XRefItem; }
+ Type type() const { return m_type; }
+ QString file() const { return m_file; }
+ QString anchor() const { return m_anchor; }
+ QString title() const { return m_title; }
+ DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { CompAccept<DocXRefItem>::accept(this,v); }
+ void parse();
private:
DocNode *m_parent;
@@ -558,11 +562,11 @@ class DocImage : public CompAccept<DocImage>, public DocNode
m_parent(parent), m_name(name), m_type(t) {}
Kind kind() const { return Kind_Image; }
Type type() const { return m_type; }
- QString name() const { return m_name; }
+ QString name() const { return m_name; }
DocNode *parent() const { return m_parent; }
bool hasCaption() const { return !m_children.isEmpty(); }
- QString width() const { return m_width; }
- QString height() const { return m_height; }
+ QString width() const { return m_width; }
+ QString height() const { return m_height; }
void accept(DocVisitor *v) { CompAccept<DocImage>::accept(this,v); }
void parse();
@@ -582,11 +586,11 @@ class DocDotFile : public CompAccept<DocDotFile>, public DocNode
m_parent(parent), m_name(name) { }
void parse();
Kind kind() const { return Kind_DotFile; }
- QString name() const { return m_name; }
- QString file() const { return m_file; }
+ QString name() const { return m_name; }
+ QString file() const { return m_file; }
bool hasCaption() const { return !m_children.isEmpty(); }
- QString width() const { return m_width; }
- QString height() const { return m_height; }
+ QString width() const { return m_width; }
+ QString height() const { return m_height; }
DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { CompAccept<DocDotFile>::accept(this,v); }
@@ -604,11 +608,11 @@ class DocLink : public CompAccept<DocLink>, public DocNode
public:
DocLink(DocNode *parent,const QString &target);
QString parse(bool);
- Kind kind() const { return Kind_Link; }
- QString file() const { return m_file; }
- QString ref() const { return m_ref; }
- QString anchor() const { return m_anchor; }
- DocNode *parent() const { return m_parent; }
+ Kind kind() const { return Kind_Link; }
+ QString file() const { return m_file; }
+ QString ref() const { return m_ref; }
+ QString anchor() const { return m_anchor; }
+ DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { CompAccept<DocLink>::accept(this,v); }
private:
@@ -626,10 +630,10 @@ class DocRef : public CompAccept<DocRef>, public DocNode
DocRef(DocNode *parent,const QString &target);
void parse();
Kind kind() const { return Kind_Ref; }
- QString file() const { return m_file; }
- QString ref() const { return m_ref; }
- QString anchor() const { return m_anchor; }
- QString targetTitle() const { return m_text; }
+ QString file() const { return m_file; }
+ QString ref() const { return m_ref; }
+ QString anchor() const { return m_anchor; }
+ QString targetTitle() const { return m_text; }
DocNode *parent() const { return m_parent; }
bool hasLinkText() const { return !m_children.isEmpty(); }
bool refToAnchor() const { return m_refToAnchor; }
@@ -653,8 +657,8 @@ class DocInternalRef : public CompAccept<DocInternalRef>, public DocNode
DocInternalRef(DocNode *parent,const QString &target);
void parse();
Kind kind() const { return Kind_Ref; }
- QString file() const { return m_file; }
- QString anchor() const { return m_anchor; }
+ QString file() const { return m_file; }
+ QString anchor() const { return m_anchor; }
DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { CompAccept<DocInternalRef>::accept(this,v); }
@@ -670,11 +674,11 @@ class DocLanguage : public CompAccept<DocLanguage>, public DocNode
public:
DocLanguage(DocNode *parent,const QString &id) :
m_parent(parent), m_id(id) {}
- QString id() const { return m_id; }
- int parse();
- Kind kind() const { return Kind_Language; }
- DocNode *parent() const { return m_parent; }
+ QString id() const { return m_id; }
+ Kind kind() const { return Kind_Language; }
+ DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { CompAccept<DocLanguage>::accept(this,v); }
+ int parse();
private:
DocNode * m_parent;
@@ -688,9 +692,9 @@ class DocHRef : public CompAccept<DocHRef>, public DocNode
DocHRef(DocNode *parent,const QString &url) :
m_parent(parent), m_url(url) {}
int parse();
- QString url() const { return m_url; }
- Kind kind() const { return Kind_HRef; }
- DocNode *parent() const { return m_parent; }
+ QString url() const { return m_url; }
+ Kind kind() const { return Kind_HRef; }
+ DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { CompAccept<DocHRef>::accept(this,v); }
private:
@@ -704,12 +708,12 @@ class DocHtmlHeader : public CompAccept<DocHtmlHeader>, public DocNode
public:
DocHtmlHeader(DocNode *parent,const HtmlAttribList &attribs,int level) :
m_parent(parent), m_level(level), m_attribs(attribs) {}
- int parse();
- int level() const { return m_level; }
- Kind kind() const { return Kind_HtmlHeader; }
+ int level() const { return m_level; }
+ Kind kind() const { return Kind_HtmlHeader; }
const HtmlAttribList &attribs() const { return m_attribs; }
- DocNode *parent() const { return m_parent; }
+ DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { CompAccept<DocHtmlHeader>::accept(this,v); }
+ int parse();
private:
DocNode * m_parent;
@@ -723,11 +727,11 @@ class DocHtmlDescTitle : public CompAccept<DocHtmlDescTitle>, public DocNode
public:
DocHtmlDescTitle(DocNode *parent,const HtmlAttribList &attribs) :
m_parent(parent), m_attribs(attribs) {}
- int parse();
- Kind kind() const { return Kind_HtmlDescTitle; }
- DocNode *parent() const { return m_parent; }
+ Kind kind() const { return Kind_HtmlDescTitle; }
+ DocNode *parent() const { return m_parent; }
const HtmlAttribList &attribs() const { return m_attribs; }
void accept(DocVisitor *v) { CompAccept<DocHtmlDescTitle>::accept(this,v); }
+ int parse();
private:
DocNode * m_parent;
@@ -740,11 +744,11 @@ class DocHtmlDescList : public CompAccept<DocHtmlDescList>, public DocNode
public:
DocHtmlDescList(DocNode *parent,const HtmlAttribList &attribs)
: m_parent(parent), m_attribs(attribs) {}
- int parse();
- Kind kind() const { return Kind_HtmlDescList; }
- DocNode *parent() const { return m_parent; }
+ Kind kind() const { return Kind_HtmlDescList; }
+ DocNode *parent() const { return m_parent; }
const HtmlAttribList &attribs() const { return m_attribs; }
void accept(DocVisitor *v) { CompAccept<DocHtmlDescList>::accept(this,v); }
+ int parse();
private:
DocNode * m_parent;
@@ -759,10 +763,10 @@ class DocSection : public CompAccept<DocSection>, public DocNode
m_parent(parent), m_level(level), m_id(id) {}
Kind kind() const { return Kind_Section; }
int level() const { return m_level; }
- QString title() const { return m_title; }
- QString anchor() const { return m_anchor; }
- QString id() const { return m_id; }
- QString file() const { return m_file; }
+ QString title() const { return m_title; }
+ QString anchor() const { return m_anchor; }
+ QString id() const { return m_id; }
+ QString file() const { return m_file; }
DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { CompAccept<DocSection>::accept(this,v); }
int parse();
@@ -783,9 +787,9 @@ class DocSecRefItem : public CompAccept<DocSecRefItem>, public DocNode
DocSecRefItem(DocNode *parent,const QString &target) :
m_parent(parent), m_target(target) {}
Kind kind() const { return Kind_SecRefItem; }
- QString target() const { return m_target; }
- QString file() const { return m_file; }
- QString anchor() const { return m_anchor; }
+ QString target() const { return m_target; }
+ QString file() const { return m_file; }
+ QString anchor() const { return m_anchor; }
DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { CompAccept<DocSecRefItem>::accept(this,v); }
void parse();
@@ -803,8 +807,8 @@ class DocSecRefList : public CompAccept<DocSecRefList>, public DocNode
public:
DocSecRefList(DocNode *parent) : m_parent(parent) {}
void parse();
- Kind kind() const { return Kind_SecRefList; }
- DocNode *parent() const { return m_parent; }
+ Kind kind() const { return Kind_SecRefList; }
+ DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { CompAccept<DocSecRefList>::accept(this,v); }
private:
@@ -817,8 +821,8 @@ class DocInternal : public CompAccept<DocInternal>, public DocNode
public:
DocInternal(DocNode *parent) : m_parent(parent) {}
int parse();
- Kind kind() const { return Kind_Internal; }
- DocNode *parent() const { return m_parent; }
+ Kind kind() const { return Kind_Internal; }
+ DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { CompAccept<DocInternal>::accept(this,v); }
private:
@@ -830,10 +834,10 @@ class DocSimpleList : public CompAccept<DocSimpleList>, public DocNode
{
public:
DocSimpleList(DocNode *parent) : m_parent(parent) {}
- Kind kind() const { return Kind_SimpleList; }
- int parse();
- DocNode *parent() const { return m_parent; }
+ Kind kind() const { return Kind_SimpleList; }
+ DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { CompAccept<DocSimpleList>::accept(this,v); }
+ int parse();
private:
DocNode *m_parent;
@@ -846,12 +850,12 @@ class DocHtmlList : public CompAccept<DocHtmlList>, public DocNode
enum Type { Unordered, Ordered };
DocHtmlList(DocNode *parent,const HtmlAttribList &attribs,Type t) :
m_parent(parent), m_type(t), m_attribs(attribs) {}
- Kind kind() const { return Kind_HtmlList; }
- Type type() const { return m_type; }
+ Kind kind() const { return Kind_HtmlList; }
+ Type type() const { return m_type; }
+ DocNode *parent() const { return m_parent; }
+ void accept(DocVisitor *v) { CompAccept<DocHtmlList>::accept(this,v); }
const HtmlAttribList &attribs() const { return m_attribs; }
int parse();
- DocNode *parent() const { return m_parent; }
- void accept(DocVisitor *v) { CompAccept<DocHtmlList>::accept(this,v); }
private:
DocNode * m_parent;
@@ -870,12 +874,12 @@ class DocSimpleSect : public CompAccept<DocSimpleSect>, public DocNode
};
DocSimpleSect(DocNode *parent,Type t);
virtual ~DocSimpleSect();
- int parse(bool userTitle);
- int parseRcs();
- Kind kind() const { return Kind_SimpleSect; }
- Type type() const { return m_type; }
+ Kind kind() const { return Kind_SimpleSect; }
+ Type type() const { return m_type; }
DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v);
+ int parse(bool userTitle);
+ int parseRcs();
private:
DocNode * m_parent;
@@ -893,9 +897,9 @@ class DocParamSect : public CompAccept<DocParamSect>, public DocNode
};
DocParamSect(DocNode *parent,Type t) : m_parent(parent), m_type(t) {}
int parse(const QString &cmdName);
- Kind kind() const { return Kind_ParamSect; }
- Type type() const { return m_type; }
- DocNode *parent() const { return m_parent; }
+ Kind kind() const { return Kind_ParamSect; }
+ Type type() const { return m_type; }
+ DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { CompAccept<DocParamSect>::accept(this,v); }
private:
@@ -910,14 +914,14 @@ class DocPara : public CompAccept<DocPara>, public DocNode
DocPara(DocNode *parent) : m_parent(parent),
m_isFirst(FALSE), m_isLast(FALSE) {}
int parse();
- Kind kind() const { return Kind_Para; }
- DocNode *parent() const { return m_parent; }
- bool isEmpty() const { return m_children.isEmpty(); }
- void accept(DocVisitor *v) { CompAccept<DocPara>::accept(this,v); }
+ Kind kind() const { return Kind_Para; }
+ DocNode *parent() const { return m_parent; }
+ bool isEmpty() const { return m_children.isEmpty(); }
+ void accept(DocVisitor *v) { CompAccept<DocPara>::accept(this,v); }
void markFirst(bool v=TRUE) { m_isFirst=v; }
void markLast(bool v=TRUE) { m_isLast=v; }
- bool isFirst() const { return m_isFirst; }
- bool isLast() const { return m_isLast; }
+ bool isFirst() const { return m_isFirst; }
+ bool isLast() const { return m_isLast; }
int handleCommand(const QString &cmdName);
int handleHtmlStartTag(const QString &tagName,const HtmlAttribList &tagHtmlAttribs);
@@ -948,23 +952,22 @@ class DocParamList : public DocNode
DocParamList(DocNode *parent,DocParamSect::Type t)
: m_parent(parent) , m_type(t), m_isFirst(TRUE), m_isLast(TRUE)
{ m_paragraph=new DocPara(this); }
- virtual ~DocParamList()
- { delete m_paragraph; }
- int parse(const QString &cmdName);
- Kind kind() const { return Kind_ParamList; }
- DocNode *parent() const { return m_parent; }
- const QStrList &parameters() { return m_params; }
+ virtual ~DocParamList() { delete m_paragraph; }
+ Kind kind() const { return Kind_ParamList; }
+ DocNode *parent() const { return m_parent; }
+ const QStrList &parameters() { return m_params; }
DocParamSect::Type type() const { return m_type; }
- void markFirst(bool b=TRUE) { m_isFirst=b; }
- void markLast(bool b=TRUE) { m_isLast=b; }
- bool isFirst() const { return m_isFirst; }
- bool isLast() const { return m_isLast; }
+ void markFirst(bool b=TRUE) { m_isFirst=b; }
+ void markLast(bool b=TRUE) { m_isLast=b; }
+ bool isFirst() const { return m_isFirst; }
+ bool isLast() const { return m_isLast; }
void accept(DocVisitor *v)
{
v->visitPre(this);
m_paragraph->accept(v);
v->visitPost(this);
}
+ int parse(const QString &cmdName);
private:
DocNode * m_parent;
@@ -982,16 +985,17 @@ class DocAutoListItem : public DocNode
DocAutoListItem(DocNode *parent,int num) : m_parent(parent), m_itemNum(num)
{ m_paragraph=new DocPara(this); }
virtual ~DocAutoListItem() { delete m_paragraph; }
- int parse();
- Kind kind() const { return Kind_AutoListItem; }
- DocNode *parent() const { return m_parent; }
- int itemNumber() const { return m_itemNum; }
+ Kind kind() const { return Kind_AutoListItem; }
+ DocNode *parent() const { return m_parent; }
+ int itemNumber() const { return m_itemNum; }
void accept(DocVisitor *v)
{
v->visitPre(this);
m_paragraph->accept(v);
v->visitPost(this);
}
+ int parse();
+
private:
DocNode *m_parent;
DocPara *m_paragraph;
@@ -1006,8 +1010,8 @@ class DocSimpleListItem : public DocNode
{ m_paragraph=new DocPara(this); }
int parse();
virtual ~DocSimpleListItem() { delete m_paragraph; }
- Kind kind() const { return Kind_SimpleListItem; }
- DocNode *parent() const { return m_parent; }
+ Kind kind() const { return Kind_SimpleListItem; }
+ DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v)
{
v->visitPre(this);
@@ -1026,12 +1030,12 @@ class DocHtmlListItem : public CompAccept<DocHtmlListItem>, public DocNode
public:
DocHtmlListItem(DocNode *parent,const HtmlAttribList &attribs,int num) :
m_parent(parent), m_attribs(attribs), m_itemNum(num) {}
- int parse();
- Kind kind() const { return Kind_HtmlListItem; }
- int itemNumber() const { return m_itemNum; }
+ Kind kind() const { return Kind_HtmlListItem; }
+ int itemNumber() const { return m_itemNum; }
const HtmlAttribList &attribs() const { return m_attribs; }
- DocNode *parent() const { return m_parent; }
+ DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { CompAccept<DocHtmlListItem>::accept(this,v); }
+ int parse();
private:
DocNode * m_parent;
@@ -1045,11 +1049,11 @@ class DocHtmlDescData : public CompAccept<DocHtmlDescData>, public DocNode
public:
DocHtmlDescData(DocNode *parent) :
m_parent(parent) {}
- int parse();
- Kind kind() const { return Kind_HtmlDescData; }
+ Kind kind() const { return Kind_HtmlDescData; }
const HtmlAttribList &attribs() const { return m_attribs; }
- DocNode *parent() const { return m_parent; }
+ DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { CompAccept<DocHtmlDescData>::accept(this,v); }
+ int parse();
private:
DocNode * m_parent;
@@ -1063,16 +1067,16 @@ class DocHtmlCell : public CompAccept<DocHtmlCell>, public DocNode
DocHtmlCell(DocNode *parent,const HtmlAttribList &attribs,bool isHeading) :
m_parent(parent), m_isHeading(isHeading),
m_isFirst(FALSE), m_isLast(FALSE), m_attribs(attribs) {}
- int parse();
- bool isHeading() const { return m_isHeading; }
- bool isFirst() const { return m_isFirst; }
- bool isLast() const { return m_isLast; }
- Kind kind() const { return Kind_HtmlCell; }
- const HtmlAttribList &attribs() const { return m_attribs; }
- DocNode *parent() const { return m_parent; }
- void accept(DocVisitor *v) { CompAccept<DocHtmlCell>::accept(this,v); }
+ bool isHeading() const { return m_isHeading; }
+ bool isFirst() const { return m_isFirst; }
+ bool isLast() const { return m_isLast; }
+ Kind kind() const { return Kind_HtmlCell; }
+ DocNode *parent() const { return m_parent; }
+ void accept(DocVisitor *v) { CompAccept<DocHtmlCell>::accept(this,v); }
void markFirst(bool v=TRUE) { m_isFirst=v; }
- void markLast(bool v=TRUE) { m_isLast=v; }
+ void markLast(bool v=TRUE) { m_isLast=v; }
+ const HtmlAttribList &attribs() const { return m_attribs; }
+ int parse();
private:
DocNode * m_parent;
@@ -1088,11 +1092,11 @@ class DocHtmlCaption : public CompAccept<DocHtmlCaption>, public DocNode
public:
DocHtmlCaption(DocNode *parent,const HtmlAttribList &attribs) :
m_parent(parent), m_attribs(attribs) {}
- int parse();
- Kind kind() const { return Kind_HtmlCaption; }
- const HtmlAttribList &attribs() const { return m_attribs; }
- DocNode *parent() const { return m_parent; }
+ Kind kind() const { return Kind_HtmlCaption; }
+ DocNode *parent() const { return m_parent; }
void accept(DocVisitor *v) { CompAccept<DocHtmlCaption>::accept(this,v); }
+ const HtmlAttribList &attribs() const { return m_attribs; }
+ int parse();
private:
DocNode * m_parent;
@@ -1105,12 +1109,12 @@ class DocHtmlRow : public CompAccept<DocHtmlRow>, public DocNode
public:
DocHtmlRow(DocNode *parent,const HtmlAttribList &attribs)
: m_parent(parent), m_attribs(attribs) {}
- int parse();
- Kind kind() const { return Kind_HtmlRow; }
- const HtmlAttribList &attribs() const { return m_attribs; }
- DocNode *parent() const { return m_parent; }
- uint numCells() const { return m_children.count(); }
+ Kind kind() const { return Kind_HtmlRow; }
+ DocNode *parent() const { return m_parent; }
+ uint numCells() const { return m_children.count(); }
void accept(DocVisitor *v) { CompAccept<DocHtmlRow>::accept(this,v); }
+ const HtmlAttribList &attribs() const { return m_attribs; }
+ int parse();
private:
DocNode * m_parent;
@@ -1164,10 +1168,10 @@ class DocText : public CompAccept<DocText>, public DocNode
{
public:
DocText() {}
- void parse();
- Kind kind() const { return Kind_Text; }
+ Kind kind() const { return Kind_Text; }
DocNode *parent() const { return 0; }
void accept(DocVisitor *v) { CompAccept<DocText>::accept(this,v); }
+ void parse();
};
/*! @brief Root node of documentation tree */
@@ -1175,10 +1179,10 @@ class DocRoot : public CompAccept<DocRoot>, public DocNode
{
public:
DocRoot() {}
- void parse();
- Kind kind() const { return Kind_Root; }
+ Kind kind() const { return Kind_Root; }
DocNode *parent() const { return 0; }
void accept(DocVisitor *v) { CompAccept<DocRoot>::accept(this,v); }
+ void parse();
};
diff --git a/src/dot.cpp b/src/dot.cpp
index ac0f645..0a10ab9 100644
--- a/src/dot.cpp
+++ b/src/dot.cpp
@@ -964,25 +964,6 @@ DotGfxHierarchyTable::~DotGfxHierarchyTable()
{
//printf("DotGfxHierarchyTable::~DotGfxHierarchyTable\n");
-#if 0 // TODO: delete this
- SDict<DotNode> skipNodes(1009);
- skipNodes.setAutoDelete(TRUE);
- DotNode *n = m_rootNodes->first();
- while (n)
- {
- //printf("adding %s %p\n",n->label().data(),n);
- skipNodes.append((char*)n,n);
- n=m_rootNodes->next();
- }
- n = m_rootNodes->first();
- while (n)
- {
- //printf("Deleting root node %s\n",n->label().data());
- deleteNodes(n,&skipNodes);
- n=m_rootNodes->next();
- }
-#endif
-
//QDictIterator<DotNode> di(*m_usedNodes);
//DotNode *n;
//for (;(n=di.current());++di)
diff --git a/src/dot.h b/src/dot.h
index ae3ce60..6ad521a 100644
--- a/src/dot.h
+++ b/src/dot.h
@@ -152,7 +152,7 @@ class DotClassGraph
class DotInclDepGraph
{
public:
- DotInclDepGraph(FileDef *fd,int maxRecusionDepth,bool inverse=FALSE);
+ DotInclDepGraph(FileDef *fd,int maxRecusionDepth,bool inverse);
~DotInclDepGraph();
QCString writeGraph(QTextStream &t, GraphOutputFormat f,const char *path,
bool writeImageMap=TRUE);
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 15dc65e..f51be68 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -799,20 +799,20 @@ static void addClassToContext(Entry *root)
Doxygen::classSDict.append(fullName,cd);
// also add class to the correct structural context
- Definition *d = findScopeFromQualifiedName(Doxygen::globalScope,fullName);
- if (d==0)
- {
- //warn(root->fileName,root->startLine,
- // "Warning: Internal inconsistency: scope for class %s not "
- // "found!\n",fullName.data()
- // );
- }
- else
- {
- //printf("****** adding %s to scope %s\n",cd->name().data(),d->name().data());
- d->addInnerCompound(cd);
- cd->setOuterScope(d);
- }
+ //Definition *d = findScopeFromQualifiedName(Doxygen::globalScope,fullName);
+ //if (d==0)
+ //{
+ // warn(root->fileName,root->startLine,
+ // "Warning: Internal inconsistency: scope for class %s not "
+ // "found!\n",fullName.data()
+ // );
+ //}
+ //else
+ //{
+ // //printf("****** adding %s to scope %s\n",cd->name().data(),d->name().data());
+ // d->addInnerCompound(cd);
+ // cd->setOuterScope(d);
+ //}
}
}
@@ -850,6 +850,46 @@ static void buildClassDocList(Entry *root)
buildClassDocList(e);
}
}
+
+static void resolveClassNestingRelations()
+{
+ int nestingLevel=0;
+ bool done=FALSE;
+ while (!done)
+ {
+ // iterate over all classes searching for a class with right nesting
+ // level (starting with 0 and going up until no more classes are found)
+ done=TRUE;
+ ClassSDict::Iterator cli(Doxygen::classSDict);
+ ClassDef *cd=0;
+ for (cli.toFirst();(cd=cli.current());++cli)
+ {
+ if (cd->name().contains("::")==nestingLevel)
+ {
+ //printf("Level=%d processing=%s\n",nestingLevel,cd->name().data());
+ done=FALSE;
+ // also add class to the correct structural context
+ Definition *d = findScopeFromQualifiedName(Doxygen::globalScope,cd->name());
+ if (d==0)
+ {
+ warn(cd->getDefFileName(),cd->getDefLine(),
+ "Warning: Internal inconsistency: scope for class %s not "
+ "found!\n",cd->name().data()
+ );
+ }
+ else
+ {
+ //printf("****** adding %s to scope %s\n",cd->name().data(),d->name().data());
+ d->addInnerCompound(cd);
+ cd->setOuterScope(d);
+ }
+ }
+ }
+ nestingLevel++;
+ }
+}
+
+
//----------------------------------------------------------------------
// build a list of all namespaces mentioned in the documentation
// and all namespaces that have a documentation block before their definition.
@@ -1710,7 +1750,7 @@ done:
// Searches the Entry tree for Variable documentation sections.
// If found they are stored in their class or in the global list.
-void buildVarList(Entry *root)
+static void buildVarList(Entry *root)
{
if (!root->name.isEmpty() &&
(root->type.isEmpty() || compoundKeywordDict.find(root->type)==0) &&
@@ -1914,7 +1954,7 @@ nextMember:
// Searches the Entry tree for Function sections.
// If found they are stored in their class or in the global list.
-void addMethodToClass(Entry *root,ClassDef *cd,
+static void addMethodToClass(Entry *root,ClassDef *cd,
const QCString &rname,/*const QCString &scope,*/bool isFriend)
{
int l,i;
@@ -2790,7 +2830,7 @@ static QDict<int> *getTemplateArgumentsInName(ArgumentList *templateArguments,co
* This function differs from getResolvedClass in that it also takes
* using declarations and definition into account.
*/
-ClassDef *findClassWithinClassContext(ClassDef *cd,const QCString &name)
+static ClassDef *findClassWithinClassContext(ClassDef *cd,const QCString &name)
{
ClassDef *result=0;
@@ -7861,6 +7901,7 @@ void parseInput()
msg("Building class list...\n");
buildClassList(root);
buildClassDocList(root);
+ resolveClassNestingRelations();
findUsingDeclarations(root);
msg("Building example list...\n");
diff --git a/src/filedef.cpp b/src/filedef.cpp
index d3b606b..b0b2081 100644
--- a/src/filedef.cpp
+++ b/src/filedef.cpp
@@ -310,7 +310,7 @@ void FileDef::writeDocumentation(OutputList &ol)
if (Config_getBool("HAVE_DOT") && Config_getBool("INCLUDE_GRAPH"))
{
//printf("Graph for file %s\n",name().data());
- DotInclDepGraph incDepGraph(this,FALSE);
+ DotInclDepGraph incDepGraph(this,Config_getInt("MAX_DOT_GRAPH_DEPTH"),FALSE);
if (!incDepGraph.isTrivial())
{
ol.disable(OutputGenerator::Man);
@@ -326,7 +326,7 @@ void FileDef::writeDocumentation(OutputList &ol)
if (Config_getBool("HAVE_DOT") && Config_getBool("INCLUDED_BY_GRAPH"))
{
//printf("Graph for file %s\n",name().data());
- DotInclDepGraph incDepGraph(this,TRUE);
+ DotInclDepGraph incDepGraph(this,Config_getInt("MAX_DOT_GRAPH_DEPTH"),TRUE);
if (!incDepGraph.isTrivial())
{
ol.disable(OutputGenerator::Man);
diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp
index 5193586..752ea43 100644
--- a/src/htmldocvisitor.cpp
+++ b/src/htmldocvisitor.cpp
@@ -244,7 +244,10 @@ void HtmlDocVisitor::visit(DocIncOperator *op)
}
if (op->type()!=DocIncOperator::Skip)
{
+ popEnabled();
if (!m_hide) parseCode(m_ci,op->context(),op->text().latin1(),op->isExample(),op->exampleFile());
+ pushEnabled();
+ m_hide=TRUE;
}
if (op->isLast())
{
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index 93262c1..9e0b2ff 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -737,6 +737,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
ol.pushGeneratorState();
ol.disable(OutputGenerator::Man);
+ ol.disable(OutputGenerator::Latex);
ol.docify("\n");
ol.popGeneratorState();
}
diff --git a/src/translator_pl.h b/src/translator_pl.h
index 501b16b..de612cd 100644
--- a/src/translator_pl.h
+++ b/src/translator_pl.h
@@ -1176,27 +1176,27 @@ class TranslatorPolish : public Translator
/*! Title of the package index page */
virtual QCString trPackageList()
{
- return "Lista Pakietów";
+ return decode("Lista Pakietów");
}
/*! The description of the package index page */
virtual QCString trPackageListDescription()
{
- return "Oto lista pakietów wraz z krótkim opisem (o ile jest dostępny):";
+ return decode("Oto lista pakietów wraz z krótkim opisem (o ile jest dostępny):");
}
/*! The link name in the Quick links header for each page */
virtual QCString trPackages()
{
- return "Pakiety";
+ return decode("Pakiety");
}
/*! Used as a chapter title for Latex & RTF output */
virtual QCString trPackageDocumentation()
{
- return "Dokumentacja Pakietu";
+ return decode("Dokumentacja Pakietu");
}
/*! Text shown before a multi-line define */
virtual QCString trDefineValue()
{
- return "Wartość:";
+ return decode("Wartość:");
}
//////////////////////////////////////////////////////////////////////////
@@ -1206,12 +1206,12 @@ class TranslatorPolish : public Translator
/*! Used as a marker that is put before a \\bug item */
virtual QCString trBug()
{
- return "Błąd";
+ return decode("Błąd");
}
/*! Used as the header of the bug list */
virtual QCString trBugList()
{
- return "Lista błędów";
+ return decode("Lista błędów");
}
//////////////////////////////////////////////////////////////////////////
@@ -1233,7 +1233,7 @@ class TranslatorPolish : public Translator
/*! Used as header RTF general index */
virtual QCString trRTFGeneralIndex()
{
- return "Indeks";
+ return decode("Indeks");
}
/*! This is used for translation of the word that will possibly
@@ -1267,7 +1267,7 @@ class TranslatorPolish : public Translator
QCString result((first_capital ? "Przestrze" : "przestrze"));
result+=(singular ? "ń" : "nie");
result+=" nazw";
- return result;
+ return decode(result);
}
/*! This is used for translation of the word that will possibly
@@ -1287,7 +1287,7 @@ class TranslatorPolish : public Translator
*/
virtual QCString trPage(bool first_capital, bool singular)
{
- QCString result((first_capital ? "Ston" : "stron"));
+ QCString result((first_capital ? "Stron" : "stron"));
result+=(singular ? "a" : "y");
return result;
}
@@ -1300,7 +1300,7 @@ class TranslatorPolish : public Translator
{
QCString result((first_capital ? "Składow" : "składow"));
result+=(singular ? "a" : "e");
- return result;
+ return decode(result);
}
/*! This is used for translation of the word that will possibly
@@ -1346,7 +1346,7 @@ class TranslatorPolish : public Translator
*/
virtual QCString trReferences()
{
- return "Odwołuje się do";
+ return decode("Odwołuje się do");
}
@@ -1374,7 +1374,7 @@ class TranslatorPolish : public Translator
*/
virtual QCString trRTFTableOfContents()
{
- return "Spis treści";
+ return decode("Spis treści");
}
//////////////////////////////////////////////////////////////////////////
@@ -1386,7 +1386,7 @@ class TranslatorPolish : public Translator
*/
virtual QCString trDeprecatedList()
{
- return "Lista elementów do wycofania";
+ return decode("Lista elementów do wycofania");
}
//////////////////////////////////////////////////////////////////////////
@@ -1403,7 +1403,7 @@ class TranslatorPolish : public Translator
/*! Header used for the documentation section of a class' events. */
virtual QCString trEventDocumentation()
{
- return "Dokumentacja zdarzeń";
+ return decode("Dokumentacja zdarzeń");
}
diff --git a/src/util.cpp b/src/util.cpp
index 494a333..6a5517e 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -1932,7 +1932,14 @@ void mergeArguments(ArgumentList *srcAl,ArgumentList *dstAl)
}
else if (!srcA->name.isEmpty() && !dstA->name.isEmpty())
{
- srcA->name = dstA->name.copy();
+ if (srcA->docs.isEmpty() && !dstA->docs.isEmpty())
+ {
+ srcA->name = dstA->name.copy();
+ }
+ else if (!srcA->docs.isEmpty() && dstA->docs.isEmpty())
+ {
+ dstA->name = srcA->name.copy();
+ }
}
}
else
diff --git a/src/util.h b/src/util.h
index 81b512a..f4b9118 100644
--- a/src/util.h
+++ b/src/util.h
@@ -18,12 +18,15 @@
#ifndef UTIL_H
#define UTIL_H
+/*! \file util.h
+ * \brief A bunch of utility functions.
+ */
+
#include "qtbc.h"
#include <qlist.h>
#include <qtextstream.h>
#include <ctype.h>
-
class ClassDef;
class FileDef;
class MemberList;
@@ -73,13 +76,12 @@ class TextGeneratorOLImpl : public TextGeneratorIntf
//--------------------------------------------------------------------
-extern void linkifyText(const TextGeneratorIntf &ol,const char *clName,const char *name,
+void linkifyText(const TextGeneratorIntf &ol,const char *clName,const char *name,
const char *text,bool autoBreak=FALSE,bool external=TRUE);
-
-extern void setAnchors(ClassDef *cd,char id,MemberList *ml,int groupId=-1);
-extern QCString fileToString(const char *name,bool filter=FALSE);
-extern QCString dateToString(bool);
-extern bool getDefs(const QCString &scopeName,
+void setAnchors(ClassDef *cd,char id,MemberList *ml,int groupId=-1);
+QCString fileToString(const char *name,bool filter=FALSE);
+QCString dateToString(bool);
+bool getDefs(const QCString &scopeName,
const QCString &memberName,
const char *,
MemberDef *&md,
@@ -93,14 +95,14 @@ extern bool getDefs(const QCString &scopeName,
);
-extern bool resolveRef(/* in */ const char *scName,
+bool resolveRef(/* in */ const char *scName,
/* in */ const char *name,
/* in */ bool inSeeBlock,
/* out */ Definition **resContext,
/* out */ MemberDef **resMember
);
-extern bool resolveLink(/* in */ const char *scName,
+bool resolveLink(/* in */ const char *scName,
/* in */ const char *lr,
/* in */ bool inSeeBlock,
/* out */ Definition **resContext,
@@ -108,47 +110,39 @@ extern bool resolveLink(/* in */ const char *scName,
/* out */ QCString &resAnchor
);
-extern bool generateRef(OutputDocInterface &od,const char *,
+bool generateRef(OutputDocInterface &od,const char *,
const char *,bool inSeeBlock,const char * =0);
-extern bool generateLink(OutputDocInterface &od,const char *,
+bool generateLink(OutputDocInterface &od,const char *,
const char *,bool inSeeBlock,const char *);
-extern void generateFileRef(OutputDocInterface &od,const char *,
+void generateFileRef(OutputDocInterface &od,const char *,
const char *linkTxt=0);
void writePageRef(OutputDocInterface &od,const char *cn,const char *mn);
-extern bool matchArguments(ArgumentList *,ArgumentList *,
+bool matchArguments(ArgumentList *,ArgumentList *,
const char *cl=0,const char *ns=0,bool checkCV=TRUE,
NamespaceList *usingNamespaces=0,
ClassList *usingClasses=0);
-extern void mergeArguments(ArgumentList *,ArgumentList *);
-extern QCString substituteClassNames(const QCString &s);
-extern QCString substitute(const char *s,const char *src,const char *dst);
-extern QCString resolveDefines(const char *n);
-extern ClassDef *getClass(const char *key);
-extern ClassDef *getResolvedClass(Definition *scope,
+void mergeArguments(ArgumentList *,ArgumentList *);
+QCString substituteClassNames(const QCString &s);
+QCString substitute(const char *s,const char *src,const char *dst);
+QCString resolveDefines(const char *n);
+ClassDef *getClass(const char *key);
+ClassDef *getResolvedClass(Definition *scope,
const char *key,
bool *pIsTypeDef=0,
QCString *pTemplSpec=0);
-extern NamespaceDef *getResolvedNamespace(const char *key);
-extern FileDef *findFileDef(const FileNameDict *fnDict,const char *n,
+NamespaceDef *getResolvedNamespace(const char *key);
+FileDef *findFileDef(const FileNameDict *fnDict,const char *n,
bool &ambig);
-extern QCString showFileDefMatches(const FileNameDict *fnDict,const char *n);
-extern int guessSection(const char *name);
-extern bool isId(char c);
-extern QCString removeRedundantWhiteSpace(const QCString &s);
-//extern void startTitle(OutputList &ol,const char *fileName);
-//extern void endTitle(OutputList &ol,const char *fileName,const char *name);
-//void startFile(OutputList &ol,const char *name,
-// const char *title,bool external=FALSE);
-//void endFile(OutputList &ol,bool external=FALSE);
-//void writeQuickLinks(OutputList &ol,bool compact,bool external=FALSE);
+QCString showFileDefMatches(const FileNameDict *fnDict,const char *n);
+int guessSection(const char *name);
+bool isId(char c);
+QCString removeRedundantWhiteSpace(const QCString &s);
QCString argListToString(ArgumentList *al);
QCString tempArgListToString(ArgumentList *al);
QCString generateMarker(int id);
void writeExample(OutputList &ol,ExampleSDict *el);
-//void setFileNameForSections(QList<QCString> *anchorList,const char *fileName,
-// PageInfo *pi=0);
QCString stripAnonymousNamespaceScope(const QCString &s);
QCString stripFromPath(const QCString &path);
bool rightScopeMatch(const QCString &scope, const QCString &name);
diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp
index 86cd12f..1062bd2 100644
--- a/src/xmlgen.cpp
+++ b/src/xmlgen.cpp
@@ -979,7 +979,7 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
writeXMLDocBlock(t,cd->docFile(),cd->docLine(),cd->name(),0,cd->documentation());
t << " </detaileddescription>" << endl;
DotClassGraph inheritanceGraph(cd,DotClassGraph::Inheritance,
- Config_getBool("MAX_DOT_GRAPH_DEPTH"));
+ Config_getInt("MAX_DOT_GRAPH_DEPTH"));
if (!inheritanceGraph.isTrivial())
{
t << " <inheritancegraph>" << endl;
@@ -987,7 +987,7 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
t << " </inheritancegraph>" << endl;
}
DotClassGraph collaborationGraph(cd,DotClassGraph::Implementation,
- Config_getBool("MAX_DOT_GRAPH_DEPTH"));
+ Config_getInt("MAX_DOT_GRAPH_DEPTH"));
if (!collaborationGraph.isTrivial())
{
t << " <collaborationgraph>" << endl;
@@ -1162,7 +1162,7 @@ static void generateXMLForFile(FileDef *fd,QTextStream &ti)
t << "</includedby>" << endl;
}
- DotInclDepGraph incDepGraph(fd,FALSE);
+ DotInclDepGraph incDepGraph(fd,Config_getInt("MAX_DOT_GRAPH_DEPTH"),FALSE);
if (!incDepGraph.isTrivial())
{
t << " <incdepgraph>" << endl;
@@ -1170,7 +1170,7 @@ static void generateXMLForFile(FileDef *fd,QTextStream &ti)
t << " </incdepgraph>" << endl;
}
- DotInclDepGraph invIncDepGraph(fd,TRUE);
+ DotInclDepGraph invIncDepGraph(fd,Config_getInt("MAX_DOT_GRAPH_DEPTH"),TRUE);
if (!invIncDepGraph.isTrivial())
{
t << " <invincdepgraph>" << endl;