Après avoir commencé à documenter mes projets avec Doxygen et avoir graté sur des brouillons les liens entre classes ou encore la succession d'exécution des méthodes d'une classe, j'ai fait quelques recherches pour voir si je pouvais intégrer mes graphes dans Doxygen.

Je suis naturellement tombé sur graphviz que j'ai rapidement installé et testé, entre autre en suivant le tutoriel suivant:

http://cyberzoide.developpez.com/graphviz

nota: hors utilisation avec Doxygen, si on souhaite générer un graph "horizontal" (Left to Right) au lieu de haut vers bas qui est par défaut, il suffit d'ajouter

graph [rankdir="LR"];

 

Sous Doxygen, dans l'onglet Expert, on sélectionne le "Topic" "Dot" puis coché les options suivantes :

configuration Doxygen pour graphviz paramètres topic Dot

20160113 doxygen graphviz liens multiples

J'ai testé tout d'abord sans "UML_LOOK", ce qui donne des graphes plus légers et agréables... mais moins complet.

Outre ces graphes généré automatiquement, il peut être intéressant d'ajoute des images ou d'autre graphes généré soi-même avec graphviz. Je n'ai pas trouvé qu'il soit possible d'intégré directement du "language" graphviz dans un commentaire pour que doxygen crée un graphe. En revanche, on peut créer un graphe, le sauver en .png par exemple, puis l'ajouter.

Pour ajouter des images dans Doxygen, il faut, en mode expert (onglet du même nom), sélectionner le topic Input puis définir IMAGE_PATH qu'on peut mettre à . pour le répertoire courant ou créer un sous-répertoire image ou graphe et mettre donc images

Dans le commentaire du code, soit dans l'en-tête du fichier, soit dans le commentaire de description de la classe,  j'ajoute une ligne du type :

\image html nomdelimage.png

il faut évidemment que cette image soit présente dans le répertoire mentionné dans IMAGE_PATH