RE: [ROOT] Win32 event loop (was empty)

From: Valeri Fine (fine@bnl.gov)
Date: Thu Jan 08 2004 - 18:12:38 MET


Hello Brandon, 

Your comment is not correct for Win32 version. ROOT under Windows has
several threads and each has its own event loop. (UNIX version has only
event loop)

For example Win32 and Qt flavors always create the internal GUI thread
with the active event loop regardless of whether one calls the
TApplication::Run method or not. What really makes sense is the "ROOT
batch" mode. In "batch" mode ROOT doesn't create any real implementation
of its GUI layer and by this reason no graphical images is created at
all. In "batch" mode under Windows GUI thread (with its own internal GUI
event loop) is NOT created regardless of TApplication::Run method
calling. 
   The UNIX application design assumed it can be used on machine with no
X11 at all. However on Windows platform one can image any Windows OS
with no Win32 layer present. This means there was no technical need to
distinguish "GUI" and "non-GUI" environment, because the second case
would have meant we intend to run ROOT under MS DOS system:

                 Windows - Win32 = MS DOS.

I understand the GDK flavor has eliminated one (redundant in fact)
thread and by this reason the Eric's application behavior was changed.

----
Best regards
                   Valeri


> -----Original Message-----
> From: Brandon Kohn [mailto:blk@maia-institute.org]
> Sent: Thursday, January 08, 2004 6:15 AM
> To: ANCIANT E.; 'Valeri Fine'; 'Rene Brun'; 'roottalk@root.cern.ch'
> Subject: Re: [ROOT]
> 
> Assuming that you are using the latest version of ROOT, the problem
with
> resizing (really refreshing the canvas) is due to the fact that you
must
> have the instance of the application running it's event loop. This is
done
> using TApplication::Run(); Try placing this at the end of your test
program,
> and see if you get resizing behavior then.
> 
> Regards
> Brandon
> ----- Original Message -----
> From: "ANCIANT E." <eric_anciant@sodern.fr>
> To: "'Valeri Fine'" <fine@bnl.gov>; "'Brandon Kohn'"
> <blk@maia-institute.org>; "'Rene Brun'" <Rene.Brun@cern.ch>;
> "'roottalk@root.cern.ch'" <roottalk@pcroot.cern.ch>
> Sent: Thursday, January 08, 2004 11:11 AM
> Subject: RE: [ROOT]
> 
> 
> > Thanks a lot for the quick help,
> >
> > indeed, instanciating one TApplication solve my "pop-up" problem
> > no need to have it run ( which is not what I was looking for since I
use
> > Root
> > rather as a display facility .. )
> >
> > however now I got an Error message :
> >
> > Error in <TWinNTSystem::BaseName>: name = 0
> >
> > Besides, when I try to resize the window of my canvas (without the
> > TApplication instance running),
> > the content of the window (Canvas?, pads, histograms ..) don't get
> resized.
> >
> > I don't know if it is linked to the error message.
> >
> > Or I guess I could wrap everything within the App and launch my
> application
> > through a button ?
> >
> > regards,
> >
> > eric
> >
> >
> >
> >
> > > -----Message d'origine-----
> > > De: Valeri Fine [SMTP:fine@bnl.gov]
> > > Date: mercredi 7 janvier 2004 18:23
> > > À: 'Brandon Kohn'; 'ANCIANT E.'; 'roottalk@root.cern.ch'
> > > Objet: RE: [ROOT]
> > >
> > > I think the reason for your troubles is the "gdk" version.
> > > Did you say you did use very "gdk" in past?
> > >
> > No, it is the first time I try GDK ( before I was using root 3.02
> > with win32 )
> > >
> >



This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:05 MET