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