00001 //------------------------------------------------------------- 00002 // Go4 Release Package v3.04-01 (build 30401) 00003 // 28-November-2008 00004 //--------------------------------------------------------------- 00005 // The GSI Online Offline Object Oriented (Go4) Project 00006 // Experiment Data Processing at EE department, GSI 00007 //--------------------------------------------------------------- 00008 // 00009 //Copyright (C) 2000- Gesellschaft f. Schwerionenforschung, GSI 00010 // Planckstr. 1, 64291 Darmstadt, Germany 00011 //Contact: http://go4.gsi.de 00012 //---------------------------------------------------------------- 00013 //This software can be used under the license agreements as stated 00014 //in Go4License.txt file which is part of the distribution. 00015 //---------------------------------------------------------------- 00016 #ifndef TGO4CANVASPROXY_H 00017 #define TGO4CANVASPROXY_H 00018 00019 #include "TGo4Proxy.h" 00020 00021 #include "TCanvas.h" 00022 00023 class TGo4CanvasProxy : public TGo4Proxy { 00024 public: 00025 TGo4CanvasProxy(); 00026 TGo4CanvasProxy(TCanvas* c, Bool_t owner = kFALSE); 00027 virtual ~TGo4CanvasProxy(); 00028 00029 virtual Bool_t HasSublevels() const { return fCanvas!=0; } 00030 virtual Int_t GetObjectKind(); 00031 virtual const char* GetContainedClassName(); 00032 00033 virtual void Initialize(TGo4Slot* slot); 00034 virtual void Finalize(TGo4Slot* slot); 00035 virtual Bool_t RemoveRegisteredObject(TObject* obj); 00036 00037 virtual TGo4LevelIter* MakeIter() 00038 { return (fCanvas==0) ? 0 : ProduceIter(fCanvas); } 00039 00040 virtual TGo4Access* MakeProxy(const char* name) 00041 { return ProduceProxy(fCanvas, name); } 00042 00043 virtual void WriteData(TGo4Slot* slot, TDirectory* dir, Bool_t onlyobjs); 00044 virtual void ReadData(TGo4Slot* slot, TDirectory* dir); 00045 00046 virtual Bool_t IsAcceptObject(TClass* cl); 00047 virtual Bool_t AssignObject(TGo4Slot* slot, TObject* obj, Bool_t owner); 00048 virtual TObject* GetAssignedObject(); 00049 00050 static TGo4Access* ProduceProxy(TCanvas* canv, const char* name); 00051 static TGo4LevelIter* ProduceIter(TCanvas* canv); 00052 00053 protected: 00054 TCanvas* fCanvas; 00055 Bool_t fOwner; 00056 00057 ClassDef(TGo4CanvasProxy, 1); 00058 }; 00059 00060 00061 #endif 00062 00063 //----------------------------END OF GO4 SOURCE FILE ---------------------