// @(#)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_TEveGeoNodeEditor
#define ROOT_TEveGeoNodeEditor

#include "TGedFrame.h"

class TGCheckButton;
class TGNumberEntry;
class TGColorSelect;

class TEveGeoNode;
class TEveGeoTopNode;

class TEveGValuator;

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

protected:
   TEveGeoNode*    fNodeRE;

   TGCheckButton*  fVizNode;
   TGCheckButton*  fVizNodeDaughters;
   TGCheckButton*  fVizVolume;
   TGCheckButton*  fVizVolumeDaughters;

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

   virtual void SetModel(TObject* obj);

   void DoVizNode();
   void DoVizNodeDaughters();
   void DoVizVolume();
   void DoVizVolumeDaughters();

   ClassDef(TEveGeoNodeEditor, 0); // Editor for TEveGeoNode class.
};

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

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

protected:
   TEveGeoTopNode* fTopNodeRE;

   TEveGValuator*  fVisOption;
   TEveGValuator*  fVisLevel;
   TEveGValuator*  fMaxVisNodes;

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

   virtual void SetModel(TObject* obj);

   void DoVisOption();
   void DoVisLevel();
   void DoMaxVisNodes();

   ClassDef(TEveGeoTopNodeEditor, 0); // Editor for TEveGeoTopNode class.
};

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