News:

When registered with our forums, feel free to send a "here I am" post here to differ human beings from SPAM bots.

Main Menu

Doxygen script plugin

Started by jomeggs, April 11, 2008, 06:45:28 PM

Previous topic - Next topic

jomeggs

Hi,

recently, i thought about a doxygen plugin for automated documentation generation. After loading the CB source I saw, that you are using the gcc 4.x and that I've little knowledge about your sdk and...  :shock:

I'm a bit short of time, so I wrote a script. Maybe it's useful for someone here. It generates documentation for the currently activated project. Further details (installation, usage, output...) you'll find in the attached file.

Changelog version 04 (15.03.2009)

  • menue entries changed for Chinese users (nanyu and friends...)
  • CHM file is executed after generation for windows systems only
  • removed menue entry "Generate documentation with dependants", it's not working currently
  • proper error message when no active project has been opened as yet



[attachment deleted by admin]

JGM


jomeggs

Quote from: JGM on April 11, 2008, 07:57:03 PM
interesting!  :D

Yes, and it works! At least for me... :lol:

If anyone tried it with linux, please tell me!

pasgui

#3
Quote from: jomeggs on April 13, 2008, 12:57:52 AM
If anyone tried it with linux, please tell me!

It works for me on Ubuntu Gutsy. Just a little bit surprise by the German language, but good documentation included in the script file.

Good job.

Best regards, pasgui

jomeggs

#4
Quote from: pasgui on April 13, 2008, 11:47:51 AM
Just a little bit surprise by the German language, ...

Huh? I wrote the documentation in my cripple english, what the hell is...?! :shock:
Ah, there! The generated documents were produced in german!

I changed that 8)

rhf

jomeggs,

Just last week I committed to using Doxygen for one of my major projects, so I was very interested to try out your script plugin.  I am pleased to say that it worked very well for me on Windows XP, and I plan to use it a great deal.

I do have one question. Can the script be modified so that Doxygen will process dependency projects for the active project in the workspace?  Note: I am not sure this is necessary or even a good idea, but I was curious if you had thought about it.

Thanks for a nice CB addition!

Bob

jomeggs

Hi Bob,

I had a look to the CB scripting commands wiki and found the function call "GetDependenciesForProject()". If this works as expected, it could be done. As a simple solution, I can implement a new menu entry, which generates documents for the current active project and all it's dependants. But, for each project, you will get it's own documentation.

It would be a bigger task, to write a centralized document, which includes information for all of these projects.


rhf

Quote from: jomeggs on April 13, 2008, 07:01:03 PM
But, for each project, you will get it's own documentation.
It would be a bigger task, to write a centralized document, which includes information for all of these projects.

Hmm. I see what you mean. I am not sure that I am really using the project dependencies correctly anyway. Maybe it is just simpler to add the various files directly into each project.

Thanks.

jomeggs

The most common use of dependencies is, if they are libraries or dll's which your project needs.

er

Hello,

I am a newcomer to CB.

I have a related (i think) question:

Is it possible to set up CB to automatically generate Doxygen code, at the start of each source file? Such as:

/*
* main.c
* Copyright (C) Author Year <email>
*
* main.cpp is free software.
*
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License, as published by the Free Software
* Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* etc...
*
*/
Code::Blocks 10.05/ Mac OS X 10.6.4/GCC

Jenna

#10
Quote from: er on April 14, 2008, 03:27:19 AM
Hello,

I am a newcomer to CB.

I have a related (i think) question:

Is it possible to set up CB to automatically generate Doxygen code, at the start of each source file? Such as:

/*
* main.c
* Copyright (C) Author Year <email>
*
* main.cpp is free software.
*
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License, as published by the Free Software
* Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* etc...
*
*/


I think "Settings -> Editor... -> Default code" is what you look for.
But it seems to be only for C/C++ users.

Edit:
By the way I don't think it's related to the doxygen script plugin, even if you would use it to create "doxygen comments".


Ekinoks

Jomeggs, Thank you for this script ! :D

It is very easy to use and very effective ! ^^

THANKS !

jomeggs

#12
Quote from: Ekinoks on June 11, 2008, 05:19:07 PM
Jomeggs, Thank you for this script ! :D
You're welcome!

I've another one for WINDOWS users. It opens the generated chm-file automatically after generation.

rockstar1707

One question. I found this script really useful, but I have problems with the non-ASCII characters. The documentation that I write contains Eastern European characters, which are not shown correctly in generated documentation.

My source files are encoded in UTF-8, and the codepage in the browser is set to UTF-8 encoding as well. Is there something that I could/should change in that script, or this is some limitation of Doxygen/Code::Blocks?

jomeggs

Hi rockstar1701,

maybe, it is enough to comment out the following line in the script:

// sText +=  _T("INPUT_ENCODING         = ISO-8859-1\n");

If not, please take a look to the doxygen dokumentation wich tells, that at least the windows binary uses UTF8 too. You should find the related configuration options here:http://www.stack.nl/~dimitri/doxygen/config.html#cfg_dot_fontname

Please have an eye on everything what has to do with "FONT" or "ENCODING" for the project options. As far as I know, doxygen uses libiconv.libwich supports a lot of encodings: http://www.gnu.org/software/libiconv/

Hope, this helps...