// @(#)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 "TVirtualPad.h"
#include "TColor.h"

#include "TGLabel.h"
#include "TGButton.h"
#include "TGNumberEntry.h"
#include "TGColorSelect.h"
#include "TGDoubleSlider.h"

//______________________________________________________________________________
//
// Editor for TEvePointSetArray class.

ClassImp(TEvePointSetArrayEditor);

//______________________________________________________________________________
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(0),
   fRange(0)
{
   // Constructor.

   fM = 0;
   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));
}

//______________________________________________________________________________
TEvePointSetArrayEditor::~TEvePointSetArrayEditor()
{
   // Destructor.
}

/******************************************************************************/

//______________________________________________________________________________
void TEvePointSetArrayEditor::SetModel(TObject* obj)
{
   // Set model object.

   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);
}

/******************************************************************************/

//______________________________________________________________________________
void TEvePointSetArrayEditor::DoRange()
{
   // Slot for setting the range of the separating quantity.

   fM->SetRange(fRange->GetMin(), fRange->GetMax());
   Update();
}
 TEvePointSetArrayEditor.cxx:1
 TEvePointSetArrayEditor.cxx:2
 TEvePointSetArrayEditor.cxx:3
 TEvePointSetArrayEditor.cxx:4
 TEvePointSetArrayEditor.cxx:5
 TEvePointSetArrayEditor.cxx:6
 TEvePointSetArrayEditor.cxx:7
 TEvePointSetArrayEditor.cxx:8
 TEvePointSetArrayEditor.cxx:9
 TEvePointSetArrayEditor.cxx:10
 TEvePointSetArrayEditor.cxx:11
 TEvePointSetArrayEditor.cxx:12
 TEvePointSetArrayEditor.cxx:13
 TEvePointSetArrayEditor.cxx:14
 TEvePointSetArrayEditor.cxx:15
 TEvePointSetArrayEditor.cxx:16
 TEvePointSetArrayEditor.cxx:17
 TEvePointSetArrayEditor.cxx:18
 TEvePointSetArrayEditor.cxx:19
 TEvePointSetArrayEditor.cxx:20
 TEvePointSetArrayEditor.cxx:21
 TEvePointSetArrayEditor.cxx:22
 TEvePointSetArrayEditor.cxx:23
 TEvePointSetArrayEditor.cxx:24
 TEvePointSetArrayEditor.cxx:25
 TEvePointSetArrayEditor.cxx:26
 TEvePointSetArrayEditor.cxx:27
 TEvePointSetArrayEditor.cxx:28
 TEvePointSetArrayEditor.cxx:29
 TEvePointSetArrayEditor.cxx:30
 TEvePointSetArrayEditor.cxx:31
 TEvePointSetArrayEditor.cxx:32
 TEvePointSetArrayEditor.cxx:33
 TEvePointSetArrayEditor.cxx:34
 TEvePointSetArrayEditor.cxx:35
 TEvePointSetArrayEditor.cxx:36
 TEvePointSetArrayEditor.cxx:37
 TEvePointSetArrayEditor.cxx:38
 TEvePointSetArrayEditor.cxx:39
 TEvePointSetArrayEditor.cxx:40
 TEvePointSetArrayEditor.cxx:41
 TEvePointSetArrayEditor.cxx:42
 TEvePointSetArrayEditor.cxx:43
 TEvePointSetArrayEditor.cxx:44
 TEvePointSetArrayEditor.cxx:45
 TEvePointSetArrayEditor.cxx:46
 TEvePointSetArrayEditor.cxx:47
 TEvePointSetArrayEditor.cxx:48
 TEvePointSetArrayEditor.cxx:49
 TEvePointSetArrayEditor.cxx:50
 TEvePointSetArrayEditor.cxx:51
 TEvePointSetArrayEditor.cxx:52
 TEvePointSetArrayEditor.cxx:53
 TEvePointSetArrayEditor.cxx:54
 TEvePointSetArrayEditor.cxx:55
 TEvePointSetArrayEditor.cxx:56
 TEvePointSetArrayEditor.cxx:57
 TEvePointSetArrayEditor.cxx:58
 TEvePointSetArrayEditor.cxx:59
 TEvePointSetArrayEditor.cxx:60
 TEvePointSetArrayEditor.cxx:61
 TEvePointSetArrayEditor.cxx:62
 TEvePointSetArrayEditor.cxx:63
 TEvePointSetArrayEditor.cxx:64
 TEvePointSetArrayEditor.cxx:65
 TEvePointSetArrayEditor.cxx:66
 TEvePointSetArrayEditor.cxx:67
 TEvePointSetArrayEditor.cxx:68
 TEvePointSetArrayEditor.cxx:69
 TEvePointSetArrayEditor.cxx:70
 TEvePointSetArrayEditor.cxx:71
 TEvePointSetArrayEditor.cxx:72
 TEvePointSetArrayEditor.cxx:73
 TEvePointSetArrayEditor.cxx:74
 TEvePointSetArrayEditor.cxx:75
 TEvePointSetArrayEditor.cxx:76
 TEvePointSetArrayEditor.cxx:77
 TEvePointSetArrayEditor.cxx:78
 TEvePointSetArrayEditor.cxx:79
 TEvePointSetArrayEditor.cxx:80
 TEvePointSetArrayEditor.cxx:81
 TEvePointSetArrayEditor.cxx:82
 TEvePointSetArrayEditor.cxx:83
 TEvePointSetArrayEditor.cxx:84