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
05b70e8e
Commit
05b70e8e
authored
Dec 30, 2009
by
Dimitri van Heesch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.6.2
parent
e3256753
Changes
24
Show whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
598 additions
and
119 deletions
+598
-119
INSTALL
INSTALL
+2
-2
README
README
+2
-2
configure
configure
+2
-2
config.doc
doc/config.doc
+24
-0
index.doc
doc/index.doc
+23
-10
searching.doc
doc/searching.doc
+28
-1
Doxyfile
qtools/Doxyfile
+60
-53
commentcnv.l
src/commentcnv.l
+8
-3
config.l
src/config.l
+4
-13
config.xml
src/config.xml
+16
-1
configoptions.cpp
src/configoptions.cpp
+23
-0
docparser.h
src/docparser.h
+1
-0
doxygen.cpp
src/doxygen.cpp
+3
-3
doxygen.css
src/doxygen.css
+30
-1
doxygen_css.h
src/doxygen_css.h
+30
-1
eclipsehelp.cpp
src/eclipsehelp.cpp
+200
-0
eclipsehelp.h
src/eclipsehelp.h
+78
-0
htmldocvisitor.cpp
src/htmldocvisitor.cpp
+30
-22
index.cpp
src/index.cpp
+6
-4
libdoxygen.pro.in
src/libdoxygen.pro.in
+2
-0
pagedef.cpp
src/pagedef.cpp
+2
-1
util.cpp
src/util.cpp
+15
-0
util.h
src/util.h
+1
-0
Doxygen.vcproj
winbuild/Doxygen.vcproj
+8
-0
No files found.
INSTALL
View file @
05b70e8e
DOXYGEN Version 1.6.
1-2009122
2
DOXYGEN Version 1.6.2
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (
22
December 2009)
Dimitri van Heesch (
30
December 2009)
README
View file @
05b70e8e
DOXYGEN Version 1.6.
1_2009122
2
DOXYGEN Version 1.6.2
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) (
22
December 2009)
Dimitri van Heesch (dimitri@stack.nl) (
30
December 2009)
configure
View file @
05b70e8e
...
...
@@ -17,10 +17,10 @@
doxygen_version_major
=
1
doxygen_version_minor
=
6
doxygen_version_revision
=
1
doxygen_version_revision
=
2
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
doxygen_version_mmn
=
20091222
doxygen_version_mmn
=
NO
bin_dirs
=
`
echo
$PATH
|
sed
-e
"s/:/ /g"
`
...
...
doc/config.doc
View file @
05b70e8e
...
...
@@ -91,6 +91,7 @@ followed by the descriptions of the tags grouped by category.
\
refitem
cfg_dot_transparent
DOT_TRANSPARENT
\
refitem
cfg_dotfile_dirs
DOTFILE_DIRS
\
refitem
cfg_doxyfile_encoding
DOXYFILE_ENCODING
\
refitem
cfg_eclipse_doc_id
ECLIPSE_DOC_ID
\
refitem
cfg_enable_preprocessing
ENABLE_PREPROCESSING
\
refitem
cfg_enabled_sections
ENABLED_SECTIONS
\
refitem
cfg_enum_values_per_line
ENUM_VALUES_PER_LINE
...
...
@@ -123,6 +124,7 @@ followed by the descriptions of the tags grouped by category.
\
refitem
cfg_generate_chi
GENERATE_CHI
\
refitem
cfg_generate_deprecatedlist
GENERATE_DEPRECIATEDLIST
\
refitem
cfg_generate_docset
GENERATE_DOCSET
\
refitem
cfg_generate_eclipsehelp
GENERATE_ECLIPSEHELP
\
refitem
cfg_generate_html
GENERATE_HTML
\
refitem
cfg_generate_htmlhelp
GENERATE_HTMLHELP
\
refitem
cfg_generate_latex
GENERATE_LATEX
...
...
@@ -1455,6 +1457,28 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn"
If
non
-
empty
doxygen
will
try
to
run
qhelpgenerator
on
the
generated
.
qhp
file
.
\
anchor
cfg_generate_eclipsehelp
<
dt
>\
c
GENERATE_ECLIPSEHELP
<
dd
>
\
addindex
GENERATE_ECLIPSEHELP
If
the
\
c
GENERATE_ECLIPSEHELP
tag
is
set
to
\
c
YES
,
additional
index
files
will
be
generated
,
which
together
with
the
HTML
files
,
form
an
Eclipse
help
plugin
.
To
install
this
plugin
and
make
it
available
under
the
help
contents
menu
in
Eclipse
,
the
contents
of
the
directory
containing
the
HTML
and
XML
files
needs
to
be
copied
into
the
plugins
directory
of
eclipse
.
The
name
of
the
directory
within
the
plugins
directory
should
be
the
same
as
the
\
ref
cfg_eclipse_doc_id
"ECLIPSE_DOC_ID"
value
.
After
copying
Eclipse
needs
to
be
restarted
before
the
help
appears
.
\
anchor
cfg_eclipse_doc_id
<
dt
>\
c
ECLIPSE_DOC_ID
<
dd
>
\
addindex
ECLIPSE_DOC_ID
A
unique
identifier
for
the
eclipse
help
plugin
.
When
installing
the
plugin
the
directory
name
containing
the
HTML
and
XML
files
should
also
have
this
name
.
Each
documentation
set
should
have
its
own
identifier
.
\
anchor
cfg_searchengine
<
dt
>\
c
SEARCHENGINE
<
dd
>
\
addindex
SEARCHENGINE
...
...
doc/index.doc
View file @
05b70e8e
...
...
@@ -153,18 +153,31 @@ that use doxygen.
\latexonly
list of projects that use doxygen (see {\tt http://www.doxygen.org/projects.html}).
\endlatexonly
If you know other projects, let me know and I'll add them.
If you know other projects, let <a href="mailto:dimitri@stack.nl?subject=New%20project%20using%20Doxygen">me</a>
know and I'll add them.
<h2>Commercial Support</h2>
I'm currently investigating the possibilities of providing
commercial support for doxygen. The forms of support I'm thinking of
are:
<ul>
<li>implementing features,
<li>fixing bugs,
<li>providing priority help in answering questions.
</ul>
To get a better understanding of the feasibility,
please let <a href="mailto:dimitri@stack.nl?subject=Doxygen%20Commercial%20Support">me</a> know if you
have a need for this type (or another type)
of doxygen related commercial support.
<h2>Future work</h2>
Although doxygen is used successfully by a lot of people already,
there is always room for improvement. Therefore, I have compiled a
\htmlonly
<a href="http://www.doxygen.org/todo.html">todo/wish list</a>
\endhtmlonly
\latexonly
todo/wish list (see {\tt http://www.doxygen.org/todo.html})
\endlatexonly
of possible and/or requested enhancements.
Although doxygen is successfully used by large number of companies and
open source projects already, there is always room for improvement.
<p>
You can submit enhancement requests in
<a href="https://bugzilla.gnome.org/buglist.cgi?product=doxygen&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_severity=enhancement">the bug tracker</a>.
Make sure the severity of the bug report is set to "enhancement".
<h2>Acknowledgements</h2>
\addindex acknowledgements
...
...
doc/searching.doc
View file @
05b70e8e
...
...
@@ -25,7 +25,7 @@ HTML browsers by default have no search capabilities that work across multiple
pages, so either doxygen or external tools need to help to facilitate
this feature.
Doxygen has
5
different ways to add searching to the HTML output, each of which
Doxygen has
6
different ways to add searching to the HTML output, each of which
has its own advantages and disadvantages:
<h2>1. Client side searching</h2>
...
...
@@ -128,4 +128,31 @@ has its own advantages and disadvantages:
each user, or distributing the Qt help assistant along with
the documentation, which is complicated by the fact that it is not
available as a separate package at this moment.
<h2>6. Eclipse Help Plugin</h2>
If you use eclipse, you can embed the documentation generated by
doxygen as a help plugin. It will then appear as a topic in the help
browser that can be started from "Help contents" in the Help menu.
Eclipse will generate a search index for the documentation when you
first search for an keyword.
To enable the help plugin set
\ref cfg_generate_eclipsehelp "GENERATE_ECLIPSE_HELP" to \c YES,
and define a unique identifier for your project via
\ref cfg_eclipse_doc_id "ECLIPSE_DOC_ID", i.e:
\verbatim
GENERATE_ECLIPSE_HELP = YES
ECLIPSE_DOC_ID = com.yourcompany.yourproject
\endverbatim
then create the \c com.yourcompany.yourproject directory (so with
the same name as the value of \c ECLIPSE_DOC_ID) in the
\c plugin directory of eclipse and after doxygen completes copy
to contents of the help output directory to
the \c com.yourcompany.yourproject directory.
Then restart eclipse to make let it find the new plugin.
The eclipse help plugin provides similar functionality as the
Qt compressed help or CHM output, but it does require that Eclipse is
installed and running.
*/
qtools/Doxyfile
View file @
05b70e8e
# Doxyfile 1.
5.9
# Doxyfile 1.
6.1
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME =
Doxygen
PROJECT_NAME =
Qtools
PROJECT_NUMBER =
OUTPUT_DIRECTORY = ../qtools_docs
CREATE_SUBDIRS = YES
...
...
@@ -55,9 +55,11 @@ INTERNAL_DOCS = NO
CASE_SENSE_NAMES = NO
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = YES
FORCE_LOCAL_INCLUDES = NO
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
SORT_BRIEF_DOCS = NO
SORT_MEMBERS_CTORS_1ST = NO
SORT_GROUP_NAMES = NO
SORT_BY_SCOPE_NAME = NO
GENERATE_TODOLIST = YES
...
...
@@ -66,6 +68,7 @@ GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_DIRECTORIES = NO
SHOW_FILES = YES
SHOW_NAMESPACES = YES
...
...
@@ -127,6 +130,7 @@ HTML_FILE_EXTENSION = .html
HTML_HEADER =
HTML_FOOTER =
HTML_STYLESHEET =
HTML_TIMESTAMP = NO
HTML_ALIGN_MEMBERS = YES
HTML_DYNAMIC_SECTIONS = NO
GENERATE_DOCSET = YES
...
...
@@ -147,6 +151,8 @@ QHP_CUST_FILTER_NAME =
QHP_CUST_FILTER_ATTRS =
QHP_SECT_FILTER_ATTRS =
QHG_LOCATION =
GENERATE_ECLIPSEHELP = YES
ECLIPSE_DOC_ID = org.doxygen.qtools
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = NO
...
...
@@ -154,6 +160,7 @@ USE_INLINE_TREES = NO
TREEVIEW_WIDTH = 250
FORMULA_FONTSIZE = 10
SEARCHENGINE = YES
SERVER_BASED_SEARCH = NO
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
...
...
src/commentcnv.l
View file @
05b70e8e
...
...
@@ -370,8 +370,8 @@ void replaceComment(int offset);
BEGIN(CComment);
}
}
<CComment>
[ \t]+"{@code"
{
copyToOutput("
@code",6
);
<CComment>
"{@code"/[ \t\n]
{
copyToOutput("
@code",5
);
g_lastCommentContext = YY_START;
g_javaBlock=1;
g_blockName=&yytext[1];
...
...
@@ -426,6 +426,7 @@ void replaceComment(int offset);
else
{
g_javaBlock++;
copyToOutput(yytext,yyleng);
}
}
<VerbatimCode>"}" {
...
...
@@ -441,6 +442,10 @@ void replaceComment(int offset);
copyToOutput(" @endcode ",10);
BEGIN(g_lastCommentContext);
}
else
{
copyToOutput(yytext,yyleng);
}
}
}
<VerbatimCode>[\\@]("enddot"|"endcode"|"endmsc") { /* end of verbatim block */
...
...
@@ -492,7 +497,7 @@ void replaceComment(int offset);
copyToOutput(yytext,yyleng);
}
<CComment>[^\\!@*\n]* { /* anything that is not a '*' or command */
<CComment>[^\\!@*\n
{
]* { /* anything that is not a '*' or command */
copyToOutput(yytext,yyleng);
}
<CComment>"*"+[^*/\\@\n]* { /* stars without slashes */
...
...
src/config.l
View file @
05b70e8e
...
...
@@ -1361,26 +1361,17 @@ void Config::check()
// check QHP creation requirements
if (Config_getBool("GENERATE_QHP"))
{
bool qhp=TRUE;
if (!Config_getBool("GENERATE_HTML"))
{
config_err("Error: GENERATE_QHP=YES requires GENERATE_HTML=YES. Disabling QHP output.\n");
qhp=FALSE;
}
if (Config_getString("QHP_NAMESPACE").isEmpty())
{
config_err("Error: GENERATE_QHP=YES requires QHP_NAMESPACE to be set.
Disabling QHP output
.\n");
qhp=FALSE
;
config_err("Error: GENERATE_QHP=YES requires QHP_NAMESPACE to be set.
Using 'org.doxygen.doc' as default!
.\n");
Config_getString("QHP_NAMESPACE")="org.doxygen.doc"
;
}
if (Config_getString("QHP_VIRTUAL_FOLDER").isEmpty())
{
config_err("Error: GENERATE_QHP=YES requires QHP_VIRTUAL_FOLDER to be set.
Disabling QHP output.
\n");
qhp=FALSE
;
config_err("Error: GENERATE_QHP=YES requires QHP_VIRTUAL_FOLDER to be set.
Using 'doc' as default!
\n");
Config_getString("QHP_VIRTUAL_FOLDER")="doc"
;
}
Config_getBool("GENERATE_QHP")=qhp;
}
if (Config_getBool("OPTIMIZE_OUTPUT_JAVA") && Config_getBool("INLINE_INFO"))
...
...
src/config.xml
View file @
05b70e8e
...
...
@@ -861,7 +861,7 @@ The path specified is relative to the HTML output folder.
The QHP_NAMESPACE tag specifies the namespace to use when generating
Qt Help Project output. For more information please see
http://doc.trolltech.com/qthelpproject.html#namespace
'
defval=
''
depends=
'GENERATE_QHP'
/>
'
defval=
'
org.doxygen.Project
'
depends=
'GENERATE_QHP'
/>
<option
type=
'string'
id=
'QHP_VIRTUAL_FOLDER'
format=
'string'
docs=
'
The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
Qt Help Project output. For more information please see
...
...
@@ -887,6 +887,21 @@ be used to specify the location of Qt's qhelpgenerator.
If non-empty doxygen will try to run qhelpgenerator on the generated
.qhp file.
'
defval=
''
depends=
'GENERATE_QHP'
/>
<option
type=
'bool'
id=
'GENERATE_ECLIPSEHELP'
docs=
'
If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
will be generated, which together with the HTML files, form an Eclipse help
plugin. To install this plugin and make it available under the help contents
menu in Eclipse, the contents of the directory containing the HTML and XML
files needs to be copied into the plugins directory of eclipse. The name of
the directory within the plugins directory should be the same as
the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
the help appears.
'
defval=
'0'
depends=
'GENERATE_HTML'
/>
<option
type=
'string'
id=
'ECLIPSE_DOC_ID'
docs=
'
A unique identifier for the eclipse help plugin. When installing the plugin
the directory name containing the HTML and XML files should also have
this name.
'
defval=
'org.doxygen.Project'
depends=
'GENERATE_ECLIPSEHELP'
/>
<option
type=
'bool'
id=
'DISABLE_INDEX'
docs=
'
The DISABLE_INDEX tag can be used to turn on/off the condensed index at
top of each HTML page. The value NO (the default) enables the index and
...
...
src/configoptions.cpp
View file @
05b70e8e
...
...
@@ -1253,6 +1253,7 @@ void addConfigOptions(Config *cfg)
"Qt Help Project output. For more information please see
\n
"
"http://doc.trolltech.com/qthelpproject.html#namespace"
);
cs
->
setDefaultValue
(
"org.doxygen.Project"
);
cs
->
addDependency
(
"GENERATE_QHP"
);
//----
cs
=
cfg
->
addString
(
...
...
@@ -1297,6 +1298,28 @@ void addConfigOptions(Config *cfg)
cs
->
setWidgetType
(
ConfigString
::
File
);
cs
->
addDependency
(
"GENERATE_QHP"
);
//----
cb
=
cfg
->
addBool
(
"GENERATE_ECLIPSEHELP"
,
"If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
\n
"
" will be generated, which together with the HTML files, form an Eclipse help
\n
"
" plugin. To install this plugin and make it available under the help contents
\n
"
"menu in Eclipse, the contents of the directory containing the HTML and XML
\n
"
"files needs to be copied into the plugins directory of eclipse. The name of
\n
"
"the directory within the plugins directory should be the same as
\n
"
"the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before the help appears."
,
FALSE
);
cb
->
addDependency
(
"GENERATE_HTML"
);
//----
cs
=
cfg
->
addString
(
"ECLIPSE_DOC_ID"
,
"A unique identifier for the eclipse help plugin. When installing the plugin
\n
"
"the directory name containing the HTML and XML files should also have
\n
"
"this name."
);
cs
->
setDefaultValue
(
"org.doxygen.Project"
);
cs
->
addDependency
(
"GENERATE_ECLIPSEHELP"
);
//----
cb
=
cfg
->
addBool
(
"DISABLE_INDEX"
,
"The DISABLE_INDEX tag can be used to turn on/off the condensed index at
\n
"
...
...
src/docparser.h
View file @
05b70e8e
...
...
@@ -1171,6 +1171,7 @@ class DocHtmlCell : public CompAccept<DocHtmlCell>, public DocNode
void
markFirst
(
bool
v
=
TRUE
)
{
m_isFirst
=
v
;
}
void
markLast
(
bool
v
=
TRUE
)
{
m_isLast
=
v
;
}
const
HtmlAttribList
&
attribs
()
const
{
return
m_attribs
;
}
const
QList
<
DocNode
>
&
children
()
const
{
return
m_children
;
}
int
parse
();
int
parseXml
();
...
...
src/doxygen.cpp
View file @
05b70e8e
/******************************************************************************
*
*
*
*
* Copyright (C) 1997-2008 by Dimitri van Heesch.
*
...
...
@@ -79,6 +76,7 @@
#include "portable.h"
#include "vhdlscanner.h"
#include "vhdldocgen.h"
#include "eclipsehelp.h"
#include "layout.h"
...
...
@@ -10196,9 +10194,11 @@ void generateOutput()
if (Config_getBool("GENERATE_INDEXLOG")) Doxygen::indexList.addIndex(new IndexLog);
#endif
bool
generateHtmlHelp
=
Config_getBool
(
"GENERATE_HTMLHELP"
);
bool
generateEclipseHelp
=
Config_getBool
(
"GENERATE_ECLIPSEHELP"
);
bool
generateQhp
=
Config_getBool
(
"GENERATE_QHP"
);
bool
generateTreeView
=
Config_getBool
(
"GENERATE_TREEVIEW"
);
bool
generateDocSet
=
Config_getBool
(
"GENERATE_DOCSET"
);
if
(
generateEclipseHelp
)
Doxygen
::
indexList
.
addIndex
(
new
EclipseHelp
);
if
(
generateHtmlHelp
)
Doxygen
::
indexList
.
addIndex
(
new
HtmlHelp
);
if
(
generateQhp
)
Doxygen
::
indexList
.
addIndex
(
new
Qhp
);
if
(
generateTreeView
)
Doxygen
::
indexList
.
addIndex
(
new
FTVHelp
);
...
...
src/doxygen.css
View file @
05b70e8e
...
...
@@ -31,7 +31,7 @@ div.multicol {
-webkit-column-count
:
3
;
}
p
.startli
,
p
.startdd
{
p
.startli
,
p
.startdd
,
p
.starttd
{
margin-top
:
2px
;
}
...
...
@@ -43,6 +43,10 @@ p.enddd {
margin-bottom
:
4px
;
}
p
.endtd
{
margin-bottom
:
2px
;
}
/* @end */
caption
{
...
...
@@ -115,9 +119,11 @@ a.elRef {
}
a
.code
{
color
:
#3030f0
;
}
a
.codeRef
{
color
:
#3030f0
;
}
/* @end */
...
...
@@ -136,6 +142,10 @@ pre.fragment {
background-color
:
#f5f5f5
;
padding
:
4px
6px
;
margin
:
4px
8px
4px
2px
;
overflow
:
auto
;
word-wrap
:
break-word
;
font-size
:
9pt
;
line-height
:
125%
;
}
div
.ah
{
...
...
@@ -501,3 +511,22 @@ address {
font-style
:
normal
;
color
:
#333
;
}
table
.doxtable
{
border-collapse
:
collapse
;
}
table
.doxtable
td
,
table
.doxtable
th
{
border
:
1px
solid
#153788
;
padding
:
3px
7px
2px
;
}
table
.doxtable
th
{
background-color
:
#254798
;
color
:
#FFFFFF
;
font-size
:
110%
;
padding-bottom
:
4px
;
padding-top
:
5px
;
text-align
:
left
;
}
src/doxygen_css.h
View file @
05b70e8e
...
...
@@ -31,7 +31,7 @@
" -webkit-column-count: 3;
\n
"
"}
\n
"
"
\n
"
"p.startli, p.startdd {
\n
"
"p.startli, p.startdd
, p.starttd
{
\n
"
" margin-top: 2px;
\n
"
"}
\n
"
"
\n
"
...
...
@@ -43,6 +43,10 @@
" margin-bottom: 4px;
\n
"
"}
\n
"
"
\n
"
"p.endtd {
\n
"
" margin-bottom: 2px;
\n
"
"}
\n
"
"
\n
"
"/* @end */
\n
"
"
\n
"
"caption {
\n
"
...
...
@@ -115,9 +119,11 @@
"}
\n
"
"
\n
"
"a.code {
\n
"
" color: #3030f0;
\n
"
"}
\n
"
"
\n
"
"a.codeRef {
\n
"
" color: #3030f0;
\n
"
"}
\n
"
"
\n
"
"/* @end */
\n
"
...
...
@@ -136,6 +142,10 @@
" background-color: #f5f5f5;
\n
"
" padding: 4px 6px;
\n
"
" margin: 4px 8px 4px 2px;
\n
"
" overflow: auto;
\n
"
" word-wrap: break-word;
\n
"
" font-size: 9pt;
\n
"
" line-height: 125%;
\n
"
"}
\n
"
"
\n
"
"div.ah {
\n
"
...
...
@@ -501,3 +511,22 @@
" font-style: normal;
\n
"
" color: #333;
\n
"
"}
\n
"
"
\n
"
"table.doxtable {
\n
"
" border-collapse:collapse;
\n
"
"}
\n
"
"
\n
"
"table.doxtable td, table.doxtable th {
\n
"
" border: 1px solid #153788;
\n
"
" padding: 3px 7px 2px;
\n
"
"}
\n
"
"
\n
"
"table.doxtable th {
\n
"
" background-color: #254798;
\n
"
" color: #FFFFFF;
\n
"
" font-size: 110%;
\n
"
" padding-bottom: 4px;
\n
"
" padding-top: 5px;
\n
"
" text-align:left;
\n
"
"}
\n
"
"
\n
"
src/eclipsehelp.cpp
0 → 100644
View file @
05b70e8e
/******************************************************************************
*
* Copyright (C) 1997-2009 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
* Documents produced by Doxygen are derivative works derived from the
* input used in their production; they are not affected by this license.
*
*/
#include "eclipsehelp.h"
#include "util.h"
#include "config.h"
#include "message.h"
#include "doxygen.h"
EclipseHelp
::
EclipseHelp
()
:
m_depth
(
0
),
m_endtag
(
FALSE
),
m_tocfile
(
0
)
{
}
EclipseHelp
::~
EclipseHelp
()
{
}
void
EclipseHelp
::
indent
()
{
int
i
;
for
(
i
=
0
;
i
<
m_depth
;
i
++
)
{
m_tocstream
<<
" "
;
}
}
void
EclipseHelp
::
closedTag
()
{
if
(
m_endtag
)
{
m_tocstream
<<
"/>"
<<
endl
;
m_endtag
=
FALSE
;
}
}
void
EclipseHelp
::
openedTag
()
{
if
(
m_endtag
)
{
m_tocstream
<<
">"
<<
endl
;
m_endtag
=
FALSE
;
}
}
/*!
* \brief Initialize the Eclipse generator
*
* This method opens the XML TOC file and writes headers of the files.
* \sa finalize()
*/
void
EclipseHelp
::
initialize
()
{
// -- read path prefix from the configuration
//m_pathprefix = Config_getString("ECLIPSE_PATHPREFIX");
//if (m_pathprefix.isEmpty()) m_pathprefix = "html/";
// -- open the contents file
QCString
name
=
Config_getString
(
"HTML_OUTPUT"
)
+
"/toc.xml"
;
m_tocfile
=
new
QFile
(
name
);
if
(
!
m_tocfile
->
open
(
IO_WriteOnly
))
{
err
(
"Could not open file %s for writing
\n
"
,
name
.
data
());
exit
(
1
);
}
// -- initialize its text stream
m_tocstream
.
setDevice
(
m_tocfile
);
m_tocstream
.
setEncoding
(
QTextStream
::
UnicodeUTF8
);
// -- write the opening tag
QCString
title
=
Config_getString
(
"PROJECT_NAME"
);
if
(
title
.
isEmpty
())
{
title
=
"Doxygen generated documentation"
;
}
m_tocstream
<<
"<toc label=
\"
"
<<
convertToXML
(
title
)
<<
"
\"
>"
<<
endl
;
++
m_depth
;
}
/*!
* \brief Finish generation of the Eclipse specific help files
*
* This method writes footers of the files and closes them.
* \sa initialize()
*/
void
EclipseHelp
::
finalize
()
{
closedTag
();
// -- close previous tag
// -- write ending tag
--
m_depth
;
m_tocstream
<<
"</toc>"
<<
endl
;
// -- close the content file
m_tocstream
.
unsetDevice
();
m_tocfile
->
close
();
delete
m_tocfile
;
m_tocfile
=
0
;
QCString
name
=
Config_getString
(
"HTML_OUTPUT"
)
+
"/plugin.xml"
;
QFile
pluginFile
(
name
);
if
(
pluginFile
.
open
(
IO_WriteOnly
))
{
QString
docId
=
Config_getString
(
"ECLIPSE_DOC_ID"
);
QTextStream
t
(
&
pluginFile
);
t
<<
"<plugin name=
\"
"
<<
docId
<<
"
\"
id=
\"
"
<<
docId
<<
"
\"
"
<<
endl
;
t
<<
" version=
\"
1.0.0
\"
provider-name=
\"
Doxygen
\"
>"
<<
endl
;
t
<<
" <extension point=
\"
org.eclipse.help.toc
\"
>"
<<
endl
;
t
<<
" <toc file=
\"
toc.xml
\"
primary=
\"
true
\"
/>"
<<
endl
;
t
<<
" </extension>"
<<
endl
;
t
<<
"</plugin>"
<<
endl
;
}
}
/*!
* \brief Increase the level of content hierarchy
*/
void
EclipseHelp
::
incContentsDepth
()
{
openedTag
();
++
m_depth
;
}
/*!
* \brief Decrease the level of content hierarchy
*
* It closes currently opened topic tag.
*/
void
EclipseHelp
::
decContentsDepth
()
{
// -- end of the opened topic
closedTag
();
--
m_depth
;
indent
();
m_tocstream
<<
"</topic>"
<<
endl
;
}
/*!
* \brief Add an item to the content
*
* @param isDir Flag whether the argument \a file is a directory or a file entry
* @param name Name of the item
* @param ref URL of the item
* @param file Name of a file which the item is defined in (without extension)
* @param anchor Name of an anchor of the item.
*/
void
EclipseHelp
::
addContentsItem
(
bool
isDir
,
const
char
*
name
,
const
char
*
/* ref */
,
const
char
*
file
,
const
char
*
anchor
)
{
// -- write the topic tag
closedTag
();
indent
();
m_tocstream
<<
"<topic label=
\"
"
<<
convertToXML
(
name
)
<<
"
\"
"
;
if
(
!
isDir
&&
file
)
{
// -- Eclipse help cannot handle directories
m_tocstream
<<
" href=
\"
"
<<
convertToXML
(
m_pathprefix
)
<<
file
<<
Doxygen
::
htmlFileExtension
;
if
(
anchor
)
{
m_tocstream
<<
"#"
<<
anchor
;
}
m_tocstream
<<
"
\"
"
;
}
m_endtag
=
TRUE
;
}
void
EclipseHelp
::
addIndexItem
(
Definition
*
/* context */
,
MemberDef
*
/* md */
,
const
char
*
/* anchor */
,
const
char
*
/* word */
)
{
}
void
EclipseHelp
::
addIndexFile
(
const
char
*
/* name */
)
{
}
void
EclipseHelp
::
addImageFile
(
const
char
*
/* name */
)
{
}
void
EclipseHelp
::
addStyleSheetFile
(
const
char
*
/* name */
)
{
}
src/eclipsehelp.h
0 → 100644
View file @
05b70e8e
/******************************************************************************
*
*
*
* Copyright (C) 1997-2008 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
* Documents produced by Doxygen are derivative works derived from the
* input used in their production; they are not affected by this license.
*
*/
/*
* eclipsehelp.h
*
* Created on: 7.11.2009
* Author: ondrej
*/
#ifndef ECLIPSEHELP_H
#define ECLIPSEHELP_H
#include "qtbc.h"
#include "index.h"
#include <qtextstream.h>
/* -- forward declarations */
class
QFile
;
/*!
* \brief Generator of Eclipse help files
*
* This class generates the Eclipse specific help files.
* These files can be used to generate a help plugin readable
* by the Eclipse IDE.
*/
class
EclipseHelp
:
public
IndexIntf
{
public
:
EclipseHelp
();
virtual
~
EclipseHelp
();
/* -- index interface */
virtual
void
initialize
();
virtual
void
finalize
();
virtual
void
incContentsDepth
();
virtual
void
decContentsDepth
();
virtual
void
addContentsItem
(
bool
isDir
,
const
char
*
name
,
const
char
*
ref
=
0
,
const
char
*
file
=
0
,
const
char
*
anchor
=
0
);
virtual
void
addIndexItem
(
Definition
*
context
,
MemberDef
*
md
,
const
char
*
anchor
,
const
char
*
word
);
virtual
void
addIndexFile
(
const
char
*
name
);
virtual
void
addImageFile
(
const
char
*
name
);
virtual
void
addStyleSheetFile
(
const
char
*
name
);
private
:
int
m_depth
;
bool
m_endtag
;
QFile
*
m_tocfile
;
QTextStream
m_tocstream
;
QCString
m_pathprefix
;
/* -- avoid copying */
EclipseHelp
(
const
EclipseHelp
&
);
EclipseHelp
&
operator
=
(
const
EclipseHelp
&
);
/* -- formatting helpers */
void
indent
();
void
closedTag
();
void
openedTag
();
};
#endif
/* ECLIPSEHELP_H */
src/htmldocvisitor.cpp
View file @
05b70e8e
...
...
@@ -619,7 +619,7 @@ bool isSeparatedParagraph(DocSimpleSect *parent,DocPara *par)
return
FALSE
;
}
int
getParagraphContext
(
DocPara
*
p
,
bool
&
isFirst
,
bool
&
isLast
)
static
int
getParagraphContext
(
DocPara
*
p
,
bool
&
isFirst
,
bool
&
isLast
)
{
int
t
=
0
;
isFirst
=
FALSE
;
...
...
@@ -664,6 +664,12 @@ int getParagraphContext(DocPara *p,bool &isFirst,bool &isLast)
if
(
isFirst
)
t
=
2
;
if
(
isLast
)
t
=
4
;
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
:
isFirst
=
isFirstChildNode
((
DocSimpleSect
*
)
p
->
parent
(),
p
);
isLast
=
isLastChildNode
((
DocSimpleSect
*
)
p
->
parent
(),
p
);
...
...
@@ -741,12 +747,14 @@ void HtmlDocVisitor::visitPre(DocPara *p)
// this allows us to mark the tag with a special class so we can
// fix the otherwise ugly spacing.
int
t
;
static
const
char
*
contexts
[
5
]
=
{
""
,
" class=
\"
startli
\"
"
,
" class=
\"
startdd
\"
"
,
" class=
\"
endli
\"
"
,
" class=
\"
enddd
\"
"
static
const
char
*
contexts
[
7
]
=
{
""
,
// 0
" class=
\"
startli
\"
"
,
// 1
" class=
\"
startdd
\"
"
,
// 2
" class=
\"
endli
\"
"
,
// 3
" class=
\"
enddd
\"
"
,
// 4
" class=
\"
starttd
\"
"
,
// 5
" class=
\"
endtd
\"
"
// 6
};
bool
isFirst
;
bool
isLast
;
...
...
@@ -1025,24 +1033,24 @@ void HtmlDocVisitor::visitPost(DocHtmlDescData *)
void
HtmlDocVisitor
::
visitPre
(
DocHtmlTable
*
t
)
{
if
(
m_hide
)
return
;
bool
hasBorder
=
FALSE
;
bool
hasCellSpacing
=
FALSE
;
bool
hasCellPadding
=
FALSE
;
//
bool hasBorder = FALSE;
//
bool hasCellSpacing = FALSE;
//
bool hasCellPadding = FALSE;
forceEndParagraph
(
t
);
HtmlAttribListIterator
li
(
t
->
attribs
());
HtmlAttrib
*
att
;
for
(
li
.
toFirst
();(
att
=
li
.
current
());
++
li
)
{
if
(
att
->
name
==
"border"
)
hasBorder
=
TRUE
;
else
if
(
att
->
name
==
"cellspacing"
)
hasCellSpacing
=
TRUE
;
else
if
(
att
->
name
==
"cellpadding"
)
hasCellPadding
=
TRUE
;
}
m_t
<<
"<table"
<<
htmlAttribsToString
(
t
->
attribs
());
if
(
!
hasBorder
)
m_t
<<
" border=
\"
1
\"
"
;
if
(
!
hasCellSpacing
)
m_t
<<
" cellspacing=
\"
3
\"
"
;
if
(
!
hasCellPadding
)
m_t
<<
" cellpadding=
\"
3
\"
"
;
//
HtmlAttribListIterator li(t->attribs());
//
HtmlAttrib *att;
//
for (li.toFirst();(att=li.current());++li)
//
{
//
if (att->name=="border") hasBorder=TRUE;
//
else if (att->name=="cellspacing") hasCellSpacing=TRUE;
//
else if (att->name=="cellpadding") hasCellPadding=TRUE;
//
}
m_t
<<
"<table
class=
\"
doxtable
\"
"
<<
htmlAttribsToString
(
t
->
attribs
());
//
if (!hasBorder) m_t << " border=\"1\"";
//
if (!hasCellSpacing) m_t << " cellspacing=\"3\"";
//
if (!hasCellPadding) m_t << " cellpadding=\"3\"";
m_t
<<
">
\n
"
;
}
...
...
src/index.cpp
View file @
05b70e8e
...
...
@@ -2892,7 +2892,7 @@ void writeExampleIndex(OutputList &ol)
if
(
!
pd
->
title
().
isEmpty
())
{
ol
.
writeObjectLink
(
0
,
n
,
0
,
pd
->
title
());
Doxygen
::
indexList
.
addContentsItem
(
FALSE
,
pd
->
title
(
),
pd
->
getReference
(),
n
,
0
);
Doxygen
::
indexList
.
addContentsItem
(
FALSE
,
filterTitle
(
pd
->
title
()
),
pd
->
getReference
(),
n
,
0
);
}
else
{
...
...
@@ -3005,7 +3005,7 @@ void writePageIndex(OutputList &ol)
ol
.
endTypewriter
();
}
ol
.
writeString
(
"
\n
"
);
Doxygen
::
indexList
.
addContentsItem
(
hasSubPages
,
pageTitle
,
pd
->
getReference
(),
pd
->
getOutputFileBase
(),
0
);
Doxygen
::
indexList
.
addContentsItem
(
hasSubPages
,
filterTitle
(
pageTitle
)
,
pd
->
getReference
(),
pd
->
getOutputFileBase
(),
0
);
writeSubPages
(
pd
);
ol
.
endIndexListItem
();
}
...
...
@@ -3548,7 +3548,7 @@ void writeIndex(OutputList &ol)
}
else
{
title
=
substitute
(
Doxygen
::
mainPage
->
title
(),
"%"
,
""
);
title
=
filterTitle
(
Doxygen
::
mainPage
->
title
()
);
}
QCString
indexName
=
Config_getBool
(
"GENERATE_TREEVIEW"
)
?
"main"
:
"index"
;
...
...
@@ -3576,7 +3576,9 @@ void writeIndex(OutputList &ol)
{
if
(
Doxygen
::
mainPage
->
title
().
lower
()
!=
"notitle"
)
{
ol
.
docify
(
Doxygen
::
mainPage
->
title
());
ol
.
parseDoc
(
Doxygen
::
mainPage
->
docFile
(),
Doxygen
::
mainPage
->
docLine
(),
Doxygen
::
mainPage
,
0
,
Doxygen
::
mainPage
->
title
(),
TRUE
,
FALSE
,
0
,
TRUE
,
FALSE
);
}
}
else
...
...
src/libdoxygen.pro.in
View file @
05b70e8e
...
...
@@ -42,6 +42,7 @@ HEADERS = bufstr.h \
dot.h \
doxygen.h \
doxygen_css.h \
eclipsehelp.h \
entry.h \
example.h \
filedef.h \
...
...
@@ -173,6 +174,7 @@ SOURCES = ce_lex.cpp \
doctokenizer.cpp \
dot.cpp \
doxygen.cpp \
eclipsehelp.cpp \
entry.cpp \
filedef.cpp \
filename.cpp \
...
...
src/pagedef.cpp
View file @
05b70e8e
...
...
@@ -6,6 +6,7 @@
#include "outputlist.h"
#include "doxygen.h"
#include "language.h"
#include <qregexp.h>
PageDef
::
PageDef
(
const
char
*
f
,
int
l
,
const
char
*
n
,
...
...
@@ -156,7 +157,7 @@ void PageDef::writeDocumentation(OutputList &ol)
}
}
Doxygen
::
indexList
.
addIndexItem
(
this
,
0
,
0
,
title
(
));
Doxygen
::
indexList
.
addIndexItem
(
this
,
0
,
0
,
filterTitle
(
title
()
));
}
void
PageDef
::
writePageDocumentation
(
OutputList
&
ol
)
...
...
src/util.cpp
View file @
05b70e8e
...
...
@@ -6970,4 +6970,19 @@ bool readInputFile(const char *fileName,BufStr &inBuf)
return
TRUE
;
}
// Replace %word by word in title
QCString
filterTitle
(
const
QCString
&
title
)
{
QCString
tf
;
static
QRegExp
re
(
"%[A-Z_a-z]"
);
int
p
=
0
,
i
,
l
;
while
((
i
=
re
.
match
(
title
,
p
,
&
l
))
!=-
1
)
{
tf
+=
title
.
mid
(
p
,
i
-
p
);
tf
+=
title
.
mid
(
i
+
1
,
l
-
1
);
// skip %
p
=
i
+
l
;
}
tf
+=
title
.
right
(
title
.
length
()
-
p
);
return
tf
;
}
src/util.h
View file @
05b70e8e
...
...
@@ -366,6 +366,7 @@ bool usingTreeIndex();
void
stackTrace
();
bool
readInputFile
(
const
char
*
fileName
,
BufStr
&
inBuf
);
QCString
filterTitle
(
const
QCString
&
title
);
#endif
...
...
winbuild/Doxygen.vcproj
View file @
05b70e8e
...
...
@@ -766,6 +766,10 @@
/>
</FileConfiguration>
</File>
<File
RelativePath=
"..\src\eclipsehelp.cpp"
>
</File>
<File
RelativePath=
"..\src\entry.cpp"
>
...
...
@@ -2097,6 +2101,10 @@
RelativePath=
"..\src\doxygen_css.h"
>
</File>
<File
RelativePath=
"..\src\eclipsehelp.h"
>
</File>
<File
RelativePath=
"..\src\entry.h"
>
...
...
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