This commit was generated by cvs2svn to compensate for changes in r13732,
[u/mrichter/AliRoot.git] / EVE / Reve / PointSetArrayEditor.cxx
1 // $Header$
2
3 #include "PointSetArrayEditor.h"
4 #include <Reve/PointSet.h>
5
6 #include <TVirtualPad.h>
7 #include <TColor.h>
8
9 #include <TGLabel.h>
10 #include <TGButton.h>
11 #include <TGNumberEntry.h>
12 #include <TGColorSelect.h>
13 #include <TGDoubleSlider.h>
14
15 using namespace Reve;
16
17 //______________________________________________________________________
18 // PointSetArrayEditor
19 //
20
21 ClassImp(PointSetArrayEditor)
22
23 PointSetArrayEditor::PointSetArrayEditor(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)
26 {
27   fM = 0;
28   MakeTitle("PointSetArray");
29
30   fSlider = new TGDoubleHSlider(this);
31   fSlider->Resize(260, 20);
32   AddFrame(fSlider, new TGLayoutHints(kLHintsLeft, 0, 5));
33   fSlider->Connect("PositionChanged()", "Reve::PointSetArrayEditor",
34                    this, "DoScroll()");
35
36   // Register the editor.
37   TClass *cl = PointSetArray::Class();
38   TGedElement *ge = new TGedElement;
39   ge->fGedFrame = this;
40   ge->fCanvas = 0;
41   cl->GetEditorList()->Add(ge);
42 }
43
44 PointSetArrayEditor::~PointSetArrayEditor()
45 {}
46
47 /**************************************************************************/
48
49 void PointSetArrayEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t )
50 {
51   fModel = 0;
52   fPad   = 0;
53
54   if (!obj || !obj->InheritsFrom(PointSetArray::Class()) || obj->InheritsFrom(TVirtualPad::Class())) {
55     SetActive(kFALSE);
56     return;
57   }
58
59   fModel = obj;
60   fPad   = pad;
61
62   fM = dynamic_cast<PointSetArray*>(fModel);
63
64   printf("FullRange(%f, %f) Selected(%f,%f)\n",
65          fM->GetMin(), fM->GetMax(), fM->GetCurMin(), fM->GetCurMax());
66   fSlider->SetRange(fM->GetMin(), fM->GetMax());
67   fSlider->SetPosition(fM->GetCurMin(), fM->GetCurMax());
68
69   SetActive();
70 }
71
72 /**************************************************************************/
73
74 void PointSetArrayEditor::DoScroll()
75 {
76   Double_t min = fSlider->GetMinPosition(), max = fSlider->GetMaxPosition();
77   printf("PointSet range: min=%f max=%f\n", min, max);
78   fM->SetRange(min, max);
79 }