// @(#)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_TEveProjectionManagerEditor
#define ROOT_TEveProjectionManagerEditor

#include "TGedFrame.h"

class TGComboBox;
class TGCheckButton;
class TGNumberEntry;
class TGColorSelect;

class TEveProjectionManager;
class TEveGValuator;

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

protected:
   TEveProjectionManager    *fM;   // Model object.

   TGComboBox      *fType;         // TEveProjection type widget
   TEveGValuator   *fDistortion;   // TEveProjection distortion widget
   TEveGValuator   *fFixR;         // TEveProjection fixed-radius widget
   TEveGValuator   *fFixZ;         // TEveProjection fixed-z widget
   TEveGValuator   *fPastFixRFac;  // TEveProjection relative scale after FixR
   TEveGValuator   *fPastFixZFac;  // TEveProjection relative scale after FixZ
   TEveGValuator   *fCurrentDepth; // TEveProjection z-coordinate widget
   TEveGValuator   *fMaxTrackStep;  // TEveProjection relative scale after FixZ

   TGVerticalFrame *fCenterFrame;  // parent frame for distortion center
   TEveGValuator   *fCenterX;      // center x value widget
   TEveGValuator   *fCenterY;      // center y value widget
   TEveGValuator   *fCenterZ;      // center z value widget

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

   virtual void SetModel(TObject* obj);

   // Declare callback/slot methods

   void DoType(Int_t type);
   void DoDistortion();
   void DoFixR();
   void DoFixZ();
   void DoPastFixRFac();
   void DoPastFixZFac();
   void DoCurrentDepth();
   void DoMaxTrackStep();
   void DoCenter();

   ClassDef(TEveProjectionManagerEditor, 0); // Editor for TEveProjectionManager class.
};

#endif
 TEveProjectionManagerEditor.h:1
 TEveProjectionManagerEditor.h:2
 TEveProjectionManagerEditor.h:3
 TEveProjectionManagerEditor.h:4
 TEveProjectionManagerEditor.h:5
 TEveProjectionManagerEditor.h:6
 TEveProjectionManagerEditor.h:7
 TEveProjectionManagerEditor.h:8
 TEveProjectionManagerEditor.h:9
 TEveProjectionManagerEditor.h:10
 TEveProjectionManagerEditor.h:11
 TEveProjectionManagerEditor.h:12
 TEveProjectionManagerEditor.h:13
 TEveProjectionManagerEditor.h:14
 TEveProjectionManagerEditor.h:15
 TEveProjectionManagerEditor.h:16
 TEveProjectionManagerEditor.h:17
 TEveProjectionManagerEditor.h:18
 TEveProjectionManagerEditor.h:19
 TEveProjectionManagerEditor.h:20
 TEveProjectionManagerEditor.h:21
 TEveProjectionManagerEditor.h:22
 TEveProjectionManagerEditor.h:23
 TEveProjectionManagerEditor.h:24
 TEveProjectionManagerEditor.h:25
 TEveProjectionManagerEditor.h:26
 TEveProjectionManagerEditor.h:27
 TEveProjectionManagerEditor.h:28
 TEveProjectionManagerEditor.h:29
 TEveProjectionManagerEditor.h:30
 TEveProjectionManagerEditor.h:31
 TEveProjectionManagerEditor.h:32
 TEveProjectionManagerEditor.h:33
 TEveProjectionManagerEditor.h:34
 TEveProjectionManagerEditor.h:35
 TEveProjectionManagerEditor.h:36
 TEveProjectionManagerEditor.h:37
 TEveProjectionManagerEditor.h:38
 TEveProjectionManagerEditor.h:39
 TEveProjectionManagerEditor.h:40
 TEveProjectionManagerEditor.h:41
 TEveProjectionManagerEditor.h:42
 TEveProjectionManagerEditor.h:43
 TEveProjectionManagerEditor.h:44
 TEveProjectionManagerEditor.h:45
 TEveProjectionManagerEditor.h:46
 TEveProjectionManagerEditor.h:47
 TEveProjectionManagerEditor.h:48
 TEveProjectionManagerEditor.h:49
 TEveProjectionManagerEditor.h:50
 TEveProjectionManagerEditor.h:51
 TEveProjectionManagerEditor.h:52
 TEveProjectionManagerEditor.h:53
 TEveProjectionManagerEditor.h:54
 TEveProjectionManagerEditor.h:55
 TEveProjectionManagerEditor.h:56
 TEveProjectionManagerEditor.h:57
 TEveProjectionManagerEditor.h:58
 TEveProjectionManagerEditor.h:59
 TEveProjectionManagerEditor.h:60
 TEveProjectionManagerEditor.h:61
 TEveProjectionManagerEditor.h:62
 TEveProjectionManagerEditor.h:63
 TEveProjectionManagerEditor.h:64
 TEveProjectionManagerEditor.h:65
 TEveProjectionManagerEditor.h:66
 TEveProjectionManagerEditor.h:67
 TEveProjectionManagerEditor.h:68
 TEveProjectionManagerEditor.h:69