Kevin: Thank you for the hint above the usage of the plugin: it works as intended, but only on the header files, and if you place the cursor on a function or object declaration.
As a rule I place the documentation of the code not in the header file, but inside the implementation file. I don't know if there exist some sort of convention about it based on some better supported rationale. I simply place comments in the implementation files, among other reasons, to keep the header files as clean and lean as possible, as anyone using a class can get an idea of the general layout of the class that way. This of course turns into a matter of personal preference. You might call the code "ugly", but it works, does what you intended it to do, and can get much better with some work. Nobody writes a stellar application as a first crack at it, unless they have done something similar in the past, which makes it a de facto non-first-crack anyway... The doxygen plugin actually works as you explained: as long as you place the cursor on a function declaration et al. inside the header file. I obviously needed some rest and some mojitos to clear my mind...;-) I haven't tried the latest changes you made to the code base. Did you update the svn repo as yet? I think that having a menu option to generate all the doxygen tags at once turns quite useful. Of course, for that you have to write the function to actually parse the whole header/source file first. I haven't actually perused the sources as yet, but I started to get curious... :-) Greetings, Victor On 7/27/10 9:57 AM, Kevin Tanguy wrote: > On Mon, 26 Jul 2010 20:37:43 -1000, Victor Sardina > <[email protected]> wrote: >> Hi Kevin: >> >> My apologies for not replying a little bit sooner. >> >> You have a point: I did missed your email inside the specs file: they >> call that either "tunel vision", or "need of a break"...:-( >> > > No problem², we should all rest on a beach drinking a mojito instead of > working anyway. > >> To get the plugin to compile and show in QtCreator I did the following: >> >> 1) Modified the project (.pro) file to reflect the location of both, the >> QtCreator sources and the compiled application itself, as you explain at >> the Trac website. As the name of the compiled application contains a >> space, you have to escape it inside the .pro file, namely "Qt\\ >> Creator.app/Contents/..." (see the modified project file enclosed below). >> >> 2) Modified the destination directory (DESTDIR) as well to define where >> to place the compiled plugin inside the application bundle >> >> 3) Replaced all instances of "1.3.84" by "2.0.80" inside the >> Doxygen.pluginspec file. Before doing this QtCreator fails to load the >> plugin and lists all dependencies on 1.3.84 versions as missing (obvious). >> >> As this turns rather convoluted to explain, I take the liberty of >> encloning the modified project file at the end of this email. Of course, >> somebody else's settings should reflect the location of their source >> files and the like, but this provides at least a template of the needed >> changes to at least reach the "loaded plugin" stage on a Mac. With the >> settings below the plugin files get correctly copied into the "Qt >> Creator.app" application bundle without a glitch. >> > > Thanks for that, will fix the pro file to handle macx and x11 > differently instead of just a generic unix handling. > >> I have a custom installation of Qt-4.7.0 (git branch 4.7) at >> /usr/local/Trolltech/Qt-4.7.0, and QtCreator compiled from the git >> repository sources (branch 2.0) as of two or three days ago. >> > > Just did the same, Qt git branch 4.7 from today and QtCreator git > branch 2.0 from today (2.0.81) and here it works as expected with rev22 > :-/ > (One of these times you hope something doesn't work for you as well... > awkward feeling) > So I don't see the problem as of now, it puzzles me. > >> I did try to run the plugin on the header files themselves, but to no >> avail: it doesn't appear to have any effect whatsoever. I guess I still >> missed something, but that probably reaches my incompetence level... >> > > Is the cursor on a class/method/function/var/enum definition when you > run the "create documentation" action? > I wanted to add a method to document everything in a file but didn't do > it yet. > >> I hope this helps to get the plugin working for as many people as >> possible in the future. I know it has a tag of "low priority", but I >> assure you that having to generate all the doxygen tags et al by hand >> turns into a royal pain in your backside after a while. I also believe >> that you have done a pretty good job already. I think you should give a >> little more credit yourself: I surely appreciate it. >> > > No, really, the code is ugly, but thanks anyway. > >> Your plugin, together with the astyle plugin turn into two of the things >> I would really like to get working across the board, meaning on Mac, >> Linux, and Mac (I end up having to work with all of them NIXes sooner or >> later). Now that I have a working Mac again (an upgrade to Snow Leopard >> a while back left in pretty bad shape (no backup of the backup)), I >> would like to try to get these tools working. >> > > I'll try to find and idea tonight about that and/or send you a modified > source file to help debugging that. > > Sorry not to be of much help yet. > > Kevin > >> Thank you for your reply, >> Victor >> >> #==Beginning of project file modified for Mac========================= >> TEMPLATE = lib >> TARGET = Doxygen >> DEFINES += DOXYGEN_LIBRARY >> PROVIDER = Kofee >> >> # Define QTC_SOURCE_DIR to the location of Qt Creator sources (i.e: >> ~/dev/qtcreator/qt-creator-src/) >> unix:QTC_SOURCE_DIR = /Users/vs/Downloads/Qt/qt-creator/ >> win32:QTC_SOURCE_DIR = C:/Qt/qt-creator-20100421/ >> IDE_SOURCE_TREE = $$QTC_SOURCE_DIR >> >> # Define QTC_BUILD_DIR to the location of Qt Creator build dir for the >> plugin (i.e ~/dev/qtcreator-doxygen/) >> unix:QTC_BUILD_DIR = /Users/vs/Downloads/Qt/qtcreatorbuild/ >> win32:QTC_BUILD_DIR = C:/Qt/qtcreator-doxygen/ >> IDE_BUILD_TREE = $$QTC_BUILD_DIR >> >> # Define DESTDIR to the local location of the installation of Qt creator >> (if local user) >> # or the system location if building as root >> DESTDIR = /Users/vs/Downloads/Qt/qtcreatorbuild/bin/Qt\\ >> Creator.app/Contents/PlugIns/$$(PROVIDER) >> unix:LIBS += -L/Users/vs/Downloads/Qt/qtcreatorbuild/src/libs \ >> -L/Users/vs/Downloads/Qt/qtcreatorbuild/bin/Qt\\ >> Creator.app/Contents/PlugIns/Nokia/ \ >> -L/usr/local/Trolltech/Qt-4.7.0/lib >> win32:LIBS += -LC:/Qt/qt-20100421/lib/ \ >> -LC:/Qt/qtcreator-build-20100421/lib/qtcreator/plugins/Nokia/ \ >> -LC:/Qt/qtcreator-build-20100421/lib/qtcreator/ >> include( $$IDE_SOURCE_TREE/src/qtcreatorplugin.pri ) >> include( $$IDE_SOURCE_TREE/src/plugins/coreplugin/coreplugin.pri ) >> include( $$IDE_SOURCE_TREE/src/plugins/texteditor/texteditor.pri ) >> include( $$IDE_SOURCE_TREE/src/plugins/cppeditor/cppeditor.pri ) >> HEADERS += doxygenplugin.h \ >> doxygen_global.h \ >> doxygenconstants.h \ >> doxygen.h \ >> doxygensettings.h \ >> doxygensettingswidget.h \ >> doxygensettingsstruct.h >> SOURCES += doxygenplugin.cpp \ >> doxygen.cpp \ >> doxygensettings.cpp \ >> doxygensettingswidget.cpp \ >> doxygensettingsstruct.cpp >> FORMS += doxygensettingswidget.ui >> OTHER_FILES += Doxygen.pluginspec >> INCLUDEPATH += $$QTC_SOURCE_DIR/src \ >> $$QTC_SOURCE_DIR/src/plugins \ >> $$QTC_SOURCE_DIR/src/libs \ >> $$QTC_SOURCE_DIR/src/libs/cplusplus \ >> $$QTC_SOURCE_DIR/src/libs/extensionsystem \ >> $$QTC_SOURCE_DIR/src/libs/utils \ >> $$QTC_SOURCE_DIR/src/shared \ >> $$QTC_SOURCE_DIR/src/shared/cplusplus >> >> message(QTC_SOURCE_DIR = $$QTC_SOURCE_DIR) >> message(IDE_SOURCE_TREE = $$IDE_SOURCE_TREE) >> message(QTC_BUILD_DIR = $$QTC_BUILD_DIR) >> message(IDE_BUILD_TREE = $$IDE_BUILD_TREE) >> message(DESTDIR = $$DESTDIR) >> message(Good luck with make... :-D) >> #==End of project file============================================ >> >> On 7/26/10 6:05 PM, Kevin Tanguy wrote: >>> On Mon, 26 Jul 2010 17:18:53 -1000, Victor Sardina >>> <[email protected]> wrote: >>>> Nicolas: >>>> >>>> I have some feedback on the Doxygen plugin, but couldn't find any way to >>>> contact Kofee. The project website at Trac doesn't list any obvious way >>>> to send him feed back. I send this using your email as starter simply >>>> because you mention Kofee in it, and also because Kofee mentions you as >>>> the "instigator" in the projects website :-). >>>> >>> >>> Hi Victor, >>> >>> Now you know how to contact me by email (or fill a bug). >>> >>>> I tried the Doxygen plugin on a Mac, after going around a couple of >>>> wrinkles with some setttings. For example, the plugin specs file lists >>>> dependencies on the 1.3 versions of several modules, when it should list >>>> "2.0.80". QtCreator finally recognized the plugin and gave it the green >>>> light (literally), and I can even use the Doxygen tab in the >>>> Preferences. I can even launch Doxygen from the added menu option after >>>> setting the path to the doxygen executable. >>>> >>> >>> You are the first person I'm aware of who compiled it for Mac, I'd like >>> to know what you've done to make it happen as I can't test it myself and >>> have very few time to bother people with that (btw my email is in the >>> pluginspec file). A diff or a simple listing of the modifications you've >>> done would be great. >>> >>>> Unfortunately, I cannot generated the Doxygen backbone tags using the >>>> plugin, and maybe making the plugin actually work requires some extra >>>> modifications other than replacement of 1.3 by 2.0.80 in the specs file? >>>> >>> >>> Are you trying to generate the tags in a header or a source file? >>> (hint: it's not supposed to work in a source file at the moment) >>> I'll try tomorrow to compile it with a recent Qt and creator from git >>> and see how it goes here. I should find where the problem lies quickly. >>> >>>> In other words, all works but the main thing that the plugin should do. >>>> >>> >>> Unfortunately it's quite a quick hack that I've done in a hurry and >>> shared in the hope it would be useful to others and could be enhanced >>> this way but real life really doesn't make it easy to maintain it as >>> qtcreator development itself is on steroids. >>> >>> Cheers >>> >>> Kevin >>> >>>> Victor >>>> >>>> On 3/7/10 7:59 AM, Nicolas Arnaud-Cormos wrote: >>>>> On Friday 05 March 2010 12:10:41 Peter Kümmel wrote: >>>>>> As Qt Creater beeing 'only' a plugin-collection, >>>>>> is there a overview where all Nokia and 3rd-party >>>>>> plugins are listet and described? >>>>> >>>>> Not that I know. I know only 3 3rd party plugins: >>>>> I know at least 3 3rd party plugins: >>>>> * CppSupport, plugin for C++ Class View, from visual fc: >>>>> http://code.google.com/p/visualfc/downloads/list >>>>> * Doxygen, add doxygen tags, from kofee: >>>>> http://dev.kofee.org/QtCreator-Doxygen/ >>>>> * CppHelper (add create definition action) and Macro (create/save/execute >>>>> macros), from me: >>>>> http://gitorious.org/creator-plugins >>>>> >>>>> That would be nice to have them somewhere. >>>>> >>>>> >>>>>> Also, is there a wiki which could be used as entry point >>>>>> for starting developing plugins, with documentations, >>>>>> example plugins, links to other howtos, and so on? >>>>> >>>>> Not that I know, you already have some documentation in the code you can >>>>> generate (doxygen, maybe qdoc3). >>>>> There's an excellent document written by Prashanth: >>>>> http://prashanthudupa.livejournal.com/44069.html >>>>> It gives you all you the information you need to start your own plugin. >>>>> Also I >>>>> had some troubles to create a plugin that build outside the qt creator src >>>>> directory, you can get mine and copy whatever you need. >>>>> >>>>> >>>>>> When the intension of Qt Creator is to also create a >>>>>> community around the creater like there is around Eclipse >>>>>> then Nokia should spend some resources to evangelize >>>>>> and support such a community. >>>>> >>>>> I would love too, but don't forget that Qt Creator is young (a little more >>>>> than one year now). For the moment, they are trying to make it awesome >>>>> for Qt >>>>> development, and working hard on the Qt Quick integration and also >>>>> maemo/symbian/whatever new plateform needed by Nokia. >>>>> At least that's what I'm understanding from an outside pov. >>>>> >>>>> But maybe it's at the community to create something, and not the other way >>>>> around. I don't usually go visit Qt Centre, but they already have a wiki >>>>> and a >>>>> sub-forum for Qt tools (including Qt Creator). >>>>> At Qtfr.org, we already have a sub-forum specific to Qt Creator. >>>>> >>>>> As a plugin developer, I would also love to see a "plugin builder" tools >>>>> for >>>>> Qt SDK. It's hard to create binaries for our plugins for a specific SDK (I >>>>> don't have mac, I don't use any SDK, and on Windows you need VS2008 I >>>>> think). >>>>> >>>>> Hope they'll have some time after Qt 4.7 to work on the community >>>>> building ;) >>>>> >>>>> Cheers, >>>>> Nicolas >>>>> >>>>>> (No, the gitorious wiki is not enough.) >>>>>> >>>>>> Peter >>>>>> >>>>>> _______________________________________________ >>>>>> Qt-creator mailing list >>>>>> [email protected] >>>>>> http://lists.trolltech.com/mailman/listinfo/qt-creator >>>>>> >>>>> >>> >>> _______________________________________________ >>> Qt-creator mailing list >>> [email protected] >>> http://lists.trolltech.com/mailman/listinfo/qt-creator > > _______________________________________________ > Qt-creator mailing list > [email protected] > http://lists.trolltech.com/mailman/listinfo/qt-creator
<<attachment: victor_sardina.vcf>>
_______________________________________________ Qt-creator mailing list [email protected] http://lists.trolltech.com/mailman/listinfo/qt-creator
