Implemented dtor for RenderElement removing all instances from browsers.
authormtadel <mtadel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 2 Jun 2006 18:12:24 +0000 (18:12 +0000)
committermtadel <mtadel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 2 Jun 2006 18:12:24 +0000 (18:12 +0000)
EVE/Reve/RenderElement.cxx
EVE/Reve/RenderElement.h

index b34ee1b989ceb00094000ccb8d275a8b78d7bbbc..97e8a8a9c59b652823b7be636597afc464b04393 100644 (file)
@@ -19,13 +19,21 @@ ClassImp(RenderElement)
 
 RenderElement::RenderElement()
 {
 
 RenderElement::RenderElement()
 {
-  fRnrElement    = true;
+  fRnrElement    = kTRUE;
   fMainColorPtr  = 0;
 }
 
 RenderElement::RenderElement(Color_t& main_color) : fMainColorPtr(&main_color)
 {
   fMainColorPtr  = 0;
 }
 
 RenderElement::RenderElement(Color_t& main_color) : fMainColorPtr(&main_color)
 {
-  fRnrElement    = true;
+  fRnrElement    = kTRUE;
+}
+
+RenderElement::~RenderElement()
+{
+  for(sLTI_i i=fItems.begin(); i!=fItems.end(); ++i) {
+    i->fTree->DeleteItem(i->fItem);
+    gClient->NeedRedraw(i->fTree);
+  }
 }
 
 /**************************************************************************/
 }
 
 /**************************************************************************/
@@ -46,11 +54,10 @@ TGListTreeItem* RenderElement::AddIntoListTree(TGListTree* ltree,
   static const Exc_t eH("RenderElement::AddIntoListTree ");
 
   TObject* tobj = GetObject(eH);
   static const Exc_t eH("RenderElement::AddIntoListTree ");
 
   TObject* tobj = GetObject(eH);
-  Bool_t colorp = fMainColorPtr != 0;
   TGListTreeItem* item = ltree->AddItem(parent, tobj->GetName(), this,
   TGListTreeItem* item = ltree->AddItem(parent, tobj->GetName(), this,
-                                        0, 0, colorp);
+                                       0, 0, kTRUE);
   item->CheckItem(GetRnrElement());
   item->CheckItem(GetRnrElement());
-  if(colorp) item->SetColor(GetMainColor());
+  if(fMainColorPtr != 0) item->SetColor(GetMainColor());
   item->SetTipText(tobj->GetTitle());
 
   fItems.insert(ListTreeInfo(ltree, item));
   item->SetTipText(tobj->GetTitle());
 
   fItems.insert(ListTreeInfo(ltree, item));
@@ -65,7 +72,7 @@ void RenderElement::FullUpdate()
   for(sLTI_i i=fItems.begin(); i!=fItems.end(); ++i) {
     // Setup name and title/tooltip? Need update calls from setname/title as well.
     i->fItem->CheckItem(fRnrElement);
   for(sLTI_i i=fItems.begin(); i!=fItems.end(); ++i) {
     // Setup name and title/tooltip? Need update calls from setname/title as well.
     i->fItem->CheckItem(fRnrElement);
-    i->fItem->SetColor(GetMainColor());
+    if(fMainColorPtr != 0) i->fItem->SetColor(GetMainColor());
   }
   gReve->Redraw3D();
   gReve->NotifyBrowser();
   }
   gReve->Redraw3D();
   gReve->NotifyBrowser();
@@ -209,13 +216,13 @@ Int_t RenderElementListBase::ExpandIntoListTree(TGListTree* ltree,
 void RenderElementListBase::EnableListElements()
 {
   for(lpRE_i i=fList.begin(); i!=fList.end(); ++i)
 void RenderElementListBase::EnableListElements()
 {
   for(lpRE_i i=fList.begin(); i!=fList.end(); ++i)
-    (*i)->SetRnrElement(true);
+    (*i)->SetRnrElement(kTRUE);
 }
 
 void RenderElementListBase::DisableListElements()
 {
   for(lpRE_i i=fList.begin(); i!=fList.end(); ++i)
 }
 
 void RenderElementListBase::DisableListElements()
 {
   for(lpRE_i i=fList.begin(); i!=fList.end(); ++i)
-    (*i)->SetRnrElement(false);
+    (*i)->SetRnrElement(kFALSE);
 }
 
 /**************************************************************************/
 }
 
 /**************************************************************************/
index 2f3c6137670ad471ea0b4745042dd916948a4377..32dc814ae9b4e7d5200980b76916d9c13df2bf86 100644 (file)
@@ -52,7 +52,7 @@ protected:
 public:
   RenderElement();
   RenderElement(Color_t& main_color);
 public:
   RenderElement();
   RenderElement(Color_t& main_color);
-  virtual ~RenderElement() {}
+  virtual ~RenderElement();
 
   virtual TObject* GetObject(Reve::Exc_t eh="RenderElement::GetObject ");
 
 
   virtual TObject* GetObject(Reve::Exc_t eh="RenderElement::GetObject ");
 
@@ -73,11 +73,11 @@ public:
   void SpawnEditor();                  // *MENU*
   void ExportToCINT(Text_t* var_name); // *MENU*
 
   void SpawnEditor();                  // *MENU*
   void ExportToCINT(Text_t* var_name); // *MENU*
 
-  virtual Bool_t CanEditRnrElement()   { return true; }
+  virtual Bool_t CanEditRnrElement()   { return kTRUE; }
   virtual Bool_t GetRnrElement() const { return fRnrElement; }
   virtual void   SetRnrElement(Bool_t rnr);
 
   virtual Bool_t GetRnrElement() const { return fRnrElement; }
   virtual void   SetRnrElement(Bool_t rnr);
 
-  virtual Bool_t CanEditMainColor()        { return false; }
+  virtual Bool_t CanEditMainColor()        { return kFALSE; }
   Color_t* GetMainColorPtr()               { return fMainColorPtr; }
   void     SetMainColorPtr(Color_t* color) { fMainColorPtr = color; }
 
   Color_t* GetMainColorPtr()               { return fMainColorPtr; }
   void     SetMainColorPtr(Color_t* color) { fMainColorPtr = color; }
 
@@ -150,7 +150,7 @@ public:
   {}
   virtual ~RenderElementList() {}
 
   {}
   virtual ~RenderElementList() {}
 
-  virtual Bool_t CanEditMainColor()  { return true; }
+  virtual Bool_t CanEditMainColor()  { return kTRUE; }
 
   virtual void Paint(Option_t* option = "") { PaintElements(option); }
 
 
   virtual void Paint(Option_t* option = "") { PaintElements(option); }