]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Implemented list-management virtuals; use new functionality of RGTopFrame.
authormtadel <mtadel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 10 Jul 2006 17:45:28 +0000 (17:45 +0000)
committermtadel <mtadel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 10 Jul 2006 17:45:28 +0000 (17:45 +0000)
EVE/Alieve/TPCLoader.cxx
EVE/Alieve/TPCLoader.h

index 4f76123372401fca0ffeba0c9ba0f01cb27ee187..f792e7dbe56a3566aae5358d478dca7ad057ba2f 100644 (file)
@@ -34,9 +34,7 @@ TPCLoader::TPCLoader(const Text_t* n, const Text_t* t) :
   fSec3Ds(36),
 
   fSetInitSectorParams(kFALSE)
-{
-  SetMainColorPtr(0);
-}
+{}
 
 TPCLoader::~TPCLoader()
 {
@@ -46,6 +44,27 @@ TPCLoader::~TPCLoader()
 
 /**************************************************************************/
 
+void TPCLoader::RemoveElementLocal(RenderElement* el)
+{
+  for(Int_t i=0; i<36; ++i) {
+    if(fSec2Ds[i] == el) fSec2Ds[i] = 0;
+    if(fSec3Ds[i] == el) fSec3Ds[i] = 0;
+  }
+
+  RenderElementList::RemoveElementLocal(el);
+}
+
+void TPCLoader::RemoveElements()
+{
+  for(Int_t i=0; i<36; ++i) {
+    fSec2Ds[i] = 0;
+    fSec3Ds[i] = 0;
+  }
+
+  RenderElementList::RemoveElements();
+}
+
+/**************************************************************************/
 
 void TPCLoader::SetData(TPCData* d)
 {
@@ -171,8 +190,7 @@ void TPCLoader::UpdateSectors()
        s->SetTrans(kTRUE);
        s->SetFrameColor(36);
 
-       gReve->AddRenderElement(s);
-       gReve->DrawRenderElement(s);
+       gReve->AddRenderElement(this, s);
       }
     }
 
@@ -202,8 +220,7 @@ void TPCLoader::CreateSectors3D()
       s->SetTrans(kTRUE);
       s->SetFrameColor(36);
 
-      gReve->AddRenderElement(s);
-      gReve->DrawRenderElement(s);
+      gReve->AddRenderElement(this, s);
     }
   }
   gReve->EnableRedraw();
@@ -215,8 +232,8 @@ void TPCLoader::DeleteSectors3D()
   for(Int_t i=0; i<=35; ++i) {
     RenderElement* re = fSec3Ds[i];
     if(re != 0) {
-      gReve->UndrawRenderElement(re);
-      delete re;
+      gReve->RemoveRenderElement(this, re);
+      // delete re; // Done automatically.
       fSec3Ds[i] = 0;
     }
   }
index 45c46ade6a5710bb3a57cad2abbb09c7e2d28ba7..2a8b050625607cad897417e7003ce7e740b616da 100644 (file)
@@ -38,7 +38,8 @@ public:
   TPCLoader(const Text_t* n="TPCLoader", const Text_t* t=0);
   virtual ~TPCLoader();
 
-  virtual Bool_t CanEditMainColor() { return kFALSE; }
+  virtual void RemoveElementLocal(Reve::RenderElement* el);
+  virtual void RemoveElements();
 
   void SetFile(const Text_t* f) { fFile = f; }
   void SetDoubleSR(Bool_t d)    { fDoubleSR = d; }