[Qt-creator] Qt Creator Community
Victor Sardina
Victor.Sardina at noaa.gov
Wed Jul 28 04:51:54 CEST 2010
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
> <Victor.Sardina at noaa.gov> 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
>>> <Victor.Sardina at noaa.gov> 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
>>>>>> Qt-creator at trolltech.com
>>>>>> http://lists.trolltech.com/mailman/listinfo/qt-creator
>>>>>>
>>>>>
>>>
>>> _______________________________________________
>>> Qt-creator mailing list
>>> Qt-creator at trolltech.com
>>> http://lists.trolltech.com/mailman/listinfo/qt-creator
>
> _______________________________________________
> Qt-creator mailing list
> Qt-creator at trolltech.com
> http://lists.trolltech.com/mailman/listinfo/qt-creator
-------------- next part --------------
A non-text attachment was scrubbed...
Name: victor_sardina.vcf
Type: text/x-vcard
Size: 577 bytes
Desc: not available
Url : http://lists.qt-project.org/pipermail/qt-creator-old/attachments/20100727/0ac5c61c/attachment.vcf
More information about the Qt-creator-old
mailing list