在Doxygen中自定义树视图

时间:2015-03-09 08:51:36

标签: treeview doxygen

我第一次尝试使用Doxygen,到目前为止我对大多数事情感到满意。您可以说我正在创建的手册由两部分组成:一部分是使用.dox文件构建的,其中包含有关产品的一般信息;然后第二部分从源文件构建并显示API。

我遇到的问题是源文件生成的页面看起来不像我想要它们在树视图中。从.dox文件生成的部分可以像我想要的那样轻松地构建(例如使用\ page,\ section和\ subsection)但是当我包含源文件时,新页面(Classes,Files)出现在第一级树视图:

V Project Name
    > Installation (.dox)
    > Licensing (.dox)
    > Components (.dox)
    > Tools (.dox)
    > Getting Started (.dox)
    > Classes (source files)
    > Files (source files)

至少我希望能够自定义树视图是将源文件生成的所有页面在树视图中向下移动一级(但是如果可以像我在.dox中那样自定义页面结构 - 文件很棒):

V Project Name
    > Installation (.dox)
    > Licensing (.dox)
    > Components (.dox)
    > Tools (.dox)
    > Getting Started (.dox)
    V API
        > Classes (source files)
        > Files (source files)

这可能吗?谷歌搜索时,我找到了一个名为" layout file"但是我无法理解它是如何工作的,或者在这种情况下它是否会有所帮助。

如果不可能,那么我必须将API部分放在单独的手册中,但我真的想避免这种情况。

我感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

我设法通过更改“布局文件”来解决这个问题。默认文件如下所示:

<navindex>
  <tab type="mainpage" visible="yes" title=""/>
  <tab type="pages" visible="yes" title="" intro=""/>
  <tab type="modules" visible="yes" title="" intro=""/>
  <tab type="namespaces" visible="yes" title="">
    <tab type="namespacelist" visible="yes" title="" intro=""/>
    <tab type="namespacemembers" visible="yes" title="" intro=""/>
  </tab>
  <tab type="classes" visible="yes" title="">
    <tab type="classlist" visible="yes" title="" intro=""/>
    <tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/> 
    <tab type="hierarchy" visible="yes" title="" intro=""/>
    <tab type="classmembers" visible="yes" title="" intro=""/>
  </tab>
  <tab type="files" visible="yes" title="">
    <tab type="filelist" visible="yes" title="" intro=""/>
    <tab type="globals" visible="yes" title="" intro=""/>
  </tab>
  <tab type="examples" visible="yes" title="" intro=""/>  
</navindex>

我改为:

<navindex>
  <tab type="mainpage" visible="yes" title=""/>
  <tab type="pages" visible="yes" title="" intro=""/>
  <tab type="usergroup" visible="yes" title="API" url="@ref api" intro="">
    <tab type="modules" visible="yes" title="" intro=""/>
    <tab type="namespaces" visible="yes" title="">
      <tab type="namespacelist" visible="yes" title="" intro=""/>
      <tab type="namespacemembers" visible="yes" title="" intro=""/>
    </tab>
    <tab type="classes" visible="yes" title="">
      <tab type="classlist" visible="yes" title="" intro=""/>
      <tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/> 
      <tab type="hierarchy" visible="yes" title="" intro=""/>
      <tab type="classmembers" visible="yes" title="" intro=""/>
    </tab>
    <tab type="files" visible="yes" title="">
      <tab type="filelist" visible="yes" title="" intro=""/>
      <tab type="globals" visible="yes" title="" intro=""/>
    </tab>
    <tab type="examples" visible="yes" title="" intro=""/>
  </tab>
</navindex>

我在名为api.dox的文件中创建了API页面(由用户组标签引用):

/*! \page api API
TODO: Add text here...
*/