Author Topic: Doxygen plugin  (Read 162401 times)

Offline Cryogen

  • Regular
  • ***
  • Posts: 260
Re: Doxygen plugin
« Reply #45 on: March 10, 2010, 06:28:46 am »
I'm hoping to get it into the contrib collection so please let me know if there is anything I need to do before that can happen e.g. setup, standards, build settings, etc.
There is:
- The project files need some clean-up (I did this already and can provide you with a patch).

Thanks, please do.

- The update files need some cleanup (do not create a "*.cbplugin" file as contrib plugin)

Yeah, that's just for me while I'm working on it. It's much easier to install a .cbplugin than going through the whole compile, exit, update, run routine every time I make a change. I can't debug directly as gdb fails. I'll remove it at the appropriate juncture. :-)

- It needs to be compilable under Linux using automake, so the "makefile.am's" are missing

About which I know nothing, I'm afraid.

- Do not include sdk_precomp.h directly, this is only correct for the core of C::B. Instead, include sdk.h

Fixed.

- I didn't verify the include statements of the plugin so far and whether they are correct in terms of PCH. However, here are the rules that need to apply:
http://wiki.codeblocks.org/index.php?title=Precompiled_headers

Oh good, ta, I was wondering about that. I'll look into it.

Cheers.

Offline Cryogen

  • Regular
  • ***
  • Posts: 260
Re: Doxygen plugin
« Reply #46 on: March 10, 2010, 07:24:29 am »
 Hi Guys,

Version 1.0.1 is now available. Changes:

-Fixed: Bug that slipped through preventing loading of some prefs.
Version 1.0.0:
-Added: Disable comment toolbar buttons and menu items when there are no editors open.
-Added: Changed the config system to use the project file and load and save at project open and close.
-Fixed: Bug in config. panel that allowed dependent warning checkboxes to be active when the master warnings one wasn't.

This version breaks compatibility with the configuration system prior to 1.0. you will just need to reset your preferences.

The change to per-project prefs is a significant change and improvement.

DoxyBlocks now handles multiple projects but it doesn't yet write documentation to discrete directories for each project. If you have multiple projects in the same directory, the docs will be written to the same doxygen folder, which will overwrite any that already exist of the same kind and mix the rest. This may be OK, depending on how you organise things. Document management for multiple projects in one directory will be forthcoming.

Multiple projects in the same workspace that reside in different directories should be handled as expected.

Cheers.

« Last Edit: March 11, 2010, 08:58:53 am by Cryogen »

Offline Cryogen

  • Regular
  • ***
  • Posts: 260
Re: Doxygen plugin
« Reply #47 on: March 10, 2010, 07:28:16 am »
Bug: if tabs w. sourcecode isn't open and you trying push "Extract documentation..." button, CB will crash.

Whoa doctor! That's not good. I've looked into this. In fact, the only button that does not crash C::B when there are no tabs open is the config. dialogue button. My code is never executed i.e. C::B crashes before it gets to my code. I can't trap it. I think that the config button may work because it uses a default plug-in function. Execution doesn't reach the first line of the function called by connect() to respond to the event. Morten, can you shed any light on this?

In the meantime the workaround is to ensure that you have at least one editor window open when running DoxyBlocks functions.

Morten, Jens, any help with this?

Thanks.


Offline Cryogen

  • Regular
  • ***
  • Posts: 260
Re: Doxygen plugin
« Reply #48 on: March 11, 2010, 08:56:31 am »

 Today's excitement  :D :

Released version 1.0.14 of DoxyBlocks
-Added: Precompiled headers for faster compilation.
-Fixed: I somehow lost the wxSmith block from the project file.
-Added: The ability to run a CHM on any OS, given the appropriate viewer. Windows still uses the OS viewer by default.
-Added: Jens' automake files and added the missing files.
-Updated: Improved and added to the documentation.

There is a Linux .cbplugin available for download again. Apologies for the absence thereof in recent releases. I'm still interested to hear whether anyone has actually been able to run it, either from the .cbplugin or by compiling from source, on Linux.

Cheers.

Offline Cryogen

  • Regular
  • ***
  • Posts: 260
Localisation
« Reply #49 on: March 11, 2010, 09:27:29 pm »
 Could someone with the know-how advise me about localising plug-ins, please? Is the instruction found in another thread:

 
Quote
Drop the .mo files into $SHARE/codeblocks/locale/lang_CODE  and Code::Blocks will use them.

still correct? I ask because that directory doesn't exist for me and there are no .mo files in my src tree but that may be because I have the English version.

Also, how are the plug-ins translated? Launchpad seems only to have the IDE, or are the plug-ins' text merged with that somehow? What about third-party plug-ins??

Thanks.
« Last Edit: March 11, 2010, 09:33:43 pm by Cryogen »

Offline codeur

  • Multiple posting newcomer
  • *
  • Posts: 113
    • Code::Blocks EDU-Portable
Re: Doxygen plugin
« Reply #50 on: March 11, 2010, 10:52:10 pm »

 Today's excitement  :D :

Released version 1.0.14 of DoxyBlocks
-...

