Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] Qt Support?

Hi Doug,

Sorry for the delayed response.  I've been swamped with other stuff and trying to free up some time to get back into this issue.  Maybe you're already done by now.  :)

We've integrated the Qt Eclipse support from Trolltech in our Carbide products for some time now.  We had to do some improvements initially, and our focus currently is 100% Symbian, so all project creation and build is geared towards Qt on Symbian only.

Developing for Symbian requires you to use the Symbian emulator, simulator or on-device for debugging.  The first two take some time to boot since they're basically doing everything a real phone would be doing.  This is overkill for developing your Qt UI, so for this phase it's nicer to just develop a native Qt app on your development machine (we currently only support Windows but are looking at Linux as well).  So we'd like to be able to allow users to build/debug Win32 Qt apps (and Linux later) within our products.  We were thinking of MinGW + EDC.  There is also a Qt Simulator which I don't have a ton of info on.  I believe it's basically native code which is skinned with mobile device and supporting the new Qt Mobility API's.

We've had the intent of improving or replacing the existing Qt Eclipse integration and working with CDT in doing so.  We actually have some time allocated for this in the coming weeks.  We haven't had the chance yet to really breakdown the existing support to determine if it's worth using as a base or just starting from scratch.  There are some nice things in there, but it all needs improvement, and outside of the GUI tools, there's not really that much to it.  CDT does most of the heavy lifting already!  :)

If I were to start adding Qt support to CDT today, I'd probably do the following:

- Create Qt project templates for use with the CDT project wizard (I assume that uses the template engine?).  It would be nice to have several different types of Qt project templates.  The existing Qt Eclipse support has 4 types, but I assume Creator has many more.

- Create a qmake builder and error parser.  I guess you're right that the make file is setup to make sure qmake is called first, but there's a bug in the Symbian makespec so it doesn't actually work, so I never noticed it before.  But even if you just call it directly once, you'd still need a decent qmake error parser.  Not only for regular project builds but also at project creation time when you initially run qmake.  We've had requests from users to be able to customize the arguments passed to qmake as well, so perhaps its own builder isn't a bad idea.

- Allow Qt project build configs to target different Qt installs and make specs.  Users may have several Qt SDK's installed, and they may want to build for different make specs in each SDK.  They should be able to customize the build configs at launch creation time manage them from project properties where they can control both the SDK (e.g. qmake location) and make spec (e.g. symbian-abld, symbian-raptor, win32-g++, etc)


I wouldn't worry about a .pro file editor.  Trolltech tried putting a graphical editor on top of it before and it was lousy.  But it was lousy because the language for .pro files is so complicated.  Even Qt Creator just has a basic text editor.  They do have syntax coloring which is nice.  So does the existing Qt Eclipse integration BTW.  That would be pretty easy to add though, just not a real high priority IMO.

A nice to have would be a .pro file listener which (optionally) updates the .pro file to match changes made to the project from Eclipse (e.g. I add/rename/delete a source file).  The existing Qt Eclipse integration has this, but it would need some work.

Another nice to have would be to create Qt file templates like form, resource, etc.


One thing we've been struggling with is how to support generic Qt development in Carbide, but also take advantage of the advanced Symbian build capabilities our custom builder has to offer.  Our users might want one project with build configs for Win32 desktop, Qt Simulator, and Symbian Debug/Release.  This can be done now, but not with mixing the regular CDT builder with ours for different build configs of the same project.  They'd have to have only the CDT builder and therefore nothing fancy for the Symbian build configs.  Any thoughts on this?


Finally, the Qt GUI plugins from the existing Qt Eclipse integration is actually the same as in Creator.  There is very little Eclipse code for these views.  I don't know the mechanics of it, but the content of the views is basically pulled from dll's which are created by Trolltech and shared by Creator and the Qt Eclipse integration.  It could use some cleanup as well, but if we can get binary drops of these dll's periodically it would be pretty easy to provide this support from CDT.  The trick would be auto-registering the COM plugins that are currently registered by an installer.  I'm assuming there's some way of doing this from Java, or perhaps using p2 when installing the feature?


How do you envision this will be structured?  An optional/installable CDT feature, e.g. org.eclipse.cdt.qt?


Thanks,
Warren



