RE: [ROOT] "Save the selected Canvas/Pad as" --> changes default directory

From: Faine, Valeri (fine@bnl.gov)
Date: Thu May 08 2003 - 03:16:45 MEST


Hello Ed,

> 
> Valarie,
>   Yes, I am sure I'm using the win32 flavour - binaries from cern -
3.05/3

   I can not image how WIN32 can do that.

>   I did donwload the qt version from bnl and was unable to reproduce
the
> goofy
> behavior.  Is it Qt? or is it 3.05/4 vs. 3.05/3?

The "SaveAs" should not change the current directory.
Can you say what the type of your "X:" drive is? 
Can you reproduce things using the same drive ("c:\")?

Can you make sure you did not mix the DLLs from the different ROO
versions?


   Thank you
                    Valeri

> 
> 
> 
> ++++++++++++++++++++3.05/3 from cern: +++++++++++++++++++++++++
> 
> c:\root>root
> the current keyboard layout is 437
>   *******************************************
>   *                                         *
>   *        W E L C O M E  to  R O O T       *
>   *                                         *
>   *   Version   3.05/03     11 March 2003   *
>   *                                         *
>   *  You are welcome to visit our Web site  *
>   *          http://root.cern.ch            *
>   *                                         *
>   *******************************************
> 
> Compiled for win32.
> 
> CINT/ROOT C/C++ Interpreter version 5.15.78, Mar 3 2003
> Type ? for help. Commands must be C++ statements.
> Enclose multiple statements between { }.
> root [0] TF1 *f = new TF1("f","sin(x)/x",0.,10.)
> root [1] f->Draw()
> <TCanvas::MakeDefCanvas>: created default TCanvas with name c1
> root [2] gSystem->pwd()
> (const char* 0xb6a9f4)"C:\\root"
> root [3] .!cd
> C:\root
> root [4] C++ Macro file: X:\test.C has been generated
> gSystem->pwd()
> (const char* 0xb6a9f4)"C:\\root"
> root [5] .!cd
> X:\				<<---- What the...?
> 
> 
> ++++++++++++++++++++3.05/4 from bnl:  +++++++++++++++++++++++++
> 
> C:\root>root
>   *******************************************
>   *                                         *
>   *        W E L C O M E  to  R O O T       *
>   *                                         *
>   *   Version   3.05/04     29 April 2003   *
>   *                                         *
>   *  You are welcome to visit our Web site  *
>   *          http://root.cern.ch            *
>   *                                         *
>   *******************************************
> 
> Compiled for win32.
> 
> CINT/ROOT C/C++ Interpreter version 5.15.83, Apr 6 2003
> Type ? for help. Commands must be C++ statements.
> Enclose multiple statements between { }.
> 
> Welcome to the ROOT tutorials
> 
> 
> Type ".x demos.C" to get a toolbar from which to execute the demos
> 
> Type ".x demoshelp.C" to see the help window
> 
> 
> 
> Type ".x xform.CC" to see the combined Qt/Root demo
> 
> 
> 
> Type ".x RootShower.CC" to see the RootShower complex exmaplen
> root [0] TF1 *f = new TF1("f","sin(x)/x",0.,10.)
> root [1] f->Draw()
> <TCanvas::MakeDefCanvas>: created default TCanvas with name c1
> root [2] gSystem->pwd()
> (const char* 0xb85eec)"C:\\root"
> root [3] .!cd
> C:\root
> root [4] Save 0:<.C> file as "X:/test.C" . C++ macro (*.cpp,*.cxx,*.C)
> C++ Macro file: X:/test.C has been generated
> 
> root [4] gSystem->pwd()
> (const char* 0xb85eec)"C:\\root"
> root [5] .!cd
> C:\root
> 
> > -----Original Message-----
> > From: Faine, Valeri [mailto:fine@bnl.gov]
> > Sent: Wednesday, May 07, 2003 5:10 PM
> > To: 'Ed Oltman'; 'Roottalk@Pcroot. Cern. Ch'
> > Subject: RE: [ROOT] "Save the selected Canvas/Pad as" --> changes
> > default directory
> >
> >
> > Hello Ed,
> >   I can not reproduce your problem.
> >   On other hand I pretty sure "Save As" doesn't change
> >   the working directory.
> >   Are you sure you are working with "win32" flavor?
> >   Can you reproduce your problem with version http://root.bnl.gov
?-)
> >
> >                Valeri
> >
> >
> > > -----Original Message-----
> > > From: Ed Oltman [mailto:eoltman@imago.com]
> > > Sent: Wednesday, May 07, 2003 4:26 PM
> > > To: Faine, Valeri; 'Roottalk@Pcroot. Cern. Ch'
> > > Subject: RE: [ROOT] "Save the selected Canvas/Pad as" --> changes
> > default
> > > directory
> > >
> > > Valeri,
> > >
> > >  Oops! my apologies!  I did use gSystem->pwd() and it displayed
the
> > > original
> > > directory prior to the canvas's "save as".  I should get into the
> > habit of
> > > cut/paste.  Here's my interaction:
> > >
> > >
> > > root [1] gSystem->pwd()
> > > (const char* 0xb6a784)"c:\\analysis01"
> > > root [2] .!cd
> > > c:\analysis01
> > > [ At this point I "Save As" the canvas to x:\test.c]
> > > root [3] C++ Macro file: X:\test.C has been generated
> > >
> > > root [3] gSystem->pwd()
> > > (const char* 0xb6a784)"c:\\analysis01"
> > > root [4] .!cd
> > > X:\
> > >
> > >
> > > This does not make sense!
> > >
> > > Ed
> > >
> > > > -----Original Message-----
> > > > From: Faine, Valeri [mailto:fine@bnl.gov]
> > > > Sent: Wednesday, May 07, 2003 3:16 PM
> > > > To: 'Ed Oltman'; 'Roottalk@Pcroot. Cern. Ch'
> > > > Subject: RE: [ROOT] "Save the selected Canvas/Pad as" -->
changes
> > > > default directory
> > > >
> > > >
> > > >
> > > >
> > > > >
> > > > > Hello,
> > > > >
> > > > >  I am using win32 root v3.05/3 on win2k.  When I save a canvas
> > using
> > > > that
> > > > > window's "File->Save As" menu item, the root's (file system)
> > directory
> > > > > changes:
> > > > >
> > > > >  .!cd displays the directory that the canvas was saved in
> > > > >
> > > > > however,
> > > > >
> > > > >  gSystem->cd() displays the original directory prior to the
> > Canvas's
> > > > "Save
> > > > > As"
> > > > >
> > > > > I suspect this is not the intended behavior (e.g. "Save As"
> > changes
> > > > the
> > > > > default directory), but if it is, should'nt gSystem->cd()
reflect
> > this
> > > > > change?
> > > > >
> > > >
> > > >   Hello Ed,
> > > >
> > > > To get the current working directory one should use the methods
> > > >
> > > >                TSystem::pwd();
> > > >
> > > > What about cd()  I found no method TSystem::cd() at all.
> > > >
> > > > There is TSystem::cd(const char *path).
> > > > What you suggest means the method should return its own input
> > parameter.
> > > > That is not very useful.  The method cd returns the replaced
> > directory,
> > > > i.e. one we have changed with the "path".
> > > >
> > > >    Valeri
> > > >
> > > >
> > > >   Home
> > > >   It seems to me this is the "Correct" behavior of cd method:
> > > >
> > > >    Bool_t cd(const char *path) { return ChangeDirectory(path); }
> > > >
> > > >   Because TWinNTSystem::ChangeDirectoiry() return the previous
> > directory
> > > >   There is no means to return the inout parameters.
> > > >
> > > > Rhe proper method to get the current working directory is
> > > > TSystem::HomeDirectory()
> > > > > Thanks,
> > > > >  Ed Oltman
> > > > >
> > > >
> > > >
> > > >
> >
> >
> >



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:11 MET