指定doxygen自动类的标题

时间:2013-07-03 01:09:03

标签: doxygen

有没有办法指定doxygen自动生成的类页面的标题?因此,我可以使用自己的文本而不是页面顶部的“ClassName Class Reference”吗?

或者如果不是我自己的文字,我会选择只显示“ClassName”(没有“Class Reference”)。

下面的屏幕截图以绿色显示我试图摆脱的文字......所以在这个页面上,我希望标题只是“WindSpeedSetting”。或者更理想的是,我希望标题为“WindSpeedSetting Table”。

enter image description here

以下是我的doxy文件的摘录:

<navindex>
  <tab type="mainpage" visible="yes" title=""/>
  <tab type="classes" visible="no" title="">
    <tab type="classlist" visible="no" title="" intro=""/>
    <tab type="classindex" visible="no" title=""/>
    <tab type="hierarchy" visible="no" title=""/>
    <tab type="classmembers" visible="no" title=""/>
  </tab>
  <tab type="usergroup" url="[none]" visible="yes" title="Tables">
    <tab type="usergroup" url="[none]" visible="yes" title="SCADA">
      ...
      <tab type="user" title="WindSpeedSetting" url="@ref Radiance::Model::Scada::v12::WindSpeedSetting" />
    </tab>
    ...
  </tab>
</navindex>

<class>
  <briefdescription visible="no"/>
  <detaileddescription title="Description"/>
  <memberdef>
    <inlineclasses title=""/>
    <typedefs title=""/>
    <enums title=""/>
    <constructors title=""/>
    <functions title="" visible="no"/>
    <related title=""/>
    <variables title=""/>
    <properties title="Columns"/>
    <events title=""/>
  </memberdef>
  <allmemberslink visible="no"/>
  <usedfiles visible="no"/>
  <authorsection visible="no"/>
</class>

然后我的C#类看起来像这样:

/// <summary>
/// \class WindSpeedSetting
/// A list of available anemometers in the system.
/// </summary>
public class WindSpeedSetting
{
  /// <summary>
  /// \property AlarmSpeed
  /// \a float <br /><br />
  /// </summary>
  public virtual double AlarmSpeed { get; set; }

  /// <summary>
  /// \property AlarmTime
  /// \a bigint <br /><br />
  /// </summary>
  public virtual TimeSpan AlarmTime { get; set; }
}

3 个答案:

答案 0 :(得分:1)

如果您没有DoxygenLayout.xml,可以按照doxygen手册Changing the layout of pages中描述的步骤创建一个。

在文件顶部,您会找到包含<navindex>标签的classes标记。

<navindex>
...
<tab type="classes" visible="yes" title="">
  <tab type="classes" visible="no" title="THISISANEXAMPLE"/>
  <tab type="classindex" visible="$ALPHABETICAL_INDEX" title="THISISMYTITLE"/> 
  <tab type="hierarchy" visible="yes" title=""/>
  <tab type="classmembers" visible="yes" title=""/>
</tab>
...

专注于title=“THISISANEXAMPLE”and visible =“no”`,以更改可见性和/或标题,并且您已完成。

答案 1 :(得分:0)

我从github获取了Doxygen的源代码并追踪了&#34; Class Reference&#34; string是translate_en.h第585行定义的例程,具体为:

/*! used as the title of the HTML page of a class/struct/union */
virtual QCString trCompoundReference(const char *clName,
                                ClassDef::CompoundType compType,
                                bool isTemplate)
{
  QCString result=(QCString)clName;
  switch(compType)
  {
    case ClassDef::Class:      result+=" Class"; break;
    case ClassDef::Struct:     result+=" Struct"; break;
    case ClassDef::Union:      result+=" Union"; break;
    case ClassDef::Interface:  result+=" Interface"; break;
    case ClassDef::Protocol:   result+=" Protocol"; break;
    case ClassDef::Category:   result+=" Category"; break;
    case ClassDef::Exception:  result+=" Exception"; break;
    default: break;
  }
  if (isTemplate) result+=" Template";
  result+=" Reference";
  return result;
}

这意味着制作&#34;类参考&#34;的唯一方法文本消失要么改变将替换&#34; Class Reference&#34;使用等效的外语或修补代码。

答案 2 :(得分:0)

要显示不带“类引用”字符串的类名称,可以检查标签HIDE_COMPOUND_REFERENCE。