Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
doxverilog
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
doxverilog
Commits
85b32963
Commit
85b32963
authored
Apr 18, 2010
by
dimitri
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.6.3-20100418
parent
707831ea
Changes
46
Hide whitespace changes
Inline
Side-by-side
Showing
46 changed files
with
583 additions
and
164 deletions
+583
-164
Doxyfile
Doxyfile
+1
-1
INSTALL
INSTALL
+2
-2
README
README
+2
-2
doxywizard.cpp
addon/doxywizard/doxywizard.cpp
+15
-4
expert.cpp
addon/doxywizard/expert.cpp
+3
-2
configure
configure
+1
-1
Doxyfile
qtools/Doxyfile
+1
-1
definition.cpp
src/definition.cpp
+30
-20
definition.h
src/definition.h
+1
-0
dirdef.cpp
src/dirdef.cpp
+8
-4
docparser.cpp
src/docparser.cpp
+22
-5
docparser.h
src/docparser.h
+1
-1
doctokenizer.l
src/doctokenizer.l
+4
-4
doxygen.cpp
src/doxygen.cpp
+2
-0
doxygen.css
src/doxygen.css
+2
-0
doxygen_css.h
src/doxygen_css.h
+2
-0
htmldocvisitor.cpp
src/htmldocvisitor.cpp
+7
-0
htmlgen.cpp
src/htmlgen.cpp
+171
-26
htmlgen.h
src/htmlgen.h
+1
-0
htmlhelp.cpp
src/htmlhelp.cpp
+11
-30
image.cpp
src/image.cpp
+29
-1
index.cpp
src/index.cpp
+14
-6
language.cpp
src/language.cpp
+2
-2
latexdocvisitor.cpp
src/latexdocvisitor.cpp
+1
-1
latexgen.cpp
src/latexgen.cpp
+19
-9
mangen.cpp
src/mangen.cpp
+4
-1
pre.l
src/pre.l
+26
-10
scanner.l
src/scanner.l
+15
-6
translator.h
src/translator.h
+12
-0
translator_adapter.h
src/translator_adapter.h
+19
-1
translator_br.h
src/translator_br.h
+1
-1
translator_ca.h
src/translator_ca.h
+1
-1
translator_cz.h
src/translator_cz.h
+1
-1
translator_de.h
src/translator_de.h
+1
-1
translator_en.h
src/translator_en.h
+58
-1
translator_eo.h
src/translator_eo.h
+1
-1
translator_es.h
src/translator_es.h
+1
-1
translator_fa.h
src/translator_fa.h
+2
-2
translator_fr.h
src/translator_fr.h
+1
-1
translator_hr.h
src/translator_hr.h
+1
-1
translator_kr.h
src/translator_kr.h
+1
-1
translator_nl.h
src/translator_nl.h
+51
-6
translator_pl.h
src/translator_pl.h
+1
-1
translatordecoder.h
src/translatordecoder.h
+17
-0
util.cpp
src/util.cpp
+16
-5
xmlgen.cpp
src/xmlgen.cpp
+1
-0
No files found.
Doxyfile
View file @
85b32963
...
...
@@ -224,7 +224,7 @@ GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD =
YES
GENERATE_PERLMOD =
NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
...
...
INSTALL
View file @
85b32963
DOXYGEN Version 1.6.3-20100
324
DOXYGEN Version 1.6.3-20100
418
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (
24 March
2010)
Dimitri van Heesch (
18 April
2010)
README
View file @
85b32963
DOXYGEN Version 1.6.3_20100
324
DOXYGEN Version 1.6.3_20100
418
Please read INSTALL for compilation instructions.
...
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (
24 March
2010)
Dimitri van Heesch (dimitri@stack.nl) (
18 April
2010)
addon/doxywizard/doxywizard.cpp
View file @
85b32963
...
...
@@ -101,14 +101,10 @@ MainWindow::MainWindow()
setCentralWidget
(
topPart
);
statusBar
()
->
showMessage
(
tr
(
"Welcome to Doxygen"
),
messageTimeout
);
loadSettings
();
m_runProcess
=
new
QProcess
;
m_running
=
false
;
m_timer
=
new
QTimer
;
updateLaunchButtonState
();
m_modified
=
false
;
updateTitle
();
// connect signals and slots
connect
(
tabs
,
SIGNAL
(
currentChanged
(
int
)),
SLOT
(
selectTab
(
int
)));
...
...
@@ -123,6 +119,12 @@ MainWindow::MainWindow()
connect
(
m_saveLog
,
SIGNAL
(
clicked
()),
SLOT
(
saveLog
()));
connect
(
showSettings
,
SIGNAL
(
clicked
()),
SLOT
(
showSettings
()));
connect
(
m_expert
,
SIGNAL
(
changed
()),
SLOT
(
configChanged
()));
loadSettings
();
updateLaunchButtonState
();
m_modified
=
false
;
updateTitle
();
m_wizard
->
refresh
();
}
void
MainWindow
::
closeEvent
(
QCloseEvent
*
event
)
...
...
@@ -274,6 +276,7 @@ void MainWindow::makeDefaults()
//printf("MainWindow:makeDefaults()\n");
m_expert
->
saveSettings
(
&
m_settings
);
m_settings
.
setValue
(
QString
::
fromAscii
(
"wizard/loadsettings"
),
true
);
m_settings
.
sync
();
}
}
...
...
@@ -288,6 +291,7 @@ void MainWindow::resetToDefaults()
//printf("MainWindow:resetToDefaults()\n");
m_expert
->
resetToDefaults
();
m_settings
.
setValue
(
QString
::
fromAscii
(
"wizard/loadsettings"
),
false
);
m_settings
.
sync
();
m_wizard
->
refresh
();
}
}
...
...
@@ -298,6 +302,7 @@ void MainWindow::loadSettings()
QVariant
state
=
m_settings
.
value
(
QString
::
fromAscii
(
"main/state"
),
QVariant
::
Invalid
);
QVariant
wizState
=
m_settings
.
value
(
QString
::
fromAscii
(
"wizard/state"
),
QVariant
::
Invalid
);
QVariant
loadSettings
=
m_settings
.
value
(
QString
::
fromAscii
(
"wizard/loadsettings"
),
QVariant
::
Invalid
);
QVariant
workingDir
=
m_settings
.
value
(
QString
::
fromAscii
(
"wizard/workingdir"
),
QVariant
::
Invalid
);
if
(
geometry
!=
QVariant
::
Invalid
)
restoreGeometry
(
geometry
.
toByteArray
());
if
(
state
!=
QVariant
::
Invalid
)
restoreState
(
state
.
toByteArray
());
...
...
@@ -307,6 +312,11 @@ void MainWindow::loadSettings()
m_expert
->
loadSettings
(
&
m_settings
);
}
if
(
workingDir
!=
QVariant
::
Invalid
&&
QDir
(
workingDir
.
toString
()).
exists
())
{
setWorkingDir
(
workingDir
.
toString
());
}
for
(
int
i
=
0
;
i
<
10
;
i
++
)
{
QString
entry
=
m_settings
.
value
(
QString
().
sprintf
(
"recent/config%d"
,
i
)).
toString
();
...
...
@@ -322,6 +332,7 @@ void MainWindow::saveSettings()
m_settings
.
setValue
(
QString
::
fromAscii
(
"main/geometry"
),
saveGeometry
());
m_settings
.
setValue
(
QString
::
fromAscii
(
"main/state"
),
saveState
());
m_settings
.
setValue
(
QString
::
fromAscii
(
"wizard/state"
),
m_wizard
->
saveState
());
m_settings
.
setValue
(
QString
::
fromAscii
(
"wizard/workingdir"
),
m_workingDir
->
text
());
}
void
MainWindow
::
selectTab
(
int
id
)
...
...
addon/doxywizard/expert.cpp
View file @
85b32963
...
...
@@ -321,9 +321,9 @@ void Expert::loadSettings(QSettings *s)
{
i
.
next
();
QVariant
var
=
s
->
value
(
SA
(
"config/"
)
+
i
.
key
());
//printf("Loading key %s: type=%d\n",qPrintable(i.key()),var.type());
if
(
i
.
value
())
{
//printf("Loading key %s: type=%d value='%s'\n",qPrintable(i.key()),var.type(),qPrintable(var.toString()));
i
.
value
()
->
value
()
=
var
;
i
.
value
()
->
update
();
}
...
...
@@ -336,9 +336,10 @@ void Expert::saveSettings(QSettings *s)
while
(
i
.
hasNext
())
{
i
.
next
();
//printf("Saving key %s: type=%d value='%s'\n",qPrintable(i.key()),i.value()->value().type(),qPrintable(i.value()->value().toString()));
if
(
i
.
value
())
{
s
->
v
alue
(
SA
(
"config/"
)
+
i
.
key
(),
i
.
value
()
->
value
());
s
->
setV
alue
(
SA
(
"config/"
)
+
i
.
key
(),
i
.
value
()
->
value
());
}
}
}
...
...
configure
View file @
85b32963
...
...
@@ -20,7 +20,7 @@ doxygen_version_minor=6
doxygen_version_revision
=
3
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
doxygen_version_mmn
=
20100
324
doxygen_version_mmn
=
20100
418
bin_dirs
=
`
echo
$PATH
|
sed
-e
"s/:/ /g"
`
...
...
qtools/Doxyfile
View file @
85b32963
...
...
@@ -155,7 +155,7 @@ GENERATE_ECLIPSEHELP = YES
ECLIPSE_DOC_ID = org.doxygen.qtools
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW =
NO
GENERATE_TREEVIEW =
YES
USE_INLINE_TREES = NO
TREEVIEW_WIDTH = 250
FORMULA_FONTSIZE = 10
...
...
src/definition.cpp
View file @
85b32963
...
...
@@ -839,7 +839,8 @@ void Definition::writeInlineCode(OutputList &ol,const char *scopeName)
actualStart
,
// startLine
actualEnd
,
// endLine
TRUE
,
// inlineFragment
thisMd
// memberDef
thisMd
,
// memberDef
FALSE
// show line numbers
);
ol
.
endCodeFragment
();
ol
.
endParagraph
();
...
...
@@ -1237,34 +1238,43 @@ QCString Definition::convertNameToFile(const char *name,bool allowDots) const
}
}
void
Definition
::
writePathFragment
(
OutputList
&
ol
)
const
QCString
Definition
::
pathFragment
(
)
const
{
makeResident
();
QCString
result
;
if
(
m_impl
->
outerScope
&&
m_impl
->
outerScope
!=
Doxygen
::
globalScope
)
{
m_impl
->
outerScope
->
writePathFragment
(
ol
);
#if 0
if (m_impl->outerScope->definitionType()==Definition::TypeClass ||
m_impl->outerScope->definitionType()==Definition::TypeNamespace)
result
=
m_impl
->
outerScope
->
pathFragment
();
}
if
(
isLinkable
())
{
if
(
!
result
.
isEmpty
())
result
+=
"/"
;
if
(
definitionType
()
==
Definition
::
TypeGroup
&&
((
const
GroupDef
*
)
this
)
->
groupTitle
())
{
if (Config_getBool("OPTIMIZE_OUTPUT_JAVA") ||
Config_getBool("OPTIMIZE_OUTPUT_VHDL")
)
{
ol.writeString(".");
}
else
{
ol.writeString("::");
}
result
+=
((
const
GroupDef
*
)
this
)
->
groupTitle
();
}
else
if
(
definitionType
()
==
Definition
::
TypePage
&&
!
((
const
PageDef
*
)
this
)
->
title
().
isEmpty
())
{
result
+=
((
const
PageDef
*
)
this
)
->
title
();
}
else
{
ol.writeString(" ");
ol.writeString("»");
ol.writeString(" ");
result
+=
m_impl
->
localName
;
}
#endif
}
else
{
result
+=
m_impl
->
localName
;
}
return
result
;
}
void
Definition
::
writePathFragment
(
OutputList
&
ol
)
const
{
makeResident
();
if
(
m_impl
->
outerScope
&&
m_impl
->
outerScope
!=
Doxygen
::
globalScope
)
{
m_impl
->
outerScope
->
writePathFragment
(
ol
);
}
ol
.
writeString
(
" <li>"
);
if
(
isLinkable
())
...
...
src/definition.h
View file @
85b32963
...
...
@@ -308,6 +308,7 @@ class Definition : public DefinitionIntf, public LockableObj
void
writeNavigationPath
(
OutputList
&
ol
)
const
;
virtual
void
writeQuickMemberLinks
(
OutputList
&
,
MemberDef
*
)
const
{}
virtual
void
writeSummaryLinks
(
OutputList
&
)
{}
QCString
pathFragment
()
const
;
/*! Writes the documentation anchors of the definition to
* the Doxygen::tagFile stream.
...
...
src/dirdef.cpp
View file @
85b32963
...
...
@@ -193,6 +193,7 @@ void DirDef::writeDirectoryGraph(OutputList &ol)
ol
.
startParagraph
();
ol
.
startDirDepGraph
();
//TODO: ol.parseText(theTranslator->trDirDepGraph());
ol
.
parseText
((
QCString
)
"Directory dependency graph for "
+
displayName
()
+
":"
);
ol
.
endDirDepGraph
(
dirDep
);
ol
.
endParagraph
();
ol
.
enableAll
();
...
...
@@ -722,12 +723,15 @@ void DirRelation::writeDocumentation(OutputList &ol)
ol
.
writeString
(
"<table class=
\"
dirtab
\"
>"
);
ol
.
writeString
(
"<tr class=
\"
dirtab
\"
>"
);
// TODO: translate me! "File in %s"
ol
.
writeString
(
"<th class=
\"
dirtab
\"
>File in "
);
m_src
->
writePathFragment
(
ol
);
ol
.
writeString
(
"<th class=
\"
dirtab
\"
>"
);
ol
.
parseText
(
theTranslator
->
trFileIn
(
m_src
->
pathFragment
()));
//m_src->writePathFragment(ol);
ol
.
writeString
(
"</th>"
);
// TODO: translate me! "Includes file in %s"
ol
.
writeString
(
"<th class=
\"
dirtab
\"
>Includes file in "
);
m_dst
->
dir
()
->
writePathFragment
(
ol
);
ol
.
writeString
(
"<th class=
\"
dirtab
\"
>"
);
//ol.writeString("Includes file in ");
//m_dst->dir()->writePathFragment(ol);
ol
.
parseText
(
theTranslator
->
trIncludesFileIn
(
m_dst
->
dir
()
->
pathFragment
()));
ol
.
writeString
(
"</th>"
);
ol
.
writeString
(
"</tr>"
);
...
...
src/docparser.cpp
View file @
85b32963
...
...
@@ -535,10 +535,10 @@ static void detectNoDocumentedParams()
}
else
if
(
// see if return needs to documented
g_memberDef
->
hasDocumentedReturnType
()
||
returnType
.
isEmpty
()
||
// empty return type
returnType
.
find
(
"void"
)
!=-
1
||
// void return type
!
g_memberDef
->
isConstructor
()
||
// a constructor
!
g_memberDef
->
isDestructor
()
// or destructor
returnType
.
isEmpty
()
||
// empty return type
returnType
.
find
(
"void"
)
!=-
1
||
// void return type
g_memberDef
->
isConstructor
()
||
// a constructor
g_memberDef
->
isDestructor
()
// or destructor
)
{
g_memberDef
->
setHasDocumentedReturnType
(
TRUE
);
...
...
@@ -670,7 +670,24 @@ static bool findDocsForMemberOrCompound(const char *commandName,
if
(
l
==
0
)
return
FALSE
;
int
funcStart
=
cmdArg
.
find
(
'('
);
if
(
funcStart
==-
1
)
funcStart
=
l
;
if
(
funcStart
==-
1
)
{
funcStart
=
l
;
}
else
{
// Check for the case of operator() and the like.
// beware of scenarios like operator()((foo)bar)
int
secondParen
=
cmdArg
.
find
(
'('
,
funcStart
+
1
);
int
leftParen
=
cmdArg
.
find
(
')'
,
funcStart
+
1
);
if
(
leftParen
!=-
1
&&
secondParen
!=-
1
)
{
if
(
leftParen
<
secondParen
)
{
funcStart
=
secondParen
;
}
}
}
QString
name
=
removeRedundantWhiteSpace
(
cmdArg
.
left
(
funcStart
).
latin1
());
QString
args
=
cmdArg
.
right
(
l
-
funcStart
);
...
...
src/docparser.h
View file @
85b32963
...
...
@@ -514,7 +514,7 @@ class DocCopy : public CompAccept<DocCopy>, public DocNode
DocCopy
(
DocNode
*
parent
,
const
QString
&
link
,
bool
copyBrief
,
bool
copyDetails
)
:
m_parent
(
parent
),
m_link
(
link
),
m_copyBrief
(
copyBrief
),
m_copyDetails
(
copyDetails
)
{
}
Kind
kind
()
const
{
return
Kind_
IndexEntr
y
;
}
Kind
kind
()
const
{
return
Kind_
Cop
y
;
}
QString
link
()
const
{
return
m_link
;
}
DocNode
*
parent
()
const
{
return
m_parent
;
}
void
accept
(
DocVisitor
*
v
)
{
CompAccept
<
DocCopy
>::
accept
(
this
,
v
);
}
...
...
src/doctokenizer.l
View file @
85b32963
...
...
@@ -327,10 +327,10 @@ OPMASK ({BLANK}*{OPNORM}{FUNCARG})
OPMASKOPT ({BLANK}*{OPNORM}{FUNCARG}?)|({OPCAST}{FUNCARG})
LNKWORD1 ("::"|"#")?{SCOPEMASK}
CVSPEC {BLANK}*("const"|"volatile")
LNKWORD2 (
{SCOPEPRE}*"operator"{OPMASK})|({SCOPEPRE}"operator"{OPMASKOPT})|(("::"|"#"){SCOPEPRE}*"operator"{OPMASKOPT})
LNKWORD2 (
({SCOPEPRE}*"operator"{OPMASK})|({SCOPEPRE}"operator"{OPMASKOPT})|(("::"|"#"){SCOPEPRE}*"operator"{OPMASKOPT})){CVSPEC}?
LNKWORD3 ([0-9a-z_A-Z\-]+("/"|"\\"))*[0-9a-z_A-Z\-]+("."[0-9a-z_A-Z]+)+
CHARWORDQ [^ \t\n\r\\@<>()\[\]:;\?{}&%$#,."]
WORD1 "%"?{CHARWORDQ}+|"{"|"}"|("\""[^"\n]*\n?[^"\n]*"\"")
WORD1 "%"?{CHARWORDQ}+|"{"|"}"|
"'\"'"|
("\""[^"\n]*\n?[^"\n]*"\"")
WORD2 "."|","|"("|")"|"["|"]"|":"|";"|"\?"
WORD1NQ "%"?{CHARWORDQ}+
WORD2NQ "."|","|"("|")"|"["|"]"|":"|";"|"\?"
...
...
@@ -472,8 +472,8 @@ REFWORD {LABELID}|{REFWORD2}
<St_Para>"$"{ID}":"[^\n$]+"$" { /* RCS tag */
QString tagName(yytext+1);
int index=tagName.find(':');
g_token->name = tagName.left(index);
g_token->text = tagName.mid(index+
1,tagName.length()-index-2
);
g_token->name = tagName.left(index
+1
);
g_token->text = tagName.mid(index+
2,tagName.length()-index-3
);
return TK_RCSTAG;
}
<St_Para,St_HtmlOnly>"$("{ID}")" { /* environment variable */
...
...
src/doxygen.cpp
View file @
85b32963
...
...
@@ -8103,6 +8103,7 @@ static void generateExampleDocs()
startTitle
(
*
g_outputList
,
n
);
g_outputList
->
docify
(
pd
->
name
());
endTitle
(
*
g_outputList
,
n
,
0
);
g_outputList
->
startContents
();
g_outputList
->
parseDoc
(
pd
->
docFile
(),
// file
pd
->
docLine
(),
// startLine
pd
,
// context
...
...
@@ -8112,6 +8113,7 @@ static void generateExampleDocs()
TRUE
,
// is example
pd
->
name
()
);
g_outputList
->
endContents
();
endFile
(
*
g_outputList
);
}
g_outputList
->
enable
(
OutputGenerator
::
Man
);
...
...
src/doxygen.css
View file @
85b32963
...
...
@@ -628,6 +628,8 @@ div.summary a
div
.header
{
background-image
:
url('nav_h.png')
;
background-repeat
:
repeat-x
;
background-color
:
#
#FA
;
margin
:
0px
;
border-bottom
:
1px
solid
#
#CC
;
...
...
src/doxygen_css.h
View file @
85b32963
...
...
@@ -628,6 +628,8 @@
"
\n
"
"div.header
\n
"
"{
\n
"
" background-image:url('nav_h.png');
\n
"
" background-repeat:repeat-x;
\n
"
" background-color: ##FA;
\n
"
" margin: 0px;
\n
"
" border-bottom: 1px solid ##CC;
\n
"
...
...
src/htmldocvisitor.cpp
View file @
85b32963
...
...
@@ -89,6 +89,11 @@ static bool mustBeOutsideParagraph(DocNode *n)
case
DocNode
:
:
Kind_SecRefList
:
/* <hr> */
case
DocNode
:
:
Kind_HorRuler
:
/* CopyDoc gets paragraph markers from the wrapping DocPara node,
* but needs to insert them for all documentation being copied to
* preserve formatting.
*/
case
DocNode
:
:
Kind_Copy
:
return
TRUE
;
case
DocNode
:
:
Kind_StyleChange
:
return
((
DocStyleChange
*
)
n
)
->
style
()
==
DocStyleChange
::
Preformatted
||
...
...
@@ -715,6 +720,7 @@ void HtmlDocVisitor::visitPre(DocPara *p)
case
DocNode
:
:
Kind_AutoListItem
:
case
DocNode
:
:
Kind_SimpleSect
:
case
DocNode
:
:
Kind_XRefItem
:
case
DocNode
:
:
Kind_Copy
:
needsTag
=
TRUE
;
break
;
case
DocNode
:
:
Kind_Root
:
...
...
@@ -795,6 +801,7 @@ void HtmlDocVisitor::visitPost(DocPara *p)
case
DocNode
:
:
Kind_AutoListItem
:
case
DocNode
:
:
Kind_SimpleSect
:
case
DocNode
:
:
Kind_XRefItem
:
case
DocNode
:
:
Kind_Copy
:
needsTag
=
TRUE
;
break
;
case
DocNode
:
:
Kind_Root
:
...
...
src/htmlgen.cpp
View file @
85b32963
...
...
@@ -64,6 +64,7 @@ static QCString g_footer;
//------------------------- Pictures for the Tabs ------------------------
// active
static
unsigned
char
tab_a_png
[
36
]
=
{
31
,
42
,
59
,
69
,
73
,
74
,
75
,
77
,
77
,
...
...
@@ -72,6 +73,7 @@ static unsigned char tab_a_png[36] =
96
,
96
,
97
,
98
,
98
,
99
,
99
,
99
,
100
};
// normal background
static
unsigned
char
tab_b_png
[
36
]
=
{
240
,
239
,
238
,
237
,
235
,
234
,
234
,
232
,
231
,
...
...
@@ -80,6 +82,14 @@ static unsigned char tab_b_png[36] =
196
,
195
,
193
,
192
,
190
,
189
,
188
,
188
,
188
};
// shadowed header
static
unsigned
char
header_png
[
12
]
=
{
255
,
240
,
241
,
242
,
243
,
244
,
245
,
246
,
247
,
248
,
249
,
250
};
// hovering
static
unsigned
char
tab_h_png
[
36
]
=
{
199
,
198
,
196
,
196
,
195
,
194
,
193
,
192
,
189
,
...
...
@@ -88,6 +98,7 @@ static unsigned char tab_h_png[36] =
153
,
152
,
149
,
148
,
147
,
145
,
145
,
150
,
161
};
// separator
static
unsigned
char
tab_s_png
[
36
]
=
{
187
,
186
,
185
,
183
,
182
,
181
,
180
,
178
,
176
,
...
...
@@ -96,6 +107,7 @@ static unsigned char tab_s_png[36] =
138
,
136
,
134
,
131
,
131
,
128
,
126
,
125
,
124
};
static
unsigned
char
bc_s_png
[
240
]
=
{
150
,
187
,
187
,
148
,
148
,
148
,
148
,
148
,
...
...
@@ -692,6 +704,7 @@ static colored_img_data_item colored_tab_data[] =
{
"tab_b.png"
,
1
,
36
,
tab_b_png
,
0
},
{
"tab_h.png"
,
1
,
36
,
tab_h_png
,
0
},
{
"tab_s.png"
,
1
,
36
,
tab_s_png
,
0
},
{
"nav_h.png"
,
1
,
12
,
header_png
,
0
},
{
"bc_s.png"
,
8
,
32
,
bc_s_png
,
bc_s_a_png
},
{
"doxygen.png"
,
104
,
31
,
doxygen_png
,
doxygen_a_png
},
{
"closed.png"
,
9
,
9
,
closed_png
,
closed_a_png
},
...
...
@@ -939,6 +952,7 @@ static void generateDynamicSections(QTextStream &t,const QCString &relPath)
if
(
Config_getBool
(
"HTML_DYNAMIC_SECTIONS"
))
{
t
<<
#if 0
"<script type=\"text/javascript\">\n"
"<!--\n"
"function changeDisplayState (e){\n"
...
...
@@ -980,6 +994,44 @@ static void generateDynamicSections(QTextStream &t,const QCString &relPath)
"window.onload = initDynSections;\n"
"-->\n"
"</script>\n";
#endif
"<script type=
\"
text/javascript
\"
>
\n
"
"function hasClass(ele,cls) {
\n
"
" return ele.className.match(new RegExp('(
\\\\
s|^)'+cls+'(
\\\\
s|$)'));
\n
"
"}
\n
"
"
\n
"
"function addClass(ele,cls) {
\n
"
" if (!this.hasClass(ele,cls)) ele.className +=
\"
\"
+cls;
\n
"
"}
\n
"
"
\n
"
"function removeClass(ele,cls) {
\n
"
" if (hasClass(ele,cls)) {
\n
"
" var reg = new RegExp('(
\\\\
s|^)'+cls+'(
\\\\
s|$)');
\n
"
" ele.className=ele.className.replace(reg,' ');
\n
"
" }
\n
"
"}
\n
"
"
\n
"
"function toggleVisibility(linkObj) {
\n
"
" var base = linkObj.getAttribute('id');
\n
"
" var summary = document.getElementById(base + '-summary');
\n
"
" var content = document.getElementById(base + '-content');
\n
"
" var trigger = document.getElementById(base + '-trigger');
\n
"
" if ( hasClass(linkObj,'closed') ) {
\n
"
" summary.style.display = 'none';
\n
"
" content.style.display = 'block';
\n
"
" trigger.src = '"
<<
relPath
<<
"open.png';
\n
"
" removeClass(linkObj,'closed');
\n
"
" addClass(linkObj,'opened');
\n
"
" } else if ( hasClass(linkObj,'opened') ) {
\n
"
" summary.style.display = 'block';
\n
"
" content.style.display = 'none';
\n
"
" trigger.src = '"
<<
relPath
<<
"closed.png';
\n
"
" removeClass(linkObj,'opened');
\n
"
" addClass(linkObj,'closed');
\n
"
" }
\n
"
" return false;
\n
"
"}
\n
"
"</script>
\n
"
;
}
}
...
...
@@ -1031,6 +1083,7 @@ void HtmlGenerator::startFile(const char *name,const char *,
t
<<
"--></script>
\n
"
;
}
generateDynamicSections
(
t
,
relPath
);
m_sectionCount
=
0
;
}
void
HtmlGenerator
::
writeSearchFooter
(
QTextStream
&
t
,
const
QCString
&
relPath
)
...
...
@@ -1494,17 +1547,84 @@ void HtmlGenerator::writeChar(char c)
docify
(
cs
);
}
//--- helper function for dynamic sections -------------------------
static
void
startSectionHeader
(
QTextStream
&
t
,
int
sectionCount
)
{
static
bool
dynamicSections
=
Config_getBool
(
"HTML_DYNAMIC_SECTIONS"
);
if
(
dynamicSections
)
{
t
<<
"<div id=
\"
dynsection-"
<<
sectionCount
<<
"
\"
"
"onclick=
\"
return toggleVisibility(this)
\"
"
"class=
\"
dynheader closed
\"
"
"style=
\"
cursor:pointer;
\"
>"
<<
endl
;
t
<<
" <img id=
\"
dynsection-"
<<
sectionCount
<<
"-trigger
\"
src=
\"
closed.png
\"
/> "
;
}
else
{
t
<<
"<div class=
\"
dynheader
\"
>"
<<
endl
;
}
}
static
void
endSectionHeader
(
QTextStream
&
t
)
{
t
<<
"</div>"
<<
endl
;
}
static
void
startSectionSummary
(
QTextStream
&
t
,
int
sectionCount
)
{
static
bool
dynamicSections
=
Config_getBool
(
"HTML_DYNAMIC_SECTIONS"
);
if
(
dynamicSections
)
{
t
<<
"<div id=
\"
dynsection-"
<<
sectionCount
<<
"-summary
\"
"
"class=
\"
dynsummary
\"
"
"style=
\"
display:block;
\"
>"
<<
endl
;
}
}
static
void
endSectionSummary
(
QTextStream
&
t
)
{
static
bool
dynamicSections
=
Config_getBool
(
"HTML_DYNAMIC_SECTIONS"
);
if
(
dynamicSections
)
{
t
<<
"</div>"
<<
endl
;
}
}
static
void
startSectionContent
(
QTextStream
&
t
,
int
sectionCount
)
{
static
bool
dynamicSections
=
Config_getBool
(
"HTML_DYNAMIC_SECTIONS"
);
if
(
dynamicSections
)
{
t
<<
"<div id=
\"
dynsection-"
<<
sectionCount
<<
"-content
\"
"
"class=
\"
dyncontent
\"
"
"style=
\"
display:none;
\"
>"
<<
endl
;
}
else
{
t
<<
"<div class=
\"
dyncontent
\"
>"
<<
endl
;
}
}
static
void
endSectionContent
(
QTextStream
&
t
)
{
t
<<
"</div>"
<<
endl
;
}
//----------------------------
void
HtmlGenerator
::
startClassDiagram
()
{
//t << "<p>";
t
<<
"<div class=
\"
dynheader
\"
>"
<<
endl
;
startSectionHeader
(
t
,
m_sectionCount
);
}
void
HtmlGenerator
::
endClassDiagram
(
const
ClassDiagram
&
d
,
const
char
*
fileName
,
const
char
*
name
)
{
t
<<
"</div>"
<<
endl
;
t
<<
"<div class=
\"
dynsection
\"
>"
<<
endl
;
endSectionHeader
(
t
);
startSectionSummary
(
t
,
m_sectionCount
);
endSectionSummary
(
t
);
startSectionContent
(
t
,
m_sectionCount
);
t
<<
" <div class=
\"
center
\"
>"
<<
endl
;
t
<<
" <img src=
\"
"
;
t
<<
relPath
<<
fileName
<<
".png
\"
usemap=
\"
#"
;
...
...
@@ -1517,8 +1637,8 @@ void HtmlGenerator::endClassDiagram(const ClassDiagram &d,
t
<<
"_map
\"
>"
<<
endl
;
d
.
writeImage
(
t
,
dir
,
relPath
,
fileName
);
t
<<
" </div>"
<<
endl
;
t
<<
"</div>"
<<
endl
;
endSectionContent
(
t
)
;
m_sectionCount
++
;
}
...
...
@@ -1880,13 +2000,16 @@ void HtmlGenerator::endMemberDoc(bool hasArgs)
void
HtmlGenerator
::
startDotGraph
()
{
t
<<
"<div class=
\"
dynheader
\"
>"
<<
endl
;
startSectionHeader
(
t
,
m_sectionCount
)
;
}
void
HtmlGenerator
::
endDotGraph
(
const
DotClassGraph
&
g
)
{
t
<<
"</div>"
<<
endl
;
t
<<
"<div class=
\"
dynsection
\"
>"
<<
endl
;
endSectionHeader
(
t
);
startSectionSummary
(
t
,
m_sectionCount
);
endSectionSummary
(
t
);
startSectionContent
(
t
,
m_sectionCount
);
g
.
writeGraph
(
t
,
BITMAP
,
dir
,
relPath
);
if
(
Config_getBool
(
"GENERATE_LEGEND"
))
{
...
...
@@ -1896,59 +2019,81 @@ void HtmlGenerator::endDotGraph(const DotClassGraph &g)
endHtmlLink
();
t
<<
"]</span></center>"
;
}
t
<<
"</div>"
<<
endl
;
endSectionContent
(
t
);
m_sectionCount
++
;
}
void
HtmlGenerator
::
startInclDepGraph
()
{
t
<<
"<div class=
\"
dynheader
\"
>"
<<
endl
;
startSectionHeader
(
t
,
m_sectionCount
)
;
}
void
HtmlGenerator
::
endInclDepGraph
(
const
DotInclDepGraph
&
g
)
{
t
<<
"</div>"
<<
endl
;
t
<<
"<div class=
\"
dynsection
\"
>"
<<
endl
;
endSectionHeader
(
t
);
startSectionSummary
(
t
,
m_sectionCount
);
endSectionSummary
(
t
);
startSectionContent
(
t
,
m_sectionCount
);
g
.
writeGraph
(
t
,
BITMAP
,
dir
,
relPath
);
t
<<
"</div>"
<<
endl
;
endSectionContent
(
t
);
m_sectionCount
++
;
}
void
HtmlGenerator
::
startGroupCollaboration
()
{
t
<<
"<div class=
\"
dynheader
\"
>"
<<
endl
;
startSectionHeader
(
t
,
m_sectionCount
)
;
}
void
HtmlGenerator
::
endGroupCollaboration
(
const
DotGroupCollaboration
&
g
)
{
t
<<
"</div>"
<<
endl
;
t
<<
"<div class=
\"
dynsection
\"
>"
<<
endl
;
endSectionHeader
(
t
);
startSectionSummary
(
t
,
m_sectionCount
);
endSectionSummary
(
t
);
startSectionContent
(
t
,
m_sectionCount
);
g
.
writeGraph
(
t
,
BITMAP
,
dir
,
relPath
);
t
<<
"</div>"
<<
endl
;
endSectionContent
(
t
);
m_sectionCount
++
;
}
void
HtmlGenerator
::
startCallGraph
()
{
t
<<
"<div class=
\"
dynheader
\"
>"
<<
endl
;
startSectionHeader
(
t
,
m_sectionCount
)
;
}
void
HtmlGenerator
::
endCallGraph
(
const
DotCallGraph
&
g
)
{
t
<<
"</div>"
<<
endl
;
t
<<
"<div class=
\"
dynsection
\"
>"
<<
endl
;
endSectionHeader
(
t
);
startSectionSummary
(
t
,
m_sectionCount
);
endSectionSummary
(
t
);
startSectionContent
(
t
,
m_sectionCount
);
g
.
writeGraph
(
t
,
BITMAP
,
dir
,
relPath
);
t
<<
"</div>"
<<
endl
;
endSectionContent
(
t
);
m_sectionCount
++
;
}
void
HtmlGenerator
::
startDirDepGraph
()
{
t
<<
"<div class=
\"
dynheader
\"
>"
<<
endl
;
startSectionHeader
(
t
,
m_sectionCount
)
;
}
void
HtmlGenerator
::
endDirDepGraph
(
const
DotDirDeps
&
g
)
{
t
<<
"</div>"
<<
endl
;
t
<<
"<div class=
\"
dynsection
\"
>"
<<
endl
;
endSectionHeader
(
t
);
startSectionSummary
(
t
,
m_sectionCount
);
endSectionSummary
(
t
);
startSectionContent
(
t
,
m_sectionCount
);
g
.
writeGraph
(
t
,
BITMAP
,
dir
,
relPath
);
t
<<
"</div>"
<<
endl
;
endSectionContent
(
t
);
m_sectionCount
++
;
}
void
HtmlGenerator
::
writeGraphicalHierarchy
(
const
DotGfxHierarchyTable
&
g
)
...
...
src/htmlgen.h
View file @
85b32963
...
...
@@ -261,6 +261,7 @@ class HtmlGenerator : public OutputGenerator
HtmlGenerator
(
const
HtmlGenerator
&
g
);
int
col
;
int
m_sectionCount
;
};
#endif
src/htmlhelp.cpp
View file @
85b32963
...
...
@@ -24,6 +24,7 @@
#include <qdict.h>
#include <qregexp.h>
#include "qtextcodec.h"
#include "sortdict.h"
#include "htmlhelp.h"
#include "config.h"
...
...
@@ -43,28 +44,15 @@ struct IndexField
bool
reversed
;
};
class
IndexField
List
:
public
QLis
t
<
IndexField
>
class
IndexField
SDict
:
public
SDic
t
<
IndexField
>
{
public
:
IndexFieldSDict
()
:
SDict
<
IndexField
>
(
17
)
{}
~
IndexFieldSDict
()
{}
int
compareItems
(
GCI
item1
,
GCI
item2
)
{
return
stricmp
(((
IndexField
*
)
item1
)
->
name
,((
IndexField
*
)
item2
)
->
name
);
}
~
IndexFieldList
()
{}
};
class
IndexFieldListIterator
:
public
QListIterator
<
IndexField
>
{
public
:
IndexFieldListIterator
(
const
IndexFieldList
&
list
)
:
QListIterator
<
IndexField
>
(
list
)
{}
};
class
IndexFieldDict
:
public
QDict
<
IndexField
>
{
public
:
IndexFieldDict
(
int
size
)
:
QDict
<
IndexField
>
(
size
)
{}
~
IndexFieldDict
()
{}
};
/*! A helper class for HtmlHelp that manages a two level index in
...
...
@@ -80,22 +68,19 @@ class HtmlHelpIndex
bool
hasLink
,
bool
reversed
);
void
writeFields
(
QTextStream
&
t
);
private
:
IndexFieldList
*
list
;
IndexFieldDict
*
dict
;
IndexFieldSDict
*
dict
;
};
/*! Constructs a new HtmlHelp index */
HtmlHelpIndex
::
HtmlHelpIndex
()
{
list
=
new
IndexFieldList
;
dict
=
new
IndexFieldDict
(
10007
);
list
->
setAutoDelete
(
TRUE
);
dict
=
new
IndexFieldSDict
;
dict
->
setAutoDelete
(
TRUE
);
}
/*! Destroys the HtmlHelp index */
HtmlHelpIndex
::~
HtmlHelpIndex
()
{
delete
list
;
delete
dict
;
}
...
...
@@ -132,8 +117,7 @@ void HtmlHelpIndex::addItem(const char *level1,const char *level2,
f
->
anchor
=
anchor
;
f
->
link
=
hasLink
;
f
->
reversed
=
reversed
;
list
->
inSort
(
f
);
dict
->
insert
(
key
,
f
);
dict
->
append
(
key
,
f
);
}
}
...
...
@@ -165,7 +149,8 @@ void HtmlHelpIndex::addItem(const char *level1,const char *level2,
*/
void
HtmlHelpIndex
::
writeFields
(
QTextStream
&
t
)
{
IndexFieldListIterator
ifli
(
*
list
);
dict
->
sort
();
IndexFieldSDict
::
Iterator
ifli
(
*
dict
);
IndexField
*
f
;
QCString
lastLevel1
;
bool
level2Started
=
FALSE
;
...
...
@@ -506,15 +491,11 @@ void HtmlHelp::createProjectFile()
s
=
indexFiles
.
next
();
}
t
<<
"tabs.css"
<<
endl
;
#if 0
t << "tab_b.gif" << endl;
t << "tab_l.gif" << endl;
t << "tab_r.gif" << endl;
#endif
t
<<
"tab_a.png"
<<
endl
;
t
<<
"tab_b.png"
<<
endl
;
t
<<
"tab_h.png"
<<
endl
;
t
<<
"tab_s.png"
<<
endl
;
t
<<
"nav_h.png"
<<
endl
;
if
(
Config_getBool
(
"HTML_DYNAMIC_SECTIONS"
))
{
t
<<
"open.gif"
<<
endl
;
...
...
src/image.cpp
View file @
85b32963
...
...
@@ -20,8 +20,9 @@
#include "image.h"
//#include "gifenc.h"
#include <qfile.h>
#include "lodepng.h"
#include <math.h>
#include "lodepng.h"
#include "config.h"
typedef
unsigned
char
Byte
;
...
...
@@ -210,6 +211,33 @@ static Color palette2[] =
Image
::
Image
(
int
w
,
int
h
)
{
static
int
hue
=
Config_getInt
(
"HTML_COLORSTYLE_HUE"
);
static
int
sat
=
Config_getInt
(
"HTML_COLORSTYLE_SAT"
);
static
int
gamma
=
Config_getInt
(
"HTML_COLORSTYLE_GAMMA"
);
double
red1
,
green1
,
blue1
;
double
red2
,
green2
,
blue2
;
ColoredImage
::
hsl2rgb
(
hue
/
360.0
,
// hue
sat
/
255.0
,
// saturation
pow
(
235
/
255.0
,
gamma
/
100.0
),
// luma (gamma corrected)
&
red1
,
&
green1
,
&
blue1
);
ColoredImage
::
hsl2rgb
(
hue
/
360.0
,
// hue
sat
/
255.0
,
// saturation
pow
(
138
/
255.0
,
gamma
/
100.0
),
// luma (gamma corrected)
&
red2
,
&
green2
,
&
blue2
);
palette
[
2
].
red
=
(
int
)(
red1
*
255.0
);
palette
[
2
].
green
=
(
int
)(
green1
*
255.0
);
palette
[
2
].
blue
=
(
int
)(
blue1
*
255.0
);
palette
[
3
].
red
=
(
int
)(
red2
*
255.0
);
palette
[
3
].
green
=
(
int
)(
green2
*
255.0
);
palette
[
3
].
blue
=
(
int
)(
blue2
*
255.0
);
data
=
new
uchar
[
w
*
h
];
memset
(
data
,
0
,
w
*
h
);
width
=
w
;
...
...
src/index.cpp
View file @
85b32963
...
...
@@ -2605,6 +2605,7 @@ void writeJavascriptSearchIndex()
if
(
outFile
.
open
(
IO_WriteOnly
))
{
QTextStream
t
(
&
outFile
);
t
.
setEncoding
(
QTextStream
::
UnicodeUTF8
);
t
<<
"<!DOCTYPE html PUBLIC
\"
-//W3C//DTD XHTML 1.0 Transitional//EN
\"
"
"
\"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
\"
>"
<<
endl
;
t
<<
"<html><head><title></title>"
<<
endl
;
...
...
@@ -2641,12 +2642,17 @@ void writeJavascriptSearchIndex()
<<
"class=
\"
SRSymbol
\"
"
;
if
(
!
d
->
getReference
().
isEmpty
())
{
QCString
*
dest
;
t
<<
"doxygen=
\"
"
<<
d
->
getReference
()
<<
":../"
;
if
((
dest
=
Doxygen
::
tagDestinationDict
[
d
->
getReference
()]))
t
<<
*
dest
<<
"/"
;
t
<<
"
\"
"
;
t
<<
"href=
\"
../"
;
if
((
dest
=
Doxygen
::
tagDestinationDict
[
d
->
getReference
()]))
t
<<
*
dest
<<
"/"
;
QCString
*
dest
=
Doxygen
::
tagDestinationDict
[
d
->
getReference
()];
if
(
dest
&&
*
dest
==
'.'
)
// relative path (see bug 593679)
{
t
<<
"doxygen=
\"
"
<<
d
->
getReference
()
<<
":../"
<<
*
dest
<<
"/
\"
href=
\"
../"
<<
*
dest
<<
"/"
;
}
else
if
(
dest
)
// absolute path
{
t
<<
"doxygen=
\"
"
<<
d
->
getReference
()
<<
":"
<<
*
dest
<<
"/
\"
href=
\"
"
<<
*
dest
<<
"/"
;
}
}
else
{
...
...
@@ -2842,6 +2848,7 @@ void writeJavascriptSearchIndex()
if
(
f
.
open
(
IO_WriteOnly
))
{
QTextStream
t
(
&
f
);
t
.
setEncoding
(
QTextStream
::
UnicodeUTF8
);
t
<<
"// Search script generated by doxygen"
<<
endl
;
t
<<
"// Copyright (C) 2009 by Dimitri van Heesch."
<<
endl
<<
endl
;
t
<<
"// The code in this file is loosly based on main.js, part of Natural Docs,"
<<
endl
;
...
...
@@ -2892,6 +2899,7 @@ void writeJavascriptSearchIndex()
if
(
f
.
open
(
IO_WriteOnly
))
{
QTextStream
t
(
&
f
);
t
.
setEncoding
(
QTextStream
::
UnicodeUTF8
);
t
<<
"<!DOCTYPE html PUBLIC
\"
-//W3C//DTD XHTML 1.0 Transitional//EN
\"
"
"
\"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
\"
>"
<<
endl
;
t
<<
"<html><head><title></title>"
<<
endl
;
...
...
src/language.cpp
View file @
85b32963
...
...
@@ -223,7 +223,7 @@ bool setTranslator(const char *langName)
#ifdef LANG_ES
else
if
(
L_EQUAL
(
"spanish"
))
{
theTranslator
=
new
Translator
Decoder
(
new
TranslatorSpanish
)
;
theTranslator
=
new
Translator
Spanish
;
}
#endif
#ifdef LANG_FI
...
...
@@ -247,7 +247,7 @@ bool setTranslator(const char *langName)
#ifdef LANG_PL
else
if
(
L_EQUAL
(
"polish"
))
{
theTranslator
=
new
Translator
Decoder
(
new
TranslatorPolish
)
;
theTranslator
=
new
Translator
Polish
;
}
#endif
#ifdef LANG_PT
...
...
src/latexdocvisitor.cpp
View file @
85b32963
...
...
@@ -185,7 +185,7 @@ void LatexDocVisitor::visit(DocSymbol *s)
m_t
<<
"
\\
^{"
<<
s
->
letter
()
<<
"}"
;
break
;
case
DocSymbol
:
:
Slash
:
if
(
tolower
(
s
->
letter
())
==
'o'
)
m_t
<<
"
\\
"
<<
s
->
letter
()
;
m_t
<<
"
{
\\
"
<<
s
->
letter
()
<<
"}"
;
else
m_t
<<
s
->
letter
();
break
;
...
...
src/latexgen.cpp
View file @
85b32963
...
...
@@ -914,7 +914,8 @@ void LatexGenerator::endIndexSection(IndexSections is)
{
if
(
!
gd
->
isReference
())
{
if
(
compactLatex
)
t
<<
"
\\
input"
;
else
t
<<
"
\\
include"
;
//if (compactLatex) t << "\\input"; else t << "\\include";
t
<<
"
\\
input"
;
t
<<
"{"
<<
gd
->
getOutputFileBase
()
<<
"}
\n
"
;
}
}
...
...
@@ -937,7 +938,8 @@ void LatexGenerator::endIndexSection(IndexSections is)
{
if
(
dd
->
isLinkableInProject
())
{
if
(
compactLatex
)
t
<<
"
\\
input"
;
else
t
<<
"
\\
include"
;
//if (compactLatex) t << "\\input"; else t << "\\include";
t
<<
"
\\
input"
;
t
<<
"{"
<<
dd
->
getOutputFileBase
()
<<
"}
\n
"
;
}
}
...
...
@@ -960,7 +962,8 @@ void LatexGenerator::endIndexSection(IndexSections is)
{
if
(
nd
->
isLinkableInProject
())
{
if
(
compactLatex
)
t
<<
"
\\
input"
;
else
t
<<
"
\\
include"
;
//if (compactLatex) t << "\\input"; else t << "\\include";
t
<<
"
\\
input"
;
t
<<
"{"
<<
nd
->
getOutputFileBase
()
<<
"}
\n
"
;
}
++
nli
;
...
...
@@ -984,7 +987,8 @@ void LatexGenerator::endIndexSection(IndexSections is)
{
if
(
cd
->
isLinkableInProject
()
&&
cd
->
templateMaster
()
==
0
)
{
if
(
compactLatex
)
t
<<
"
\\
input"
;
else
t
<<
"
\\
include"
;
//if (compactLatex) t << "\\input"; else t << "\\include";
t
<<
"
\\
input"
;
t
<<
"{"
<<
cd
->
getOutputFileBase
()
<<
"}
\n
"
;
}
}
...
...
@@ -1006,17 +1010,20 @@ void LatexGenerator::endIndexSection(IndexSections is)
t
<<
"}
\n\\
input{"
<<
fd
->
getOutputFileBase
()
<<
"}
\n
"
;
if
(
sourceBrowser
&&
m_prettyCode
&&
fd
->
generateSourceFile
())
{
t
<<
"
\\
include{"
<<
fd
->
getSourceFileBase
()
<<
"}
\n
"
;
//t << "\\include{" << fd->getSourceFileBase() << "}\n";
t
<<
"
\\
input{"
<<
fd
->
getSourceFileBase
()
<<
"}
\n
"
;
}
isFirst
=
FALSE
;
}
else
{
if
(
compactLatex
)
t
<<
"
\\
input"
;
else
t
<<
"
\\
include"
;
//if (compactLatex) t << "\\input" ; else t << "\\include";
t
<<
"
\\
input"
;
t
<<
"{"
<<
fd
->
getOutputFileBase
()
<<
"}
\n
"
;
if
(
sourceBrowser
&&
m_prettyCode
&&
fd
->
generateSourceFile
())
{
t
<<
"
\\
include{"
<<
fd
->
getSourceFileBase
()
<<
"}
\n
"
;
//t << "\\include{" << fd->getSourceFileBase() << "}\n";
t
<<
"
\\
input{"
<<
fd
->
getSourceFileBase
()
<<
"}
\n
"
;
}
}
}
...
...
@@ -1037,7 +1044,8 @@ void LatexGenerator::endIndexSection(IndexSections is)
}
for
(
++
pdi
;(
pd
=
pdi
.
current
());
++
pdi
)
{
if
(
compactLatex
)
t
<<
"
\\
input"
;
else
t
<<
"
\\
include"
;
//if (compactLatex) t << "\\input" ; else t << "\\include";
t
<<
"
\\
input"
;
t
<<
"{"
<<
pd
->
getOutputFileBase
()
<<
"}
\n
"
;
}
}
...
...
@@ -1077,7 +1085,9 @@ void LatexGenerator::endIndexSection(IndexSections is)
void
LatexGenerator
::
writePageLink
(
const
char
*
name
,
bool
first
)
{
bool
&
compactLatex
=
Config_getBool
(
"COMPACT_LATEX"
);
if
(
compactLatex
||
first
)
t
<<
"
\\
input"
;
else
t
<<
"
\\
include"
;
// next is remove for bug615957
//if (compactLatex || first) t << "\\input" ; else t << "\\include";
t
<<
"
\\
input"
;
t
<<
"{"
<<
name
<<
"}
\n
"
;
}
...
...
src/mangen.cpp
View file @
85b32963
...
...
@@ -409,7 +409,10 @@ void ManGenerator::startDoxyAnchor(const char *,const char *manName,
// - truncate after an (optional) ::
QCString
baseName
=
name
;
int
i
=
baseName
.
findRev
(
"::"
);
if
(
i
!=-
1
)
baseName
=
baseName
.
right
(
baseName
.
length
()
-
i
-
1
);
if
(
i
!=-
1
)
baseName
=
baseName
.
right
(
baseName
.
length
()
-
i
-
2
);
//printf("Converting man link '%s'->'%s'->'%s'\n",
// name,baseName.data(),buildFileName(baseName).data());
// - remove dangerous characters and append suffix, then add dir prefix
QCString
fileName
=
dir
+
"/"
+
buildFileName
(
baseName
);
...
...
src/pre.l
View file @
85b32963
...
...
@@ -188,7 +188,9 @@ static bool macroIsAccessible(Define *def)
}
if (def && def->fileDef==g_inputFileDef)
{
return def->lineNr<g_yyLineNr;
//printf("%s: macro %s defined in this file at line %d now at %d\n",
// g_inputFileDef->name().data(),def->name.data(),def->lineNr,g_yyLineNr);
return def->lineNr<=g_yyLineNr;
}
if (g_inputFileDef && def && def->fileDef) // check if g_inputFileDef actually includes def->fileDef
{
...
...
@@ -198,6 +200,7 @@ static bool macroIsAccessible(Define *def)
// g_inputFileDef->name().data(),def->name.data(),def->fileDef->name().data(),b);
return b;
}
//printf("not accessible!\n");
return FALSE;
}
...
...
@@ -1883,34 +1886,47 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
g_defVarArgs = FALSE;
BEGIN(DefineArg);
}
<DefName>{ID}
/{B}* { // define with content
<DefName>{ID}
{B}+"1" { // special case: define with 1 -> can be "guard"
//printf("Define `%s'\n",yytext);
g_argDict = 0;
g_defArgs = -1;
g_defArgsStr.resize(0);
g_defText.resize(0);
g_defLitText.resize(0);
g_defName = yytext;
g_defName = g_defName.left(g_defName.length()-1).stripWhiteSpace();
g_defVarArgs = FALSE;
//QCString tmp=(QCString)"#define "+g_defName+g_defArgsStr;
//outputArray(tmp.data(),tmp.length());
//g_quoteArg=FALSE;
//g_insideComment=FALSE;
//BEGIN(DefineText);
if ( g_defName!=g_lastGuardName || !g_expectGuard)
{ // define may appear in the output
QCString tmp=(QCString)"#define "+g_defName;
outputArray(tmp.data(),tmp.length());
g_quoteArg=FALSE;
g_insideComment=FALSE;
g_lastGuardName.resize(0);
g_defText="1";
g_defLitText="1";
BEGIN(DefineText);
}
else // define is a guard => hide
{
g_lastGuardName.resize(0);
g_defText.resize(0);
g_defLitText.resize(0);
BEGIN(Start);
}
}
<DefName>{ID}/{B}* { // define with content
//printf("Define `%s'\n",yytext);
g_argDict = 0;
g_defArgs = -1;
g_defArgsStr.resize(0);
g_defText.resize(0);
g_defLitText.resize(0);
g_defName = yytext;
g_defVarArgs = FALSE;
QCString tmp=(QCString)"#define "+g_defName+g_defArgsStr;
outputArray(tmp.data(),tmp.length());
g_quoteArg=FALSE;
g_insideComment=FALSE;
BEGIN(DefineText);
}
<DefName>{ID}/{B}*"\n" { // empty define
g_argDict = 0;
g_defArgs = -1;
...
...
src/scanner.l
View file @
85b32963
...
...
@@ -566,7 +566,6 @@ ID "$"?[a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF]*
SCOPEID {ID}({ID}*{BN}*"::"{BN}*)*({ID}?)
SCOPENAME "$"?(({ID}?{BN}*"::"{BN}*)*)(((~|!){BN}*)?{ID})
TSCOPE {ID}("<"[a-z_A-Z0-9 \t\*\&,]*">")?
FTSCOPE {ID}("<"[a-z_A-Z0-9\*\&,]*">")?
CSSCOPENAME (({ID}?{BN}*"."{BN}*)*)((~{BN}*)?{ID})
PRE [pP][rR][eE]
CODE [cC][oO][dD][eE]
...
...
@@ -1603,7 +1602,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
current->tArgLists->setAutoDelete(TRUE);
}
ArgumentList *al = new ArgumentList;
current->spec |= (yytext[0]=='g') ? Entry::Generic : Entry::Template;
//
current->spec |= (yytext[0]=='g') ? Entry::Generic : Entry::Template;
current->tArgLists->append(al);
currentArgumentList = al;
templateStr="<";
...
...
@@ -1832,7 +1831,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
<QtPropType>{B}+ {
current->type+=yytext;
}
<QtPropType>({
FTSCOPE}"::")*{F
TSCOPE} {
<QtPropType>({
TSCOPE}"::")*{
TSCOPE} {
current->type+=yytext;
BEGIN(QtPropName);
}
...
...
@@ -2001,8 +2000,9 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
BEGIN( SkipCurly );
}
<TryFunctionBlock>.
<TryFunctionBlockEnd>"catch" { BEGIN(TryFunctionBlock); }
<TryFunctionBlockEnd>\n { unput(*yytext); // added to fix bug id 601138
<TryFunctionBlockEnd>{BN}*"catch" { lineCount(); BEGIN(TryFunctionBlock); // {BN}* added to fix bug 611193
}
<TryFunctionBlockEnd>\n { unput(*yytext); // rule added to fix bug id 601138
BEGIN( FindMembers );
}
<TryFunctionBlockEnd>. { unput(*yytext);
...
...
@@ -4330,6 +4330,10 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
yyLineNr++;
}
<SkipString,SkipPHPString>. { }
<CompoundName>":" { // for "class : public base {} var;" construct, see bug 608359
unput(':');
BEGIN(ClassVar);
}
<Bases,CompoundName>";" {
current->section = Entry::EMPTY_SEC ;
current->type.resize(0) ;
...
...
@@ -4368,7 +4372,8 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
current->tArgLists->setAutoDelete(TRUE);
}
ArgumentList *al = new ArgumentList;
current->spec |= Entry::Template;
// check bug 612858 before enabling the next line
//current->spec |= Entry::Template;
current->tArgLists->append(al);
currentArgumentList = al;
templateStr="<";
...
...
@@ -4846,6 +4851,10 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
<SkipRound>")" { if (--roundCount<=0)
BEGIN ( lastSkipRoundContext );
}
<SkipRound>\" {
lastStringContext=SkipRound;
BEGIN(SkipString);
}
<Bases>","|(">"({BN}*"{")?)|({BN}+"implements"{BN}*) { lineCount();
if (insideProtocolList)
{
...
...
src/translator.h
View file @
85b32963
...
...
@@ -486,6 +486,18 @@ class Translator
virtual
QCString
trSearching
()
=
0
;
virtual
QCString
trNoMatches
()
=
0
;
//////////////////////////////////////////////////////////////////////////
// new since 1.6.3
//////////////////////////////////////////////////////////////////////////
virtual
QCString
trDirDependency
(
const
char
*
name
)
=
0
;
virtual
QCString
trFileIn
(
const
char
*
name
)
=
0
;
virtual
QCString
trIncludesFileIn
(
const
char
*
name
)
=
0
;
virtual
QCString
trDateTime
(
int
year
,
int
month
,
int
day
,
int
dayOfWeek
,
int
hour
,
int
minutes
,
int
seconds
,
bool
includeTime
)
=
0
;
};
#endif
src/translator_adapter.h
View file @
85b32963
...
...
@@ -41,7 +41,25 @@ class TranslatorAdapterBase : public Translator
};
class
TranslatorAdapter_1_6_0
:
public
TranslatorAdapterBase
class
TranslatorAdapter_1_6_3
:
public
TranslatorAdapterBase
{
public
:
virtual
QCString
updateNeededMessage
()
{
return
createUpdateNeededMessage
(
idLanguage
(),
"release 1.6.3"
);
}
virtual
QCString
trDirDependency
(
const
char
*
name
)
{
return
english
.
trDirDependency
(
name
);
}
virtual
QCString
trFileIn
(
const
char
*
name
)
{
return
english
.
trFileIn
(
name
);
}
virtual
QCString
trIncludesFileIn
(
const
char
*
name
)
{
return
english
.
trIncludesFileIn
(
name
);
}
virtual
QCString
trDateTime
(
int
year
,
int
month
,
int
day
,
int
dayOfWeek
,
int
hour
,
int
minutes
,
int
seconds
,
bool
includeTime
)
{
return
english
.
trDateTime
(
year
,
month
,
day
,
dayOfWeek
,
hour
,
minutes
,
seconds
,
includeTime
);
}
};
class
TranslatorAdapter_1_6_0
:
public
TranslatorAdapter_1_6_3
{
public
:
virtual
QCString
updateNeededMessage
()
...
...
src/translator_br.h
View file @
85b32963
...
...
@@ -35,7 +35,7 @@
#ifndef TRANSLATOR_BR_H
#define TRANSLATOR_BR_H
class
TranslatorBrazilian
:
public
Translator
class
TranslatorBrazilian
:
public
Translator
Adapter_1_6_3
{
public
:
...
...
src/translator_ca.h
View file @
85b32963
...
...
@@ -40,7 +40,7 @@
Translator class (by the local maintainer) when the localized
translator is made up-to-date again.
*/
class
TranslatorCatalan
:
public
Translator
class
TranslatorCatalan
:
public
Translator
Adapter_1_6_3
{
public
:
...
...
src/translator_cz.h
View file @
85b32963
...
...
@@ -79,7 +79,7 @@
// something else. It is difficult to find the general translation
// for all kinds in the Czech language.
class
TranslatorCzech
:
public
Translator
class
TranslatorCzech
:
public
Translator
Adapter_1_6_3
{
public
:
// --- Language control methods -------------------
...
...
src/translator_de.h
View file @
85b32963
...
...
@@ -129,7 +129,7 @@
#ifndef TRANSLATOR_DE_H
#define TRANSLATOR_DE_H
class
TranslatorGerman
:
public
Translator
class
TranslatorGerman
:
public
Translator
Adapter_1_6_3
{
public
:
...
...
src/translator_en.h
View file @
85b32963
...
...
@@ -74,7 +74,8 @@ class TranslatorEnglish : public Translator
return
""
;
}
/*! return the language charset. This will be used for the HTML output */
/*! return the language charset. This will be used
when transcoding the translatable strings in this file to UTF-8 */
virtual
QCString
idLanguageCharset
()
{
return
"iso-8859-1"
;
...
...
@@ -1814,6 +1815,62 @@ class TranslatorEnglish : public Translator
return
"No Matches"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.6.3 (missing items for the directory pages)
//////////////////////////////////////////////////////////////////////////
/*! introduction text for the directory dependency graph */
virtual
QCString
trDirDependency
(
const
char
*
name
)
{
return
(
QCString
)
"Directory dependency graph for "
+
name
;
}
/*! when clicking a directory dependency label, a page with a
* table is shown. The heading for the first column mentions the
* source file that has a relation to another file.
*/
virtual
QCString
trFileIn
(
const
char
*
name
)
{
return
(
QCString
)
"File in "
+
name
;
}
/*! when clicking a directory dependency label, a page with a
* table is shown. The heading for the second column mentions the
* destination file that is included.
*/
virtual
QCString
trIncludesFileIn
(
const
char
*
name
)
{
return
(
QCString
)
"Includes file in "
+
name
;
}
/** Compiles a date string.
* @param year Year in 4 digits
* @param month Month of the year: 1=January
* @param day Day of the Month: 1..31
* @param dayOfWeek Day of the week: 1=Monday..7=Sunday
* @param hour Hour of the day: 0..23
* @param minutes Minutes in the hour: 0..59
* @param seconds Seconds within the minute: 0..59
* @param includeTime Include time in the result string?
*/
virtual
QCString
trDateTime
(
int
year
,
int
month
,
int
day
,
int
dayOfWeek
,
int
hour
,
int
minutes
,
int
seconds
,
bool
includeTime
)
{
static
const
char
*
days
[]
=
{
"Mon"
,
"Tue"
,
"Wed"
,
"Thu"
,
"Fri"
,
"Sat"
,
"Sun"
};
static
const
char
*
months
[]
=
{
"Jan"
,
"Feb"
,
"Mar"
,
"Apr"
,
"May"
,
"Jun"
,
"Jul"
,
"Aug"
,
"Sep"
,
"Oct"
,
"Nov"
,
"Dec"
};
QCString
sdate
;
sdate
.
sprintf
(
"%s %s %d %d"
,
days
[
dayOfWeek
-
1
],
months
[
month
-
1
],
day
,
year
);
if
(
includeTime
)
{
QCString
stime
;
stime
.
sprintf
(
" %.2d:%.2d:%.2d"
,
hour
,
minutes
,
seconds
);
sdate
+=
stime
;
}
return
sdate
;
}
};
#endif
src/translator_eo.h
View file @
85b32963
...
...
@@ -40,7 +40,7 @@
Translator class (by the local maintainer) when the localized
translator is made up-to-date again.
*/
class
TranslatorEsperanto
:
public
Translator
class
TranslatorEsperanto
:
public
Translator
Adapter_1_6_3
{
public
:
...
...
src/translator_es.h
View file @
85b32963
...
...
@@ -30,7 +30,7 @@
#ifndef TRANSLATOR_ES_H
#define TRANSLATOR_ES_H
class
TranslatorSpanish
:
public
Translator
class
TranslatorSpanish
:
public
Translator
Adapter_1_6_3
{
public
:
...
...
src/translator_fa.h
View file @
85b32963
...
...
@@ -27,8 +27,8 @@
#ifndef TRANSLATOR_FA_H
#define TRANSLATOR_FA_H
#define HtmlRightToLeft QCString("<div dir=
rtl
>")
#define HtmlLeftToRight QCString("<div dir=
rtl
>")
#define HtmlRightToLeft QCString("<div dir=
\"rtl\"
>")
#define HtmlLeftToRight QCString("<div dir=
\"rtl\"
>")
#define HtmlDivEnd QCString("</div>")
...
...
src/translator_fr.h
View file @
85b32963
...
...
@@ -100,7 +100,7 @@
// Translator class (by the local maintainer) when the localized
// translator is made up-to-date again.
class
TranslatorFrench
:
public
Translator
class
TranslatorFrench
:
public
Translator
Adapter_1_6_3
{
public
:
...
...
src/translator_hr.h
View file @
85b32963
...
...
@@ -78,7 +78,7 @@
#ifndef TRANSLATOR_HR_H
#define TRANSLATOR_HR_H
class
TranslatorCroatian
:
public
Translator
class
TranslatorCroatian
:
public
Translator
Adapter_1_6_3
{
private
:
...
...
src/translator_kr.h
View file @
85b32963
...
...
@@ -50,7 +50,7 @@
Translator class (by the local maintainer) when the localized
translator is made up-to-date again.
*/
class
TranslatorKorean
:
public
Translator
class
TranslatorKorean
:
public
Translator
Adapter_1_6_3
{
protected
:
friend
class
TranslatorAdapterBase
;
...
...
src/translator_nl.h
View file @
85b32963
...
...
@@ -1127,19 +1127,19 @@ class TranslatorDutch : public Translator
* hierarchy.
*/
virtual
QCString
trDirIndex
()
{
return
"
Directory
Hiërarchie"
;
}
{
return
"
Folder
Hiërarchie"
;
}
/*! This is used as the name of the chapter containing the documentation
* of the directories.
*/
virtual
QCString
trDirDocumentation
()
{
return
"
Directory
Documentatie"
;
}
{
return
"
Folder
Documentatie"
;
}
/*! This is used as the title of the directory index and also in the
* Quick links of a HTML page, to link to the directory hierarchy.
*/
virtual
QCString
trDirectories
()
{
return
"
Directorie
s"
;
}
{
return
"
Folder
s"
;
}
/*! This returns a sentences that introduces the directory hierarchy.
* and the fact that it is sorted alphabetically per level
...
...
@@ -1153,15 +1153,15 @@ class TranslatorDutch : public Translator
* directory is passed via \a dirName.
*/
virtual
QCString
trDirReference
(
const
char
*
dirName
)
{
QCString
result
=
dirName
;
result
+=
"
Directory
Referentie"
;
return
result
;
}
{
QCString
result
=
dirName
;
result
+=
"
Folder
Referentie"
;
return
result
;
}
/*! This returns the word directory with or without starting capital
* (\a first_capital) and in sigular or plural form (\a singular).
*/
virtual
QCString
trDir
(
bool
first_capital
,
bool
singular
)
{
QCString
result
((
first_capital
?
"
Director"
:
"directo
r"
));
if
(
singular
)
result
+=
"y"
;
else
result
+=
"ie
s"
;
QCString
result
((
first_capital
?
"
Folder"
:
"folde
r"
));
if
(
!
singular
)
result
+=
"
s"
;
return
result
;
}
...
...
@@ -1407,6 +1407,51 @@ class TranslatorDutch : public Translator
return
"Niets gevonden"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.6.3 (missing items for the directory pages)
//////////////////////////////////////////////////////////////////////////
/*! introduction text for the directory dependency graph */
virtual
QCString
trDirDependency
(
const
char
*
name
)
{
return
(
QCString
)
"Folder afhankelijkheidsgraaf voor "
+
name
;
}
/*! when clicking a directory dependency label, a page with a
* table is shown. The heading for the first column mentions the
* source file that has a relation to another file.
*/
virtual
QCString
trFileIn
(
const
char
*
name
)
{
return
(
QCString
)
"Bestand in "
+
name
;
}
/*! when clicking a directory dependency label, a page with a
* table is shown. The heading for the second column mentions the
* destination file that is included.
*/
virtual
QCString
trIncludesFileIn
(
const
char
*
name
)
{
return
(
QCString
)
"Includeert bestand in "
+
name
;
}
virtual
QCString
trDateTime
(
int
year
,
int
month
,
int
day
,
int
dayOfWeek
,
int
hour
,
int
minutes
,
int
seconds
,
bool
includeTime
)
{
static
const
char
*
days
[]
=
{
"Ma"
,
"Di"
,
"Wo"
,
"Do"
,
"Vr"
,
"Za"
,
"Zo"
};
static
const
char
*
months
[]
=
{
"Jan"
,
"Feb"
,
"Maa"
,
"Apr"
,
"Mei"
,
"Jun"
,
"Jul"
,
"Aug"
,
"Sep"
,
"Okt"
,
"Nov"
,
"Dec"
};
QCString
sdate
;
sdate
.
sprintf
(
"%s %d %s %d"
,
days
[
dayOfWeek
-
1
],
day
,
months
[
month
-
1
],
year
);
if
(
includeTime
)
{
QCString
stime
;
stime
.
sprintf
(
" %.2d:%.2d:%.2d"
,
hour
,
minutes
,
seconds
);
sdate
+=
stime
;
}
return
sdate
;
}
};
...
...
src/translator_pl.h
View file @
85b32963
...
...
@@ -20,7 +20,7 @@
#ifndef TRANSLATOR_PL_H
#define TRANSLATOR_PL_H
class
TranslatorPolish
:
public
Translator
class
TranslatorPolish
:
public
Translator
Adapter_1_6_3
{
public
:
...
...
src/translatordecoder.h
View file @
85b32963
...
...
@@ -722,6 +722,23 @@ class TranslatorDecoder : public Translator
QCString
trNoMatches
()
{
return
toUtf8
(
m_translator
->
trNoMatches
());
}
//////////////////////////////////////////////////////////////////////////
// new since 1.6.3
//////////////////////////////////////////////////////////////////////////
QCString
trDirDependency
(
const
char
*
name
)
{
return
toUtf8
(
m_translator
->
trDirDependency
(
fromUtf8
(
name
)));
}
QCString
trFileIn
(
const
char
*
name
)
{
return
toUtf8
(
m_translator
->
trFileIn
(
fromUtf8
(
name
)));
}
QCString
trIncludesFileIn
(
const
char
*
name
)
{
return
toUtf8
(
m_translator
->
trIncludesFileIn
(
fromUtf8
(
name
)));
}
QCString
trDateTime
(
int
year
,
int
month
,
int
day
,
int
dayOfWeek
,
int
hour
,
int
minutes
,
int
seconds
,
bool
includeTime
)
{
return
toUtf8
(
m_translator
->
trDateTime
(
year
,
month
,
day
,
dayOfWeek
,
hour
,
minutes
,
seconds
,
includeTime
));
}
//////////////////////////////////////////////////////////////////////////
private
:
Translator
*
m_translator
;
...
...
src/util.cpp
View file @
85b32963
...
...
@@ -2255,6 +2255,16 @@ QCString fileToString(const char *name,bool filter)
QCString
dateToString
(
bool
includeTime
)
{
QDateTime
current
=
QDateTime
::
currentDateTime
();
return
theTranslator
->
trDateTime
(
current
.
date
().
year
(),
current
.
date
().
month
(),
current
.
date
().
day
(),
current
.
date
().
dayOfWeek
(),
current
.
time
().
hour
(),
current
.
time
().
minute
(),
current
.
time
().
second
(),
includeTime
);
#if 0
if (includeTime)
{
return convertToQCString(QDateTime::currentDateTime().toString());
...
...
@@ -2269,6 +2279,7 @@ QCString dateToString(bool includeTime)
d.year());
return result;
}
#endif
}
QCString
yearToString
()
...
...
@@ -3684,7 +3695,7 @@ bool getDefs(const QCString &scName,const QCString &memberName,
//printf("mName=%s mn=%p\n",mName.data(),mn);
if
(
!
forceEmptyScope
&&
mn
&&
!
(
scopeName
.
isEmpty
()
&&
mScope
.
isEmpty
()))
{
//printf(" >member name
found\n"
);
//printf(" >member name
'%s' found\n",mName.data()
);
int
scopeOffset
=
scopeName
.
length
();
do
{
...
...
@@ -3695,13 +3706,13 @@ bool getDefs(const QCString &scName,const QCString &memberName,
}
else
if
(
!
mScope
.
isEmpty
())
{
className
=
mScope
.
copy
()
;
className
=
mScope
;
}
//printf("Trying class scope %s\n",className.data());
ClassDef
*
fcd
=
0
;
ClassDef
*
fcd
=
getResolvedClass
(
Doxygen
::
globalScope
,
0
,
className
);
//printf("Trying class scope %s: %p\n",className.data(),fcd);
// todo: fill in correct fileScope!
if
(
(
fcd
=
getResolvedClass
(
Doxygen
::
globalScope
,
0
,
className
))
&&
// is it a documented class
if
(
fcd
&&
// is it a documented class
fcd
->
isLinkable
()
)
{
...
...
src/xmlgen.cpp
View file @
85b32963
...
...
@@ -1802,6 +1802,7 @@ static void generateXMLForPage(PageDef *pd,QTextStream &ti,bool isExample)
{
t
<<
" <title>"
<<
convertToXML
(
si
->
title
)
<<
"</title>"
<<
endl
;
}
writeInnerPages
(
pd
->
getSubPages
(),
t
);
t
<<
" <detaileddescription>"
<<
endl
;
if
(
isExample
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment