35         fIter = folder->GetListOfFolders()->MakeIterator();
 
 
   51         return (
dynamic_cast<TFolder *
>(
fCurrent) != 
nullptr) ||
 
   52                (
dynamic_cast<TDirectory *
>(
fCurrent) != 
nullptr) ||
 
   53                (
dynamic_cast<TTree *
>(
fCurrent) != 
nullptr) ||
 
   54                (
dynamic_cast<TCanvas *
>(
fCurrent) != 
nullptr) ||
 
   55                (
dynamic_cast<THStack *
>(
fCurrent) != 
nullptr);
 
 
   60         TTree *tr = 
dynamic_cast<TTree *
>(
fCurrent);
 
   62         TDirectory *dir = 
dynamic_cast<TDirectory *
>(
fCurrent);
 
   64         TCanvas *canv = 
dynamic_cast<TCanvas *
>(
fCurrent);
 
   66         THStack *hs = 
dynamic_cast<THStack *
> (
fCurrent);
 
 
   71      const char *
name()
 override 
 
   76      const char *
info()
 override 
 
 
  130      slot->
SetPar(
"FolderProxy::RootFolder", foldername);
 
 
  136   const char *foldername = slot->
GetPar(
"FolderProxy::RootFolder");
 
 
  146   TFolder *res = 
nullptr;
 
  148     if (strcmp(rootfolder,
"//root/") == 0)
 
  149        res = gROOT->GetRootFolder();
 
  151       res = 
dynamic_cast<TFolder *
>(gROOT->GetRootFolder()->FindObject(rootfolder));
 
 
  159   if (!folder) 
return nullptr;
 
  161      return std::make_unique<TGo4ObjectAccess>(folder);
 
  163   TFolder *curfold = folder;
 
  164   const char *curname = name;
 
  167      const char *slash = strchr(curname,
'/');
 
  168      UInt_t len = slash ? slash - curname : strlen(curname);
 
  169      TIter iter(curfold->GetListOfFolders());
 
  170      TObject *obj = 
nullptr;
 
  171      while ((obj = iter()) != 
nullptr)
 
  172         if ((strlen(obj->GetName()) == len) &&
 
  173             (strncmp(obj->GetName(), curname, len) == 0)) 
break;
 
  174      if (!obj) 
return nullptr;
 
  177         return std::make_unique<TGo4ObjectAccess>(obj);
 
  181      TTree *tr = 
dynamic_cast<TTree *
> (obj);
 
  185      TDirectory *dir = 
dynamic_cast<TDirectory *
> (obj);
 
  189      TCanvas *canv = 
dynamic_cast<TCanvas *
> (obj);
 
  193      THStack *hs = 
dynamic_cast<THStack *
> (obj);
 
  197      curfold = 
dynamic_cast<TFolder *
>(obj);
 
 
static std::unique_ptr< TGo4Access > CreateAccess(TCanvas *canv, const char *name)
 
static TGo4LevelIter * ProduceIter(TCanvas *canv)
 
static std::unique_ptr< TGo4Access > CreateAccess(TDirectory *dir, Bool_t readright, const char *name, TGo4Slot *browser_slot=nullptr)
 
static TGo4LevelIter * ProduceIter(TDirectory *dir, Bool_t readright)
 
const char * name() override
 
const char * GetClassName() override
 
const char * info() override
 
TGo4LevelIter * subiterator() override
 
virtual ~TGo4FolderLevelIter()
 
TGo4FolderLevelIter(TFolder *folder)
 
Bool_t isfolder() override
 
void WriteData(TGo4Slot *slot, TDirectory *dir, Bool_t onlyobjs) override
 
const char * GetContainedClassName() const override
 
void ReadData(TGo4Slot *slot, TDirectory *dir) override
 
static TGo4LevelIter * ProduceIter(TFolder *folder)
 
Int_t GetObjectKind() const override
 
static TFolder * LocateROOTFolder(const char *rootfolder)
 
static std::unique_ptr< TGo4Access > CreateAccess(TFolder *folder, const char *name)
 
virtual ~TGo4FolderProxy()
 
static TGo4LevelIter * ProduceIter(THStack *hs)
 
static std::unique_ptr< TGo4Access > CreateAccess(THStack *hs, const char *name)
 
void SetPar(const char *name, const char *value)
 
const char * GetPar(const char *name) const
 
static std::unique_ptr< TGo4Access > CreateAccess(TTree *tree, const char *name)
 
static TGo4LevelIter * ProduceIter(TTree *tree)