Hello All, First, many thanks for the detailed answers from Rene, Fons and Valeri. One thing is still not quite clear. What I would like to do is to install the root win32gdk version from source code. If I install from the standard source tar file, I will get the "old" WIN32 API, correct? I see binaries for the win32gdk version, but can I build this version myself from source, and if so, how? Further, just to make sure I Fons' response, at some point in the not-too-distant future, the plan is for the win32gdk version to become the standard version -- for both Unix and Windows?. With thanks again for the information, James On Sat, 10 May 2003, Faine, Valeri wrote: > Hello folks, > > It seems to me I have to clarify a few extra things. > > Rene mentioned two implementations of TVirtualX in a row. > > However I've to say the goals of the projects are completely > different: > > 1. win32gdk (started 3 years ago, correct me if I am wrong) > is to replace the existent implementation of TVirtualX class > for Windows based on the WIN32 API with another implementation > based > on win32gdk > (see: http://root.cern.ch/root/win32progress/Win32GUI.html ) > > One needed this because the original implementation based on WIN32 > API > was written before any ROOT GUI class emerged. As result some > methods > of TVirtualX interface introduced later got no implementation for > Windows and the ROOT GUI TG classes were left with no low-level > support > on Windows platform. There were two ways to do that. > First was to complete the existent WIN32 API based code and another > one was to do everything from scratch. The second approach was > chosen. > > ----------- > The goal of the project is to allow the Windows user > to use ROOT TG classes to build GUI applications. > ----------- > > The approach still requires TWO separate implementations of > TVirtualX > classes for WIN32 and X11. Any prospected platform, one will want > to port ROOT to, requires the separate implementation (maintains) > also. > > 2. "Qt project" was started 1.2 year ago. > ----------- > The main goal is to develop a plug-in DLL/ share libraries those > to allow ROOT user to use non-ROOT Qt-provided external widgets. > > The idea was to provide a capability to switch from the > "standard implementation" to Qt with no recompilation, > and no change of the ROOT and the end-user code. > ----------- > (See: http://root.bnl.gov/QtRoot/QtRoot.html#switch > http://root.bnl.gov/QtRoot/QtRoot.html#publications ) > > The concrete target was the Event Display package for STAR > experiment. > > Its primary target platform was very UNIX (not Windows) > > What about WIN32. At the same time, thanks Qt cross platform > implementation, the Qt-edition of TVirtualX class can > "automatically" > be used just on both platforms in question, namely UNIX and Windows > > from one source code. > > The project requires ONE single code for any existent platform and > any future platforms as well. > > > The MAIN goal of the Qt project has been achieved: > > First version of STAR "Event Display" works (see: > http://www-conf.slac.stanford.edu/chep03/register/report/abstract.asp?ai > d=444 > and one can use the > Qt library to build the complex GUI using ROOT and Qt widgets. > > It was already shown one and the same code works properly on X11 and > WIN32 based platforms. (see: FAQ on http://root.bnl.gov ) > > So the more simple part of the job was done. > > The code is available via CVS repository. > http://root.bnl.gov/QtRoot/QtRoot.html#source > The binary for Linux/Sun can be found on AFS, and Windows version can be > installed with "one click" from the BNL Web site. (see: > http://root.bnl.gov/QtRoot/downloads/new.exe ) > > However the new implementation still lacks of the full support for TG > classes. One can use non-ROOT classes to build the ROOT-based > implementation but can not use the "native" one :-( > > I was asked by ROOT team whether it is possible to create the Qt-edition > that is TG class compliant. I believe it is possible. > To complete things I need some help from the ROOT team. > I asked them to add a few simple corrections to the ROOT code that would > have allowed me to share Qt-based activity with other people and save me > some time I have to spend to synchronize my version of ROOT with the > official one. > > I was told the ROOT team must evaluate the corrections and got the > promised it will be done quickly. > > What about the precise date I think no serious professional can expect > the solid answer of such sort of question. The only question to be asked > serious what should be done to speed this work up. > > I believe the number of the lines of the code will no grow. The code has > been written but it doesn't work yet :-(((. To make it up one has to > "read" (not write) the ROOT GUI code. > > For example: > STAR experiment several times asked whether somebody from ROOT team can > attend BNL for a couple of weeks to help with the interface. Alas people > are busy and could not find the time. > > None can say precisely how long it would take to learn one's 40K lines > long non-documented code and provide the precise implementation of the > low-level interface this code assumes. My estimation it is about 200-300 > man-hours > For example I have to admit last weeks I was able to devote very few > hours of my spare time to deal with Qt. > > I am willing to collaborate with any people / organization interesting > to complete this job as soon as possible. You are welcome. Just send me > a message. > > Coming back to the original question of the thread > "Update on the state of Windows GUIs" > let me make a remark: > STAR experiment did not wait for any "Update of Windows GUIs". It just > allocated some resource to make the job done ( for STAR of course ). > That was enough to achieve the STAR goals but it was not enough to make > all people on the Earth happy. > > > My best regards, Valeri > > > -----Original Message----- > > From: owner-roottalk@pcroot.cern.ch > [mailto:owner-roottalk@pcroot.cern.ch] > > On Behalf Of Rene Brun > > Sent: Thursday, May 08, 2003 3:54 PM > > To: James Peachey > > Cc: roottalk@pcroot.cern.ch > > Subject: Re: [ROOT] Update on the state of Windows GUIs > > > > Hi James, > > > > Some complementary information to the answers by Valeri and Fons: > > > > For many years, we had only one version under Windows. This version > > was originally developed by Valeri. The graphics classes drawing in > > the canvas were identical with the Unix version, but the GUI was based > > on a native WIN32 interface. The fact that the GUI classes were > > different from the Unix classes had become more and more difficult > > to maintain. > > > > Two years ago, Bertrand Bellenot started the win32gdk version. > > The GUI classes (TGWin32gdk) are fully compliant with the Unix > > version TGX11, being derived from our abstract interface TVirtualX. > > It has always been our intention to make the win32gdk version > > the default version under Windows. However, for many months, this > > version had been too slow to pretend replacing the original win32 > > version. WE are just about to introduce the version 3.05/05. > > This version is at least twice faster than the previous version. > > We are currently working on speed improvements to make this version > > as fast as the Unix/X11 version (see some numbers below). > > This version will replace the win32 version in the coming weeks. > > When you take this version, you do not need additional libraries. > > Everything is provided in our binary or source distrbutions. > > > > Two years ago, Valeri started the development of the ROOT version > based > > on Qt. The idea is to have a fully compliant TVirtualX implementation. > > The version that Valeri is currently distributing IS NOT TVirtualX > > compliant. For example, the Root Browser is different and the > TreeViewer > > is based on the very first and old implementation. > > Valeri expects to make his version fully compliant with TVirtualX. > > It has to be 100% compliant, not just 99%. The remaining 1% seems > > to take more time than expected. It is up to Valeri to comment on > > a precise date when he believes that he will have a working version. > > The Qt version requires the Qt libraries (commercial under Windows). > > You can use the executable modules for free, but you need a > development > > license as soon as you want to build a GUI application. > > > > This summer, we are planning to make a serious upgrade of many > > ROOT widgets (TAttFill, Line, Text, Marker, the editor, etc). > > This upgrade will assume a TVirtualX interface only. > > > > I also want to mention a very recent addition to the list of Windows > > version by Axel Naumann. Axel is working on the win32gcc version > > that requires the CYGWIN ennvironment. This version looks like Linux, > > based on gcc3.2 and X11. I have been playing with this version in > > the past few weeks and it looks to be an interesting option for > > Windows users. Of course, this version is compatible with Linux. > > We will build the win32gcc binary tar file with the coming 3.05/05. > > > > Coming back on the speed issue, I have run the 4 versions on my > laptop. > > Here are the results: > > - original win32 version : 678 Rootmarks with benchmarks.C > > - Valeri new Root/Qt version : 389 Rootmarks > > - Axel win32gcc : 415 Rootmarks > > - new win32gdk : 267 Rootmarks > > > > For the non-graphics benchmarks, the 3 versions compiled with VC++ > > (win32, win32gdk, Qt) show a similar performance. > > The win32gcc show a much better performance with the tests like > > stress and bench (up to a factor 2 better than VC++). > > > > Rene Brun > > > > On > > Thu, > > 8 > > May 2003, James Peachey wrote: > > > > > Hello, > > > > > > I'm just writing to find out the latest news on portable Root > > > GUIs. Specifically, I understand at one time there was an effort > > > to develop a common Root source tree which builds on Unix and > > > Windows, which offers a full implementation of the Root GUI > > > classes (TG*) on both architectures, and which does not require > > > any other proprietary software (other than the Visual Studio > > > compiler to build it.) > > > > > > Is this in fact the case? If so, what is the timescale for its > > > completion? If not, are some other developments in the works > > > to support Root GUIs on Windows? > > > > > > Thanks, > > > James > > > > > > PS: Apologies if there was a recent thread on this subject which I > > > somehow missed when I searched the archives... > > > >
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:11 MET