#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;
class TEveTrackEditor : public TGedFrame
{
private:
   TEveTrackEditor(const TEveTrackEditor&);            
   TEveTrackEditor& operator=(const TEveTrackEditor&); 
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); 
};
class TEveTrackListEditor : public TGedFrame
{
private:
   TEveTrackListEditor(const TEveTrackListEditor&);            
   TEveTrackListEditor& operator=(const TEveTrackListEditor&); 
   void CreateRefTab();
protected:
   TGVerticalFrame                 *fRefs;
   TEveTrackList                   *fTC; 
   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); 
};
#endif