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
3b9f4d9c
Commit
3b9f4d9c
authored
Sep 04, 2013
by
Dimitri van Heesch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added @parblock and @endparblock commands
parent
b4e5125a
Changes
27
Show whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
322 additions
and
20 deletions
+322
-20
commands.doc
doc/commands.doc
+31
-0
cmdmapper.cpp
src/cmdmapper.cpp
+2
-0
cmdmapper.h
src/cmdmapper.h
+3
-1
commentscan.l
src/commentscan.l
+41
-3
compound.xsd
src/compound.xsd
+7
-0
compound_xsd.h
src/compound_xsd.h
+7
-0
docbookvisitor.cpp
src/docbookvisitor.cpp
+9
-0
docbookvisitor.h
src/docbookvisitor.h
+4
-1
docparser.cpp
src/docparser.cpp
+38
-0
docparser.h
src/docparser.h
+15
-1
doctokenizer.h
src/doctokenizer.h
+2
-1
docvisitor.h
src/docvisitor.h
+3
-0
doxygen.css
src/doxygen.css
+5
-1
doxygen_css.h
src/doxygen_css.h
+5
-1
htmldocvisitor.cpp
src/htmldocvisitor.cpp
+76
-11
htmldocvisitor.h
src/htmldocvisitor.h
+2
-0
latexdocvisitor.cpp
src/latexdocvisitor.cpp
+10
-0
latexdocvisitor.h
src/latexdocvisitor.h
+2
-0
mandocvisitor.cpp
src/mandocvisitor.cpp
+8
-0
mandocvisitor.h
src/mandocvisitor.h
+2
-0
perlmodgen.cpp
src/perlmodgen.cpp
+11
-0
printdocvisitor.h
src/printdocvisitor.h
+10
-0
rtfdocvisitor.cpp
src/rtfdocvisitor.cpp
+10
-0
rtfdocvisitor.h
src/rtfdocvisitor.h
+2
-0
textdocvisitor.h
src/textdocvisitor.h
+2
-0
xmldocvisitor.cpp
src/xmldocvisitor.cpp
+13
-0
xmldocvisitor.h
src/xmldocvisitor.h
+2
-0
No files found.
doc/commands.doc
View file @
3b9f4d9c
...
@@ -85,6 +85,7 @@ documentation:
...
@@ -85,6 +85,7 @@ documentation:
\refitem cmdendlink \\endlink
\refitem cmdendlink \\endlink
\refitem cmdendmanonly \\endmanonly
\refitem cmdendmanonly \\endmanonly
\refitem cmdendmsc \\endmsc
\refitem cmdendmsc \\endmsc
\refitem cmdendparblock \\endparblock
\refitem cmdendrtfonly \\endrtfonly
\refitem cmdendrtfonly \\endrtfonly
\refitem cmdendsecreflist \\endsecreflist
\refitem cmdendsecreflist \\endsecreflist
\refitem cmdendverbatim \\endverbatim
\refitem cmdendverbatim \\endverbatim
...
@@ -136,6 +137,7 @@ documentation:
...
@@ -136,6 +137,7 @@ documentation:
\refitem cmdpar \\par
\refitem cmdpar \\par
\refitem cmdparagraph \\paragraph
\refitem cmdparagraph \\paragraph
\refitem cmdparam \\param
\refitem cmdparam \\param
\refitem cmdparblock \\parblock
\refitem cmdpost \\post
\refitem cmdpost \\post
\refitem cmdpre \\pre
\refitem cmdpre \\pre
\refitem cmdprivate \\private
\refitem cmdprivate \\private
...
@@ -1472,6 +1474,35 @@ void setPosition(double x,double y,double z,double t)
...
@@ -1472,6 +1474,35 @@ void setPosition(double x,double y,double z,double t)
@param datatype1|datatype2 $paramname description
@param datatype1|datatype2 $paramname description
\endverbatim
\endverbatim
<hr>
\section cmdparblock \\parblock
\addindex \\parblock
For commands that expect a single paragraph as argument
(such as \ref cmdpar "\\par", \ref cmdparam "\\param" and \ref cmdwarning "\\warning"),
the \ref cmdparblock "\\parblock" command allows to start a
description that covers multiple paragraphs, which then ends with
\ref cmdendparblock "\\endparblock".
Example:
\verbatim
/** Example of a param command with a description consisting of two paragraphs
* \param p
* \parblock
* First paragraph of the param description.
*
* Second paragraph of the param description.
* \endparblock
* Rest of the comment block continues.
*/
\endverbatim
Note that the \\parblock command may also appear directly after
\\param's first argument.
<hr>
\section cmdendparblock \\endparblock
\addindex \\endparblock
This ends a block of paragraphs started with \\ref cmdparblock "\\parblock".
<hr>
<hr>
\section cmdtparam \\tparam <template-parameter-name> { description }
\section cmdtparam \\tparam <template-parameter-name> { description }
...
...
src/cmdmapper.cpp
View file @
3b9f4d9c
...
@@ -132,6 +132,8 @@ CommandMap cmdMap[] =
...
@@ -132,6 +132,8 @@ CommandMap cmdMap[] =
{
"docbookonly"
,
CMD_DBONLY
},
{
"docbookonly"
,
CMD_DBONLY
},
{
"enddocbookonly"
,
CMD_ENDDBONLY
},
{
"enddocbookonly"
,
CMD_ENDDBONLY
},
{
"endinternal"
,
CMD_ENDINTERNAL
},
{
"endinternal"
,
CMD_ENDINTERNAL
},
{
"parblock"
,
CMD_PARBLOCK
},
{
"endparblock"
,
CMD_ENDPARBLOCK
},
{
0
,
0
},
{
0
,
0
},
};
};
...
...
src/cmdmapper.h
View file @
3b9f4d9c
...
@@ -121,7 +121,9 @@ enum CommandType
...
@@ -121,7 +121,9 @@ enum CommandType
CMD_VHDLFLOW
=
91
,
CMD_VHDLFLOW
=
91
,
CMD_DBONLY
=
92
,
CMD_DBONLY
=
92
,
CMD_ENDDBONLY
=
93
,
CMD_ENDDBONLY
=
93
,
CMD_ENDINTERNAL
=
94
CMD_ENDINTERNAL
=
94
,
CMD_PARBLOCK
=
95
,
CMD_ENDPARBLOCK
=
96
};
};
enum
HtmlTagType
enum
HtmlTagType
...
...
src/commentscan.l
View file @
3b9f4d9c
...
@@ -118,6 +118,8 @@ static bool handleExtends(const QCString &);
...
@@ -118,6 +118,8 @@ static bool handleExtends(const QCString &);
static bool handleCopyDoc(const QCString &);
static bool handleCopyDoc(const QCString &);
static bool handleCopyBrief(const QCString &);
static bool handleCopyBrief(const QCString &);
static bool handleCopyDetails(const QCString &);
static bool handleCopyDetails(const QCString &);
static bool handleParBlock(const QCString &);
static bool handleEndParBlock(const QCString &);
typedef bool (*DocCmdFunc)(const QCString &name);
typedef bool (*DocCmdFunc)(const QCString &name);
...
@@ -170,6 +172,8 @@ static DocCmdMap docCmdMap[] =
...
@@ -170,6 +172,8 @@ static DocCmdMap docCmdMap[] =
{ "relates", &handleRelated, TRUE },
{ "relates", &handleRelated, TRUE },
{ "relatedalso", &handleRelatedAlso, TRUE },
{ "relatedalso", &handleRelatedAlso, TRUE },
{ "relatesalso", &handleRelatedAlso, TRUE },
{ "relatesalso", &handleRelatedAlso, TRUE },
{ "parblock", &handleParBlock, TRUE },
{ "endparblock", &handleEndParBlock, TRUE },
{ "refitem", &handleRefItem, TRUE },
{ "refitem", &handleRefItem, TRUE },
{ "cite", &handleCite, FALSE },
{ "cite", &handleCite, FALSE },
{ "subpage", &handleSubpage, TRUE },
{ "subpage", &handleSubpage, TRUE },
...
@@ -421,6 +425,8 @@ static QCString g_copyDocArg;
...
@@ -421,6 +425,8 @@ static QCString g_copyDocArg;
static QCString g_guardExpr;
static QCString g_guardExpr;
static int g_roundCount;
static int g_roundCount;
static bool g_insideParBlock;
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
static QStack<Grouping> g_autoGroupStack;
static QStack<Grouping> g_autoGroupStack;
...
@@ -437,6 +443,7 @@ static void initParser()
...
@@ -437,6 +443,7 @@ static void initParser()
g_sectionLabel.resize(0);
g_sectionLabel.resize(0);
g_sectionTitle.resize(0);
g_sectionTitle.resize(0);
g_memberGroupHeader.resize(0);
g_memberGroupHeader.resize(0);
g_insideParBlock = FALSE;
}
}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
...
@@ -1040,7 +1047,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
...
@@ -1040,7 +1047,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
int i=0;
int i=0;
while (yytext[i]==' ' || yytext[i]=='\t') i++;
while (yytext[i]==' ' || yytext[i]=='\t') i++;
g_spaceBeforeCmd = QCString(yytext).left(i);
g_spaceBeforeCmd = QCString(yytext).left(i);
if (cmdPtr->endsBrief
)
if (cmdPtr->endsBrief
&& inContext!=OutputXRef)
{
{
briefEndsAtDot=FALSE;
briefEndsAtDot=FALSE;
// this command forces the end of brief description
// this command forces the end of brief description
...
@@ -1192,7 +1199,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
...
@@ -1192,7 +1199,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
if (inContext==OutputXRef)
if (inContext==OutputXRef)
{
{
// see bug 613024, we need to put the newlines after ending the XRef section.
// see bug 613024, we need to put the newlines after ending the XRef section.
setOutput(OutputDoc);
if (!g_insideParBlock)
setOutput(OutputDoc);
int i;
int i;
for (i=0;i<yyleng;)
for (i=0;i<yyleng;)
{
{
...
@@ -2389,6 +2396,31 @@ static bool handleXRefItem(const QCString &)
...
@@ -2389,6 +2396,31 @@ static bool handleXRefItem(const QCString &)
return FALSE;
return FALSE;
}
}
static bool handleParBlock(const QCString &)
{
if (g_insideParBlock)
{
warn(yyFileName,yyLineNr,
"found \\parblock command while already in a parblock!");
}
addOutput("@parblock");
g_insideParBlock = TRUE;
return FALSE;
}
static bool handleEndParBlock(const QCString &)
{
if (!g_insideParBlock)
{
warn(yyFileName,yyLineNr,
"found \\endparblock command without matching \\parblock!");
}
addOutput("@endparblock");
setOutput(OutputDoc); // to end a parblock inside a xrefitem like context
g_insideParBlock = FALSE;
return FALSE;
}
static bool handleRelated(const QCString &)
static bool handleRelated(const QCString &)
{
{
BEGIN(RelatesParam1);
BEGIN(RelatesParam1);
...
@@ -2810,6 +2842,12 @@ bool parseCommentBlock(/* in */ ParserInterface *parser,
...
@@ -2810,6 +2842,12 @@ bool parseCommentBlock(/* in */ ParserInterface *parser,
warn(yyFileName,yyLineNr,"Documentation block ended in the middle of a conditional section!");
warn(yyFileName,yyLineNr,"Documentation block ended in the middle of a conditional section!");
}
}
if (g_insideParBlock)
{
warn(yyFileName,yyLineNr,
"Documentation block ended while inside a \\parblock. Missing \\endparblock");
}
current->doc=stripLeadingAndTrailingEmptyLines(current->doc,current->docLine);
current->doc=stripLeadingAndTrailingEmptyLines(current->doc,current->docLine);
if (current->section==Entry::FILEDOC_SEC && current->doc.isEmpty())
if (current->section==Entry::FILEDOC_SEC && current->doc.isEmpty())
...
...
src/compound.xsd
View file @
3b9f4d9c
...
@@ -508,6 +508,7 @@
...
@@ -508,6 +508,7 @@
<xsd:element
name=
"xrefsect"
type=
"docXRefSectType"
/>
<xsd:element
name=
"xrefsect"
type=
"docXRefSectType"
/>
<xsd:element
name=
"copydoc"
type=
"docCopyType"
/>
<xsd:element
name=
"copydoc"
type=
"docCopyType"
/>
<xsd:element
name=
"blockquote"
type=
"docBlockQuoteType"
/>
<xsd:element
name=
"blockquote"
type=
"docBlockQuoteType"
/>
<xsd:element
name=
"parblock"
type=
"docParBlockType"
/>
</xsd:choice>
</xsd:choice>
</xsd:group>
</xsd:group>
...
@@ -707,6 +708,12 @@
...
@@ -707,6 +708,12 @@
</xsd:sequence>
</xsd:sequence>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType
name=
"docParBlockType"
>
<xsd:sequence>
<xsd:element
name=
"para"
type=
"docParaType"
minOccurs=
"0"
maxOccurs=
"unbounded"
/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType
name=
"docCharType"
>
<xsd:complexType
name=
"docCharType"
>
<xsd:attribute
name=
"char"
type=
"DoxCharRange"
/>
<xsd:attribute
name=
"char"
type=
"DoxCharRange"
/>
</xsd:complexType>
</xsd:complexType>
...
...
src/compound_xsd.h
View file @
3b9f4d9c
...
@@ -508,6 +508,7 @@
...
@@ -508,6 +508,7 @@
" <xsd:element name=
\"
xrefsect
\"
type=
\"
docXRefSectType
\"
/>
\n
"
" <xsd:element name=
\"
xrefsect
\"
type=
\"
docXRefSectType
\"
/>
\n
"
" <xsd:element name=
\"
copydoc
\"
type=
\"
docCopyType
\"
/>
\n
"
" <xsd:element name=
\"
copydoc
\"
type=
\"
docCopyType
\"
/>
\n
"
" <xsd:element name=
\"
blockquote
\"
type=
\"
docBlockQuoteType
\"
/>
\n
"
" <xsd:element name=
\"
blockquote
\"
type=
\"
docBlockQuoteType
\"
/>
\n
"
" <xsd:element name=
\"
parblock
\"
type=
\"
docParBlockType
\"
/>
\n
"
" </xsd:choice>
\n
"
" </xsd:choice>
\n
"
" </xsd:group>
\n
"
" </xsd:group>
\n
"
"
\n
"
"
\n
"
...
@@ -707,6 +708,12 @@
...
@@ -707,6 +708,12 @@
" </xsd:sequence>
\n
"
" </xsd:sequence>
\n
"
" </xsd:complexType>
\n
"
" </xsd:complexType>
\n
"
"
\n
"
"
\n
"
" <xsd:complexType name=
\"
docParBlockType
\"
>
\n
"
" <xsd:sequence>
\n
"
" <xsd:element name=
\"
para
\"
type=
\"
docParaType
\"
minOccurs=
\"
0
\"
maxOccurs=
\"
unbounded
\"
/>
\n
"
" </xsd:sequence>
\n
"
" </xsd:complexType>
\n
"
"
\n
"
" <xsd:complexType name=
\"
docCharType
\"
>
\n
"
" <xsd:complexType name=
\"
docCharType
\"
>
\n
"
" <xsd:attribute name=
\"
char
\"
type=
\"
DoxCharRange
\"
/>
\n
"
" <xsd:attribute name=
\"
char
\"
type=
\"
DoxCharRange
\"
/>
\n
"
" </xsd:complexType>
\n
"
" </xsd:complexType>
\n
"
...
...
src/docbookvisitor.cpp
View file @
3b9f4d9c
...
@@ -1223,6 +1223,15 @@ void DocbookDocVisitor::visitPost(DocVhdlFlow *)
...
@@ -1223,6 +1223,15 @@ void DocbookDocVisitor::visitPost(DocVhdlFlow *)
// TODO: to be implemented
// TODO: to be implemented
}
}
void
DocbookDocVisitor
::
visitPre
(
DocParBlock
*
)
{
}
void
DocbookDocVisitor
::
visitPost
(
DocParBlock
*
)
{
}
void
DocbookDocVisitor
::
filter
(
const
char
*
str
)
void
DocbookDocVisitor
::
filter
(
const
char
*
str
)
{
{
m_t
<<
convertToXML
(
str
);
m_t
<<
convertToXML
(
str
);
...
...
src/docbookvisitor.h
View file @
3b9f4d9c
...
@@ -129,6 +129,9 @@ class DocbookDocVisitor : public DocVisitor
...
@@ -129,6 +129,9 @@ class DocbookDocVisitor : public DocVisitor
void
visitPost
(
DocHtmlBlockQuote
*
);
void
visitPost
(
DocHtmlBlockQuote
*
);
void
visitPre
(
DocVhdlFlow
*
);
void
visitPre
(
DocVhdlFlow
*
);
void
visitPost
(
DocVhdlFlow
*
);
void
visitPost
(
DocVhdlFlow
*
);
void
visitPre
(
DocParBlock
*
);
void
visitPost
(
DocParBlock
*
);
private
:
private
:
//--------------------------------------
//--------------------------------------
// helper functions
// helper functions
...
...
src/docparser.cpp
View file @
3b9f4d9c
...
@@ -1562,6 +1562,7 @@ DocSymbol::SymType DocSymbol::decodeSymbol(const QCString &symName,char *letter)
...
@@ -1562,6 +1562,7 @@ DocSymbol::SymType DocSymbol::decodeSymbol(const QCString &symName,char *letter)
{
{
int
l
=
symName
.
length
();
int
l
=
symName
.
length
();
DBG
((
"decodeSymbol(%s) l=%d
\n
"
,
qPrint
(
symName
),
l
));
DBG
((
"decodeSymbol(%s) l=%d
\n
"
,
qPrint
(
symName
),
l
));
// TODO: replace this with a hash
if
(
symName
==
"©"
)
return
DocSymbol
::
Copy
;
if
(
symName
==
"©"
)
return
DocSymbol
::
Copy
;
else
if
(
symName
==
"™"
)
return
DocSymbol
::
Tm
;
else
if
(
symName
==
"™"
)
return
DocSymbol
::
Tm
;
else
if
(
symName
==
"&tm;"
)
return
DocSymbol
::
Tm
;
// alias for ™
else
if
(
symName
==
"&tm;"
)
return
DocSymbol
::
Tm
;
// alias for ™
...
@@ -4323,6 +4324,33 @@ int DocHtmlBlockQuote::parse()
...
@@ -4323,6 +4324,33 @@ int DocHtmlBlockQuote::parse()
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
int
DocParBlock
::
parse
()
{
DBG
((
"DocParBlock::parse() start
\n
"
));
int
retval
=
0
;
g_nodeStack
.
push
(
this
);
// parse one or more paragraphs
bool
isFirst
=
TRUE
;
DocPara
*
par
=
0
;
do
{
par
=
new
DocPara
(
this
);
if
(
isFirst
)
{
par
->
markFirst
();
isFirst
=
FALSE
;
}
m_children
.
append
(
par
);
retval
=
par
->
parse
();
}
while
(
retval
==
TK_NEWPARA
);
if
(
par
)
par
->
markLast
();
DocNode
*
n
=
g_nodeStack
.
pop
();
ASSERT
(
n
==
this
);
DBG
((
"DocParBlock::parse() end retval=%x
\n
"
,
retval
));
return
(
retval
==
RetVal_EndBlockQuote
)
?
RetVal_OK
:
retval
;
}
//---------------------------------------------------------------------------
int
DocSimpleListItem
::
parse
()
int
DocSimpleListItem
::
parse
()
{
{
g_nodeStack
.
push
(
this
);
g_nodeStack
.
push
(
this
);
...
@@ -5509,6 +5537,9 @@ int DocPara::handleCommand(const QCString &cmdName)
...
@@ -5509,6 +5537,9 @@ int DocPara::handleCommand(const QCString &cmdName)
doctokenizerYYsetStatePara
();
doctokenizerYYsetStatePara
();
}
}
break
;
break
;
case
CMD_ENDPARBLOCK
:
retval
=
RetVal_EndParBlock
;
break
;
case
CMD_ENDCODE
:
case
CMD_ENDCODE
:
case
CMD_ENDHTMLONLY
:
case
CMD_ENDHTMLONLY
:
case
CMD_ENDMANONLY
:
case
CMD_ENDMANONLY
:
...
@@ -5567,6 +5598,13 @@ int DocPara::handleCommand(const QCString &cmdName)
...
@@ -5567,6 +5598,13 @@ int DocPara::handleCommand(const QCString &cmdName)
case
CMD_ENDINTERNAL
:
case
CMD_ENDINTERNAL
:
retval
=
RetVal_EndInternal
;
retval
=
RetVal_EndInternal
;
break
;
break
;
case
CMD_PARBLOCK
:
{
DocParBlock
*
block
=
new
DocParBlock
(
this
);
m_children
.
append
(
block
);
retval
=
block
->
parse
();
}
break
;
case
CMD_COPYDOC
:
// fall through
case
CMD_COPYDOC
:
// fall through
case
CMD_COPYBRIEF
:
// fall through
case
CMD_COPYBRIEF
:
// fall through
case
CMD_COPYDETAILS
:
case
CMD_COPYDETAILS
:
...
...
src/docparser.h
View file @
3b9f4d9c
...
@@ -130,7 +130,8 @@ class DocNode
...
@@ -130,7 +130,8 @@ class DocNode
Kind_Text
=
47
,
Kind_Text
=
47
,
Kind_MscFile
=
48
,
Kind_MscFile
=
48
,
Kind_HtmlBlockQuote
=
49
,
Kind_HtmlBlockQuote
=
49
,
Kind_VhdlFlow
=
50
Kind_VhdlFlow
=
50
,
Kind_ParBlock
=
51
};
};
/*! Creates a new node */
/*! Creates a new node */
DocNode
()
:
m_parent
(
0
),
m_insidePre
(
FALSE
)
{}
DocNode
()
:
m_parent
(
0
),
m_insidePre
(
FALSE
)
{}
...
@@ -900,6 +901,19 @@ class DocInternal : public CompAccept<DocInternal>, public DocNode
...
@@ -900,6 +901,19 @@ class DocInternal : public CompAccept<DocInternal>, public DocNode
private
:
private
:
};
};
/** Node representing an block of paragraphs */
class
DocParBlock
:
public
CompAccept
<
DocParBlock
>
,
public
DocNode
{
public
:
DocParBlock
(
DocNode
*
parent
)
{
m_parent
=
parent
;
}
int
parse
();
Kind
kind
()
const
{
return
Kind_ParBlock
;
}
void
accept
(
DocVisitor
*
v
)
{
CompAccept
<
DocParBlock
>::
accept
(
this
,
v
);
}
private
:
};
/** Node representing a simple list */
/** Node representing a simple list */
class
DocSimpleList
:
public
CompAccept
<
DocSimpleList
>
,
public
DocNode
class
DocSimpleList
:
public
CompAccept
<
DocSimpleList
>
,
public
DocNode
{
{
...
...
src/doctokenizer.h
View file @
3b9f4d9c
...
@@ -63,7 +63,8 @@ enum Tokens
...
@@ -63,7 +63,8 @@ enum Tokens
RetVal_CloseXml
=
0x10013
,
RetVal_CloseXml
=
0x10013
,
RetVal_EndBlockQuote
=
0x10014
,
RetVal_EndBlockQuote
=
0x10014
,
RetVal_CopyDoc
=
0x10015
,
RetVal_CopyDoc
=
0x10015
,
RetVal_EndInternal
=
0x10016
RetVal_EndInternal
=
0x10016
,
RetVal_EndParBlock
=
0x10017
};
};
/** @brief Data associated with a token used by the comment block parser. */
/** @brief Data associated with a token used by the comment block parser. */
...
...
src/docvisitor.h
View file @
3b9f4d9c
...
@@ -82,6 +82,7 @@ class DocText;
...
@@ -82,6 +82,7 @@ class DocText;
class
DocSimpleSectSep
;
class
DocSimpleSectSep
;
class
DocHtmlBlockQuote
;
class
DocHtmlBlockQuote
;
class
DocVhdlFlow
;
class
DocVhdlFlow
;
class
DocParBlock
;
/*! @brief Abstract visitor that participates in the visitor pattern.
/*! @brief Abstract visitor that participates in the visitor pattern.
*/
*/
...
@@ -189,6 +190,8 @@ class DocVisitor
...
@@ -189,6 +190,8 @@ class DocVisitor
virtual
void
visitPost
(
DocHtmlBlockQuote
*
)
=
0
;
virtual
void
visitPost
(
DocHtmlBlockQuote
*
)
=
0
;
virtual
void
visitPre
(
DocVhdlFlow
*
)
=
0
;
virtual
void
visitPre
(
DocVhdlFlow
*
)
=
0
;
virtual
void
visitPost
(
DocVhdlFlow
*
)
=
0
;
virtual
void
visitPost
(
DocVhdlFlow
*
)
=
0
;
virtual
void
visitPre
(
DocParBlock
*
)
=
0
;
virtual
void
visitPost
(
DocParBlock
*
)
=
0
;
/*! @} */
/*! @} */
};
};
...
...
src/doxygen.css
View file @
3b9f4d9c
...
@@ -56,10 +56,14 @@ div.multicol {
...
@@ -56,10 +56,14 @@ div.multicol {
-webkit-column-count
:
3
;
-webkit-column-count
:
3
;
}
}
p
.startli
,
p
.startdd
,
p
.starttd
{
p
.startli
,
p
.startdd
{
margin-top
:
2px
;
margin-top
:
2px
;
}
}
p
.starttd
{
margin-top
:
0px
;
}
p
.endli
{
p
.endli
{
margin-bottom
:
0px
;
margin-bottom
:
0px
;
}
}
...
...
src/doxygen_css.h
View file @
3b9f4d9c
...
@@ -56,10 +56,14 @@
...
@@ -56,10 +56,14 @@
" -webkit-column-count: 3;
\n
"
" -webkit-column-count: 3;
\n
"
"}
\n
"
"}
\n
"
"
\n
"
"
\n
"
"p.startli, p.startdd
, p.starttd
{
\n
"
"p.startli, p.startdd {
\n
"
" margin-top: 2px;
\n
"
" margin-top: 2px;
\n
"
"}
\n
"
"}
\n
"
"
\n
"
"
\n
"
"p.starttd {
\n
"
" margin-top: 0px;
\n
"
"}
\n
"
"
\n
"
"p.endli {
\n
"
"p.endli {
\n
"
" margin-bottom: 0px;
\n
"
" margin-bottom: 0px;
\n
"
"}
\n
"
"}
\n
"
...
...
src/htmldocvisitor.cpp
View file @
3b9f4d9c
...
@@ -102,6 +102,8 @@ static bool mustBeOutsideParagraph(DocNode *n)
...
@@ -102,6 +102,8 @@ static bool mustBeOutsideParagraph(DocNode *n)
case
DocNode
:
:
Kind_Copy
:
case
DocNode
:
:
Kind_Copy
:
/* <blockquote> */
/* <blockquote> */
case
DocNode
:
:
Kind_HtmlBlockQuote
:
case
DocNode
:
:
Kind_HtmlBlockQuote
:
/* \parblock */
case
DocNode
:
:
Kind_ParBlock
:
return
TRUE
;
return
TRUE
;
case
DocNode
:
:
Kind_StyleChange
:
case
DocNode
:
:
Kind_StyleChange
:
return
((
DocStyleChange
*
)
n
)
->
style
()
==
DocStyleChange
::
Preformatted
||
return
((
DocStyleChange
*
)
n
)
->
style
()
==
DocStyleChange
::
Preformatted
||
...
@@ -829,21 +831,21 @@ bool isSeparatedParagraph(DocSimpleSect *parent,DocPara *par)
...
@@ -829,21 +831,21 @@ bool isSeparatedParagraph(DocSimpleSect *parent,DocPara *par)
int
i
=
nodes
.
findRef
(
par
);
int
i
=
nodes
.
findRef
(
par
);
if
(
i
==-
1
)
return
FALSE
;
if
(
i
==-
1
)
return
FALSE
;
int
count
=
parent
->
children
().
count
();
int
count
=
parent
->
children
().
count
();
if
(
count
>
1
&&
i
==
0
)
if
(
count
>
1
&&
i
==
0
)
// first node
{
{
if
(
nodes
.
at
(
i
+
1
)
->
kind
()
==
DocNode
::
Kind_SimpleSectSep
)
if
(
nodes
.
at
(
i
+
1
)
->
kind
()
==
DocNode
::
Kind_SimpleSectSep
)
{
{
return
TRUE
;
return
TRUE
;
}
}
}
}
else
if
(
count
>
1
&&
i
==
count
-
1
)
else
if
(
count
>
1
&&
i
==
count
-
1
)
// last node
{
{
if
(
nodes
.
at
(
i
-
1
)
->
kind
()
==
DocNode
::
Kind_SimpleSectSep
)
if
(
nodes
.
at
(
i
-
1
)
->
kind
()
==
DocNode
::
Kind_SimpleSectSep
)
{
{
return
TRUE
;
return
TRUE
;
}
}
}
}
else
if
(
count
>
2
&&
i
>
0
&&
i
<
count
-
1
)
else
if
(
count
>
2
&&
i
>
0
&&
i
<
count
-
1
)
// intermediate node
{
{
if
(
nodes
.
at
(
i
-
1
)
->
kind
()
==
DocNode
::
Kind_SimpleSectSep
&&
if
(
nodes
.
at
(
i
-
1
)
->
kind
()
==
DocNode
::
Kind_SimpleSectSep
&&
nodes
.
at
(
i
+
1
)
->
kind
()
==
DocNode
::
Kind_SimpleSectSep
)
nodes
.
at
(
i
+
1
)
->
kind
()
==
DocNode
::
Kind_SimpleSectSep
)
...
@@ -863,9 +865,58 @@ static int getParagraphContext(DocPara *p,bool &isFirst,bool &isLast)
...
@@ -863,9 +865,58 @@ static int getParagraphContext(DocPara *p,bool &isFirst,bool &isLast)
{
{
switch
(
p
->
parent
()
->
kind
())
switch
(
p
->
parent
()
->
kind
())
{
{
case
DocNode
:
:
Kind_ParBlock
:
{
// hierarchy: node N -> para -> parblock -> para
// adapt return value to kind of N
DocNode
::
Kind
kind
=
DocNode
::
Kind_Para
;
if
(
p
->
parent
()
->
parent
()
&&
p
->
parent
()
->
parent
()
->
parent
()
)
{
kind
=
p
->
parent
()
->
parent
()
->
parent
()
->
kind
();
}
isFirst
=
isFirstChildNode
((
DocParBlock
*
)
p
->
parent
(),
p
);
isLast
=
isLastChildNode
((
DocParBlock
*
)
p
->
parent
(),
p
);
t
=
0
;
if
(
isFirst
)
{
if
(
kind
==
DocNode
::
Kind_HtmlListItem
||
kind
==
DocNode
::
Kind_SecRefItem
)
{
t
=
1
;
}
else
if
(
kind
==
DocNode
::
Kind_HtmlDescData
||
kind
==
DocNode
::
Kind_XRefItem
||
kind
==
DocNode
::
Kind_SimpleSect
)
{
t
=
2
;
}
else
if
(
kind
==
DocNode
::
Kind_HtmlCell
||
kind
==
DocNode
::
Kind_ParamList
)
{
t
=
5
;
}
}
if
(
isLast
)
{
if
(
kind
==
DocNode
::
Kind_HtmlListItem
||
kind
==
DocNode
::
Kind_SecRefItem
)
{
t
=
3
;
}
else
if
(
kind
==
DocNode
::
Kind_HtmlDescData
||
kind
==
DocNode
::
Kind_XRefItem
||
kind
==
DocNode
::
Kind_SimpleSect
)
{
t
=
4
;
}
else
if
(
kind
==
DocNode
::
Kind_HtmlCell
||
kind
==
DocNode
::
Kind_ParamList
)
{
t
=
6
;
}
}
break
;
}
case
DocNode
:
:
Kind_AutoListItem
:
case
DocNode
:
:
Kind_AutoListItem
:
//isFirst=TRUE;
//isLast =TRUE;
isFirst
=
isFirstChildNode
((
DocAutoListItem
*
)
p
->
parent
(),
p
);
isFirst
=
isFirstChildNode
((
DocAutoListItem
*
)
p
->
parent
(),
p
);
isLast
=
isLastChildNode
((
DocAutoListItem
*
)
p
->
parent
(),
p
);
isLast
=
isLastChildNode
((
DocAutoListItem
*
)
p
->
parent
(),
p
);
t
=
1
;
// not used
t
=
1
;
// not used
...
@@ -904,12 +955,6 @@ static int getParagraphContext(DocPara *p,bool &isFirst,bool &isLast)
...
@@ -904,12 +955,6 @@ static int getParagraphContext(DocPara *p,bool &isFirst,bool &isLast)
if
(
isFirst
)
t
=
2
;
if
(
isFirst
)
t
=
2
;
if
(
isLast
)
t
=
4
;
if
(
isLast
)
t
=
4
;
break
;
break
;
case
DocNode
:
:
Kind_HtmlCell
:
isFirst
=
isFirstChildNode
((
DocHtmlCell
*
)
p
->
parent
(),
p
);
isLast
=
isLastChildNode
((
DocHtmlCell
*
)
p
->
parent
(),
p
);
if
(
isFirst
)
t
=
5
;
if
(
isLast
)
t
=
6
;
break
;
case
DocNode
:
:
Kind_SimpleSect
:
case
DocNode
:
:
Kind_SimpleSect
:
isFirst
=
isFirstChildNode
((
DocSimpleSect
*
)
p
->
parent
(),
p
);
isFirst
=
isFirstChildNode
((
DocSimpleSect
*
)
p
->
parent
(),
p
);
isLast
=
isLastChildNode
((
DocSimpleSect
*
)
p
->
parent
(),
p
);
isLast
=
isLastChildNode
((
DocSimpleSect
*
)
p
->
parent
(),
p
);
...
@@ -923,6 +968,12 @@ static int getParagraphContext(DocPara *p,bool &isFirst,bool &isLast)
...
@@ -923,6 +968,12 @@ static int getParagraphContext(DocPara *p,bool &isFirst,bool &isLast)
isFirst
=
isLast
=
TRUE
;
isFirst
=
isLast
=
TRUE
;
}
}
break
;
break
;
case
DocNode
:
:
Kind_HtmlCell
:
isFirst
=
isFirstChildNode
((
DocHtmlCell
*
)
p
->
parent
(),
p
);
isLast
=
isLastChildNode
((
DocHtmlCell
*
)
p
->
parent
(),
p
);
if
(
isFirst
)
t
=
5
;
if
(
isLast
)
t
=
6
;
break
;
default
:
default
:
break
;
break
;
}
}
...
@@ -955,6 +1006,7 @@ void HtmlDocVisitor::visitPre(DocPara *p)
...
@@ -955,6 +1006,7 @@ void HtmlDocVisitor::visitPre(DocPara *p)
case
DocNode
:
:
Kind_XRefItem
:
case
DocNode
:
:
Kind_XRefItem
:
case
DocNode
:
:
Kind_Copy
:
case
DocNode
:
:
Kind_Copy
:
case
DocNode
:
:
Kind_HtmlBlockQuote
:
case
DocNode
:
:
Kind_HtmlBlockQuote
:
case
DocNode
:
:
Kind_ParBlock
:
needsTag
=
TRUE
;
needsTag
=
TRUE
;
break
;
break
;
case
DocNode
:
:
Kind_Root
:
case
DocNode
:
:
Kind_Root
:
...
@@ -1028,6 +1080,7 @@ void HtmlDocVisitor::visitPost(DocPara *p)
...
@@ -1028,6 +1080,7 @@ void HtmlDocVisitor::visitPost(DocPara *p)
case
DocNode
:
:
Kind_XRefItem
:
case
DocNode
:
:
Kind_XRefItem
:
case
DocNode
:
:
Kind_Copy
:
case
DocNode
:
:
Kind_Copy
:
case
DocNode
:
:
Kind_HtmlBlockQuote
:
case
DocNode
:
:
Kind_HtmlBlockQuote
:
case
DocNode
:
:
Kind_ParBlock
:
needsTag
=
TRUE
;
needsTag
=
TRUE
;
break
;
break
;
case
DocNode
:
:
Kind_Root
:
case
DocNode
:
:
Kind_Root
:
...
@@ -1811,6 +1864,18 @@ void HtmlDocVisitor::visitPost(DocVhdlFlow *vf)
...
@@ -1811,6 +1864,18 @@ void HtmlDocVisitor::visitPost(DocVhdlFlow *vf)
}
}
}
}
void
HtmlDocVisitor
::
visitPre
(
DocParBlock
*
)
{
if
(
m_hide
)
return
;
}
void
HtmlDocVisitor
::
visitPost
(
DocParBlock
*
)
{
if
(
m_hide
)
return
;
}
void
HtmlDocVisitor
::
filter
(
const
char
*
str
)
void
HtmlDocVisitor
::
filter
(
const
char
*
str
)
{
{
if
(
str
==
0
)
return
;
if
(
str
==
0
)
return
;
...
...
src/htmldocvisitor.h
View file @
3b9f4d9c
...
@@ -132,6 +132,8 @@ class HtmlDocVisitor : public DocVisitor
...
@@ -132,6 +132,8 @@ class HtmlDocVisitor : public DocVisitor
void
visitPost
(
DocHtmlBlockQuote
*
);
void
visitPost
(
DocHtmlBlockQuote
*
);
void
visitPre
(
DocVhdlFlow
*
);
void
visitPre
(
DocVhdlFlow
*
);
void
visitPost
(
DocVhdlFlow
*
);
void
visitPost
(
DocVhdlFlow
*
);
void
visitPre
(
DocParBlock
*
);
void
visitPost
(
DocParBlock
*
);
private
:
private
:
...
...
src/latexdocvisitor.cpp
View file @
3b9f4d9c
...
@@ -1577,6 +1577,16 @@ void LatexDocVisitor::visitPost(DocVhdlFlow *)
...
@@ -1577,6 +1577,16 @@ void LatexDocVisitor::visitPost(DocVhdlFlow *)
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
}
}
void
LatexDocVisitor
::
visitPre
(
DocParBlock
*
)
{
if
(
m_hide
)
return
;
}
void
LatexDocVisitor
::
visitPost
(
DocParBlock
*
)
{
if
(
m_hide
)
return
;
}
void
LatexDocVisitor
::
filter
(
const
char
*
str
)
void
LatexDocVisitor
::
filter
(
const
char
*
str
)
{
{
filterLatexString
(
m_t
,
str
,
m_insideTabbing
,
m_insidePre
,
m_insideItem
);
filterLatexString
(
m_t
,
str
,
m_insideTabbing
,
m_insidePre
,
m_insideItem
);
...
...
src/latexdocvisitor.h
View file @
3b9f4d9c
...
@@ -134,6 +134,8 @@ class LatexDocVisitor : public DocVisitor
...
@@ -134,6 +134,8 @@ class LatexDocVisitor : public DocVisitor
void
visitPost
(
DocHtmlBlockQuote
*
);
void
visitPost
(
DocHtmlBlockQuote
*
);
void
visitPre
(
DocVhdlFlow
*
);
void
visitPre
(
DocVhdlFlow
*
);
void
visitPost
(
DocVhdlFlow
*
);
void
visitPost
(
DocVhdlFlow
*
);
void
visitPre
(
DocParBlock
*
);
void
visitPost
(
DocParBlock
*
);
private
:
private
:
...
...
src/mandocvisitor.cpp
View file @
3b9f4d9c
...
@@ -1002,6 +1002,14 @@ void ManDocVisitor::visitPost(DocVhdlFlow *)
...
@@ -1002,6 +1002,14 @@ void ManDocVisitor::visitPost(DocVhdlFlow *)
{
{
}
}
void
ManDocVisitor
::
visitPre
(
DocParBlock
*
)
{
}
void
ManDocVisitor
::
visitPost
(
DocParBlock
*
)
{
}
void
ManDocVisitor
::
filter
(
const
char
*
str
)
void
ManDocVisitor
::
filter
(
const
char
*
str
)
{
{
...
...
src/mandocvisitor.h
View file @
3b9f4d9c
...
@@ -133,6 +133,8 @@ class ManDocVisitor : public DocVisitor
...
@@ -133,6 +133,8 @@ class ManDocVisitor : public DocVisitor
void
visitPost
(
DocHtmlBlockQuote
*
);
void
visitPost
(
DocHtmlBlockQuote
*
);
void
visitPre
(
DocVhdlFlow
*
);
void
visitPre
(
DocVhdlFlow
*
);
void
visitPost
(
DocVhdlFlow
*
);
void
visitPost
(
DocVhdlFlow
*
);
void
visitPre
(
DocParBlock
*
);
void
visitPost
(
DocParBlock
*
);
private
:
private
:
...
...
src/perlmodgen.cpp
View file @
3b9f4d9c
...
@@ -390,6 +390,8 @@ public:
...
@@ -390,6 +390,8 @@ public:
void
visitPost
(
DocHtmlBlockQuote
*
);
void
visitPost
(
DocHtmlBlockQuote
*
);
void
visitPre
(
DocVhdlFlow
*
);
void
visitPre
(
DocVhdlFlow
*
);
void
visitPost
(
DocVhdlFlow
*
);
void
visitPost
(
DocVhdlFlow
*
);
void
visitPre
(
DocParBlock
*
);
void
visitPost
(
DocParBlock
*
);
private
:
private
:
...
@@ -1405,6 +1407,15 @@ void PerlModDocVisitor::visitPost(DocVhdlFlow *)
...
@@ -1405,6 +1407,15 @@ void PerlModDocVisitor::visitPost(DocVhdlFlow *)
{
{
}
}
void
PerlModDocVisitor
::
visitPre
(
DocParBlock
*
)
{
}
void
PerlModDocVisitor
::
visitPost
(
DocParBlock
*
)
{
}
static
void
addTemplateArgumentList
(
ArgumentList
*
al
,
PerlModOutput
&
output
,
const
char
*
)
static
void
addTemplateArgumentList
(
ArgumentList
*
al
,
PerlModOutput
&
output
,
const
char
*
)
{
{
QCString
indentStr
;
QCString
indentStr
;
...
...
src/printdocvisitor.h
View file @
3b9f4d9c
...
@@ -761,6 +761,16 @@ class PrintDocVisitor : public DocVisitor
...
@@ -761,6 +761,16 @@ class PrintDocVisitor : public DocVisitor
indent_post
();
indent_post
();
printf
(
"</vhdlflow>
\n
"
);
printf
(
"</vhdlflow>
\n
"
);
}
}
void
visitPre
(
DocParBlock
*
)
{
indent_pre
();
printf
(
"<parblock>
\n
"
);
}
void
visitPost
(
DocParBlock
*
)
{
indent_post
();
printf
(
"</parblock>
\n
"
);
}
private
:
private
:
// helper functions
// helper functions
...
...
src/rtfdocvisitor.cpp
View file @
3b9f4d9c
...
@@ -1686,6 +1686,16 @@ void RTFDocVisitor::visitPost(DocVhdlFlow *)
...
@@ -1686,6 +1686,16 @@ void RTFDocVisitor::visitPost(DocVhdlFlow *)
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
}
}
void
RTFDocVisitor
::
visitPre
(
DocParBlock
*
)
{
if
(
m_hide
)
return
;
}
void
RTFDocVisitor
::
visitPost
(
DocParBlock
*
)
{
if
(
m_hide
)
return
;
}
//static char* getMultiByte(int c)
//static char* getMultiByte(int c)
//{
//{
...
...
src/rtfdocvisitor.h
View file @
3b9f4d9c
...
@@ -131,6 +131,8 @@ class RTFDocVisitor : public DocVisitor
...
@@ -131,6 +131,8 @@ class RTFDocVisitor : public DocVisitor
void
visitPost
(
DocHtmlBlockQuote
*
);
void
visitPost
(
DocHtmlBlockQuote
*
);
void
visitPre
(
DocVhdlFlow
*
);
void
visitPre
(
DocVhdlFlow
*
);
void
visitPost
(
DocVhdlFlow
*
);
void
visitPost
(
DocVhdlFlow
*
);
void
visitPre
(
DocParBlock
*
);
void
visitPost
(
DocParBlock
*
);
private
:
private
:
...
...
src/textdocvisitor.h
View file @
3b9f4d9c
...
@@ -130,6 +130,8 @@ class TextDocVisitor : public DocVisitor
...
@@ -130,6 +130,8 @@ class TextDocVisitor : public DocVisitor
void
visitPost
(
DocHtmlBlockQuote
*
)
{}
void
visitPost
(
DocHtmlBlockQuote
*
)
{}
void
visitPre
(
DocVhdlFlow
*
)
{}
void
visitPre
(
DocVhdlFlow
*
)
{}
void
visitPost
(
DocVhdlFlow
*
)
{}
void
visitPost
(
DocVhdlFlow
*
)
{}
void
visitPre
(
DocParBlock
*
)
{}
void
visitPost
(
DocParBlock
*
)
{}
private
:
private
:
...
...
src/xmldocvisitor.cpp
View file @
3b9f4d9c
...
@@ -1068,6 +1068,19 @@ void XmlDocVisitor::visitPost(DocVhdlFlow *)
...
@@ -1068,6 +1068,19 @@ void XmlDocVisitor::visitPost(DocVhdlFlow *)
{
{
}
}
void
XmlDocVisitor
::
visitPre
(
DocParBlock
*
)
{
if
(
m_hide
)
return
;
m_t
<<
"<parblock>"
;
}
void
XmlDocVisitor
::
visitPost
(
DocParBlock
*
)
{
if
(
m_hide
)
return
;
m_t
<<
"</parblock>"
;
}
void
XmlDocVisitor
::
filter
(
const
char
*
str
)
void
XmlDocVisitor
::
filter
(
const
char
*
str
)
{
{
m_t
<<
convertToXML
(
str
);
m_t
<<
convertToXML
(
str
);
...
...
src/xmldocvisitor.h
View file @
3b9f4d9c
...
@@ -135,6 +135,8 @@ class XmlDocVisitor : public DocVisitor
...
@@ -135,6 +135,8 @@ class XmlDocVisitor : public DocVisitor
void
visitPost
(
DocHtmlBlockQuote
*
);
void
visitPost
(
DocHtmlBlockQuote
*
);
void
visitPre
(
DocVhdlFlow
*
);
void
visitPre
(
DocVhdlFlow
*
);
void
visitPost
(
DocVhdlFlow
*
);
void
visitPost
(
DocVhdlFlow
*
);
void
visitPre
(
DocParBlock
*
);
void
visitPost
(
DocParBlock
*
);
private
:
private
:
...
...
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