[ROOT] ROOT GUI and Qt discussion.

From: KOSU_FOKIN@garbo.lucas.lu.se
Date: Wed Nov 08 2000 - 22:40:38 MET


Hi Fons and rooters,

>   I don't see what is there in my answer to disappoint you. 

>So like I said before, yes it would be nice to have a fully functional
>Qt interface and we fully support that, but we don't have the time to
>make one ourselves.

The above is what makes me disappointed. Perhaps I do not fully understand
what you mean as "support" and "development" but as far as I see 
"development" means that I can have expectataions that the work will
be done and "support" means that if people who started the development
say "no time for that", well, that's life, nobody cares. 

The problem with the latter approach is that I have to plan my own development 
and if I would like to rewrite my root program with Qt support, I have to be 
sure I will not end up in the corner having CINT not functioning or alike.

>Except for two or three widgets (like QLCDNumber and QSpinBox) the ROOT GUI
>supports the same widget set as Qt

Unfortunately this is not quite true. We miss a lot of important widgets such as 
table, help system, html browser, MDI support and some others like whatsthis, 
color/font dialogs, validators, gif animation, etc. etc. Also Qt widgets like toolbar, 
etc. are more developed than native root widgets. Qt has better keyboard support. 
Moreover GUI and it is very concept is developing and evolving matter.
I do not think root gui developers (Fons) will ever have enough time
to be on the edge.

>   Besides making new developments, Rene and I have to support a
>large number of users and collaborations. Our priority is to have a
>very powerful data analysis system (advanced very efficient object store,
>data analysis algorithms, vizualization, parallel processing, distributed
>data access, etc.).

That's why I suggest to concentrate on interface to one of the well developed
GUI libs and do not spend time (or much time) for reinventing the wheel.

> Qt is quite nice but not a practical solution for
>ROOT Windows users. In that respect an interface to gtk might be better
>since it supports also Win32. From this fact, that people might want
>gtk support, it is clear that we cannot and will not provide all these
>interfaces ourselves. Just too much work for non-core functionality.

Qt is a _very_ good solution for Windows users. A corporate user like a 
laboratory can easily afford 1.500$. If not - switch to Linux. It looks 
like we all forget that everybody should pay for Win and MSword, 
and not $5 for a pirate CD as we always do in Russia :) 

>Maybe we should do like the TrollTech and make the ROOT Win32 version of ROOT
>commercial? Like everything else in the Win world.

Yes. And use this money to support further development to let the core root
team make core things and let other programmers make less important 
(or intelligent) job.

>From this fact, that people might want
>gtk support, it is clear that we cannot and will not provide all these
>interfaces ourselves. Just too much work for non-core functionality.
>If people want those interfaces, they can make them and, if properly
>written and documented, we will be more than happy to adopt and maintain
>them.

This should be a "political" decision. We _need_ a working interface to
one of the existing professional GUI libs whatever it is, Qt or gtk. 
We already have quite good native root gui to support small scientific 
applications but I hardly believe we will ever have the same quality 
widgets as Qt, which are needed for large applications, whatever they
are, daq or finance. In fact even if I wish Fons to write a TGTable widget 
which I need desperately, I would be more happy if Fons writes PROOF. 
TGTable will never make you the best in data analysis business but PROOF 
is a great step.

> like I told to Denis when he announced his ROQT to make the interface
>complete we should be able to register to the Qt event loop any
>event handlers for file descriptors (the keyboard is on fd stdin)
>and any sync and async timer handlers. The file descriptors should be
>easy (which will make TRint work). For the timers there should also be 
>not too much difficulty (and anyway we can always hack it since we
>have the source of Qt).   

Well, this is again about "development" and "support". If you announce that
you are going to make an interface to Qt using Denis development, I would
expect it will be done. If you are going to simply include what Denis does,
I am afraid (I wish to be mistaken!) it will take too much time to get a
complete interface
.
Also ... You know all those places in root much better than any one of us,
so that you can incorporate the changes above much faster.

>Since three years we don't have anymore a core Win32 programmer in the
>team. This is the main cause that we don't have our GUI on Win32 and that
>we stay with our obsolete and clumsy attribute panels. While we have
>many users on Windows we have very, very few Win32 contributors.

I do not think you will get many win32 contributors simply because not
many people know low level win32 programming and, most likely, because
nobody wants to do what is already done by others, like gui for win32.
Win32 is commercial system, programs on win32 are commercial ones,
so let other commercial people do shitty work porting something for
mustdie95 and let them get money for that! Let's develop better
data processing instead! Personally I am interested to contribute with
neural nets and optimization things but not spend my time around windows
API calls!

>So like I said before, yes it would be nice to have a fully functional
>Qt interface and we fully support that, but we don't have the time to
>make one ourselves.

Pity and disappoinitng :)


Regards,
Anton

PS. about licensing...

>> qroot application. Or buy a license. In fact I do not understand
>> all this noise around Qt licenses.

>You should read a little bit about that to understand.        

Well, for those idiots like I am Qt wrote quite nice FAQ about its licenses. 

If you prepare ROOT to work with external (Qt) event loop but do not call
anything from Qt lib, you do not need to bother about any license.
As far as you start using Qt lib, i.e. use Devis qrootapplication, etc.
You have to distribute the qt code under GPL. For Win license go to
www.trolltech.com, that's quite different issue.



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:37 MET