2013-11-07 1 views
0

У меня есть несколько классов C++ в моем приложении, в которых есть некоторые члены «конфигурации», которые конечный пользователь может изменять во время выполнения, чтобы выбрать различные конфигурации. (Как это реализовано в рамках обложки, не имеет значения и пропущено.) Я хочу собрать пользовательскую документацию всех таких членов конфигурации на отдельную страницу doxygen, на которую пользователь может ссылаться, чтобы знать все существующие члены конфигурации.Соберите пользовательские команды из разных файлов на отдельную страницу

Рассмотрите этот простой пример. (Соответствующий код не должен быть в верхней части объявления класса, как показано здесь.)

class Foo { 
public: 
    /** 
    * @config Foo12 
    * @default true 
    * @range true, false 
    * @purpose set this false if you don't want Foo12 
    */ 
    bool foo12; 

    /** 
    * @config Foo34 
    * @default false 
    * @range true, false 
    * @purpose set this true if you want Foo34 
    */ 
    bool foo34; 
}; 

class Bar { 
public: 
    /** 
    * @config Bar12 
    * @default true 
    * @range true, false 
    * @purpose set this false if you don't want Bar12 
    */ 
    bool bar12;  
}; 

Это должно производить выход что-то вроде следующего:

Config: Foo12
По умолчанию правда
Диапазон истинные, ложные
Цель набора это ложь, если вы не хотите Foo12

Config: Foo34
По умолчанию ложного
Range истинных, ложный
Цели набора это лжи, если вы хотите Foo3
Config: Bar12
По умолчанию правда
Диапазон истинные, ложные
Цель набор это ложь, если вы не хотите Bar12

Я знаком с умеренно Grouping, \xrefitem, ALIASES, Custom Commands, но я не могу выяснить, как использовать их вместе для достижения вышеуказанного.

\xrefitem создает отдельную страницу в соответствии с пользовательской командой. Группировка размещает документацию везде, где она появляется в источнике. Это не очень полезно показать пользователю все доступные настройки конфигурации за один раз.

Какие подходы я могу попытаться получить? Решение не должно быть чистым или элегантным, использование обходных решений в порядке.

ответ

1

Это любой товар?

Настройка псевдонима в Doxyfile

ALIASES = "[email protected] wibble \"Wibbles!\" \"Wibble List\"" 

и использовать

@wibble 
- \b Config fobbling 
- \b Default 4245345346 
- \b Range 500 yards 

в коде.

Выход не идеален, но выглядит работоспособным для меня (я только что попробовал).

+0

Да, это, безусловно, полезно, хотя он создает документ «встроенный». Позвольте мне понять, как я могу перемещать (или хотя бы копировать) это на отдельную страницу. –

+0

Когда я это сделал, он помещал записи как в строку _and_ на отдельный «Wibbles!». страницы в документе. Вы имеете в виду отдельную страницу или отдельный файл? – Cheeseminer

Смежные вопросы