From a87df7732dfb1a7b24ac7fa5212a758749ecea03 Mon Sep 17 00:00:00 2001 From: mtadel Date: Fri, 2 Jun 2006 18:12:24 +0000 Subject: [PATCH] Implemented dtor for RenderElement removing all instances from browsers. --- EVE/Reve/RenderElement.cxx | 23 +++++++++++++++-------- EVE/Reve/RenderElement.h | 8 ++++---- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/EVE/Reve/RenderElement.cxx b/EVE/Reve/RenderElement.cxx index b34ee1b989c..97e8a8a9c59 100644 --- a/EVE/Reve/RenderElement.cxx +++ b/EVE/Reve/RenderElement.cxx @@ -19,13 +19,21 @@ ClassImp(RenderElement) RenderElement::RenderElement() { - fRnrElement = true; + fRnrElement = kTRUE; 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); - Bool_t colorp = fMainColorPtr != 0; TGListTreeItem* item = ltree->AddItem(parent, tobj->GetName(), this, - 0, 0, colorp); + 0, 0, kTRUE); item->CheckItem(GetRnrElement()); - if(colorp) item->SetColor(GetMainColor()); + if(fMainColorPtr != 0) item->SetColor(GetMainColor()); 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); - i->fItem->SetColor(GetMainColor()); + if(fMainColorPtr != 0) i->fItem->SetColor(GetMainColor()); } 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) - (*i)->SetRnrElement(true); + (*i)->SetRnrElement(kTRUE); } void RenderElementListBase::DisableListElements() { for(lpRE_i i=fList.begin(); i!=fList.end(); ++i) - (*i)->SetRnrElement(false); + (*i)->SetRnrElement(kFALSE); } /**************************************************************************/ diff --git a/EVE/Reve/RenderElement.h b/EVE/Reve/RenderElement.h index 2f3c6137670..32dc814ae9b 100644 --- a/EVE/Reve/RenderElement.h +++ b/EVE/Reve/RenderElement.h @@ -52,7 +52,7 @@ protected: public: RenderElement(); RenderElement(Color_t& main_color); - virtual ~RenderElement() {} + virtual ~RenderElement(); virtual TObject* GetObject(Reve::Exc_t eh="RenderElement::GetObject "); @@ -73,11 +73,11 @@ public: 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 CanEditMainColor() { return false; } + virtual Bool_t CanEditMainColor() { return kFALSE; } Color_t* GetMainColorPtr() { return fMainColorPtr; } void SetMainColorPtr(Color_t* color) { fMainColorPtr = color; } @@ -150,7 +150,7 @@ public: {} virtual ~RenderElementList() {} - virtual Bool_t CanEditMainColor() { return true; } + virtual Bool_t CanEditMainColor() { return kTRUE; } virtual void Paint(Option_t* option = "") { PaintElements(option); } -- 2.31.1