I notice furious activity still going on SourceForge since, with version 15 in SVN.
Many thank.

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9473
Re: Localisation
« Reply #51 on: March 12, 2010, 09:23:14 am »
Quote
Drop the .mo files into $SHARE/codeblocks/locale/lang_CODE  and Code::Blocks will use them.
still correct?
Yes, that is correct. And yes: This directory does not exist in the nightlies.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: http://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: http://wiki.codeblocks.org/index.php?title=FAQ

Offline Cryogen

  • Regular
  • ***
  • Posts: 260
Re: Localisation
« Reply #52 on: March 12, 2010, 07:55:23 pm »
Quote
Drop the .mo files into $SHARE/codeblocks/locale/lang_CODE  and Code::Blocks will use them.
still correct?
Yes, that is correct. And yes: This directory does not exist in the nightlies.

OK, thanks. Or the SVN repo, apparently, where I would have thought you'd expect to see the directory and a usage note, or something, no? I've never used a nightly build.

Could I also ask that you go back and answer the various other questions that I'm awaiting answers for? I know you've probably got 50 other things to think about here but I really need some answers.

E.g.
The whole Linux plug-in thing.
The problem with the toolbar crashing C::B when no editors are open.
Your project patch.
The other localisation questions.

Many thanks.

Offline Cryogen

  • Regular
  • ***
  • Posts: 260
Re: Doxygen plugin
« Reply #53 on: March 16, 2010, 08:04:01 pm »

 Hi Guys,

Released version 1.1.79 of DoxyBlocks
-Added: The toolbar and menu are now disabled when all projects are closed and re-enabled when a project is opened.
-Fixed: The wxSmith block was being lost from the .cbp when saving during project closure. Reworked how config is saved.

I also spent some time looking into automating the documentation of a file and found that it was not practical as things stand. There is currently no way to differentiate adequately between a function declaration and a function call, or stop it trying to document every macro declaration or other entry that looks like a documentable entity in the file. Better regexes would go some way towards improving things but it's always going to be a mixed bag. Since, other than when retrofitting existing code, we are encouraging people to document code as it's written, I don't see this as a big issue and that's where I'm going to leave it for now.

Offline codeur

  • Multiple posting newcomer
  • *
  • Posts: 113
    • Code::Blocks EDU-Portable
Re: Doxygen plugin
« Reply #54 on: March 16, 2010, 08:32:30 pm »
Hi Guys,
... automating the documentation of a file and found that it was not practical as things stand. ...

Agreed. I use CB in an educational setting and would look pretty dimly at per-file documentation automation. It would mess up already written function banner comments and would encourage the poor practice of "commenting when all is done". I am glad you don't consider it anymore.

Offline codeur

  • Multiple posting newcomer
  • *
  • Posts: 113
    • Code::Blocks EDU-Portable
Re: Doxygen plugin
« Reply #55 on: March 16, 2010, 11:10:21 pm »
...
-Added: The toolbar and menu are now disabled when all projects are closed and re-enabled when a project is opened.

There is something wrong with this (in my own Windows built that completes with 0 error 0 warning, I have not tried your .cbplugin). The menu and toolbar are disabled (greyed) when I close projects, but they are enabled when CB starts next on the "start here" screen (and no project loaded).  CB then dies some time afterwards. I have to uninstall doxyblocks to retrieve normal behaviour. The previous version was not doing this even though it would somehow kill CB if you tried to configure doxyblocks with no project open.

Offline LordCB

  • Multiple posting newcomer
  • *
  • Posts: 79
Re: Doxygen plugin
« Reply #56 on: March 17, 2010, 01:32:05 am »
I think I have forgotten how to install a plugin. I cant install this plugin

Offline Cryogen

  • Regular
  • ***
  • Posts: 260
Re: Doxygen plugin
« Reply #57 on: March 17, 2010, 04:24:05 am »
I notice furious activity still going on SourceForge since, with version 15 in SVN.
Many thank.

No problem. Glad you're still interested.  :P

Offline Cryogen

  • Regular
  • ***
  • Posts: 260
Re: Doxygen plugin
« Reply #58 on: March 17, 2010, 04:32:13 am »
Hi Guys,
... automating the documentation of a file and found that it was not practical as things stand. ...

Agreed. I use CB in an educational setting and would look pretty dimly at per-file documentation automation. It would mess up already written function banner comments and would encourage the poor practice of "commenting when all is done". I am glad you don't consider it anymore.

Yeah, you make a good point. As things are it would insert comments before the function, which would probably be between the function and any existing comments but, yes, I did think about the difficulty of detecting things like that and how much effort would be required to get even a half-way decent result. Assuming that even that could be achieved. Thanks for the comment.

Cheers,

  Cryo.

Offline Cryogen

  • Regular
  • ***
  • Posts: 260
Re: Doxygen plugin
« Reply #59 on: March 17, 2010, 04:34:22 am »
I think I have forgotten how to install a plugin. I cant install this plugin

Thanks for your interest. You can try Plugins\Manage plugins... and install the .cbplugin. Failing that I'm going to need some decent details.  :wink:

Cheers.