forked from root-project/root
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TEvePointSetArrayEditor.cxx
75 lines (59 loc) · 2.44 KB
/
TEvePointSetArrayEditor.cxx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
// @(#)root/eve:$Id$
// Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
/*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#include "TEvePointSetArrayEditor.h"
#include "TEvePointSet.h"
#include "TEveGValuators.h"
#include "TGDoubleSlider.h"
/** \class TEvePointSetArrayEditor
\ingroup TEve
Editor for TEvePointSetArray class.
*/
ClassImp(TEvePointSetArrayEditor);
////////////////////////////////////////////////////////////////////////////////
/// Constructor.
TEvePointSetArrayEditor::TEvePointSetArrayEditor(const TGWindow *p,
Int_t width, Int_t height,
UInt_t options, Pixel_t back) :
TGedFrame(p,width, height, options | kVerticalFrame, back),
fM(nullptr),
fRange(nullptr)
{
fM = nullptr;
MakeTitle("TEvePointSetArray");
fRange = new TEveGDoubleValuator(this,"Range", 200, 0);
fRange->SetNELength(6);
fRange->Build();
fRange->GetSlider()->SetWidth(224);
fRange->Connect("ValueSet()",
"TEvePointSetArrayEditor", this, "DoRange()");
AddFrame(fRange, new TGLayoutHints(kLHintsTop, 1, 1, 2, 1));
}
////////////////////////////////////////////////////////////////////////////////
/// Destructor.
TEvePointSetArrayEditor::~TEvePointSetArrayEditor()
{
}
////////////////////////////////////////////////////////////////////////////////
/// Set model object.
void TEvePointSetArrayEditor::SetModel(TObject* obj)
{
fM = dynamic_cast<TEvePointSetArray*>(obj);
// printf("FullRange(%f, %f) Selected(%f,%f)\n",
// fM->GetMin(), fM->GetMax(), fM->GetCurMin(), fM->GetCurMax());
fRange->SetLimits(fM->fMin, fM->fMax, TGNumberFormat::kNESRealTwo);
fRange->SetValues(fM->fCurMin, fM->fCurMax);
}
////////////////////////////////////////////////////////////////////////////////
/// Slot for setting the range of the separating quantity.
void TEvePointSetArrayEditor::DoRange()
{
fM->SetRange(fRange->GetMin(), fRange->GetMax());
Update();
}