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
...
@@ -224,7 +224,7 @@ GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
GENERATE_PERLMOD =
YES
GENERATE_PERLMOD =
NO
PERLMOD_LATEX = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
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
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
(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.
Please read INSTALL for compilation instructions.
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
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()
...
@@ -101,14 +101,10 @@ MainWindow::MainWindow()
setCentralWidget
(
topPart
);
setCentralWidget
(
topPart
);
statusBar
()
->
showMessage
(
tr
(
"Welcome to Doxygen"
),
messageTimeout
);
statusBar
()
->
showMessage
(
tr
(
"Welcome to Doxygen"
),
messageTimeout
);
loadSettings
();
m_runProcess
=
new
QProcess
;
m_runProcess
=
new
QProcess
;
m_running
=
false
;
m_running
=
false
;
m_timer
=
new
QTimer
;
m_timer
=
new
QTimer
;
updateLaunchButtonState
();
m_modified
=
false
;
updateTitle
();
// connect signals and slots
// connect signals and slots
connect
(
tabs
,
SIGNAL
(
currentChanged
(
int
)),
SLOT
(
selectTab
(
int
)));
connect
(
tabs
,
SIGNAL
(
currentChanged
(
int
)),
SLOT
(
selectTab
(
int
)));
...
@@ -123,6 +119,12 @@ MainWindow::MainWindow()
...
@@ -123,6 +119,12 @@ MainWindow::MainWindow()
connect
(
m_saveLog
,
SIGNAL
(
clicked
()),
SLOT
(
saveLog
()));
connect
(
m_saveLog
,
SIGNAL
(
clicked
()),
SLOT
(
saveLog
()));
connect
(
showSettings
,
SIGNAL
(
clicked
()),
SLOT
(
showSettings
()));
connect
(
showSettings
,
SIGNAL
(
clicked
()),
SLOT
(
showSettings
()));
connect
(
m_expert
,
SIGNAL
(
changed
()),
SLOT
(
configChanged
()));
connect
(
m_expert
,
SIGNAL
(
changed
()),
SLOT
(
configChanged
()));
loadSettings
();
updateLaunchButtonState
();
m_modified
=
false
;
updateTitle
();
m_wizard
->
refresh
();
}
}
void
MainWindow
::
closeEvent
(
QCloseEvent
*
event
)
void
MainWindow
::
closeEvent
(
QCloseEvent
*
event
)
...
@@ -274,6 +276,7 @@ void MainWindow::makeDefaults()
...
@@ -274,6 +276,7 @@ void MainWindow::makeDefaults()
//printf("MainWindow:makeDefaults()\n");
//printf("MainWindow:makeDefaults()\n");
m_expert
->
saveSettings
(
&
m_settings
);
m_expert
->
saveSettings
(
&
m_settings
);
m_settings
.
setValue
(
QString
::
fromAscii
(
"wizard/loadsettings"
),
true
);
m_settings
.
setValue
(
QString
::
fromAscii
(
"wizard/loadsettings"
),
true
);
m_settings
.
sync
();
}
}
}
}
...
@@ -288,6 +291,7 @@ void MainWindow::resetToDefaults()
...
@@ -288,6 +291,7 @@ void MainWindow::resetToDefaults()
//printf("MainWindow:resetToDefaults()\n");
//printf("MainWindow:resetToDefaults()\n");
m_expert
->
resetToDefaults
();
m_expert
->
resetToDefaults
();
m_settings
.
setValue
(
QString
::
fromAscii
(
"wizard/loadsettings"
),
false
);
m_settings
.
setValue
(
QString
::
fromAscii
(
"wizard/loadsettings"
),
false
);
m_settings
.
sync
();
m_wizard
->
refresh
();
m_wizard
->
refresh
();
}
}
}
}
...
@@ -298,6 +302,7 @@ void MainWindow::loadSettings()
...
@@ -298,6 +302,7 @@ void MainWindow::loadSettings()
QVariant
state
=
m_settings
.
value
(
QString
::
fromAscii
(
"main/state"
),
QVariant
::
Invalid
);
QVariant
state
=
m_settings
.
value
(
QString
::
fromAscii
(
"main/state"
),
QVariant
::
Invalid
);
QVariant
wizState
=
m_settings
.
value
(
QString
::
fromAscii
(
"wizard/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
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
(
geometry
!=
QVariant
::
Invalid
)
restoreGeometry
(
geometry
.
toByteArray
());
if
(
state
!=
QVariant
::
Invalid
)
restoreState
(
state
.
toByteArray
());
if
(
state
!=
QVariant
::
Invalid
)
restoreState
(
state
.
toByteArray
());
...
@@ -307,6 +312,11 @@ void MainWindow::loadSettings()
...
@@ -307,6 +312,11 @@ void MainWindow::loadSettings()
m_expert
->
loadSettings
(
&
m_settings
);
m_expert
->
loadSettings
(
&
m_settings
);
}
}
if
(
workingDir
!=
QVariant
::
Invalid
&&
QDir
(
workingDir
.
toString
()).
exists
())
{
setWorkingDir
(
workingDir
.
toString
());
}
for
(
int
i
=
0
;
i
<
10
;
i
++
)
for
(
int
i
=
0
;
i
<
10
;
i
++
)
{
{
QString
entry
=
m_settings
.
value
(
QString
().
sprintf
(
"recent/config%d"
,
i
)).
toString
();
QString
entry
=
m_settings
.
value
(
QString
().
sprintf
(
"recent/config%d"
,
i
)).
toString
();
...
@@ -322,6 +332,7 @@ void MainWindow::saveSettings()
...
@@ -322,6 +332,7 @@ void MainWindow::saveSettings()
m_settings
.
setValue
(
QString
::
fromAscii
(
"main/geometry"
),
saveGeometry
());
m_settings
.
setValue
(
QString
::
fromAscii
(
"main/geometry"
),
saveGeometry
());
m_settings
.
setValue
(
QString
::
fromAscii
(
"main/state"
),
saveState
());
m_settings
.
setValue
(
QString
::
fromAscii
(
"main/state"
),
saveState
());
m_settings
.
setValue
(
QString
::
fromAscii
(
"wizard/state"
),
m_wizard
->
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
)
void
MainWindow
::
selectTab
(
int
id
)
...
...
addon/doxywizard/expert.cpp
View file @
85b32963
...
@@ -321,9 +321,9 @@ void Expert::loadSettings(QSettings *s)
...
@@ -321,9 +321,9 @@ void Expert::loadSettings(QSettings *s)
{
{
i
.
next
();
i
.
next
();
QVariant
var
=
s
->
value
(
SA
(
"config/"
)
+
i
.
key
());
QVariant
var
=
s
->
value
(
SA
(
"config/"
)
+
i
.
key
());
//printf("Loading key %s: type=%d\n",qPrintable(i.key()),var.type());
if
(
i
.
value
())
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
()
->
value
()
=
var
;
i
.
value
()
->
update
();
i
.
value
()
->
update
();
}
}
...
@@ -336,9 +336,10 @@ void Expert::saveSettings(QSettings *s)
...
@@ -336,9 +336,10 @@ void Expert::saveSettings(QSettings *s)
while
(
i
.
hasNext
())
while
(
i
.
hasNext
())
{
{
i
.
next
();
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
())
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
...
@@ -20,7 +20,7 @@ doxygen_version_minor=6
doxygen_version_revision
=
3
doxygen_version_revision
=
3
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
#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"
`
bin_dirs
=
`
echo
$PATH
|
sed
-e
"s/:/ /g"
`
...
...
qtools/Doxyfile
View file @
85b32963
...
@@ -155,7 +155,7 @@ GENERATE_ECLIPSEHELP = YES
...
@@ -155,7 +155,7 @@ GENERATE_ECLIPSEHELP = YES
ECLIPSE_DOC_ID = org.doxygen.qtools
ECLIPSE_DOC_ID = org.doxygen.qtools
DISABLE_INDEX = NO
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW =
NO
GENERATE_TREEVIEW =
YES
USE_INLINE_TREES = NO
USE_INLINE_TREES = NO
TREEVIEW_WIDTH = 250
TREEVIEW_WIDTH = 250
FORMULA_FONTSIZE = 10
FORMULA_FONTSIZE = 10
...
...
src/definition.cpp
View file @
85b32963
...
@@ -839,7 +839,8 @@ void Definition::writeInlineCode(OutputList &ol,const char *scopeName)
...
@@ -839,7 +839,8 @@ void Definition::writeInlineCode(OutputList &ol,const char *scopeName)
actualStart
,
// startLine
actualStart
,
// startLine
actualEnd
,
// endLine
actualEnd
,
// endLine
TRUE
,
// inlineFragment
TRUE
,
// inlineFragment
thisMd
// memberDef
thisMd
,
// memberDef
FALSE
// show line numbers
);
);
ol
.
endCodeFragment
();
ol
.
endCodeFragment
();
ol
.
endParagraph
();
ol
.
endParagraph
();
...
@@ -1237,34 +1238,43 @@ QCString Definition::convertNameToFile(const char *name,bool allowDots) const
...
@@ -1237,34 +1238,43 @@ QCString Definition::convertNameToFile(const char *name,bool allowDots) const
}
}
}
}
void
Definition
::
writePathFragment
(
OutputList
&
ol
)
const
QCString
Definition
::
pathFragment
(
)
const
{
{
makeResident
();
makeResident
();
QCString
result
;
if
(
m_impl
->
outerScope
&&
m_impl
->
outerScope
!=
Doxygen
::
globalScope
)
if
(
m_impl
->
outerScope
&&
m_impl
->
outerScope
!=
Doxygen
::
globalScope
)
{
{
m_impl
->
outerScope
->
writePathFragment
(
ol
);
result
=
m_impl
->
outerScope
->
pathFragment
();
#if 0
}
if (m_impl->outerScope->definitionType()==Definition::TypeClass ||
if
(
isLinkable
())
m_impl->outerScope->definitionType()==Definition::TypeNamespace)
{
if
(
!
result
.
isEmpty
())
result
+=
"/"
;
if
(
definitionType
()
==
Definition
::
TypeGroup
&&
((
const
GroupDef
*
)
this
)
->
groupTitle
())
{
{
if (Config_getBool("OPTIMIZE_OUTPUT_JAVA") ||
result
+=
((
const
GroupDef
*
)
this
)
->
groupTitle
();
Config_getBool("OPTIMIZE_OUTPUT_VHDL")
}
)
else
if
(
definitionType
()
==
Definition
::
TypePage
&&
!
((
const
PageDef
*
)
this
)
->
title
().
isEmpty
())
{
{
ol.writeString(".");
result
+=
((
const
PageDef
*
)
this
)
->
title
();
}
else
{
ol.writeString("::");
}
}
}
else
else
{
{
ol.writeString(" ");
result
+=
m_impl
->
localName
;
ol.writeString("»");
ol.writeString(" ");
}
}
#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>"
);
ol
.
writeString
(
" <li>"
);
if
(
isLinkable
())
if
(
isLinkable
())
...
...
src/definition.h
View file @
85b32963
...
@@ -308,6 +308,7 @@ class Definition : public DefinitionIntf, public LockableObj
...
@@ -308,6 +308,7 @@ class Definition : public DefinitionIntf, public LockableObj
void
writeNavigationPath
(
OutputList
&
ol
)
const
;
void
writeNavigationPath
(
OutputList
&
ol
)
const
;
virtual
void
writeQuickMemberLinks
(
OutputList
&
,
MemberDef
*
)
const
{}
virtual
void
writeQuickMemberLinks
(
OutputList
&
,
MemberDef
*
)
const
{}
virtual
void
writeSummaryLinks
(
OutputList
&
)
{}
virtual
void
writeSummaryLinks
(
OutputList
&
)
{}
QCString
pathFragment
()
const
;
/*! Writes the documentation anchors of the definition to
/*! Writes the documentation anchors of the definition to
* the Doxygen::tagFile stream.
* the Doxygen::tagFile stream.
...
...
src/dirdef.cpp
View file @
85b32963
...
@@ -193,6 +193,7 @@ void DirDef::writeDirectoryGraph(OutputList &ol)
...
@@ -193,6 +193,7 @@ void DirDef::writeDirectoryGraph(OutputList &ol)
ol
.
startParagraph
();
ol
.
startParagraph
();
ol
.
startDirDepGraph
();
ol
.
startDirDepGraph
();
//TODO: ol.parseText(theTranslator->trDirDepGraph());
//TODO: ol.parseText(theTranslator->trDirDepGraph());
ol
.
parseText
((
QCString
)
"Directory dependency graph for "
+
displayName
()
+
":"
);
ol
.
endDirDepGraph
(
dirDep
);
ol
.
endDirDepGraph
(
dirDep
);
ol
.
endParagraph
();
ol
.
endParagraph
();
ol
.
enableAll
();
ol
.
enableAll
();
...
@@ -722,12 +723,15 @@ void DirRelation::writeDocumentation(OutputList &ol)
...
@@ -722,12 +723,15 @@ void DirRelation::writeDocumentation(OutputList &ol)
ol
.
writeString
(
"<table class=
\"
dirtab
\"
>"
);
ol
.
writeString
(
"<table class=
\"
dirtab
\"
>"
);
ol
.
writeString
(
"<tr class=
\"
dirtab
\"
>"
);
ol
.
writeString
(
"<tr class=
\"
dirtab
\"
>"
);
// TODO: translate me! "File in %s"
// TODO: translate me! "File in %s"
ol
.
writeString
(
"<th class=
\"
dirtab
\"
>File in "
);
ol
.
writeString
(
"<th class=
\"
dirtab
\"
>"
);
m_src
->
writePathFragment
(
ol
);
ol
.
parseText
(
theTranslator
->
trFileIn
(
m_src
->
pathFragment
()));
//m_src->writePathFragment(ol);
ol
.
writeString
(
"</th>"
);
ol
.
writeString
(
"</th>"
);
// TODO: translate me! "Includes file in %s"
// TODO: translate me! "Includes file in %s"
ol
.
writeString
(
"<th class=
\"
dirtab
\"
>Includes file in "
);
ol
.
writeString
(
"<th class=
\"
dirtab
\"
>"
);
m_dst
->
dir
()
->
writePathFragment
(
ol
);
//ol.writeString("Includes file in ");
//m_dst->dir()->writePathFragment(ol);
ol
.
parseText
(
theTranslator
->
trIncludesFileIn
(
m_dst
->
dir
()
->
pathFragment
()));
ol
.
writeString
(
"</th>"
);
ol
.
writeString
(
"</th>"
);
ol
.
writeString
(
"</tr>"
);
ol
.
writeString
(
"</tr>"
);
...
...
src/docparser.cpp
View file @
85b32963
...
@@ -535,10 +535,10 @@ static void detectNoDocumentedParams()
...
@@ -535,10 +535,10 @@ static void detectNoDocumentedParams()
}
}
else
if
(
// see if return needs to documented
else
if
(
// see if return needs to documented
g_memberDef
->
hasDocumentedReturnType
()
||
g_memberDef
->
hasDocumentedReturnType
()
||
returnType
.
isEmpty
()
||
// empty return type
returnType
.
isEmpty
()
||
// empty return type
returnType
.
find
(
"void"
)
!=-
1
||
// void return type
returnType
.
find
(
"void"
)
!=-
1
||
// void return type
!
g_memberDef
->
isConstructor
()
||
// a constructor
g_memberDef
->
isConstructor
()
||
// a constructor
!
g_memberDef
->
isDestructor
()
// or destructor
g_memberDef
->
isDestructor
()
// or destructor
)
)
{
{
g_memberDef
->
setHasDocumentedReturnType
(
TRUE
);
g_memberDef
->
setHasDocumentedReturnType
(
TRUE
);
...
@@ -670,7 +670,24 @@ static bool findDocsForMemberOrCompound(const char *commandName,
...
@@ -670,7 +670,24 @@ static bool findDocsForMemberOrCompound(const char *commandName,
if
(
l
==
0
)
return
FALSE
;
if
(
l
==
0
)
return
FALSE
;
int
funcStart
=
cmdArg
.
find
(
'('
);
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
name
=
removeRedundantWhiteSpace
(
cmdArg
.
left
(
funcStart
).
latin1
());
QString
args
=
cmdArg
.
right
(
l
-
funcStart
);
QString
args
=
cmdArg
.
right
(
l
-
funcStart
);
...
...
src/docparser.h
View file @
85b32963
...
@@ -514,7 +514,7 @@ class DocCopy : public CompAccept<DocCopy>, public DocNode
...
@@ -514,7 +514,7 @@ class DocCopy : public CompAccept<DocCopy>, public DocNode
DocCopy
(
DocNode
*
parent
,
const
QString
&
link
,
bool
copyBrief
,
bool
copyDetails
)
DocCopy
(
DocNode
*
parent
,
const
QString
&
link
,
bool
copyBrief
,
bool
copyDetails
)
:
m_parent
(
parent
),
m_link
(
link
),
:
m_parent
(
parent
),
m_link
(
link
),
m_copyBrief
(
copyBrief
),
m_copyDetails
(
copyDetails
)
{
}
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
;
}
QString
link
()
const
{
return
m_link
;
}
DocNode
*
parent
()
const
{
return
m_parent
;
}
DocNode
*
parent
()
const
{
return
m_parent
;
}
void
accept
(
DocVisitor
*
v
)
{
CompAccept
<
DocCopy
>::
accept
(
this
,
v
);
}
void
accept
(
DocVisitor
*
v
)
{
CompAccept
<
DocCopy
>::
accept
(
this
,
v
);
}
...
...
src/doctokenizer.l
View file @
85b32963
...
@@ -327,10 +327,10 @@ OPMASK ({BLANK}*{OPNORM}{FUNCARG})
...
@@ -327,10 +327,10 @@ OPMASK ({BLANK}*{OPNORM}{FUNCARG})
OPMASKOPT ({BLANK}*{OPNORM}{FUNCARG}?)|({OPCAST}{FUNCARG})
OPMASKOPT ({BLANK}*{OPNORM}{FUNCARG}?)|({OPCAST}{FUNCARG})
LNKWORD1 ("::"|"#")?{SCOPEMASK}
LNKWORD1 ("::"|"#")?{SCOPEMASK}
CVSPEC {BLANK}*("const"|"volatile")
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]+)+
LNKWORD3 ([0-9a-z_A-Z\-]+("/"|"\\"))*[0-9a-z_A-Z\-]+("."[0-9a-z_A-Z]+)+
CHARWORDQ [^ \t\n\r\\@<>()\[\]:;\?{}&%$#,."]
CHARWORDQ [^ \t\n\r\\@<>()\[\]:;\?{}&%$#,."]
WORD1 "%"?{CHARWORDQ}+|"{"|"}"|("\""[^"\n]*\n?[^"\n]*"\"")
WORD1 "%"?{CHARWORDQ}+|"{"|"}"|
"'\"'"|
("\""[^"\n]*\n?[^"\n]*"\"")
WORD2 "."|","|"("|")"|"["|"]"|":"|";"|"\?"
WORD2 "."|","|"("|")"|"["|"]"|":"|";"|"\?"
WORD1NQ "%"?{CHARWORDQ}+
WORD1NQ "%"?{CHARWORDQ}+
WORD2NQ "."|","|"("|")"|"["|"]"|":"|";"|"\?"
WORD2NQ "."|","|"("|")"|"["|"]"|":"|";"|"\?"
...
@@ -472,8 +472,8 @@ REFWORD {LABELID}|{REFWORD2}
...
@@ -472,8 +472,8 @@ REFWORD {LABELID}|{REFWORD2}
<St_Para>"$"{ID}":"[^\n$]+"$" { /* RCS tag */
<St_Para>"$"{ID}":"[^\n$]+"$" { /* RCS tag */
QString tagName(yytext+1);
QString tagName(yytext+1);
int index=tagName.find(':');
int index=tagName.find(':');
g_token->name = tagName.left(index);
g_token->name = tagName.left(index
+1
);
g_token->text = tagName.mid(index+
1,tagName.length()-index-2
);
g_token->text = tagName.mid(index+
2,tagName.length()-index-3
);
return TK_RCSTAG;
return TK_RCSTAG;
}
}
<St_Para,St_HtmlOnly>"$("{ID}")" { /* environment variable */
<St_Para,St_HtmlOnly>"$("{ID}")" { /* environment variable */
...
...
src/doxygen.cpp
View file @
85b32963
...
@@ -8103,6 +8103,7 @@ static void generateExampleDocs()
...
@@ -8103,6 +8103,7 @@ static void generateExampleDocs()
startTitle
(
*
g_outputList
,
n
);
startTitle
(
*
g_outputList
,
n
);
g_outputList
->
docify
(
pd
->
name
());
g_outputList
->
docify
(
pd
->
name
());
endTitle
(
*
g_outputList
,
n
,
0
);
endTitle
(
*
g_outputList
,
n
,
0
);
g_outputList
->
startContents
();
g_outputList
->
parseDoc
(
pd
->
docFile
(),
// file
g_outputList
->
parseDoc
(
pd
->
docFile
(),
// file
pd
->
docLine
(),
// startLine
pd
->
docLine
(),
// startLine
pd
,
// context
pd
,
// context
...
@@ -8112,6 +8113,7 @@ static void generateExampleDocs()
...
@@ -8112,6 +8113,7 @@ static void generateExampleDocs()
TRUE
,
// is example
TRUE
,
// is example
pd
->
name
()
pd
->
name
()
);
);
g_outputList
->
endContents
();
endFile
(
*
g_outputList
);
endFile
(
*
g_outputList
);
}
}
g_outputList
->
enable
(
OutputGenerator
::
Man
);
g_outputList
->
enable
(
OutputGenerator
::
Man
);
...
...
src/doxygen.css
View file @
85b32963
...
@@ -628,6 +628,8 @@ div.summary a
...
@@ -628,6 +628,8 @@ div.summary a
div
.header
div
.header
{
{
background-image
:
url('nav_h.png')
;
background-repeat
:
repeat-x
;
background-color
:
#
#FA
;
background-color
:
#
#FA
;
margin
:
0px
;
margin
:
0px
;
border-bottom
:
1px
solid
#
#CC
;
border-bottom
:
1px
solid
#
#CC
;
...
...
src/doxygen_css.h
View file @
85b32963
...
@@ -628,6 +628,8 @@
...
@@ -628,6 +628,8 @@
"
\n
"
"
\n
"
"div.header
\n
"
"div.header
\n
"
"{
\n
"
"{
\n
"
" background-image:url('nav_h.png');
\n
"
" background-repeat:repeat-x;
\n
"
" background-color: ##FA;
\n
"
" background-color: ##FA;
\n
"
" margin: 0px;
\n
"
" margin: 0px;
\n
"
" border-bottom: 1px solid ##CC;
\n
"
" border-bottom: 1px solid ##CC;
\n
"
...
...
src/htmldocvisitor.cpp
View file @
85b32963
...
@@ -89,6 +89,11 @@ static bool mustBeOutsideParagraph(DocNode *n)
...
@@ -89,6 +89,11 @@ static bool mustBeOutsideParagraph(DocNode *n)
case
DocNode
:
:
Kind_SecRefList
:
case
DocNode
:
:
Kind_SecRefList
:
/* <hr> */
/* <hr> */
case
DocNode
:
:
Kind_HorRuler
:
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
;
return
TRUE
;
case
DocNode
:
:
Kind_StyleChange
:
case
DocNode
:
:
Kind_StyleChange
:
return
((
DocStyleChange
*
)
n
)
->
style
()
==
DocStyleChange
::
Preformatted
||
return
((
DocStyleChange
*
)
n
)
->
style
()
==
DocStyleChange
::
Preformatted
||
...
@@ -715,6 +720,7 @@ void HtmlDocVisitor::visitPre(DocPara *p)
...
@@ -715,6 +720,7 @@ void HtmlDocVisitor::visitPre(DocPara *p)
case
DocNode
:
:
Kind_AutoListItem
:
case
DocNode
:
:
Kind_AutoListItem
:
case
DocNode
:
:
Kind_SimpleSect
:
case
DocNode
:
:
Kind_SimpleSect
:
case
DocNode
:
:
Kind_XRefItem
:
case
DocNode
:
:
Kind_XRefItem
:
case
DocNode
:
:
Kind_Copy
:
needsTag
=
TRUE
;
needsTag
=
TRUE
;
break
;
break
;
case
DocNode
:
:
Kind_Root
:
case
DocNode
:
:
Kind_Root
:
...
@@ -795,6 +801,7 @@ void HtmlDocVisitor::visitPost(DocPara *p)
...
@@ -795,6 +801,7 @@ void HtmlDocVisitor::visitPost(DocPara *p)
case
DocNode
:
:
Kind_AutoListItem
:
case
DocNode
:
:
Kind_AutoListItem
:
case
DocNode
:
:
Kind_SimpleSect
:
case
DocNode
:
:
Kind_SimpleSect
:
case
DocNode
:
:
Kind_XRefItem
:
case
DocNode
:
:
Kind_XRefItem
:
case
DocNode
:
:
Kind_Copy
:
needsTag
=
TRUE
;
needsTag
=
TRUE
;
break
;
break
;
case
DocNode
:
:
Kind_Root
:
case
DocNode
:
:
Kind_Root
:
...
...
src/htmlgen.cpp
View file @
85b32963
...
@@ -64,6 +64,7 @@ static QCString g_footer;
...
@@ -64,6 +64,7 @@ static QCString g_footer;
//------------------------- Pictures for the Tabs ------------------------
//------------------------- Pictures for the Tabs ------------------------
// active
static
unsigned
char
tab_a_png
[
36
]
=
static
unsigned
char
tab_a_png
[
36
]
=
{
{
31
,
42
,
59
,
69
,
73
,
74
,
75
,
77
,
77
,
31
,
42
,
59
,
69
,
73
,
74
,
75
,
77
,
77
,
...
@@ -72,6 +73,7 @@ static unsigned char tab_a_png[36] =
...
@@ -72,6 +73,7 @@ static unsigned char tab_a_png[36] =
96
,
96
,
97
,
98
,
98
,
99
,
99
,
99
,
100
96
,
96
,
97
,
98
,
98
,
99
,
99
,
99
,
100
};
};
// normal background
static
unsigned
char
tab_b_png
[
36
]
=
static
unsigned
char
tab_b_png
[
36
]
=
{
{
240
,
239
,
238
,
237
,
235
,
234
,
234
,
232
,
231
,
240
,
239
,
238
,
237
,
235
,
234
,
234
,
232
,
231
,
...
@@ -80,6 +82,14 @@ static unsigned char tab_b_png[36] =
...
@@ -80,6 +82,14 @@ static unsigned char tab_b_png[36] =
196
,
195
,
193
,
192
,
190
,
189
,
188
,
188
,
188
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
]
=
static
unsigned
char
tab_h_png
[
36
]
=
{
{
199
,
198
,
196
,
196
,
195
,
194
,
193
,
192
,
189
,
199
,
198
,
196
,
196
,
195
,
194
,
193
,
192
,
189
,
...
@@ -88,6 +98,7 @@ static unsigned char tab_h_png[36] =
...
@@ -88,6 +98,7 @@ static unsigned char tab_h_png[36] =
153
,
152
,
149
,
148
,
147
,
145
,
145
,
150
,
161
153
,
152
,
149
,
148
,
147
,
145
,
145
,
150
,
161
};
};
// separator
static
unsigned
char
tab_s_png
[
36
]
=
static
unsigned
char
tab_s_png
[
36
]
=
{
{
187
,
186
,
185
,
183
,
182
,
181
,
180
,
178
,
176
,
187
,
186
,
185
,
183
,
182
,
181
,
180
,
178
,
176
,
...
@@ -96,6 +107,7 @@ static unsigned char tab_s_png[36] =
...
@@ -96,6 +107,7 @@ static unsigned char tab_s_png[36] =
138
,
136
,
134
,
131
,
131
,
128
,
126
,
125
,
124
138
,
136
,
134
,
131
,
131
,
128
,
126
,
125
,
124
};
};
static
unsigned
char
bc_s_png
[
240
]
=
static
unsigned
char
bc_s_png
[
240
]
=
{
{
150
,
187
,
187
,
148
,
148
,
148
,
148
,
148
,
150
,
187
,
187
,
148
,
148
,
148
,
148
,
148
,
...
@@ -692,6 +704,7 @@ static colored_img_data_item colored_tab_data[] =
...
@@ -692,6 +704,7 @@ static colored_img_data_item colored_tab_data[] =
{
"tab_b.png"
,
1
,
36
,
tab_b_png
,
0
},
{
"tab_b.png"
,
1
,
36
,
tab_b_png
,
0
},
{
"tab_h.png"
,
1
,
36
,
tab_h_png
,
0
},
{
"tab_h.png"
,
1
,
36
,
tab_h_png
,
0
},
{
"tab_s.png"
,
1
,
36
,
tab_s_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
},
{
"bc_s.png"
,
8
,
32
,
bc_s_png
,
bc_s_a_png
},
{
"doxygen.png"
,
104
,
31
,
doxygen_png
,
doxygen_a_png
},
{
"doxygen.png"
,
104
,
31
,
doxygen_png
,
doxygen_a_png
},
{
"closed.png"
,
9
,
9
,
closed_png
,
closed_a_png
},
{
"closed.png"
,
9
,
9
,
closed_png
,
closed_a_png
},
...
@@ -939,6 +952,7 @@ static void generateDynamicSections(QTextStream &t,const QCString &relPath)
...
@@ -939,6 +952,7 @@ static void generateDynamicSections(QTextStream &t,const QCString &relPath)
if
(
Config_getBool
(
"HTML_DYNAMIC_SECTIONS"
))
if
(
Config_getBool
(
"HTML_DYNAMIC_SECTIONS"
))
{
{
t
<<
t
<<
#if 0
"<script type=\"text/javascript\">\n"
"<script type=\"text/javascript\">\n"
"<!--\n"
"<!--\n"
"function changeDisplayState (e){\n"
"function changeDisplayState (e){\n"
...
@@ -980,6 +994,44 @@ static void generateDynamicSections(QTextStream &t,const QCString &relPath)
...
@@ -980,6 +994,44 @@ static void generateDynamicSections(QTextStream &t,const QCString &relPath)
"window.onload = initDynSections;\n"
"window.onload = initDynSections;\n"
"-->\n"
"-->\n"
"</script>\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 *,
...
@@ -1031,6 +1083,7 @@ void HtmlGenerator::startFile(const char *name,const char *,
t
<<
"--></script>
\n
"
;
t
<<
"--></script>
\n
"
;
}
}
generateDynamicSections
(
t
,
relPath
);
generateDynamicSections
(
t
,
relPath
);
m_sectionCount
=
0
;
}
}
void
HtmlGenerator
::
writeSearchFooter
(
QTextStream
&
t
,
const
QCString
&
relPath
)
void
HtmlGenerator
::
writeSearchFooter
(
QTextStream
&
t
,
const
QCString
&
relPath
)
...
@@ -1494,17 +1547,84 @@ void HtmlGenerator::writeChar(char c)
...
@@ -1494,17 +1547,84 @@ void HtmlGenerator::writeChar(char c)
docify
(
cs
);
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
()
void
HtmlGenerator
::
startClassDiagram
()
{
{
//t << "<p>";
startSectionHeader
(
t
,
m_sectionCount
);
t
<<
"<div class=
\"
dynheader
\"
>"
<<
endl
;
}
}
void
HtmlGenerator
::
endClassDiagram
(
const
ClassDiagram
&
d
,
void
HtmlGenerator
::
endClassDiagram
(
const
ClassDiagram
&
d
,
const
char
*
fileName
,
const
char
*
name
)
const
char
*
fileName
,
const
char
*
name
)
{
{
t
<<
"</div>"
<<
endl
;
endSectionHeader
(
t
);
t
<<
"<div class=
\"
dynsection
\"
>"
<<
endl
;
startSectionSummary
(
t
,
m_sectionCount
);
endSectionSummary
(
t
);
startSectionContent
(
t
,
m_sectionCount
);
t
<<
" <div class=
\"
center
\"
>"
<<
endl
;
t
<<
" <div class=
\"
center
\"
>"
<<
endl
;
t
<<
" <img src=
\"
"
;
t
<<
" <img src=
\"
"
;
t
<<
relPath
<<
fileName
<<
".png
\"
usemap=
\"
#"
;
t
<<
relPath
<<
fileName
<<
".png
\"
usemap=
\"
#"
;
...
@@ -1517,8 +1637,8 @@ void HtmlGenerator::endClassDiagram(const ClassDiagram &d,
...
@@ -1517,8 +1637,8 @@ void HtmlGenerator::endClassDiagram(const ClassDiagram &d,
t
<<
"_map
\"
>"
<<
endl
;
t
<<
"_map
\"
>"
<<
endl
;
d
.
writeImage
(
t
,
dir
,
relPath
,
fileName
);
d
.
writeImage
(
t
,
dir
,
relPath
,
fileName
);
t
<<
" </div>"
<<
endl
;
endSectionContent
(
t
)
;
t
<<
"</div>"
<<
endl
;
m_sectionCount
++
;
}
}
...
@@ -1880,13 +2000,16 @@ void HtmlGenerator::endMemberDoc(bool hasArgs)
...
@@ -1880,13 +2000,16 @@ void HtmlGenerator::endMemberDoc(bool hasArgs)
void
HtmlGenerator
::
startDotGraph
()
void
HtmlGenerator
::
startDotGraph
()
{
{
t
<<
"<div class=
\"
dynheader
\"
>"
<<
endl
;
startSectionHeader
(
t
,
m_sectionCount
)
;
}
}
void
HtmlGenerator
::
endDotGraph
(
const
DotClassGraph
&
g
)
void
HtmlGenerator
::
endDotGraph
(
const
DotClassGraph
&
g
)
{
{
t
<<
"</div>"
<<
endl
;
endSectionHeader
(
t
);
t
<<
"<div class=
\"
dynsection
\"
>"
<<
endl
;
startSectionSummary
(
t
,
m_sectionCount
);
endSectionSummary
(
t
);
startSectionContent
(
t
,
m_sectionCount
);
g
.
writeGraph
(
t
,
BITMAP
,
dir
,
relPath
);
g
.
writeGraph
(
t
,
BITMAP
,
dir
,
relPath
);
if
(
Config_getBool
(
"GENERATE_LEGEND"
))
if
(
Config_getBool
(
"GENERATE_LEGEND"
))
{
{
...
@@ -1896,59 +2019,81 @@ void HtmlGenerator::endDotGraph(const DotClassGraph &g)
...
@@ -1896,59 +2019,81 @@ void HtmlGenerator::endDotGraph(const DotClassGraph &g)
endHtmlLink
();
endHtmlLink
();
t
<<
"]</span></center>"
;
t
<<
"]</span></center>"
;
}
}
t
<<
"</div>"
<<
endl
;
endSectionContent
(
t
);
m_sectionCount
++
;
}
}
void
HtmlGenerator
::
startInclDepGraph
()
void
HtmlGenerator
::
startInclDepGraph
()
{
{
t
<<
"<div class=
\"
dynheader
\"
>"
<<
endl
;
startSectionHeader
(
t
,
m_sectionCount
)
;
}
}
void
HtmlGenerator
::
endInclDepGraph
(
const
DotInclDepGraph
&
g
)
void
HtmlGenerator
::
endInclDepGraph
(
const
DotInclDepGraph
&
g
)
{
{
t
<<
"</div>"
<<
endl
;
endSectionHeader
(
t
);
t
<<
"<div class=
\"
dynsection
\"
>"
<<
endl
;
startSectionSummary
(
t
,
m_sectionCount
);
endSectionSummary
(
t
);
startSectionContent
(
t
,
m_sectionCount
);
g
.
writeGraph
(
t
,
BITMAP
,
dir
,
relPath
);
g
.
writeGraph
(
t
,
BITMAP
,
dir
,
relPath
);
t
<<
"</div>"
<<
endl
;
endSectionContent
(
t
);
m_sectionCount
++
;
}
}
void
HtmlGenerator
::
startGroupCollaboration
()
void
HtmlGenerator
::
startGroupCollaboration
()
{
{
t
<<
"<div class=
\"
dynheader
\"
>"
<<
endl
;
startSectionHeader
(
t
,
m_sectionCount
)
;
}
}
void
HtmlGenerator
::
endGroupCollaboration
(
const
DotGroupCollaboration
&
g
)
void
HtmlGenerator
::
endGroupCollaboration
(
const
DotGroupCollaboration
&
g
)
{
{
t
<<
"</div>"
<<
endl
;
endSectionHeader
(
t
);
t
<<
"<div class=
\"
dynsection
\"
>"
<<
endl
;
startSectionSummary
(
t
,
m_sectionCount
);
endSectionSummary
(
t
);
startSectionContent
(
t
,
m_sectionCount
);
g
.
writeGraph
(
t
,
BITMAP
,
dir
,
relPath
);
g
.
writeGraph
(
t
,
BITMAP
,
dir
,
relPath
);
t
<<
"</div>"
<<
endl
;
endSectionContent
(
t
);
m_sectionCount
++
;
}
}
void
HtmlGenerator
::
startCallGraph
()
void
HtmlGenerator
::
startCallGraph
()
{
{
t
<<
"<div class=
\"
dynheader
\"
>"
<<
endl
;
startSectionHeader
(
t
,
m_sectionCount
)
;
}
}
void
HtmlGenerator
::
endCallGraph
(
const
DotCallGraph
&
g
)
void
HtmlGenerator
::
endCallGraph
(
const
DotCallGraph
&
g
)
{
{
t
<<
"</div>"
<<
endl
;
endSectionHeader
(
t
);
t
<<
"<div class=
\"
dynsection
\"
>"
<<
endl
;
startSectionSummary
(
t
,
m_sectionCount
);
endSectionSummary
(
t
);
startSectionContent
(
t
,
m_sectionCount
);
g
.
writeGraph
(
t
,
BITMAP
,
dir
,
relPath
);
g
.
writeGraph
(
t
,
BITMAP
,
dir
,
relPath
);
t
<<
"</div>"
<<
endl
;
endSectionContent
(
t
);
m_sectionCount
++
;
}
}
void
HtmlGenerator
::
startDirDepGraph
()
void
HtmlGenerator
::
startDirDepGraph
()
{
{
t
<<
"<div class=
\"
dynheader
\"
>"
<<
endl
;
startSectionHeader
(
t
,
m_sectionCount
)
;
}
}
void
HtmlGenerator
::
endDirDepGraph
(
const
DotDirDeps
&
g
)
void
HtmlGenerator
::
endDirDepGraph
(
const
DotDirDeps
&
g
)
{
{
t
<<
"</div>"
<<
endl
;
endSectionHeader
(
t
);
t
<<
"<div class=
\"
dynsection
\"
>"
<<
endl
;
startSectionSummary
(
t
,
m_sectionCount
);
endSectionSummary
(
t
);
startSectionContent
(
t
,
m_sectionCount
);
g
.
writeGraph
(
t
,
BITMAP
,
dir
,
relPath
);
g
.
writeGraph
(
t
,
BITMAP
,
dir
,
relPath
);
t
<<
"</div>"
<<
endl
;
endSectionContent
(
t
);
m_sectionCount
++
;
}
}
void
HtmlGenerator
::
writeGraphicalHierarchy
(
const
DotGfxHierarchyTable
&
g
)
void
HtmlGenerator
::
writeGraphicalHierarchy
(
const
DotGfxHierarchyTable
&
g
)
...
...
src/htmlgen.h
View file @
85b32963
...
@@ -261,6 +261,7 @@ class HtmlGenerator : public OutputGenerator
...
@@ -261,6 +261,7 @@ class HtmlGenerator : public OutputGenerator
HtmlGenerator
(
const
HtmlGenerator
&
g
);
HtmlGenerator
(
const
HtmlGenerator
&
g
);
int
col
;
int
col
;
int
m_sectionCount
;
};
};
#endif
#endif
src/htmlhelp.cpp
View file @
85b32963
...
@@ -24,6 +24,7 @@
...
@@ -24,6 +24,7 @@
#include <qdict.h>
#include <qdict.h>
#include <qregexp.h>
#include <qregexp.h>
#include "qtextcodec.h"
#include "qtextcodec.h"
#include "sortdict.h"
#include "htmlhelp.h"
#include "htmlhelp.h"
#include "config.h"
#include "config.h"
...
@@ -43,28 +44,15 @@ struct IndexField
...
@@ -43,28 +44,15 @@ struct IndexField
bool
reversed
;
bool
reversed
;
};
};
class
IndexField
List
:
public
QLis
t
<
IndexField
>
class
IndexField
SDict
:
public
SDic
t
<
IndexField
>
{
{
public
:
public
:
IndexFieldSDict
()
:
SDict
<
IndexField
>
(
17
)
{}
~
IndexFieldSDict
()
{}
int
compareItems
(
GCI
item1
,
GCI
item2
)
int
compareItems
(
GCI
item1
,
GCI
item2
)
{
{
return
stricmp
(((
IndexField
*
)
item1
)
->
name
,((
IndexField
*
)
item2
)
->
name
);
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
/*! A helper class for HtmlHelp that manages a two level index in
...
@@ -80,22 +68,19 @@ class HtmlHelpIndex
...
@@ -80,22 +68,19 @@ class HtmlHelpIndex
bool
hasLink
,
bool
reversed
);
bool
hasLink
,
bool
reversed
);
void
writeFields
(
QTextStream
&
t
);
void
writeFields
(
QTextStream
&
t
);
private
:
private
:
IndexFieldList
*
list
;
IndexFieldSDict
*
dict
;
IndexFieldDict
*
dict
;
};
};
/*! Constructs a new HtmlHelp index */
/*! Constructs a new HtmlHelp index */
HtmlHelpIndex
::
HtmlHelpIndex
()
HtmlHelpIndex
::
HtmlHelpIndex
()
{
{
list
=
new
IndexFieldList
;
dict
=
new
IndexFieldSDict
;
dict
=
new
IndexFieldDict
(
10007
);
dict
->
setAutoDelete
(
TRUE
);
list
->
setAutoDelete
(
TRUE
);
}
}
/*! Destroys the HtmlHelp index */
/*! Destroys the HtmlHelp index */
HtmlHelpIndex
::~
HtmlHelpIndex
()
HtmlHelpIndex
::~
HtmlHelpIndex
()
{
{
delete
list
;
delete
dict
;
delete
dict
;
}
}
...
@@ -132,8 +117,7 @@ void HtmlHelpIndex::addItem(const char *level1,const char *level2,
...
@@ -132,8 +117,7 @@ void HtmlHelpIndex::addItem(const char *level1,const char *level2,
f
->
anchor
=
anchor
;
f
->
anchor
=
anchor
;
f
->
link
=
hasLink
;
f
->
link
=
hasLink
;
f
->
reversed
=
reversed
;
f
->
reversed
=
reversed
;
list
->
inSort
(
f
);
dict
->
append
(
key
,
f
);
dict
->
insert
(
key
,
f
);
}
}
}
}
...
@@ -165,7 +149,8 @@ void HtmlHelpIndex::addItem(const char *level1,const char *level2,
...
@@ -165,7 +149,8 @@ void HtmlHelpIndex::addItem(const char *level1,const char *level2,
*/
*/
void
HtmlHelpIndex
::
writeFields
(
QTextStream
&
t
)
void
HtmlHelpIndex
::
writeFields
(
QTextStream
&
t
)
{
{
IndexFieldListIterator
ifli
(
*
list
);
dict
->
sort
();
IndexFieldSDict
::
Iterator
ifli
(
*
dict
);
IndexField
*
f
;
IndexField
*
f
;
QCString
lastLevel1
;
QCString
lastLevel1
;
bool
level2Started
=
FALSE
;
bool
level2Started
=
FALSE
;
...
@@ -506,15 +491,11 @@ void HtmlHelp::createProjectFile()
...
@@ -506,15 +491,11 @@ void HtmlHelp::createProjectFile()
s
=
indexFiles
.
next
();
s
=
indexFiles
.
next
();
}
}
t
<<
"tabs.css"
<<
endl
;
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_a.png"
<<
endl
;
t
<<
"tab_b.png"
<<
endl
;
t
<<
"tab_b.png"
<<
endl
;
t
<<
"tab_h.png"
<<
endl
;
t
<<
"tab_h.png"
<<
endl
;
t
<<
"tab_s.png"
<<
endl
;
t
<<
"tab_s.png"
<<
endl
;
t
<<
"nav_h.png"
<<
endl
;
if
(
Config_getBool
(
"HTML_DYNAMIC_SECTIONS"
))
if
(
Config_getBool
(
"HTML_DYNAMIC_SECTIONS"
))
{
{
t
<<
"open.gif"
<<
endl
;
t
<<
"open.gif"
<<
endl
;
...
...
src/image.cpp
View file @
85b32963
...
@@ -20,8 +20,9 @@
...
@@ -20,8 +20,9 @@
#include "image.h"
#include "image.h"
//#include "gifenc.h"
//#include "gifenc.h"
#include <qfile.h>
#include <qfile.h>
#include "lodepng.h"
#include <math.h>
#include <math.h>
#include "lodepng.h"
#include "config.h"
typedef
unsigned
char
Byte
;
typedef
unsigned
char
Byte
;
...
@@ -210,6 +211,33 @@ static Color palette2[] =
...
@@ -210,6 +211,33 @@ static Color palette2[] =
Image
::
Image
(
int
w
,
int
h
)
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
];
data
=
new
uchar
[
w
*
h
];
memset
(
data
,
0
,
w
*
h
);
memset
(
data
,
0
,
w
*
h
);
width
=
w
;
width
=
w
;
...
...
src/index.cpp
View file @
85b32963
...
@@ -2605,6 +2605,7 @@ void writeJavascriptSearchIndex()
...
@@ -2605,6 +2605,7 @@ void writeJavascriptSearchIndex()
if
(
outFile
.
open
(
IO_WriteOnly
))
if
(
outFile
.
open
(
IO_WriteOnly
))
{
{
QTextStream
t
(
&
outFile
);
QTextStream
t
(
&
outFile
);
t
.
setEncoding
(
QTextStream
::
UnicodeUTF8
);
t
<<
"<!DOCTYPE html PUBLIC
\"
-//W3C//DTD XHTML 1.0 Transitional//EN
\"
"
t
<<
"<!DOCTYPE html PUBLIC
\"
-//W3C//DTD XHTML 1.0 Transitional//EN
\"
"
"
\"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
\"
>"
<<
endl
;
"
\"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
\"
>"
<<
endl
;
t
<<
"<html><head><title></title>"
<<
endl
;
t
<<
"<html><head><title></title>"
<<
endl
;
...
@@ -2641,12 +2642,17 @@ void writeJavascriptSearchIndex()
...
@@ -2641,12 +2642,17 @@ void writeJavascriptSearchIndex()
<<
"class=
\"
SRSymbol
\"
"
;
<<
"class=
\"
SRSymbol
\"
"
;
if
(
!
d
->
getReference
().
isEmpty
())
if
(
!
d
->
getReference
().
isEmpty
())
{
{
QCString
*
dest
;
QCString
*
dest
=
Doxygen
::
tagDestinationDict
[
d
->
getReference
()];
t
<<
"doxygen=
\"
"
<<
d
->
getReference
()
<<
":../"
;
if
(
dest
&&
*
dest
==
'.'
)
// relative path (see bug 593679)
if
((
dest
=
Doxygen
::
tagDestinationDict
[
d
->
getReference
()]))
t
<<
*
dest
<<
"/"
;
{
t
<<
"
\"
"
;
t
<<
"doxygen=
\"
"
<<
d
->
getReference
()
<<
":../"
t
<<
"href=
\"
../"
;
<<
*
dest
<<
"/
\"
href=
\"
../"
<<
*
dest
<<
"/"
;
if
((
dest
=
Doxygen
::
tagDestinationDict
[
d
->
getReference
()]))
t
<<
*
dest
<<
"/"
;
}
else
if
(
dest
)
// absolute path
{
t
<<
"doxygen=
\"
"
<<
d
->
getReference
()
<<
":"
<<
*
dest
<<
"/
\"
href=
\"
"
<<
*
dest
<<
"/"
;
}
}
}
else
else
{
{
...
@@ -2842,6 +2848,7 @@ void writeJavascriptSearchIndex()
...
@@ -2842,6 +2848,7 @@ void writeJavascriptSearchIndex()
if
(
f
.
open
(
IO_WriteOnly
))
if
(
f
.
open
(
IO_WriteOnly
))
{
{
QTextStream
t
(
&
f
);
QTextStream
t
(
&
f
);
t
.
setEncoding
(
QTextStream
::
UnicodeUTF8
);
t
<<
"// Search script generated by doxygen"
<<
endl
;
t
<<
"// Search script generated by doxygen"
<<
endl
;
t
<<
"// Copyright (C) 2009 by Dimitri van Heesch."
<<
endl
<<
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
;
t
<<
"// The code in this file is loosly based on main.js, part of Natural Docs,"
<<
endl
;
...
@@ -2892,6 +2899,7 @@ void writeJavascriptSearchIndex()
...
@@ -2892,6 +2899,7 @@ void writeJavascriptSearchIndex()
if
(
f
.
open
(
IO_WriteOnly
))
if
(
f
.
open
(
IO_WriteOnly
))
{
{
QTextStream
t
(
&
f
);
QTextStream
t
(
&
f
);
t
.
setEncoding
(
QTextStream
::
UnicodeUTF8
);
t
<<
"<!DOCTYPE html PUBLIC
\"
-//W3C//DTD XHTML 1.0 Transitional//EN
\"
"
t
<<
"<!DOCTYPE html PUBLIC
\"
-//W3C//DTD XHTML 1.0 Transitional//EN
\"
"
"
\"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
\"
>"
<<
endl
;
"
\"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
\"
>"
<<
endl
;
t
<<
"<html><head><title></title>"
<<
endl
;
t
<<
"<html><head><title></title>"
<<
endl
;
...
...
src/language.cpp
View file @
85b32963
...
@@ -223,7 +223,7 @@ bool setTranslator(const char *langName)
...
@@ -223,7 +223,7 @@ bool setTranslator(const char *langName)
#ifdef LANG_ES
#ifdef LANG_ES
else
if
(
L_EQUAL
(
"spanish"
))
else
if
(
L_EQUAL
(
"spanish"
))
{
{
theTranslator
=
new
Translator
Decoder
(
new
TranslatorSpanish
)
;
theTranslator
=
new
Translator
Spanish
;
}
}
#endif
#endif
#ifdef LANG_FI
#ifdef LANG_FI
...
@@ -247,7 +247,7 @@ bool setTranslator(const char *langName)
...
@@ -247,7 +247,7 @@ bool setTranslator(const char *langName)
#ifdef LANG_PL
#ifdef LANG_PL
else
if
(
L_EQUAL
(
"polish"
))
else
if
(
L_EQUAL
(
"polish"
))
{
{
theTranslator
=
new
Translator
Decoder
(
new
TranslatorPolish
)
;
theTranslator
=
new
Translator
Polish
;
}
}
#endif
#endif
#ifdef LANG_PT
#ifdef LANG_PT
...
...
src/latexdocvisitor.cpp
View file @
85b32963
...
@@ -185,7 +185,7 @@ void LatexDocVisitor::visit(DocSymbol *s)
...
@@ -185,7 +185,7 @@ void LatexDocVisitor::visit(DocSymbol *s)
m_t
<<
"
\\
^{"
<<
s
->
letter
()
<<
"}"
;
m_t
<<
"
\\
^{"
<<
s
->
letter
()
<<
"}"
;
break
;
break
;
case
DocSymbol
:
:
Slash
:
if
(
tolower
(
s
->
letter
())
==
'o'
)
case
DocSymbol
:
:
Slash
:
if
(
tolower
(
s
->
letter
())
==
'o'
)
m_t
<<
"
\\
"
<<
s
->
letter
()
;
m_t
<<
"
{
\\
"
<<
s
->
letter
()
<<
"}"
;
else
else
m_t
<<
s
->
letter
();
m_t
<<
s
->
letter
();
break
;
break
;
...
...
src/latexgen.cpp
View file @
85b32963
...
@@ -914,7 +914,8 @@ void LatexGenerator::endIndexSection(IndexSections is)
...
@@ -914,7 +914,8 @@ void LatexGenerator::endIndexSection(IndexSections is)
{
{
if
(
!
gd
->
isReference
())
if
(
!
gd
->
isReference
())
{
{
if
(
compactLatex
)
t
<<
"
\\
input"
;
else
t
<<
"
\\
include"
;
//if (compactLatex) t << "\\input"; else t << "\\include";
t
<<
"
\\
input"
;
t
<<
"{"
<<
gd
->
getOutputFileBase
()
<<
"}
\n
"
;
t
<<
"{"
<<
gd
->
getOutputFileBase
()
<<
"}
\n
"
;
}
}
}
}
...
@@ -937,7 +938,8 @@ void LatexGenerator::endIndexSection(IndexSections is)
...
@@ -937,7 +938,8 @@ void LatexGenerator::endIndexSection(IndexSections is)
{
{
if
(
dd
->
isLinkableInProject
())
if
(
dd
->
isLinkableInProject
())
{
{
if
(
compactLatex
)
t
<<
"
\\
input"
;
else
t
<<
"
\\
include"
;
//if (compactLatex) t << "\\input"; else t << "\\include";
t
<<
"
\\
input"
;
t
<<
"{"
<<
dd
->
getOutputFileBase
()
<<
"}
\n
"
;
t
<<
"{"
<<
dd
->
getOutputFileBase
()
<<
"}
\n
"
;
}
}
}
}
...
@@ -960,7 +962,8 @@ void LatexGenerator::endIndexSection(IndexSections is)
...
@@ -960,7 +962,8 @@ void LatexGenerator::endIndexSection(IndexSections is)
{
{
if
(
nd
->
isLinkableInProject
())
if
(
nd
->
isLinkableInProject
())
{
{
if
(
compactLatex
)
t
<<
"
\\
input"
;
else
t
<<
"
\\
include"
;
//if (compactLatex) t << "\\input"; else t << "\\include";
t
<<
"
\\
input"
;
t
<<
"{"
<<
nd
->
getOutputFileBase
()
<<
"}
\n
"
;
t
<<
"{"
<<
nd
->
getOutputFileBase
()
<<
"}
\n
"
;
}
}
++
nli
;
++
nli
;
...
@@ -984,7 +987,8 @@ void LatexGenerator::endIndexSection(IndexSections is)
...
@@ -984,7 +987,8 @@ void LatexGenerator::endIndexSection(IndexSections is)
{
{
if
(
cd
->
isLinkableInProject
()
&&
cd
->
templateMaster
()
==
0
)
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
"
;
t
<<
"{"
<<
cd
->
getOutputFileBase
()
<<
"}
\n
"
;
}
}
}
}
...
@@ -1006,17 +1010,20 @@ void LatexGenerator::endIndexSection(IndexSections is)
...
@@ -1006,17 +1010,20 @@ void LatexGenerator::endIndexSection(IndexSections is)
t
<<
"}
\n\\
input{"
<<
fd
->
getOutputFileBase
()
<<
"}
\n
"
;
t
<<
"}
\n\\
input{"
<<
fd
->
getOutputFileBase
()
<<
"}
\n
"
;
if
(
sourceBrowser
&&
m_prettyCode
&&
fd
->
generateSourceFile
())
if
(
sourceBrowser
&&
m_prettyCode
&&
fd
->
generateSourceFile
())
{
{
t
<<
"
\\
include{"
<<
fd
->
getSourceFileBase
()
<<
"}
\n
"
;
//t << "\\include{" << fd->getSourceFileBase() << "}\n";
t
<<
"
\\
input{"
<<
fd
->
getSourceFileBase
()
<<
"}
\n
"
;
}
}
isFirst
=
FALSE
;
isFirst
=
FALSE
;
}
}
else
else
{
{
if
(
compactLatex
)
t
<<
"
\\
input"
;
else
t
<<
"
\\
include"
;
//if (compactLatex) t << "\\input" ; else t << "\\include";
t
<<
"
\\
input"
;
t
<<
"{"
<<
fd
->
getOutputFileBase
()
<<
"}
\n
"
;
t
<<
"{"
<<
fd
->
getOutputFileBase
()
<<
"}
\n
"
;
if
(
sourceBrowser
&&
m_prettyCode
&&
fd
->
generateSourceFile
())
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)
...
@@ -1037,7 +1044,8 @@ void LatexGenerator::endIndexSection(IndexSections is)
}
}
for
(
++
pdi
;(
pd
=
pdi
.
current
());
++
pdi
)
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
"
;
t
<<
"{"
<<
pd
->
getOutputFileBase
()
<<
"}
\n
"
;
}
}
}
}
...
@@ -1077,7 +1085,9 @@ void LatexGenerator::endIndexSection(IndexSections is)
...
@@ -1077,7 +1085,9 @@ void LatexGenerator::endIndexSection(IndexSections is)
void
LatexGenerator
::
writePageLink
(
const
char
*
name
,
bool
first
)
void
LatexGenerator
::
writePageLink
(
const
char
*
name
,
bool
first
)
{
{
bool
&
compactLatex
=
Config_getBool
(
"COMPACT_LATEX"
);
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
"
;
t
<<
"{"
<<
name
<<
"}
\n
"
;
}
}
...
...
src/mangen.cpp
View file @
85b32963
...
@@ -409,7 +409,10 @@ void ManGenerator::startDoxyAnchor(const char *,const char *manName,
...
@@ -409,7 +409,10 @@ void ManGenerator::startDoxyAnchor(const char *,const char *manName,
// - truncate after an (optional) ::
// - truncate after an (optional) ::
QCString
baseName
=
name
;
QCString
baseName
=
name
;
int
i
=
baseName
.
findRev
(
"::"
);
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
// - remove dangerous characters and append suffix, then add dir prefix
QCString
fileName
=
dir
+
"/"
+
buildFileName
(
baseName
);
QCString
fileName
=
dir
+
"/"
+
buildFileName
(
baseName
);
...
...
src/pre.l
View file @
85b32963
...
@@ -188,7 +188,9 @@ static bool macroIsAccessible(Define *def)
...
@@ -188,7 +188,9 @@ static bool macroIsAccessible(Define *def)
}
}
if (def && def->fileDef==g_inputFileDef)
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
if (g_inputFileDef && def && def->fileDef) // check if g_inputFileDef actually includes def->fileDef
{
{
...
@@ -198,6 +200,7 @@ static bool macroIsAccessible(Define *def)
...
@@ -198,6 +200,7 @@ static bool macroIsAccessible(Define *def)
// g_inputFileDef->name().data(),def->name.data(),def->fileDef->name().data(),b);
// g_inputFileDef->name().data(),def->name.data(),def->fileDef->name().data(),b);
return b;
return b;
}
}
//printf("not accessible!\n");
return FALSE;
return FALSE;
}
}
...
@@ -1883,34 +1886,47 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
...
@@ -1883,34 +1886,47 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
g_defVarArgs = FALSE;
g_defVarArgs = FALSE;
BEGIN(DefineArg);
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);
//printf("Define `%s'\n",yytext);
g_argDict = 0;
g_argDict = 0;
g_defArgs = -1;
g_defArgs = -1;
g_defArgsStr.resize(0);
g_defArgsStr.resize(0);
g_defText.resize(0);
g_defLitText.resize(0);
g_defName = yytext;
g_defName = yytext;
g_defName = g_defName.left(g_defName.length()-1).stripWhiteSpace();
g_defVarArgs = FALSE;
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)
if ( g_defName!=g_lastGuardName || !g_expectGuard)
{ // define may appear in the output
{ // define may appear in the output
QCString tmp=(QCString)"#define "+g_defName;
QCString tmp=(QCString)"#define "+g_defName;
outputArray(tmp.data(),tmp.length());
outputArray(tmp.data(),tmp.length());
g_quoteArg=FALSE;
g_quoteArg=FALSE;
g_insideComment=FALSE;
g_insideComment=FALSE;
g_lastGuardName.resize(0);
g_defText="1";
g_defLitText="1";
BEGIN(DefineText);
BEGIN(DefineText);
}
}
else // define is a guard => hide
else // define is a guard => hide
{
{
g_lastGuardName.resize(0);
g_defText.resize(0);
g_defLitText.resize(0);
BEGIN(Start);
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
<DefName>{ID}/{B}*"\n" { // empty define
g_argDict = 0;
g_argDict = 0;
g_defArgs = -1;
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]*
...
@@ -566,7 +566,6 @@ ID "$"?[a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF]*
SCOPEID {ID}({ID}*{BN}*"::"{BN}*)*({ID}?)
SCOPEID {ID}({ID}*{BN}*"::"{BN}*)*({ID}?)
SCOPENAME "$"?(({ID}?{BN}*"::"{BN}*)*)(((~|!){BN}*)?{ID})
SCOPENAME "$"?(({ID}?{BN}*"::"{BN}*)*)(((~|!){BN}*)?{ID})
TSCOPE {ID}("<"[a-z_A-Z0-9 \t\*\&,]*">")?
TSCOPE {ID}("<"[a-z_A-Z0-9 \t\*\&,]*">")?
FTSCOPE {ID}("<"[a-z_A-Z0-9\*\&,]*">")?
CSSCOPENAME (({ID}?{BN}*"."{BN}*)*)((~{BN}*)?{ID})
CSSCOPENAME (({ID}?{BN}*"."{BN}*)*)((~{BN}*)?{ID})
PRE [pP][rR][eE]
PRE [pP][rR][eE]
CODE [cC][oO][dD][eE]
CODE [cC][oO][dD][eE]
...
@@ -1603,7 +1602,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
...
@@ -1603,7 +1602,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
current->tArgLists->setAutoDelete(TRUE);
current->tArgLists->setAutoDelete(TRUE);
}
}
ArgumentList *al = new ArgumentList;
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);
current->tArgLists->append(al);
currentArgumentList = al;
currentArgumentList = al;
templateStr="<";
templateStr="<";
...
@@ -1832,7 +1831,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
...
@@ -1832,7 +1831,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
<QtPropType>{B}+ {
<QtPropType>{B}+ {
current->type+=yytext;
current->type+=yytext;
}
}
<QtPropType>({
FTSCOPE}"::")*{F
TSCOPE} {
<QtPropType>({
TSCOPE}"::")*{
TSCOPE} {
current->type+=yytext;
current->type+=yytext;
BEGIN(QtPropName);
BEGIN(QtPropName);
}
}
...
@@ -2001,8 +2000,9 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
...
@@ -2001,8 +2000,9 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
BEGIN( SkipCurly );
BEGIN( SkipCurly );
}
}
<TryFunctionBlock>.
<TryFunctionBlock>.
<TryFunctionBlockEnd>"catch" { BEGIN(TryFunctionBlock); }
<TryFunctionBlockEnd>{BN}*"catch" { lineCount(); BEGIN(TryFunctionBlock); // {BN}* added to fix bug 611193
<TryFunctionBlockEnd>\n { unput(*yytext); // added to fix bug id 601138
}
<TryFunctionBlockEnd>\n { unput(*yytext); // rule added to fix bug id 601138
BEGIN( FindMembers );
BEGIN( FindMembers );
}
}
<TryFunctionBlockEnd>. { unput(*yytext);
<TryFunctionBlockEnd>. { unput(*yytext);
...
@@ -4330,6 +4330,10 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
...
@@ -4330,6 +4330,10 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
yyLineNr++;
yyLineNr++;
}
}
<SkipString,SkipPHPString>. { }
<SkipString,SkipPHPString>. { }
<CompoundName>":" { // for "class : public base {} var;" construct, see bug 608359
unput(':');
BEGIN(ClassVar);
}
<Bases,CompoundName>";" {
<Bases,CompoundName>";" {
current->section = Entry::EMPTY_SEC ;
current->section = Entry::EMPTY_SEC ;
current->type.resize(0) ;
current->type.resize(0) ;
...
@@ -4368,7 +4372,8 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
...
@@ -4368,7 +4372,8 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
current->tArgLists->setAutoDelete(TRUE);
current->tArgLists->setAutoDelete(TRUE);
}
}
ArgumentList *al = new ArgumentList;
ArgumentList *al = new ArgumentList;
current->spec |= Entry::Template;
// check bug 612858 before enabling the next line
//current->spec |= Entry::Template;
current->tArgLists->append(al);
current->tArgLists->append(al);
currentArgumentList = al;
currentArgumentList = al;
templateStr="<";
templateStr="<";
...
@@ -4846,6 +4851,10 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
...
@@ -4846,6 +4851,10 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
<SkipRound>")" { if (--roundCount<=0)
<SkipRound>")" { if (--roundCount<=0)
BEGIN ( lastSkipRoundContext );
BEGIN ( lastSkipRoundContext );
}
}
<SkipRound>\" {
lastStringContext=SkipRound;
BEGIN(SkipString);
}
<Bases>","|(">"({BN}*"{")?)|({BN}+"implements"{BN}*) { lineCount();
<Bases>","|(">"({BN}*"{")?)|({BN}+"implements"{BN}*) { lineCount();
if (insideProtocolList)
if (insideProtocolList)
{
{
...
...
src/translator.h
View file @
85b32963
...
@@ -486,6 +486,18 @@ class Translator
...
@@ -486,6 +486,18 @@ class Translator
virtual
QCString
trSearching
()
=
0
;
virtual
QCString
trSearching
()
=
0
;
virtual
QCString
trNoMatches
()
=
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
#endif
src/translator_adapter.h
View file @
85b32963
...
@@ -41,7 +41,25 @@ class TranslatorAdapterBase : public Translator
...
@@ -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
:
public
:
virtual
QCString
updateNeededMessage
()
virtual
QCString
updateNeededMessage
()
...
...
src/translator_br.h
View file @
85b32963
...
@@ -35,7 +35,7 @@
...
@@ -35,7 +35,7 @@
#ifndef TRANSLATOR_BR_H
#ifndef TRANSLATOR_BR_H
#define TRANSLATOR_BR_H
#define TRANSLATOR_BR_H
class
TranslatorBrazilian
:
public
Translator
class
TranslatorBrazilian
:
public
Translator
Adapter_1_6_3
{
{
public
:
public
:
...
...
src/translator_ca.h
View file @
85b32963
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
Translator class (by the local maintainer) when the localized
Translator class (by the local maintainer) when the localized
translator is made up-to-date again.
translator is made up-to-date again.
*/
*/
class
TranslatorCatalan
:
public
Translator
class
TranslatorCatalan
:
public
Translator
Adapter_1_6_3
{
{
public
:
public
:
...
...
src/translator_cz.h
View file @
85b32963
...
@@ -79,7 +79,7 @@
...
@@ -79,7 +79,7 @@
// something else. It is difficult to find the general translation
// something else. It is difficult to find the general translation
// for all kinds in the Czech language.
// for all kinds in the Czech language.
class
TranslatorCzech
:
public
Translator
class
TranslatorCzech
:
public
Translator
Adapter_1_6_3
{
{
public
:
public
:
// --- Language control methods -------------------
// --- Language control methods -------------------
...
...
src/translator_de.h
View file @
85b32963
...
@@ -129,7 +129,7 @@
...
@@ -129,7 +129,7 @@
#ifndef TRANSLATOR_DE_H
#ifndef TRANSLATOR_DE_H
#define TRANSLATOR_DE_H
#define TRANSLATOR_DE_H
class
TranslatorGerman
:
public
Translator
class
TranslatorGerman
:
public
Translator
Adapter_1_6_3
{
{
public
:
public
:
...
...
src/translator_en.h
View file @
85b32963
...
@@ -74,7 +74,8 @@ class TranslatorEnglish : public Translator
...
@@ -74,7 +74,8 @@ class TranslatorEnglish : public Translator
return
""
;
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
()
virtual
QCString
idLanguageCharset
()
{
{
return
"iso-8859-1"
;
return
"iso-8859-1"
;
...
@@ -1814,6 +1815,62 @@ class TranslatorEnglish : public Translator
...
@@ -1814,6 +1815,62 @@ class TranslatorEnglish : public Translator
return
"No Matches"
;
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
#endif
src/translator_eo.h
View file @
85b32963
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
Translator class (by the local maintainer) when the localized
Translator class (by the local maintainer) when the localized
translator is made up-to-date again.
translator is made up-to-date again.
*/
*/
class
TranslatorEsperanto
:
public
Translator
class
TranslatorEsperanto
:
public
Translator
Adapter_1_6_3
{
{
public
:
public
:
...
...
src/translator_es.h
View file @
85b32963
...
@@ -30,7 +30,7 @@
...
@@ -30,7 +30,7 @@
#ifndef TRANSLATOR_ES_H
#ifndef TRANSLATOR_ES_H
#define TRANSLATOR_ES_H
#define TRANSLATOR_ES_H
class
TranslatorSpanish
:
public
Translator
class
TranslatorSpanish
:
public
Translator
Adapter_1_6_3
{
{
public
:
public
:
...
...
src/translator_fa.h
View file @
85b32963
...
@@ -27,8 +27,8 @@
...
@@ -27,8 +27,8 @@
#ifndef TRANSLATOR_FA_H
#ifndef TRANSLATOR_FA_H
#define TRANSLATOR_FA_H
#define TRANSLATOR_FA_H
#define HtmlRightToLeft QCString("<div dir=
rtl
>")
#define HtmlRightToLeft QCString("<div dir=
\"rtl\"
>")
#define HtmlLeftToRight QCString("<div dir=
rtl
>")
#define HtmlLeftToRight QCString("<div dir=
\"rtl\"
>")
#define HtmlDivEnd QCString("</div>")
#define HtmlDivEnd QCString("</div>")
...
...
src/translator_fr.h
View file @
85b32963
...
@@ -100,7 +100,7 @@
...
@@ -100,7 +100,7 @@
// Translator class (by the local maintainer) when the localized
// Translator class (by the local maintainer) when the localized
// translator is made up-to-date again.
// translator is made up-to-date again.
class
TranslatorFrench
:
public
Translator
class
TranslatorFrench
:
public
Translator
Adapter_1_6_3
{
{
public
:
public
:
...
...
src/translator_hr.h
View file @
85b32963
...
@@ -78,7 +78,7 @@
...
@@ -78,7 +78,7 @@
#ifndef TRANSLATOR_HR_H
#ifndef TRANSLATOR_HR_H
#define TRANSLATOR_HR_H
#define TRANSLATOR_HR_H
class
TranslatorCroatian
:
public
Translator
class
TranslatorCroatian
:
public
Translator
Adapter_1_6_3
{
{
private
:
private
:
...
...
src/translator_kr.h
View file @
85b32963
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
Translator class (by the local maintainer) when the localized
Translator class (by the local maintainer) when the localized
translator is made up-to-date again.
translator is made up-to-date again.
*/
*/
class
TranslatorKorean
:
public
Translator
class
TranslatorKorean
:
public
Translator
Adapter_1_6_3
{
{
protected
:
protected
:
friend
class
TranslatorAdapterBase
;
friend
class
TranslatorAdapterBase
;
...
...
src/translator_nl.h
View file @
85b32963
...
@@ -1127,19 +1127,19 @@ class TranslatorDutch : public Translator
...
@@ -1127,19 +1127,19 @@ class TranslatorDutch : public Translator
* hierarchy.
* hierarchy.
*/
*/
virtual
QCString
trDirIndex
()
virtual
QCString
trDirIndex
()
{
return
"
Directory
Hiërarchie"
;
}
{
return
"
Folder
Hiërarchie"
;
}
/*! This is used as the name of the chapter containing the documentation
/*! This is used as the name of the chapter containing the documentation
* of the directories.
* of the directories.
*/
*/
virtual
QCString
trDirDocumentation
()
virtual
QCString
trDirDocumentation
()
{
return
"
Directory
Documentatie"
;
}
{
return
"
Folder
Documentatie"
;
}
/*! This is used as the title of the directory index and also in the
/*! 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.
* Quick links of a HTML page, to link to the directory hierarchy.
*/
*/
virtual
QCString
trDirectories
()
virtual
QCString
trDirectories
()
{
return
"
Directorie
s"
;
}
{
return
"
Folder
s"
;
}
/*! This returns a sentences that introduces the directory hierarchy.
/*! This returns a sentences that introduces the directory hierarchy.
* and the fact that it is sorted alphabetically per level
* and the fact that it is sorted alphabetically per level
...
@@ -1153,15 +1153,15 @@ class TranslatorDutch : public Translator
...
@@ -1153,15 +1153,15 @@ class TranslatorDutch : public Translator
* directory is passed via \a dirName.
* directory is passed via \a dirName.
*/
*/
virtual
QCString
trDirReference
(
const
char
*
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
/*! This returns the word directory with or without starting capital
* (\a first_capital) and in sigular or plural form (\a singular).
* (\a first_capital) and in sigular or plural form (\a singular).
*/
*/
virtual
QCString
trDir
(
bool
first_capital
,
bool
singular
)
virtual
QCString
trDir
(
bool
first_capital
,
bool
singular
)
{
{
QCString
result
((
first_capital
?
"
Director"
:
"directo
r"
));
QCString
result
((
first_capital
?
"
Folder"
:
"folde
r"
));
if
(
singular
)
result
+=
"y"
;
else
result
+=
"ie
s"
;
if
(
!
singular
)
result
+=
"
s"
;
return
result
;
return
result
;
}
}
...
@@ -1407,6 +1407,51 @@ class TranslatorDutch : public Translator
...
@@ -1407,6 +1407,51 @@ class TranslatorDutch : public Translator
return
"Niets gevonden"
;
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 @@
...
@@ -20,7 +20,7 @@
#ifndef TRANSLATOR_PL_H
#ifndef TRANSLATOR_PL_H
#define TRANSLATOR_PL_H
#define TRANSLATOR_PL_H
class
TranslatorPolish
:
public
Translator
class
TranslatorPolish
:
public
Translator
Adapter_1_6_3
{
{
public
:
public
:
...
...
src/translatordecoder.h
View file @
85b32963
...
@@ -722,6 +722,23 @@ class TranslatorDecoder : public Translator
...
@@ -722,6 +722,23 @@ class TranslatorDecoder : public Translator
QCString
trNoMatches
()
QCString
trNoMatches
()
{
return
toUtf8
(
m_translator
->
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
:
private
:
Translator
*
m_translator
;
Translator
*
m_translator
;
...
...
src/util.cpp
View file @
85b32963
...
@@ -2255,6 +2255,16 @@ QCString fileToString(const char *name,bool filter)
...
@@ -2255,6 +2255,16 @@ QCString fileToString(const char *name,bool filter)
QCString
dateToString
(
bool
includeTime
)
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)
if (includeTime)
{
{
return convertToQCString(QDateTime::currentDateTime().toString());
return convertToQCString(QDateTime::currentDateTime().toString());
...
@@ -2269,6 +2279,7 @@ QCString dateToString(bool includeTime)
...
@@ -2269,6 +2279,7 @@ QCString dateToString(bool includeTime)
d.year());
d.year());
return result;
return result;
}
}
#endif
}
}
QCString
yearToString
()
QCString
yearToString
()
...
@@ -3684,7 +3695,7 @@ bool getDefs(const QCString &scName,const QCString &memberName,
...
@@ -3684,7 +3695,7 @@ bool getDefs(const QCString &scName,const QCString &memberName,
//printf("mName=%s mn=%p\n",mName.data(),mn);
//printf("mName=%s mn=%p\n",mName.data(),mn);
if
(
!
forceEmptyScope
&&
mn
&&
!
(
scopeName
.
isEmpty
()
&&
mScope
.
isEmpty
()))
if
(
!
forceEmptyScope
&&
mn
&&
!
(
scopeName
.
isEmpty
()
&&
mScope
.
isEmpty
()))
{
{
//printf(" >member name
found\n"
);
//printf(" >member name
'%s' found\n",mName.data()
);
int
scopeOffset
=
scopeName
.
length
();
int
scopeOffset
=
scopeName
.
length
();
do
do
{
{
...
@@ -3695,13 +3706,13 @@ bool getDefs(const QCString &scName,const QCString &memberName,
...
@@ -3695,13 +3706,13 @@ bool getDefs(const QCString &scName,const QCString &memberName,
}
}
else
if
(
!
mScope
.
isEmpty
())
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!
// 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
()
fcd
->
isLinkable
()
)
)
{
{
...
...
src/xmlgen.cpp
View file @
85b32963
...
@@ -1802,6 +1802,7 @@ static void generateXMLForPage(PageDef *pd,QTextStream &ti,bool isExample)
...
@@ -1802,6 +1802,7 @@ static void generateXMLForPage(PageDef *pd,QTextStream &ti,bool isExample)
{
{
t
<<
" <title>"
<<
convertToXML
(
si
->
title
)
<<
"</title>"
<<
endl
;
t
<<
" <title>"
<<
convertToXML
(
si
->
title
)
<<
"</title>"
<<
endl
;
}
}
writeInnerPages
(
pd
->
getSubPages
(),
t
);
t
<<
" <detaileddescription>"
<<
endl
;
t
<<
" <detaileddescription>"
<<
endl
;
if
(
isExample
)
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