GSI Object Oriented Online Offline (Go4) GO4-6.4.0
Loading...
Searching...
No Matches
TGo4CanvasProxy.h
Go to the documentation of this file.
1// $Id$
2//-----------------------------------------------------------------------
3// The GSI Online Offline Object Oriented (Go4) Project
4// Experiment Data Processing at EE department, GSI
5//-----------------------------------------------------------------------
6// Copyright (C) 2000- GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
7// Planckstr. 1, 64291 Darmstadt, Germany
8// Contact: http://go4.gsi.de
9//-----------------------------------------------------------------------
10// This software can be used under the license agreements as stated
11// in Go4License.txt file which is part of the distribution.
12//-----------------------------------------------------------------------
13
14#ifndef TGO4CANVASPROXY_H
15#define TGO4CANVASPROXY_H
16
17#include "TGo4Proxy.h"
18
19class TCanvas;
20
21class TGo4CanvasProxy : public TGo4Proxy {
22 public:
24 TGo4CanvasProxy(TCanvas *c, Bool_t owner = kFALSE);
25 virtual ~TGo4CanvasProxy();
26
27 Bool_t HasSublevels() const override { return fCanvas != nullptr; }
28 Int_t GetObjectKind() const override;
29 const char *GetContainedClassName() const override;
30
31 void Initialize(TGo4Slot *slot) override;
32 void Finalize(TGo4Slot *slot) override;
33 Bool_t RemoveRegisteredObject(TObject *obj) override;
34
36 { return fCanvas ? ProduceIter(fCanvas) : nullptr; }
37
38 std::unique_ptr<TGo4Access> ProvideAccess(const char *name) override
39 { return CreateAccess(fCanvas, name); }
40
41 void WriteData(TGo4Slot *slot, TDirectory *dir, Bool_t onlyobjs) override;
42 void ReadData(TGo4Slot *slot, TDirectory *dir) override;
43
44 Bool_t IsAcceptObject(TClass *cl) const override;
45 Bool_t AssignObject(TGo4Slot *slot, TObject *obj, Bool_t owner) override;
46 TObject *GetAssignedObject() override;
47
48 static std::unique_ptr<TGo4Access> CreateAccess(TCanvas *canv, const char *name);
49 static TGo4LevelIter *ProduceIter(TCanvas *canv);
50
51 protected:
52 TCanvas *fCanvas{nullptr};
53 Bool_t fOwner{kFALSE};
54
56};
57
58
59#endif
ClassDefOverride(TGo4CanvasProxy, 0)
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
std::unique_ptr< TGo4Access > ProvideAccess(const char *name) override
Bool_t HasSublevels() const override
TGo4LevelIter * MakeIter() 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
void ReadData(TGo4Slot *slot, TDirectory *dir) override
void WriteData(TGo4Slot *slot, TDirectory *dir, Bool_t onlyobjs) override