3 #include "RenderElementEditor.h"
4 #include <Reve/RenderElement.h>
6 #include <TVirtualPad.h>
11 #include <TGNumberEntry.h>
12 #include <TGColorSelect.h>
13 #include <TGDoubleSlider.h>
17 //______________________________________________________________________
18 // RenderElementEditor
21 ClassImp(RenderElementEditor)
23 RenderElementEditor::RenderElementEditor(const TGWindow *p, Int_t id, Int_t width, Int_t height,
24 UInt_t options, Pixel_t back) :
25 TGedFrame(p, id, width, height, options | kVerticalFrame, back)
28 MakeTitle("RenderElement");
30 fHFrame = new TGHorizontalFrame(this);
32 fMainColor = new TGColorSelect(fHFrame, 0, -1);
33 fHFrame->AddFrame(fMainColor, new TGLayoutHints(kLHintsLeft, 1, 1, 1, 1));
34 fMainColor->Associate(fHFrame);
36 ("ColorSelected(Pixel_t)",
37 "Reve::RenderElementEditor", this, "DoMainColor(Pixel_t)");
39 fRnrElement = new TGCheckButton(fHFrame, "Render element");
40 fHFrame->AddFrame(fRnrElement, new TGLayoutHints(kLHintsLeft, 1, 1, 1, 1));
43 "Reve::RenderElementEditor", this, "DoRnrElement()");
45 AddFrame(fHFrame, new TGLayoutHints(kLHintsTop, 0, 0, 1, 1));
47 // Register the editor.
48 TClass *cl = RenderElement::Class();
49 TGedElement *ge = new TGedElement;
52 cl->GetEditorList()->Add(ge);
55 RenderElementEditor::~RenderElementEditor()
58 /**************************************************************************/
60 void RenderElementEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t )
65 if (!obj || !obj->InheritsFrom(RenderElement::Class()) || obj->InheritsFrom(TVirtualPad::Class())) {
73 fRE = dynamic_cast<RenderElement*>(fModel);
75 if (fRE->CanEditRnrElement()) {
76 fRnrElement->SetState(fRE->GetRnrElement() ? kButtonDown : kButtonUp);
77 fRnrElement->MapWindow();
79 fRnrElement->UnmapWindow();
82 if (fRE->CanEditMainColor()) {
83 fMainColor->SetColor(TColor::Number2Pixel(fRE->GetMainColor()), kFALSE);
84 fMainColor->MapWindow();
86 fMainColor->UnmapWindow();
94 /**************************************************************************/
97 void RenderElementEditor::DoRnrElement()
99 Bool_t fd = fRnrElement->IsOn();
100 fRE->SetRnrElement(fd);
104 void RenderElementEditor::DoMainColor(Pixel_t color)
106 // Slot connected to the axis color.
108 fRE->SetMainColor(color);