ROOT logo
// @(#)root/base:$Id: TSystemDirectory.h 20877 2007-11-19 11:17:07Z rdm $
// Author: Christian Bormann  13/10/97

/*************************************************************************
 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/
#ifndef ROOT_TSystemDirectory
#define ROOT_TSystemDirectory


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TSystemDirectory                                                     //
//                                                                      //
// Describes an Operating System directory for the browser.             //
//                                                                      //
// Author: Christian Bormann  30/09/97                                  //
//         http://www.ikf.physik.uni-frankfurt.de/~bormann/             //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TSystemFile
#include "TSystemFile.h"
#endif

class TOrdCollection;
class TList;


class TSystemDirectory : public TSystemFile {

protected:
   TOrdCollection *fDirsInBrowser;
   TOrdCollection *fFilesInBrowser;

   Bool_t             IsItDirectory(const char *name) const;
   TSystemDirectory  *FindDirObj(const char *name);
   TSystemFile       *FindFileObj(const char *name, const char *dir);

   TSystemDirectory(const TSystemDirectory&);
   TSystemDirectory& operator=(const TSystemDirectory&);

public:
   TSystemDirectory();
   TSystemDirectory(const char *dirname, const char *path);

   virtual ~TSystemDirectory();

   virtual Bool_t IsFolder() const { return kTRUE; }
   virtual Bool_t IsDirectory(const char * = 0) const { return kTRUE; }

   virtual void   Browse(TBrowser *b);
   virtual void   Edit() { }
   virtual TList *GetListOfFiles() const;
   virtual void   SetDirectory(const char *name);
   virtual void   Delete() {}
   virtual void   Copy(const char *) {}
   virtual void   Move(const char *) {}

   // dummy methods from TObject
   void        DrawClass() const { }
   TObject    *DrawClone(Option_t *) const { return 0; }
   void        SetDrawOption(Option_t *) { }
   void        SetName(const char *name) { TSystemFile::SetName(name); }
   void        SetTitle(const char *title) { TSystemFile::SetTitle(title); }
   void        Delete(Option_t *) { }
   void        Copy(TObject & ) const { }
   ClassDef(TSystemDirectory,0)  //A system directory
};

#endif

 TSystemDirectory.h:1
 TSystemDirectory.h:2
 TSystemDirectory.h:3
 TSystemDirectory.h:4
 TSystemDirectory.h:5
 TSystemDirectory.h:6
 TSystemDirectory.h:7
 TSystemDirectory.h:8
 TSystemDirectory.h:9
 TSystemDirectory.h:10
 TSystemDirectory.h:11
 TSystemDirectory.h:12
 TSystemDirectory.h:13
 TSystemDirectory.h:14
 TSystemDirectory.h:15
 TSystemDirectory.h:16
 TSystemDirectory.h:17
 TSystemDirectory.h:18
 TSystemDirectory.h:19
 TSystemDirectory.h:20
 TSystemDirectory.h:21
 TSystemDirectory.h:22
 TSystemDirectory.h:23
 TSystemDirectory.h:24
 TSystemDirectory.h:25
 TSystemDirectory.h:26
 TSystemDirectory.h:27
 TSystemDirectory.h:28
 TSystemDirectory.h:29
 TSystemDirectory.h:30
 TSystemDirectory.h:31
 TSystemDirectory.h:32
 TSystemDirectory.h:33
 TSystemDirectory.h:34
 TSystemDirectory.h:35
 TSystemDirectory.h:36
 TSystemDirectory.h:37
 TSystemDirectory.h:38
 TSystemDirectory.h:39
 TSystemDirectory.h:40
 TSystemDirectory.h:41
 TSystemDirectory.h:42
 TSystemDirectory.h:43
 TSystemDirectory.h:44
 TSystemDirectory.h:45
 TSystemDirectory.h:46
 TSystemDirectory.h:47
 TSystemDirectory.h:48
 TSystemDirectory.h:49
 TSystemDirectory.h:50
 TSystemDirectory.h:51
 TSystemDirectory.h:52
 TSystemDirectory.h:53
 TSystemDirectory.h:54
 TSystemDirectory.h:55
 TSystemDirectory.h:56
 TSystemDirectory.h:57
 TSystemDirectory.h:58
 TSystemDirectory.h:59
 TSystemDirectory.h:60
 TSystemDirectory.h:61
 TSystemDirectory.h:62
 TSystemDirectory.h:63
 TSystemDirectory.h:64
 TSystemDirectory.h:65
 TSystemDirectory.h:66
 TSystemDirectory.h:67
 TSystemDirectory.h:68
 TSystemDirectory.h:69
 TSystemDirectory.h:70
 TSystemDirectory.h:71
 TSystemDirectory.h:72
 TSystemDirectory.h:73
 TSystemDirectory.h:74
 TSystemDirectory.h:75
 TSystemDirectory.h:76