>-----Original Message-----
>From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx]
>On Behalf Of ext Doug Schaefer
>Sent: Wednesday, June 16, 2010 1:42 PM
>To: CDT General developers list.
>Subject: Re: [cdt-dev] Qt Support?
>
>BTW, there are a lot of issues with that plug-in which leads me to
>ignore it and look for easy ways to reuse as much in CDT has we can.
>
>On Wed, Jun 16, 2010 at 2:30 PM, Marc-Andre Laperle
><malaperle@xxxxxxxxxxxxx> wrote:
>> I think that's already in the Qt Eclipse Integration plug-in, no?
>>
>> http://qt.nokia.com/developer/eclipse-integration/
>>
>> Marc-Andre
>>
>> On 16/06/2010 2:28 PM, Doug Schaefer wrote:
>>>
>>> Actually, as I get more into Qt, you don't really need an additional
>>> builder. The makefile ensure it keeps itself up to date.
>>>
>>> So all you really need then is a template to generate the .pro and
>run
>>> the initial qmake. This is getting very close to what I did for
>>> Android. I can start with that if there are no objections.
>>>
>>> Doug
>>>
>>> On Wed, Jun 16, 2010 at 1:13 PM, Doug Schaefer<cdtdoug@xxxxxxxxx>
> wrote:
>>>
>>>>
>>>> Cool. The things I've quickly thought of is a New Qt Project wizard
>to
>>>> simplify and control project creation, a qmake builder that runs
>qmake
>>>> when the project file has changed, and potentially a nicer qmake
>>>> project file editor. And if you want to go the extra mile, some way
>to
>>>> generate the list of source files that can be included in the
>project
>>>> file.
>>>>
>>>> I think the UI designer could be left as an external tool, but if
>you
>>>> guys have a lot of resources to put into that, you could integrate
>it,
>>>> but then you'd always be playing catchup with the already pretty
>>>> decent Qt Designer.
>>>>
>>>> I'm looking at how Wascana can pick up the Qt install and set the
>>>> paths correctly to launch qmake and find the DLLs at debug time for
>>>> Windows. That shouldn't be a problem on Linux, and I'm not sure of
>>>> Mac. Qt embedded might be different though.
>>>>
>>>> Anyway, that's just my 2 cents. Look forward to seeing the community
>>>> help on this.
>>>>
>>>> On Wed, Jun 16, 2010 at 12:55 PM,<ken.ryall@xxxxxxxxx>  wrote:
>>>>
>>>>>
>>>>> Doug,
>>>>>
>>>>> The short answer is yes we are working on better Qt support and yes
>you
>>>>> should get started because we want it to be a CDT community effort
>and
>>>>> we
>>>>> need your help.
>>>>>
>>>>> I'll let Warren give you a more detailed response since he's been
>>>>> thinking
>>>>> about exactly what to do.
>>>>>
>>>>> Regards - Ken
>>>>>
>>>>>
>>>>>>
>>>>>> From: Schaefer Doug<cdtdoug@xxxxxxxxx>
>>>>>> Reply-To: "CDT General developers list."<cdt-dev@xxxxxxxxxxx>
>>>>>> Date: Wed, 16 Jun 2010 17:49:00 +0200
>>>>>> To: "CDT General developers list."<cdt-dev@xxxxxxxxxxx>
>>>>>> Subject: [cdt-dev] Qt Support?
>>>>>>
>>>>>> Qt flew by my vision again today and distracted me. Having got the
>>>>>> Android NDK build system integrated with CDT and enjoying the
>>>>>> experience. I come back to Qt and we should do the same there.
>Since
>>>>>> Qt is cross platform, it probably fits better under the CDT
>umbrella.
>>>>>>
>>>>>> So, question mainly to the Nokia guys, is anyone working on better
>Qt
>>>>>> support for CDT? Or should I get started.
>>>>>>
>>>>>> Doug.
>>>>>> _______________________________________________
>>>>>> cdt-dev mailing list
>>>>>> cdt-dev@xxxxxxxxxxx
>>>>>> https://dev.eclipse.org/mailman/listinfo/cdt-dev
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> cdt-dev mailing list
>>>>> cdt-dev@xxxxxxxxxxx
>>>>> https://dev.eclipse.org/mailman/listinfo/cdt-dev
>>>>>
>>>>>
>>>>
>>>>
>>>
>>> _______________________________________________
>>> cdt-dev mailing list
>>> cdt-dev@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/cdt-dev
>>>
>>
>> _______________________________________________
>> cdt-dev mailing list
>> cdt-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/cdt-dev
>>
>_______________________________________________
>cdt-dev mailing list
>cdt-dev@xxxxxxxxxxx
>https://dev.eclipse.org/mailman/listinfo/cdt-dev


Back to the top