[Qt-creator] Qt Creator Community
Victor Sardina
Victor.Sardina at noaa.gov
Thu Jul 29 08:55:41 CEST 2010
Eike:
I just compiled the latest QtCreator (2.1.0 branch), and then in turn
compiled Kevin's DoxygenPlugin. The plugin works with both, the debug
and release versions. Then I downloaded the latest QtCreator binary
release for Mach from your website and tested the plugin: it doesn't
work. Do you have any insight on the reasons behind the incompatibility?
Thank you in advance,
Victor
On 7/27/10 9:42 PM, Victor Sardina wrote:
> Kevin:
>
> No problem, I will send you the binary Mac file to your email address
> shortly, together with the specs file as well. You can work out the
> installation path inside the "Qt Creator.app" bundle by looking at the
> project file I sent in a previous email: not really complicated. The
> installation path ends up as: "Qt Creator.app/Contents/PlugIns/Kofee".
>
> Greetings,
> Victor
>
> On 7/27/10 5:34 PM, Kevin Tanguy wrote:
>> On Tue, 27 Jul 2010 16:51:54 -1000, Victor Sardina
>> <Victor.Sardina at noaa.gov> 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
>>>> <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
>>
>> _______________________________________________
>> 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/20100728/0ab28cd8/attachment.vcf
More information about the Qt-creator-old
mailing list