]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVE/Reve/RGEditor.cxx
Merge from EVE-dev to HEAD.
[u/mrichter/AliRoot.git] / EVE / Reve / RGEditor.cxx
index 4d564383ca46918db864f213ebbb15a23cb502f8..42433e896e4961f79daa02ebbfb53c8af91cd473 100644 (file)
@@ -1,6 +1,8 @@
 // $Header$
 
 #include "RGEditor.h"
+#include "RenderElement.h"
+#include "RGTopFrame.h"
 
 #include <TGedFrame.h>
 #include <TGCanvas.h>
@@ -17,25 +19,26 @@ ClassImp(RGEditor)
 RGEditor::RGEditor(TCanvas* canvas) : TGedEditor(canvas)
 {}
 
+void RGEditor::DisplayRenderElement(RenderElement* re)
+{
+  fRnrElement = re;
+  TObject* obj = fRnrElement ? fRnrElement->GetObject() : 0;
+  SetModel(fPad, obj, kButton1Down);
+}
+
 void RGEditor::DisplayObject(TObject* obj)
 {
-  fModel = obj;
-
-  if(obj) {
-    if(obj->IsA() != fClass && !obj->IsA()->InheritsFrom(fClass)) {
-      fClass = obj->IsA();
-      GetEditors();
-    }
-  } else {
-    fCan->UnmapWindow();
-    return;
-  }
+  fRnrElement = 0;
+  SetModel(fPad, obj, kButton1Down);
+}
+
+void RGEditor::Update(TGedFrame* /*gframe*/)
+{
+  // Virtual method from TGedEditor ... called on every change.
 
-  TGFrameElement *el;
-  TIter next(fStyle->GetList());
-  while ((el = (TGFrameElement *) next())) {
-    if ((el->fFrame)->InheritsFrom(TGedFrame::Class()))
-      ((TGedFrame *)(el->fFrame))->SetModel(fPad, fModel, 0);
+  if (fRnrElement) {
+    fRnrElement->UpdateItems();
   }
-  fCan->MapWindow();
+
+  gReve->Redraw3D();
 }