// @(#)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.             *
 *************************************************************************/

#ifndef ROOT_TEveTrackEditors
#define ROOT_TEveTrackEditors

#include "TGedFrame.h"

class TGButton;
class TGCheckButton;
class TGNumberEntry;
class TGColorSelect;

class TEveGValuator;
class TEveGDoubleValuator;
class TEveTrackPropagatorSubEditor;
class TEveTrack;
class TEveTrackList;


/******************************************************************************/
// TEveTrackEditor
/******************************************************************************/

class TEveTrackEditor : public TGedFrame
{
private:
   TEveTrackEditor(const TEveTrackEditor&);            // Not implemented
   TEveTrackEditor& operator=(const TEveTrackEditor&); // Not implemented

protected:
   TEveTrack                      *fM;
   TGTextButton                   *fRSEditor;
public:
   TEveTrackEditor(const TGWindow* p=0, Int_t width=170, Int_t height=30,
                   UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground());
   virtual ~TEveTrackEditor() {}

   virtual void SetModel(TObject* obj);
   void DoEditPropagator();

   ClassDef(TEveTrackEditor, 0); // Editor for TEveTrack class.
};


/******************************************************************************/
// TEveTrackListEditor
/******************************************************************************/

class TEveTrackListEditor : public TGedFrame
{
private:
   TEveTrackListEditor(const TEveTrackListEditor&);            // Not implemented
   TEveTrackListEditor& operator=(const TEveTrackListEditor&); // Not implemented

   void CreateRefTab();
protected:
   TGVerticalFrame                 *fRefs;

   TEveTrackList                   *fTC; // fModel dynamic-casted to TEveTrackListEditor

   TGCheckButton                   *fRnrLine;
   TGCheckButton                   *fRnrPoints;

   TEveGDoubleValuator             *fPtRange;
   TEveGDoubleValuator             *fPRange;

   TEveTrackPropagatorSubEditor      *fRSSubEditor;

public:
   TEveTrackListEditor(const TGWindow* p=0, Int_t width=170, Int_t height=30,
                       UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground());
   virtual ~TEveTrackListEditor() {}

   void CreateRefsTab();
   virtual void SetModel(TObject* obj);

   void DoRnrLine();
   void DoRnrPoints();

   void DoPtRange();
   void DoPRange();

   ClassDef(TEveTrackListEditor, 0); // Editor for TEveTrackList class.
};

#endif
 TEveTrackEditor.h:1
 TEveTrackEditor.h:2
 TEveTrackEditor.h:3
 TEveTrackEditor.h:4
 TEveTrackEditor.h:5
 TEveTrackEditor.h:6
 TEveTrackEditor.h:7
 TEveTrackEditor.h:8
 TEveTrackEditor.h:9
 TEveTrackEditor.h:10
 TEveTrackEditor.h:11
 TEveTrackEditor.h:12
 TEveTrackEditor.h:13
 TEveTrackEditor.h:14
 TEveTrackEditor.h:15
 TEveTrackEditor.h:16
 TEveTrackEditor.h:17
 TEveTrackEditor.h:18
 TEveTrackEditor.h:19
 TEveTrackEditor.h:20
 TEveTrackEditor.h:21
 TEveTrackEditor.h:22
 TEveTrackEditor.h:23
 TEveTrackEditor.h:24
 TEveTrackEditor.h:25
 TEveTrackEditor.h:26
 TEveTrackEditor.h:27
 TEveTrackEditor.h:28
 TEveTrackEditor.h:29
 TEveTrackEditor.h:30
 TEveTrackEditor.h:31
 TEveTrackEditor.h:32
 TEveTrackEditor.h:33
 TEveTrackEditor.h:34
 TEveTrackEditor.h:35
 TEveTrackEditor.h:36
 TEveTrackEditor.h:37
 TEveTrackEditor.h:38
 TEveTrackEditor.h:39
 TEveTrackEditor.h:40
 TEveTrackEditor.h:41
 TEveTrackEditor.h:42
 TEveTrackEditor.h:43
 TEveTrackEditor.h:44
 TEveTrackEditor.h:45
 TEveTrackEditor.h:46
 TEveTrackEditor.h:47
 TEveTrackEditor.h:48
 TEveTrackEditor.h:49
 TEveTrackEditor.h:50
 TEveTrackEditor.h:51
 TEveTrackEditor.h:52
 TEveTrackEditor.h:53
 TEveTrackEditor.h:54
 TEveTrackEditor.h:55
 TEveTrackEditor.h:56
 TEveTrackEditor.h:57
 TEveTrackEditor.h:58
 TEveTrackEditor.h:59
 TEveTrackEditor.h:60
 TEveTrackEditor.h:61
 TEveTrackEditor.h:62
 TEveTrackEditor.h:63
 TEveTrackEditor.h:64
 TEveTrackEditor.h:65
 TEveTrackEditor.h:66
 TEveTrackEditor.h:67
 TEveTrackEditor.h:68
 TEveTrackEditor.h:69
 TEveTrackEditor.h:70
 TEveTrackEditor.h:71
 TEveTrackEditor.h:72
 TEveTrackEditor.h:73
 TEveTrackEditor.h:74
 TEveTrackEditor.h:75
 TEveTrackEditor.h:76
 TEveTrackEditor.h:77
 TEveTrackEditor.h:78
 TEveTrackEditor.h:79
 TEveTrackEditor.h:80
 TEveTrackEditor.h:81
 TEveTrackEditor.h:82
 TEveTrackEditor.h:83
 TEveTrackEditor.h:84
 TEveTrackEditor.h:85
 TEveTrackEditor.h:86
 TEveTrackEditor.h:87
 TEveTrackEditor.h:88
 TEveTrackEditor.h:89
 TEveTrackEditor.h:90
 TEveTrackEditor.h:91
 TEveTrackEditor.h:92
 TEveTrackEditor.h:93
 TEveTrackEditor.h:94
 TEveTrackEditor.h:95