18#include "TDirectory.h" 
   21#include "TObjString.h" 
   42         fIter = pad->GetListOfPrimitives()->MakeIterator();
 
 
   60           TFrame* fr = 
dynamic_cast<TFrame*
>(
fCurrent);
 
   61           if (fr) { skip = 
true; 
continue; }
 
   63           TPaveText* ptxt = 
dynamic_cast<TPaveText*
> (
fCurrent);
 
   64           if (ptxt && (strcmp(ptxt->GetName(),
"title") == 0)) { skip = 
true; 
continue; }
 
   66           if (
dynamic_cast<TPave*
>(
fCurrent)) { skip = 
true; 
continue; }
 
   68           if (!
fCurrent->GetName()) { skip = 
true; 
continue; }
 
   70           if (strlen(
fCurrent->GetName()) == 0) { skip = 
true; 
continue; }
 
   72           if (strcmp(
fCurrent->GetName(), 
fCurrent->ClassName()) == 0) { skip = 
true; 
continue; }
 
   75           if (
fStacks.FindObject(
fCurrent->GetName()) && 
fCurrent->InheritsFrom(TH1F::Class())) { skip = 
true; 
continue; }
 
 
   87         return dynamic_cast<TPad *
>(
fCurrent) ||
 
 
   93         TPad *subpad = 
dynamic_cast<TPad *
>(
fCurrent);
 
   95         THStack *hs = 
dynamic_cast<THStack *
>(
fCurrent);
 
 
 
  152   auto om = slot->
GetOM();
 
 
  158   auto om = slot->
GetOM();
 
 
  173   const char *objname = 
nullptr;
 
  178     slot->
SetPar(
"CanvasProxy::CanvasName", objname);
 
 
  189   const char *objname = slot->
GetPar(
"CanvasProxy::CanvasName");
 
  190   if (!objname || !dir) 
return;
 
 
  199   return cl && cl->InheritsFrom(TCanvas::Class());
 
 
  207   fCanvas = 
dynamic_cast<TCanvas *
>(obj);
 
  210   if (!
fCanvas && obj && owner) 
delete obj;
 
 
  226   if (!canv) 
return nullptr;
 
  228      return std::make_unique<TGo4ObjectAccess>(canv);
 
  231   const char *curname = name;
 
  234      const char *slash = strchr(curname, 
'/');
 
  235      UInt_t len = slash ? slash - curname : strlen(curname);
 
  236      TIter iter(curpad->GetListOfPrimitives());
 
  237      TObject *obj = 
nullptr;
 
  238      while ((obj = iter()) != 
nullptr)
 
  239         if ((strlen(obj->GetName()) == len) &&
 
  240             (strncmp(obj->GetName(), curname, len) == 0)) 
break;
 
  241      if (!obj) 
return nullptr;
 
  244         return std::make_unique<TGo4ObjectAccess>(obj);
 
  248      curpad = 
dynamic_cast<TPad *
>(obj);
 
  251         THStack *hs = 
dynamic_cast<THStack*
> (obj);
 
 
TGo4CanvasLevelIter(TPad *pad)
 
const char * GetClassName() override
 
virtual ~TGo4CanvasLevelIter()
 
TGo4LevelIter * subiterator() override
 
const char * name() override
 
const char * info() override
 
Bool_t isfolder() override
 
static std::unique_ptr< TGo4Access > CreateAccess(TCanvas *canv, const char *name)
 
Bool_t IsAcceptObject(TClass *cl) const override
 
const char * GetContainedClassName() const override
 
Bool_t AssignObject(TGo4Slot *slot, TObject *obj, Bool_t owner) override
 
void Finalize(TGo4Slot *slot) override
 
TObject * GetAssignedObject() override
 
static TGo4LevelIter * ProduceIter(TCanvas *canv)
 
Bool_t RemoveRegisteredObject(TObject *obj) override
 
Int_t GetObjectKind() const override
 
void Initialize(TGo4Slot *slot) override
 
virtual ~TGo4CanvasProxy()
 
void ReadData(TGo4Slot *slot, TDirectory *dir) override
 
void WriteData(TGo4Slot *slot, TDirectory *dir, Bool_t onlyobjs) override
 
static TGo4LevelIter * ProduceIter(THStack *hs)
 
static std::unique_ptr< TGo4Access > CreateAccess(THStack *hs, const char *name)
 
void RegisterObjectWith(TObject *obj, TGo4Slot *slot)
 
void UnregisterObject(TObject *obj, TGo4Slot *slot)
 
virtual TGo4ObjectManager * GetOM() const
 
void ForwardEvent(TGo4Slot *source, Int_t id, void *param=nullptr)
 
void SetPar(const char *name, const char *value)
 
const char * GetPar(const char *name) const