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
8b0ae7ca
Commit
8b0ae7ca
authored
Feb 04, 2006
by
Dimitri van Heesch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.4.6-20060202
parent
e6060ed2
Changes
17
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
230 additions
and
85 deletions
+230
-85
INSTALL
INSTALL
+2
-2
README
README
+2
-2
configure
configure
+1
-1
docblocks.doc
doc/docblocks.doc
+1
-1
code.l
src/code.l
+2
-1
compound.xsd
src/compound.xsd
+1
-0
compound_xsd.h
src/compound_xsd.h
+1
-0
doxygen.css
src/doxygen.css
+2
-1
doxygen_css.h
src/doxygen_css.h
+2
-1
htmlgen.cpp
src/htmlgen.cpp
+29
-30
latexdocvisitor.cpp
src/latexdocvisitor.cpp
+34
-28
latexgen.cpp
src/latexgen.cpp
+22
-8
latexgen.h
src/latexgen.h
+3
-3
memberdef.cpp
src/memberdef.cpp
+20
-1
pyscanner.l
src/pyscanner.l
+16
-1
scanner.l
src/scanner.l
+83
-4
xmlgen.cpp
src/xmlgen.cpp
+9
-1
No files found.
INSTALL
View file @
8b0ae7ca
DOXYGEN Version 1.4.6-20060
115
DOXYGEN Version 1.4.6-20060
202
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (
15 Jan
uary 2006)
Dimitri van Heesch (
02 Febr
uary 2006)
README
View file @
8b0ae7ca
DOXYGEN Version 1.4.6_20060
115
DOXYGEN Version 1.4.6_20060
202
Please read INSTALL for compilation instructions.
...
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (
15 Jan
uary 2006)
Dimitri van Heesch (dimitri@stack.nl) (
02 Febr
uary 2006)
configure
View file @
8b0ae7ca
...
...
@@ -20,7 +20,7 @@ doxygen_version_minor=4
doxygen_version_revision
=
6
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
doxygen_version_mmn
=
20060
115
doxygen_version_mmn
=
20060
202
bin_dirs
=
`
echo
$PATH
|
sed
-e
"s/:/ /g"
`
...
...
doc/docblocks.doc
View file @
8b0ae7ca
...
...
@@ -222,7 +222,7 @@ declaration and the detailed description before the member definition.
If you want to document the members of a file, struct, union, class, or enum,
and you want to put the documentation for these members inside the compound,
it is sometimes desired to place the documentation block after the member
instead of before. For this purpose you
should
put an additional \< marker
instead of before. For this purpose you
have to
put an additional \< marker
in the comment block.
Here are some examples:
...
...
src/code.l
View file @
8b0ae7ca
...
...
@@ -814,6 +814,7 @@ static bool getLinkInScope(const QCString &c, // scope
Definition *d = md->getOuterScope()==Doxygen::globalScope ?
md->getBodyDef() : md->getOuterScope();
if (md->getGroupDef()) d = md->getGroupDef();
//printf("d=%p linkable=%d\n",d,d?d->isLinkable():0);
if (d && d->isLinkable())
{
g_theCallContext.setClass(stripClassName(md->typeString()));
...
...
@@ -1777,7 +1778,7 @@ OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP}
<SkipCPP>"//" {
g_code->codify(yytext);
}
<Body
>"{"
{
<Body
,FuncCall>"{"
{
g_theVarContext.pushScope();
g_scopeStack.push(INNERBLOCK);
...
...
src/compound.xsd
View file @
8b0ae7ca
...
...
@@ -90,6 +90,7 @@
<xsd:simpleContent>
<xsd:extension
base=
"xsd:string"
>
<xsd:attribute
name=
"refid"
type=
"xsd:string"
/>
<xsd:attribute
name=
"prot"
type=
"DoxProtectionKind"
use=
"optional"
/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
...
...
src/compound_xsd.h
View file @
8b0ae7ca
...
...
@@ -90,6 +90,7 @@
" <xsd:simpleContent>
\n
"
" <xsd:extension base=
\"
xsd:string
\"
>
\n
"
" <xsd:attribute name=
\"
refid
\"
type=
\"
xsd:string
\"
/>
\n
"
" <xsd:attribute name=
\"
prot
\"
type=
\"
DoxProtectionKind
\"
use=
\"
optional
\"
/>
\n
"
" </xsd:extension>
\n
"
" </xsd:simpleContent>
\n
"
" </xsd:complexType>
\n
"
...
...
src/doxygen.css
View file @
8b0ae7ca
...
...
@@ -309,7 +309,7 @@ HR { height: 1px;
padding
:
2px
;
}
.memitem
{
width
:
100%
;
padding
:
4px
;
background-color
:
#eef3f5
;
border-width
:
1px
;
border-style
:
solid
;
...
...
@@ -318,6 +318,7 @@ HR { height: 1px;
}
.memname
{
white-space
:
nowrap
;
font-weight
:
bold
;
}
.memdoc
{
padding-left
:
10px
;
...
...
src/doxygen_css.h
View file @
8b0ae7ca
...
...
@@ -309,7 +309,7 @@
" padding: 2px;
\n
"
"}
\n
"
".memitem {
\n
"
"
width: 100%
;
\n
"
"
padding: 4px
;
\n
"
" background-color: #eef3f5;
\n
"
" border-width: 1px;
\n
"
" border-style: solid;
\n
"
...
...
@@ -318,6 +318,7 @@
"}
\n
"
".memname {
\n
"
" white-space: nowrap;
\n
"
" font-weight: bold;
\n
"
"}
\n
"
".memdoc{
\n
"
" padding-left: 10px;
\n
"
...
...
src/htmlgen.cpp
View file @
8b0ae7ca
...
...
@@ -1238,48 +1238,55 @@ void HtmlGenerator::endIndexValue(const char *,bool)
void
HtmlGenerator
::
startMemberDocList
()
{
DBG_HTML
(
t
<<
"<!-- startMemberDocList -->"
<<
endl
;)
t
<<
"<table class=
\"
memlist
\"
>"
<<
endl
;
t
<<
" <tr>"
<<
endl
;
t
<<
" <td>"
<<
endl
;
//
t << "<table class=\"memlist\">" << endl;
//
t << " <tr>" << endl;
//
t << " <td>" << endl;
}
void
HtmlGenerator
::
endMemberDocList
()
{
DBG_HTML
(
t
<<
"<!-- endMemberDocList -->"
<<
endl
;)
t
<<
" </td>"
<<
endl
;
t
<<
" </tr>"
<<
endl
;
t
<<
"</table>"
<<
endl
;
//
t << " </td>" << endl;
//
t << " </tr>" << endl;
//
t << "</table>" << endl;
}
void
HtmlGenerator
::
startMemberDoc
(
const
char
*
,
const
char
*
,
const
char
*
,
const
char
*
)
{
DBG_HTML
(
t
<<
"<!-- startMemberDoc -->"
<<
endl
;)
t
<<
"<p>"
<<
endl
;
t
<<
"<table class=
\"
memitem
\"
>"
<<
endl
;
t
<<
" <tr>"
<<
endl
;
t
<<
" <td>"
<<
endl
;
t
<<
" <table class=
\"
memproto
\"
>"
<<
endl
;
//t << "<p>" << endl;
t
<<
"
\n
<div class=
\"
memitem
\"
>"
<<
endl
;
//t << "<table>" << endl;
//t << " <tr>" << endl;
//t << " <td>" << endl;
//t << " <table class=\"memproto\">" << endl;
t
<<
"<div class=
\"
memproto
\"
>"
<<
endl
;
}
void
HtmlGenerator
::
startMemberDocPrefixItem
()
{
DBG_HTML
(
t
<<
"<!-- startMemberDocPrefixItem -->"
<<
endl
;)
t
<<
" <tr>"
<<
endl
;
t
<<
" <td class=
\"
memtemplate
\"
colspan=
\"
5
\"
>"
;
//t << " <tr>" << endl;
//t << " <td class=\"memtemplate\" colspan=\"5\">";
t
<<
"<div class=
\"
memtemplate
\"
>"
<<
endl
;
}
void
HtmlGenerator
::
endMemberDocPrefixItem
()
{
DBG_HTML
(
t
<<
"<!-- endMemberDocPrefixItem -->"
<<
endl
;)
t
<<
"</td>"
<<
endl
;
t
<<
" </tr>"
<<
endl
;
//t << "</td>" << endl;
//t << " </tr>" << endl;
t
<<
"</div>"
<<
endl
;
}
void
HtmlGenerator
::
startMemberDocName
(
bool
/*align*/
)
{
DBG_HTML
(
t
<<
"<!-- startMemberDocName -->"
<<
endl
;)
t
<<
" <table class=
\"
memname
\"
>"
<<
endl
;
t
<<
" <tr>"
<<
endl
;
t
<<
" <td class=
\"
memname
\"
>"
;
}
...
...
@@ -1376,8 +1383,10 @@ void HtmlGenerator::endMemberDoc(bool hasArgs)
t
<<
" </tr>"
<<
endl
;
}
t
<<
" </table>"
<<
endl
;
t
<<
" </td>"
<<
endl
;
t
<<
" </tr>"
<<
endl
;
//t << " </td>" << endl;
//t << " </tr>" << endl;
//t << "</table>" << endl;
t
<<
"</div>"
<<
endl
;
}
void
HtmlGenerator
::
startDotGraph
()
...
...
@@ -1462,25 +1471,15 @@ void HtmlGenerator::endMemberGroup(bool)
void
HtmlGenerator
::
startIndent
()
{
// I really wanted to use CSS here to provide an indented section, but
// alas, Netscape is buggy enough to sometimes "forget" to end the
// indent cause a staircase effect where the indent continuously increases.
// It's back to abusing tables :-(
//t << "<div class=\"in\">" << endl;
DBG_HTML
(
t
<<
"<!-- startIndent -->"
<<
endl
;)
t
<<
" <tr>
\n
"
" <td >
\n
"
;
t
<<
"<div class=
\"
memdoc
\"
>
\n
"
;
}
void
HtmlGenerator
::
endIndent
()
{
DBG_HTML
(
t
<<
"<!-- endIndent -->"
<<
endl
;)
t
<<
" </td>
\n
"
" </tr>
\n
"
"</table>
\n
"
;
//t << "</div>" << endl;
t
<<
endl
<<
"</div>"
<<
endl
<<
"</div><p>"
<<
endl
;
}
void
HtmlGenerator
::
addIndexItem
(
const
char
*
,
const
char
*
)
...
...
src/latexdocvisitor.cpp
View file @
8b0ae7ca
...
...
@@ -191,7 +191,7 @@ void LatexDocVisitor::visit(DocURL *u)
if
(
u
->
isEmail
())
m_t
<<
"mailto:"
;
m_t
<<
u
->
url
()
<<
"}"
;
}
m_t
<<
"
{
\\
tt
"
;
m_t
<<
"
\\
texttt{
"
;
filter
(
u
->
url
());
m_t
<<
"}"
;
}
...
...
@@ -214,13 +214,13 @@ void LatexDocVisitor::visit(DocStyleChange *s)
switch
(
s
->
style
())
{
case
DocStyleChange
:
:
Bold
:
if
(
s
->
enable
())
m_t
<<
"
{
\\
bf
"
;
else
m_t
<<
"}"
;
if
(
s
->
enable
())
m_t
<<
"
\\
textbf{
"
;
else
m_t
<<
"}"
;
break
;
case
DocStyleChange
:
:
Italic
:
if
(
s
->
enable
())
m_t
<<
"
{
\\
em
"
;
else
m_t
<<
"
\\
/}"
;
if
(
s
->
enable
())
m_t
<<
"
\\
textit{
"
;
else
m_t
<<
"
\\
/}"
;
break
;
case
DocStyleChange
:
:
Code
:
if
(
s
->
enable
())
m_t
<<
"
{
\\
tt
"
;
else
m_t
<<
"}"
;
if
(
s
->
enable
())
m_t
<<
"
\\
texttt{
"
;
else
m_t
<<
"}"
;
break
;
case
DocStyleChange
:
:
Subscript
:
if
(
s
->
enable
())
m_t
<<
"$_{
\\
mbox{"
;
else
m_t
<<
"}}$ "
;
...
...
@@ -257,11 +257,11 @@ void LatexDocVisitor::visit(DocVerbatim *s)
switch
(
s
->
type
())
{
case
DocVerbatim
:
:
Code
:
m_t
<<
"
\n\n\\
footnotesize
\\
begin{verbatim}"
;
m_t
<<
"
\n\n\\
begin{Code}
\\
begin{verbatim}"
;
Doxygen
::
parserManager
->
getParser
(
m_langExt
)
->
parseCode
(
m_ci
,
s
->
context
(),
s
->
text
().
latin1
(),
s
->
isExample
(),
s
->
exampleFile
());
m_t
<<
"
\\
end{verbatim}
\
n\\
normalsize
"
<<
endl
;
m_t
<<
"
\\
end{verbatim}
\
\
end{Code}
\n
"
<<
endl
;
break
;
case
DocVerbatim
:
:
Verbatim
:
m_t
<<
"
\n\n\\
footnotesize
\\
begin{verbatim}"
;
...
...
@@ -322,7 +322,7 @@ void LatexDocVisitor::visit(DocInclude *inc)
{
case
DocInclude
:
:
IncWithLines
:
{
m_t
<<
"
\n\n\\
footnotesize
\\
begin{verbatim}"
;
m_t
<<
"
\n\n\\
begin{DocInclude}
\\
begin{verbatim}"
;
QFileInfo
cfi
(
inc
->
file
()
);
FileDef
fd
(
cfi
.
dirPath
(),
cfi
.
fileName
()
);
Doxygen
::
parserManager
->
getParser
(
inc
->
extension
())
...
...
@@ -330,25 +330,25 @@ void LatexDocVisitor::visit(DocInclude *inc)
inc
->
text
().
latin1
(),
inc
->
isExample
(),
inc
->
exampleFile
(),
&
fd
);
m_t
<<
"
\\
end{verbatim}
\n\\
normalsize
"
<<
endl
;
m_t
<<
"
\\
end{verbatim}
\n\\
end{DocInclude}
"
<<
endl
;
}
break
;
case
DocInclude
:
:
Include
:
m_t
<<
"
\n\n\\
footnotesize
\\
begin{verbatim}"
;
m_t
<<
"
\n\n\\
begin{DocInclude}
\\
begin{verbatim}"
;
Doxygen
::
parserManager
->
getParser
(
inc
->
extension
())
->
parseCode
(
m_ci
,
inc
->
context
(),
inc
->
text
().
latin1
(),
inc
->
isExample
(),
inc
->
exampleFile
());
m_t
<<
"
\\
end{verbatim}
\n\\
normalsize
"
<<
endl
;
m_t
<<
"
\\
end{verbatim}
\n\\
end{DocInclude}
"
<<
endl
;
break
;
case
DocInclude
:
:
DontInclude
:
break
;
case
DocInclude
:
:
HtmlInclude
:
break
;
case
DocInclude
:
:
VerbInclude
:
m_t
<<
"
\n\n\\
footnotesize
\\
begin{verbatim}"
;
m_t
<<
"
\n\n\\
begin{VerbInclude}
\\
begin{verbatim}"
;
m_t
<<
inc
->
text
();
m_t
<<
"
\\
end{verbatim}
\n\\
normalsize
"
<<
endl
;
m_t
<<
"
\\
end{verbatim}
\n\\
end{VerbInclude}
"
<<
endl
;
break
;
}
}
...
...
@@ -359,7 +359,7 @@ void LatexDocVisitor::visit(DocIncOperator *op)
// op->type(),op->isFirst(),op->isLast(),op->text().data());
if
(
op
->
isFirst
())
{
if
(
!
m_hide
)
m_t
<<
"
\n\n\\
footnotesize
\\
begin{verbatim}"
;
if
(
!
m_hide
)
m_t
<<
"
\n\n\\
begin{DocInclude}
\\
begin{verbatim}"
;
pushEnabled
();
m_hide
=
TRUE
;
}
...
...
@@ -378,7 +378,7 @@ void LatexDocVisitor::visit(DocIncOperator *op)
if
(
op
->
isLast
())
{
popEnabled
();
if
(
!
m_hide
)
m_t
<<
"
\\
end{verbatim}
\n\\
normalsize
"
<<
endl
;
if
(
!
m_hide
)
m_t
<<
"
\\
end{verbatim}
\n\\
end{DocInclude}
"
<<
endl
;
}
else
{
...
...
@@ -718,7 +718,7 @@ void LatexDocVisitor::visitPre(DocHRef *href)
m_t
<<
href
->
url
();
m_t
<<
"}"
;
}
m_t
<<
"
{
\\
tt
"
;
m_t
<<
"
\t
exttt{
"
;
}
void
LatexDocVisitor
::
visitPost
(
DocHRef
*
)
...
...
@@ -746,12 +746,12 @@ void LatexDocVisitor::visitPre(DocImage *img)
if
(
m_hide
)
return
;
if
(
img
->
hasCaption
())
{
m_t
<<
"
\\
begin{
figure}[H]
"
<<
endl
;
m_t
<<
"
\\
begin{
Image}
"
<<
endl
;
m_t
<<
"
\\
begin{center}"
<<
endl
;
}
else
{
m_t
<<
"
\\
mbox{"
;
m_t
<<
"
\\
begin{ImageNoCaption}
\\
mbox{"
;
}
QString
gfxName
=
img
->
name
();
if
(
gfxName
.
right
(
4
)
==
".eps"
||
gfxName
.
right
(
4
)
==
".pdf"
)
...
...
@@ -789,7 +789,10 @@ void LatexDocVisitor::visitPost(DocImage *img)
if
(
img
->
hasCaption
())
{
m_t
<<
"
\\
end{center}"
<<
endl
;
m_t
<<
"
\\
end{figure}"
<<
endl
;
m_t
<<
"
\\
end{Image}"
<<
endl
;
}
else
{
m_t
<<
"
\\
end{ImageNoCaption}"
<<
endl
;
}
}
else
// other format
...
...
@@ -969,7 +972,7 @@ void LatexDocVisitor::visitPre(DocXRefItem *x)
}
else
{
m_t
<<
"
{
\\
bf
"
;
m_t
<<
"
\\
textbf{
"
;
}
m_insideItem
=
TRUE
;
filter
(
x
->
title
());
...
...
@@ -1025,11 +1028,10 @@ void LatexDocVisitor::startLink(const QString &ref,const QString &file,const QSt
if
(
!
file
.
isEmpty
()
&&
!
anchor
.
isEmpty
())
m_t
<<
"_"
;
if
(
!
anchor
.
isEmpty
())
m_t
<<
anchor
;
m_t
<<
"}{"
;
}
else
{
m_t
<<
"
{
\\
bf
"
;
m_t
<<
"
\\
doxyref{
"
;
}
}
...
...
@@ -1038,11 +1040,11 @@ void LatexDocVisitor::endLink(const QString &ref,const QString &file,const QStri
m_t
<<
"}"
;
if
(
ref
.
isEmpty
()
&&
!
Config_getBool
(
"PDF_HYPERLINKS"
))
{
m_t
<<
"{
\\
rm (
"
;
m_t
<<
"{"
;
filter
(
theTranslator
->
trPageAbbreviation
());
m_t
<<
"
\\
,
\\
pageref
{"
<<
file
;
m_t
<<
"
}
{"
<<
file
;
if
(
!
anchor
.
isEmpty
())
m_t
<<
"_"
<<
anchor
;
m_t
<<
"}
)}
"
;
m_t
<<
"}"
;
}
}
...
...
@@ -1084,12 +1086,12 @@ void LatexDocVisitor::startDotFile(const QString &fileName,
writeDotGraphFromFile
(
name
,
outDir
,
baseName
,
EPS
);
if
(
hasCaption
)
{
m_t
<<
"
\\
begin{
figure}[H]
"
<<
endl
;
m_t
<<
"
\\
begin{
Image}
"
<<
endl
;
m_t
<<
"
\\
begin{center}"
<<
endl
;
}
else
{
m_t
<<
"
\\
mbox{"
;
m_t
<<
"
\\
begin{ImageNoCaption}
\\
mbox{"
;
}
m_t
<<
"
\\
includegraphics"
;
if
(
!
width
.
isEmpty
())
...
...
@@ -1111,11 +1113,15 @@ void LatexDocVisitor::startDotFile(const QString &fileName,
void
LatexDocVisitor
::
endDotFile
(
bool
hasCaption
)
{
if
(
m_hide
)
return
;
m_t
<<
"}"
<<
endl
;
// end
mbox or caption
m_t
<<
"}"
<<
endl
;
// end
caption or mbox
if
(
hasCaption
)
{
m_t
<<
"
\\
end{center}"
<<
endl
;
m_t
<<
"
\\
end{figure}"
<<
endl
;
m_t
<<
"
\\
end{Image}"
<<
endl
;
}
else
{
m_t
<<
"
\\
end{ImageNoCaption}"
<<
endl
;
}
}
src/latexgen.cpp
View file @
8b0ae7ca
...
...
@@ -335,6 +335,20 @@ static void writeDefaultStyleSheetPart3(QTextStream &t)
{
t
<<
"}}
\n
"
;
t
<<
"
\\
cfoot{}
\n
"
;
t
<<
"
\\
newenvironment{Code}
\n
"
;
t
<<
"{
\\
footnotesize}
\n
"
;
t
<<
"{
\\
normalsize}
\n
"
;
t
<<
"
\\
newcommand{
\\
doxyref}[3]{
\\
textbf{#1} (
\\
textnormal{#2}
\\
,
\\
pageref{#3})}
\n
"
;
t
<<
"
\\
newenvironment{DocInclude}
\n
"
;
t
<<
"{
\\
footnotesize}
\n
"
;
t
<<
"{
\\
normalsize}
\n
"
;
t
<<
"
\\
newenvironment{VerbInclude}
\n
"
;
t
<<
"{
\\
footnotesize}
\n
"
;
t
<<
"{
\\
normalsize}
\n
"
;
t
<<
"
\\
newenvironment{Image}
\n
"
;
t
<<
"{
\\
begin{figure}[H]}
\n
"
;
t
<<
"{
\\
end{figure}}
\n
"
;
t
<<
"
\\
newenvironment{ImageNoCaption}{}{}
\n
"
;
t
<<
"
\\
newenvironment{CompactList}
\n
"
;
t
<<
"{
\\
begin{list}{}{
\n
"
;
t
<<
"
\\
setlength{
\\
leftmargin}{0.5cm}
\n
"
;
...
...
@@ -910,7 +924,7 @@ void LatexGenerator::endHtmlLink()
void
LatexGenerator
::
writeStartAnnoItem
(
const
char
*
,
const
char
*
,
const
char
*
path
,
const
char
*
name
)
{
t
<<
"
\\
item
\\
contentsline{section}{
{
\\
bf
"
;
t
<<
"
\\
item
\\
contentsline{section}{
\\
textbf{
"
;
if
(
path
)
docify
(
path
);
docify
(
name
);
t
<<
"} "
;
...
...
@@ -945,7 +959,7 @@ void LatexGenerator::endIndexValue(const char *name,bool hasBrief)
//void LatexGenerator::writeClassLink(const char *,const char *,
// const char *,const char *name)
//{
// t << "
{\\bf
";
// t << "
\\textbf{
";
// docify(name);
// t << "}";
//}
...
...
@@ -961,7 +975,7 @@ void LatexGenerator::startTextLink(const char *f,const char *anchor)
}
else
{
t
<<
"
{
\\
bf
"
;
t
<<
"
\\
textbf{
"
;
}
}
...
...
@@ -985,7 +999,7 @@ void LatexGenerator::writeObjectLink(const char *ref, const char *f,
}
else
{
t
<<
"
{
\\
bf
"
;
t
<<
"
\\
textbf{
"
;
docify
(
text
);
t
<<
"}"
;
}
...
...
@@ -993,15 +1007,15 @@ void LatexGenerator::writeObjectLink(const char *ref, const char *f,
void
LatexGenerator
::
startPageRef
()
{
t
<<
"
{
\\
rm (
"
;
t
<<
"
\\
doxyref{
"
;
}
void
LatexGenerator
::
endPageRef
(
const
char
*
clname
,
const
char
*
anchor
)
{
t
<<
"
\\
,
\\
pageref
{"
;
t
<<
"
}
{"
;
if
(
clname
)
t
<<
clname
;
if
(
anchor
)
t
<<
"_"
<<
anchor
;
t
<<
"}
)}
"
;
t
<<
"}"
;
}
void
LatexGenerator
::
writeCodeLink
(
const
char
*
,
const
char
*
,
...
...
@@ -1406,7 +1420,7 @@ void LatexGenerator::endMemberList()
void
LatexGenerator
::
startMemberGroupHeader
(
bool
hasHeader
)
{
if
(
hasHeader
)
t
<<
"
\\
begin{Indent}"
;
t
<<
"
{
\\
bf
"
;
t
<<
"
\\
textbf{
"
;
}
void
LatexGenerator
::
endMemberGroupHeader
()
...
...
src/latexgen.h
View file @
8b0ae7ca
...
...
@@ -115,14 +115,14 @@ class LatexGenerator : public OutputGenerator
void
writeRuler
()
{
t
<<
endl
<<
endl
;
/*t << "\\vspace{0.4cm}\\hrule\\vspace{0.2cm}" << endl; */
}
void
writeAnchor
(
const
char
*
fileName
,
const
char
*
name
);
void
startCodeFragment
()
{
t
<<
endl
<<
endl
<<
"
\\
footnotesize
\\
begin{verbatim}"
;
}
void
endCodeFragment
()
{
t
<<
"
\\
end{verbatim}
\\
normalsize
"
<<
endl
;
}
void
startCodeFragment
()
{
t
<<
endl
<<
endl
<<
"
\\
begin{Code}
\\
begin{verbatim}"
;
}
void
endCodeFragment
()
{
t
<<
"
\\
end{verbatim}
\\
end{Code}
"
<<
endl
;
}
void
writeLineNumber
(
const
char
*
,
const
char
*
,
const
char
*
,
int
l
)
{
t
<<
l
<<
" "
;
}
void
startCodeLine
()
{
col
=
0
;
}
void
endCodeLine
()
{
codify
(
"
\n
"
);
}
void
startEmphasis
()
{
t
<<
"{
\\
em "
;
}
void
endEmphasis
()
{
t
<<
"}"
;
}
void
startBold
()
{
t
<<
"
{
\\
bf
"
;
}
void
startBold
()
{
t
<<
"
\\
textbf{
"
;
}
void
endBold
()
{
t
<<
"}"
;
}
void
startDescription
();
void
endDescription
();
...
...
src/memberdef.cpp
View file @
8b0ae7ca
...
...
@@ -79,7 +79,7 @@ static QCString addTemplateNames(const QCString &s,const QCString &n,const QCStr
static
bool
writeDefArgumentList
(
OutputList
&
ol
,
ClassDef
*
cd
,
const
QCString
&
/*scopeName*/
,
MemberDef
*
md
)
{
ArgumentList
*
defArgList
=
md
->
isDocsForDefinition
(
)
?
ArgumentList
*
defArgList
=
(
md
->
isDocsForDefinition
()
&&
!
md
->
isProperty
()
)
?
md
->
argumentList
()
:
md
->
declArgumentList
();
//printf("writeDefArgumentList `%s' isDocsForDefinition()=%d\n",md->name().data(),md->isDocsForDefinition());
if
(
defArgList
==
0
)
...
...
@@ -1150,6 +1150,25 @@ void MemberDef::writeDeclaration(OutputList &ol,
ol
.
endTypewriter
();
}
if
(
isProperty
())
{
ol
.
writeLatexSpacing
();
ol
.
startTypewriter
();
ol
.
docify
(
" ["
);
QStrList
sl
;
if
(
isGettable
())
sl
.
append
(
"get"
);
if
(
isSettable
())
sl
.
append
(
"set"
);
const
char
*
s
=
sl
.
first
();
while
(
s
)
{
ol
.
docify
(
s
);
s
=
sl
.
next
();
if
(
s
)
ol
.
docify
(
", "
);
}
ol
.
docify
(
"]"
);
ol
.
endTypewriter
();
}
if
(
!
detailsVisible
&&
!
annMemb
)
{
ol
.
endDoxyAnchor
(
cfname
,
anchor
());
...
...
src/pyscanner.l
View file @
8b0ae7ca
...
...
@@ -154,6 +154,20 @@ static void newVariable()
newEntry();
}
static void newFunction()
{
if (current->name.left(2)=="__" && current->name.right(2)=="__")
{
// special method name, see
// http://docs.python.org/ref/specialnames.html
current->protection=Public;
}
else if (current->name.at(0)=='_')
{
current->protection=Private;
}
}
static inline int computeIndent(const char *s)
{
int col=0;
...
...
@@ -804,6 +818,7 @@ STARTDOCSYMS ^{B}"##"/[^#]
}
current->name = yytext;
current->name = current->name.stripWhiteSpace();
newFunction();
}
{B}"(" {
...
...
@@ -984,7 +999,7 @@ STARTDOCSYMS ^{B}"##"/[^#]
}
<ClassInheritance>{
({BB}|[
(,)])
{ // syntactic sugar for the list
({BB}|[
\(,\)])
{ // syntactic sugar for the list
}
":" { // begin of the class definition
...
...
src/scanner.l
View file @
8b0ae7ca
...
...
@@ -158,6 +158,9 @@ static bool docBlockInBody;
static bool docBlockJavaStyle;
static char docBlockTerm;
static QCString idlAttr;
static QCString idlProp;
//-----------------------------------------------------------------------------
...
...
@@ -657,6 +660,10 @@ IDLATTR ("["[^\]]*"]"){BN}*
%x CopyArgCommentLine
%x CopyArgVerbatim
%x IDLAttribute
%x IDLProp
%x IDLPropName
/** Prototype scanner states */
%x Prototype
...
...
@@ -2189,11 +2196,14 @@ IDLATTR ("["[^\]]*"]"){BN}*
}
<FindMembers>"[" {
if (current->name.isEmpty() || current->name=="typedef") // IDL function property
{
squareCount=1;
if (current->name.isEmpty() || current->name=="typedef") // IDL function property
{
squareCount=1;
lastSquareContext = YY_START;
BEGIN(SkipSquare);
idlAttr.resize(0);
idlProp.resize(0);
current->mtype = mtype;
BEGIN( IDLAttribute );
}
else
{
...
...
@@ -2202,6 +2212,75 @@ IDLATTR ("["[^\]]*"]"){BN}*
BEGIN( Array ) ;
}
}
<IDLAttribute>"]" {
// end of IDL function attribute
if (--squareCount<=0)
{
lineCount();
if (current->mtype == Property)
BEGIN( IDLPropName );
else
BEGIN( lastSquareContext );
}
}
<IDLAttribute>"propput" {
current->mtype = Property;
current->memSpec |= Entry::Settable;
}
<IDLAttribute>"propget" {
current->mtype = Property;
current->memSpec |= Entry::Gettable;
}
<IDLAttribute>. {
}
<IDLPropName>{BN}*{ID}{BN}* {
// return type (probably HRESULT) - skip it
}
<IDLPropName>{ID}{BN}*"(" {
current->name = yytext;
current->name = current->name.left(current->name.length()-1).stripWhiteSpace();
current->startLine = yyLineNr;
BEGIN( IDLProp );
}
<IDLProp>{BN}*"["[^\]]*"]"{BN}* { // attribute of a parameter
idlAttr += yytext;
}
<IDLProp>{ID} { // property type
idlProp = yytext;
}
<IDLProp>{BN}*{ID}{BN}*"," { // Rare: Another parameter ([propput] HRESULT Item(int index, [in] Type theRealProperty);)
if (!current->args)
current->args = "(";
else
current->args += ", ";
current->args += idlAttr;
current->args += " ";
current->args += idlProp; // prop was actually type of extra parameter
current->args += " ";
current->args += yytext;
current->args = current->args.left(current->args.length() - 1); // strip comma
idlProp.resize(0);
idlAttr.resize(0);
BEGIN( IDLProp );
}
<IDLProp>{BN}*{ID}{BN}*")"{BN}* {
// the parameter name for the property - just skip.
}
<IDLProp>";" {
current->fileName = yyFileName;
current->type = idlProp;
current->args = current->args.simplifyWhiteSpace();
if (current->args)
current->args += ")";
current->name = current->name.stripWhiteSpace();
current->section = Entry::VARIABLE_SEC;
current_root->addSubEntry(current);
current = new Entry;
initEntry();
BEGIN( FindMembers );
}
<IDLProp>. {
}
<Array>"]" { current->args += *yytext ;
if (--squareCount<=0)
BEGIN( FindMembers ) ;
...
...
src/xmlgen.cpp
View file @
8b0ae7ca
...
...
@@ -953,7 +953,15 @@ static void writeInnerClasses(const ClassSDict *cl,QTextStream &t)
if
(
cd
->
name
().
find
(
'@'
)
==-
1
)
// skip anonymous scopes
{
t
<<
" <innerclass refid=
\"
"
<<
cd
->
getOutputFileBase
()
<<
"
\"
>"
<<
convertToXML
(
cd
->
name
())
<<
"</innerclass>"
<<
endl
;
<<
"
\"
prot=
\"
"
;
switch
(
cd
->
protection
())
{
case
Public
:
t
<<
"public"
;
break
;
case
Protected
:
t
<<
"protected"
;
break
;
case
Private
:
t
<<
"private"
;
break
;
case
Package
:
t
<<
"package"
;
break
;
}
t
<<
"
\"
>"
<<
convertToXML
(
cd
->
name
())
<<
"</innerclass>"
<<
endl
;
}
}
}
...
...
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