On Tue, 27 Jul 2010 16:51:54 -1000, Victor Sardina <[email protected]> wrote: > 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. >
Yes, I know it's a huge limitation. It actually works on local variables in source files but that's pretty much useless. > 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. > Lots of people do so and I understand the reason(s) but I don't for other reasons, so I indeed started with making it working with header files (and that's where the code of Nicolas from his cpphelper plugin was really helpful, hence the credit I gave him). I wanted to implement it for source files as well as you can see in the options page but the tick box really isn't used. I liked that idea as well: http://lists.trolltech.com/pipermail/qt-creator/2010-February/006060.html > 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... > Indeed, and with the beautiful documentation we'll get, there will be no more excuses ;) Didn't check for a while the progress on this side but I will. > 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? > Didn't commit anything yet and didn't make any change to the code anyway. But will have to for the 2.1 branch as it doesn't compile against current git. > 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. > The main problem I see would be to detect and leave unchanged or update existing documentation blocks, not a really simple task. I guess we can call that a (partially) solved issue. A Mac binary would be sweet as a direct download if you can send it to me :) Cheers, Kevin > 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 _______________________________________________ Qt-creator mailing list [email protected] http://lists.trolltech.com/mailman/listinfo/qt-creator
