Re: [ROOT] ROOT & Qt, Swing, GUIs, Graphics Abstraction

From: Valeri Fine (fine@bnl.gov)
Date: Wed Oct 31 2001 - 21:21:23 MET


 Hello Fons,

> And what about Win32 and threads and performance? It is my believe that
> they don't use Win32 controls but create all their widgets from first
> principles, i.e. like our current approach. Could you make some small
> test so we can understand better what would be needed for a Win32 port.

   First I spent few hours with Qt to become Qt guru. My opinion is that from the
  "very first glance"
   Anyway I am willing to share my finding and reply your questions.
   I'll  send you it the private message if you still  interesting to hear from me.
   If somebody interesting  let me know I'll forward my answer you too.

   Let me know.

> And what about Win32 and threads and performance?

 What about performance ? I don't know It really depends on the implementation.
 The good one may be slightly slower  that the existent due some extra layers involved.
 But I think if one may re-think the general organization of Win32 implementation of TVirtualX
 one even can get some gain.

> Could you make some small
> test so we can understand better what would be needed for a Win32 port.

No I can not. I don't want you to lose next "4 years with this exercise"  as
Rene has said.

   My best regards,
                              Valeri


> -- Fons
>
>
> Valeri Fine wrote:
> >
> > Hello Rene,
> >
> >  Here you are some Qt features I'd  like to call your attention to
> >  ( vs your "wish list": )
> >   What I have learned :
> >
> > Rene > Remember that when discussing GUIs and graphics, we should not discuss
> > Rene > only GUIs on a local screen. There are many more issues involved.
> >
> >   See: http://www.trolltech.com/products/qt/modules.html
> >
> > Rene >  - First, as mentionned by Fons, even if Qt was adopted as a standard, one
> > Rene >    still has to develop the high level interfaces ROOT-aware such as
> > Rene >    objects browsers, treeViewers, etc.
> >
> >      Qt provides very attractive base class QCanvasItem:
> >
> >      http://doc.trolltech.com/3.0/qcanvasitemlist.html
> >      http://doc.trolltech.com/3.0/qcanvasitem.html
> >
> > Rene >  - Graphics is not only graphics on the screen. You may want to run
> > Rene >    with no GUI in batch mode and still produce PS (or the emerging SVG) files.
> >
> >   Qt provides the base QPaintDevice class with some subclasses like
> >   QPrinter, QWidget, QPixmap,  QPicture etc
> >
> >   http://doc.trolltech.com/3.0/qpaintdevice.html
> >   http://doc.trolltech.com/3.0/qpicture.html#details
> >   http://doc.trolltech.com/3.0/qprinter.html
> >
> >    I'd like to call your attention to QPrinter / QPicture classes.
> >    That is what one needs for  the batch job.
> >
> >   See:  http://doc.trolltech.com/3.0/qprinter.html#setOutputToFile
> >
> > Rene >  - Graphics is not only 2-d graphics. When dealing with 3-D, there are
> > Rene >    also other considerations to be taken into account.
> >
> >   Qt does provide QGLWidget
> >
> >    See:
> >
http://www.trolltech.com/images/showimg.html?img=/images/screenshots/GLscreenshot.jpg&tit=OpenGL+module&bk=/products/qt/modules.
> > html
> >
> >    See:   http://www.trolltech.com/products/qt/modules.html#opengl
> >               http://doc.trolltech.com/3.0/qglwidget.html
> >
> >   and there is QT-based free implementation of  OpenInventor  library.
> >
> >    See: http://oss.sgi.com/projects/inventor/
> >             http://www.studierstube.org/openinventor/
> >
> >  I'd like  to mention the GL graphics is reasobale fast for the local screen backed by
> >   the hardware 3D  accelerator.
> >  So one still needs TPad-like wired 3D graphics too (for UNIX platform at least)
> >
> > Rene >  - GUis and graphics can be used in a client-server mode (was the success
> > Rene >    and simplicity of the X11 approach).
> >
> >     My personal impression this is one of the Qt goals. Just think about:
> >
> >     http://doc.trolltech.com/3.0/qvfb-qws.html
> >
> > So Qt is pretty attractive, however it is not mandatory to change ROOT to be able to use
> > Qt. This can be done the way Go4 does. I mean ROOT graphics is provided by TVIrtualX
> > implementation the rest GUI  with Qt.  In fact it is the way QGLWidget works.
> >
> >                                   Cheers,  Valeri
>
> --
> Org:    CERN, European Laboratory for Particle Physics.
> Mail:   1211 Geneve 23, Switzerland
> E-Mail: Fons.Rademakers@cern.ch              Phone: +41 22 7679248
> WWW:    http://root.cern.ch/~rdm/            Fax:   +41 22 7679480
>



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:51:05 MET