Problem:
If you set "GENERATE_TREEVIEW=YES" and have a page with local references
(\ref), when HTML is generated the links are relative to the index.html
page rather than to the local page. When you click on the resulting
link, you get an extra tree control instead of jumping to that link.
Test Case:
Below, I've attached a simple file that reproduces the problem. Save
the contents as foo.txt. Generate a default Doxyfile and alter the
following settings:
INPUT = test.txt
GENERATE_TREEVIEW = YES
Run Doxygen and launch html/index.html. Click on either of the
hyperlinks in section Two. Every time you click on a link in section
Two, an additional tree control will be displayed.
Analysis:
The index page is really a frameset containing a "treefrm" frame to
display the tree control, and a "basefrm" frame to display the main.html
page. The hyperlinks in section Two are defined relative to index.html
rather than to main. (e.g. <a href="index.html#one">One</a>) Clicking
on this link causes a new index.html frameset to be nested within the
"basefrm" frame.
Editing the main.html file and changing the links to be relative to the
page displayed in the "basefrm" frame instead of the frameset fixes the
problem (e.g. <a href="main.html#one">One</a>)
I'm guessing the problem is not in HtmlGenerator, but in the code that
calls writeSectionRef() and writeSectionRefItem(). They must be passing
in the name of the frameset ("index.html") rather than the name of the
page currently displayed in the basefrm.
Fix: To Be Determined...
---------------------test.txt-------------------------
/*!
\mainpage Tree Test
\section one One
This is section one.
\section two Two
This is section Two. It has a reference to section \ref one, and a
reference to section \ref three.
\section three Three.
This is section Three.
*/
|