ROOT logo
// @(#):$Id: TGeoConeEditor.h 20882 2007-11-19 11:31:26Z rdm $
// Author: M.Gheata 
/*************************************************************************
 * Copyright (C) 1995-2002, 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_TGeoConeEditor
#define ROOT_TGeoConeEditor

//////////////////////////////////////////////////////////////////////////
//                                                                      //
//  TGeoConeEditor                                                      //
//                                                                      //
//  Editor for a TGeoCone.                                              //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TGButton
#include "TGWidget.h"
#endif
#ifndef ROOT_TGeoGedFrame
#include "TGeoGedFrame.h"
#endif

class TGeoCone;
class TGeoConeSeg;
class TGeoTabManager;
class TGTextEntry;
class TGNumberEntry;
class TGTab;
class TGComboBox;
class TGTextButton;
class TGCheckButton;
class TString;

class TGeoConeEditor : public TGeoGedFrame {

protected:

   Double_t        fRmini1;            // Initial inner radius at -dz
   Double_t        fRmaxi1;            // Initial outer radius at -dz
   Double_t        fRmini2;            // Initial inner radius at +dz
   Double_t        fRmaxi2;            // Initial outer radius at +dz
   Double_t        fDzi;               // Initial box dz
   TString         fNamei;             // Initial name
   TGeoCone       *fShape;             // Shape object
   Bool_t          fIsModified;        // Flag that volume was modified
   Bool_t          fIsShapeEditable;   // Flag that the shape can be changed
   TGTextEntry    *fShapeName;         // Shape name text entry
   TGNumberEntry  *fERmin1;            // Number entry for rmin1
   TGNumberEntry  *fERmin2;            // Number entry for rmin2
   TGNumberEntry  *fERmax1;            // Number entry for rmax1
   TGNumberEntry  *fERmax2;            // Number entry for rmax2
   TGNumberEntry  *fEDz;               // Number entry for DZ
   TGTextButton   *fApply;             // Apply-Button to accept changes
   TGTextButton   *fUndo;              // Undo-Button
   TGCompositeFrame *fBFrame;          // Frame containing Apply/Undo
   TGCheckButton  *fDelayed;           // Check button for delayed draw
   TGCompositeFrame *fDFrame;          // Frame containing Delayed draw

   virtual void ConnectSignals2Slots();   // Connect the signals to the slots
   Bool_t       IsDelayed() const;   

public:
   TGeoConeEditor(const TGWindow *p = 0,
                  Int_t width = 140, Int_t height = 30,
                  UInt_t options = kChildFrame,
                  Pixel_t back = GetDefaultFrameBackground());
   virtual ~TGeoConeEditor();
   virtual void   SetModel(TObject *obj);

   void           DoRmin1();
   void           DoRmin2();
   void           DoRmax1();
   void           DoRmax2();
   void           DoDz();
   void           DoModified();
   void           DoName();
   virtual void   DoApply();
   virtual void   DoUndo();
   
   ClassDef(TGeoConeEditor,0)   // TGeoCone editor
};   

//////////////////////////////////////////////////////////////////////////
//                                                                      //
//  TGeoConeSegEditor                                                   //
//                                                                      //
//  Editor for a cone segment.                                          //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

class TGDoubleVSlider;

class TGeoConeSegEditor : public TGeoConeEditor {

protected:

   Bool_t           fLock;              // Phi lock
   Double_t         fPmini;             // Initial phi min
   Double_t         fPmaxi;             // Initial phi max
   TGDoubleVSlider *fSPhi;              // Phi slider
   TGNumberEntry   *fEPhi1;             // Number entry for phi1
   TGNumberEntry   *fEPhi2;             // Number entry for phi2  
   
   virtual void ConnectSignals2Slots();   // Connect the signals to the slots

public:
   TGeoConeSegEditor(const TGWindow *p = 0,
                   Int_t width = 140, Int_t height = 30,
                   UInt_t options = kChildFrame,
                   Pixel_t back = GetDefaultFrameBackground());
   virtual ~TGeoConeSegEditor();
   virtual void   SetModel(TObject *obj);

   void           DoPhi();
   void           DoPhi1();
   void           DoPhi2();
   virtual void   DoApply();
   virtual void   DoUndo();
   
   ClassDef(TGeoConeSegEditor,0)   // TGeoConeSeg editor
};   
  
#endif                    
 TGeoConeEditor.h:1
 TGeoConeEditor.h:2
 TGeoConeEditor.h:3
 TGeoConeEditor.h:4
 TGeoConeEditor.h:5
 TGeoConeEditor.h:6
 TGeoConeEditor.h:7
 TGeoConeEditor.h:8
 TGeoConeEditor.h:9
 TGeoConeEditor.h:10
 TGeoConeEditor.h:11
 TGeoConeEditor.h:12
 TGeoConeEditor.h:13
 TGeoConeEditor.h:14
 TGeoConeEditor.h:15
 TGeoConeEditor.h:16
 TGeoConeEditor.h:17
 TGeoConeEditor.h:18
 TGeoConeEditor.h:19
 TGeoConeEditor.h:20
 TGeoConeEditor.h:21
 TGeoConeEditor.h:22
 TGeoConeEditor.h:23
 TGeoConeEditor.h:24
 TGeoConeEditor.h:25
 TGeoConeEditor.h:26
 TGeoConeEditor.h:27
 TGeoConeEditor.h:28
 TGeoConeEditor.h:29
 TGeoConeEditor.h:30
 TGeoConeEditor.h:31
 TGeoConeEditor.h:32
 TGeoConeEditor.h:33
 TGeoConeEditor.h:34
 TGeoConeEditor.h:35
 TGeoConeEditor.h:36
 TGeoConeEditor.h:37
 TGeoConeEditor.h:38
 TGeoConeEditor.h:39
 TGeoConeEditor.h:40
 TGeoConeEditor.h:41
 TGeoConeEditor.h:42
 TGeoConeEditor.h:43
 TGeoConeEditor.h:44
 TGeoConeEditor.h:45
 TGeoConeEditor.h:46
 TGeoConeEditor.h:47
 TGeoConeEditor.h:48
 TGeoConeEditor.h:49
 TGeoConeEditor.h:50
 TGeoConeEditor.h:51
 TGeoConeEditor.h:52
 TGeoConeEditor.h:53
 TGeoConeEditor.h:54
 TGeoConeEditor.h:55
 TGeoConeEditor.h:56
 TGeoConeEditor.h:57
 TGeoConeEditor.h:58
 TGeoConeEditor.h:59
 TGeoConeEditor.h:60
 TGeoConeEditor.h:61
 TGeoConeEditor.h:62
 TGeoConeEditor.h:63
 TGeoConeEditor.h:64
 TGeoConeEditor.h:65
 TGeoConeEditor.h:66
 TGeoConeEditor.h:67
 TGeoConeEditor.h:68
 TGeoConeEditor.h:69
 TGeoConeEditor.h:70
 TGeoConeEditor.h:71
 TGeoConeEditor.h:72
 TGeoConeEditor.h:73
 TGeoConeEditor.h:74
 TGeoConeEditor.h:75
 TGeoConeEditor.h:76
 TGeoConeEditor.h:77
 TGeoConeEditor.h:78
 TGeoConeEditor.h:79
 TGeoConeEditor.h:80
 TGeoConeEditor.h:81
 TGeoConeEditor.h:82
 TGeoConeEditor.h:83
 TGeoConeEditor.h:84
 TGeoConeEditor.h:85
 TGeoConeEditor.h:86
 TGeoConeEditor.h:87
 TGeoConeEditor.h:88
 TGeoConeEditor.h:89
 TGeoConeEditor.h:90
 TGeoConeEditor.h:91
 TGeoConeEditor.h:92
 TGeoConeEditor.h:93
 TGeoConeEditor.h:94
 TGeoConeEditor.h:95
 TGeoConeEditor.h:96
 TGeoConeEditor.h:97
 TGeoConeEditor.h:98
 TGeoConeEditor.h:99
 TGeoConeEditor.h:100
 TGeoConeEditor.h:101
 TGeoConeEditor.h:102
 TGeoConeEditor.h:103
 TGeoConeEditor.h:104
 TGeoConeEditor.h:105
 TGeoConeEditor.h:106
 TGeoConeEditor.h:107
 TGeoConeEditor.h:108
 TGeoConeEditor.h:109
 TGeoConeEditor.h:110
 TGeoConeEditor.h:111
 TGeoConeEditor.h:112
 TGeoConeEditor.h:113
 TGeoConeEditor.h:114
 TGeoConeEditor.h:115
 TGeoConeEditor.h:116
 TGeoConeEditor.h:117
 TGeoConeEditor.h:118
 TGeoConeEditor.h:119
 TGeoConeEditor.h:120
 TGeoConeEditor.h:121
 TGeoConeEditor.h:122
 TGeoConeEditor.h:123
 TGeoConeEditor.h:124
 TGeoConeEditor.h:125
 TGeoConeEditor.h:126
 TGeoConeEditor.h:127
 TGeoConeEditor.h:128
 TGeoConeEditor.h:129