Re: resizing and moving pads

From: Valery Fine (fine@mail.cern.ch)
Date: Tue Aug 05 1997 - 14:50:45 MEST


Hello Robert 
On  5 Aug 97 at 13:01, you wrote:


> a) in fact the general problem in developing software with rather
> new packages (like root) is, that you always have problems to
> identify the reason for any 'mailfunction' properly. 

  That's a reason I am trying to agree our users to use "ROOT" first 
(at least as a tool to create a prototype).

> 
> b) Fons has a previous version of my source code. The applied
> changes are adding Pads to draw histograms inside. You may this
> version on hpsalo:/pub/loke.tar.gz

  Fons had gone for a vacation.

> 
> c) I think most of the problems are due to the fact that it's not a
> macro but a standalone program handling all the root stuff. Writing
> I'm not using Cint meant that there is no command line interpreter
> and therefore interactive input like SetPad(..) is not possible. I
> created a canvas and some pads and want to move this pad(s) within
> this canvas. Doing this by mouse is great and exactly what I wanted
> to have. Unfortunatly, pressing the left mouse button has no effect.
> The pad remains at it's position and size can't be influenced this
> way as well. According to your specifications, this should be
> operational. 

  I've looked at your code and just found what I DID expect to see!!!

  Did you understand what the line:

  cerr << "starting the application" << endl;
  theApp->Run();

  is done for ???

  One may manipulate with the "mouse" only from WITHIN 

     theApp->Run()

   Just you leave TApplication::Run()  you lose any mouse control.
 
   When user loads his own DLL from Cint command prompt it is always
the case, since very Run() method calls someway YOUR methods but 
remains always within the ROOT event loop.

  Well, one may restore the mouse control but for that one needs
to enter the ROOT event loop again.

  Namely call theApp->Run() for the second (third , etc) times.

  Please look up our Test/HWORLD.cxx example carefully and find 
in there the second call.

  But I am repeating it would be better to make ROOT DLL. Why you 
don't like this.

  Just load your TdcMenu via ROOT and perform the rest part with 
either ROOT macro or with another DLL (share lib). 

  I am really interested why you found this way non acceptable for 
you.

            With my regards,
         Valery


> 
> Nevertheless, I think you're doing a great job and especially the
> user talk digest is excellent.

  Thank you.
=================================================================
Dr. Valery Fine                  Telex : 911621 dubna su
    -----------
LCTA/Joint Inst.for NuclearRes   Phone : +7 09621 6 40 80
141980 Dubna, Moscow region      Fax   : +7 09621 6 51 45
Russia                           mailto:fine@main1.jinr.dubna.su                              

Dr. Valeri Faine
    ------------                 Phone: +41 22 767 6468
CERN                             FAX  : +41 22 767 7910
CH-1211 Geneva, 23               mailto:fine@mail.cern.ch 
Switzerland                      http://nicewww.cern.ch/~fine
                                 



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:26:20 MET