ROOT logo
// @(#):$Id: TGeoNodeEditor.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_TGeoNodeEditor
#define ROOT_TGeoNodeEditor

//////////////////////////////////////////////////////////////////////////
//                                                                      //
//  TGeoNodeEditor                                                    //
//                                                                      //
//  Editor for a TGeoNode.                                            //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

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

class TGeoNode;
class TGeoVolume;
class TGeoMatrix;
class TGTextEntry;
class TGNumberEntry;
class TGTab;
class TGComboBox;
class TGTextButton;
class TGPictureButton;
class TGCheckButton;
class TGeoTabManager;

class TGeoNodeEditor : public TGeoGedFrame {

protected:

   TGeoNode            *fNode;              // Node object

   Bool_t               fIsEditable;        // Flag that the medium can be changed
   TGTextEntry         *fNodeName;          // Node name text entry
   TGNumberEntry       *fNodeNumber;        // Copy number 
   TGeoVolume          *fSelectedVolume;    // Selected volume
   TGLabel             *fLSelVolume;        // Selected volume label
   TGPictureButton     *fBSelVolume;        // Button for selecting a volume
   TGeoVolume          *fSelectedMother;    // Selected mother
   TGLabel             *fLSelMother;        // Selected mother label
   TGPictureButton     *fBSelMother;        // Button for selecting a mother volume
   TGeoMatrix          *fSelectedMatrix;    // Selected matrix
   TGLabel             *fLSelMatrix;        // Selected matrix label
   TGPictureButton     *fBSelMatrix;        // Button for selecting a matrix
   TGTextButton        *fEditMother;        // Check button for editing mother volume
   TGTextButton        *fEditVolume;        // Check button for volume editing
   TGTextButton        *fEditMatrix;        // Check button for matrix editing
   TGTextButton        *fApply;             // Apply-Button to accept changes
   TGTextButton        *fCancel;            // Cancel-Button
   TGTextButton        *fUndo;              // Undo-Button

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

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

   void           DoEditMother();
   void           DoEditVolume();
   void           DoEditMatrix();
   void           DoSelectMother();
   void           DoSelectVolume();
   void           DoSelectMatrix();
   void           DoNodeName();
   void           DoNodeNumber();
   void           DoApply();
   void           DoUndo();
   
   ClassDef(TGeoNodeEditor,0)   // TGeoNode editor
};   
  
#endif                    
 TGeoNodeEditor.h:1
 TGeoNodeEditor.h:2
 TGeoNodeEditor.h:3
 TGeoNodeEditor.h:4
 TGeoNodeEditor.h:5
 TGeoNodeEditor.h:6
 TGeoNodeEditor.h:7
 TGeoNodeEditor.h:8
 TGeoNodeEditor.h:9
 TGeoNodeEditor.h:10
 TGeoNodeEditor.h:11
 TGeoNodeEditor.h:12
 TGeoNodeEditor.h:13
 TGeoNodeEditor.h:14
 TGeoNodeEditor.h:15
 TGeoNodeEditor.h:16
 TGeoNodeEditor.h:17
 TGeoNodeEditor.h:18
 TGeoNodeEditor.h:19
 TGeoNodeEditor.h:20
 TGeoNodeEditor.h:21
 TGeoNodeEditor.h:22
 TGeoNodeEditor.h:23
 TGeoNodeEditor.h:24
 TGeoNodeEditor.h:25
 TGeoNodeEditor.h:26
 TGeoNodeEditor.h:27
 TGeoNodeEditor.h:28
 TGeoNodeEditor.h:29
 TGeoNodeEditor.h:30
 TGeoNodeEditor.h:31
 TGeoNodeEditor.h:32
 TGeoNodeEditor.h:33
 TGeoNodeEditor.h:34
 TGeoNodeEditor.h:35
 TGeoNodeEditor.h:36
 TGeoNodeEditor.h:37
 TGeoNodeEditor.h:38
 TGeoNodeEditor.h:39
 TGeoNodeEditor.h:40
 TGeoNodeEditor.h:41
 TGeoNodeEditor.h:42
 TGeoNodeEditor.h:43
 TGeoNodeEditor.h:44
 TGeoNodeEditor.h:45
 TGeoNodeEditor.h:46
 TGeoNodeEditor.h:47
 TGeoNodeEditor.h:48
 TGeoNodeEditor.h:49
 TGeoNodeEditor.h:50
 TGeoNodeEditor.h:51
 TGeoNodeEditor.h:52
 TGeoNodeEditor.h:53
 TGeoNodeEditor.h:54
 TGeoNodeEditor.h:55
 TGeoNodeEditor.h:56
 TGeoNodeEditor.h:57
 TGeoNodeEditor.h:58
 TGeoNodeEditor.h:59
 TGeoNodeEditor.h:60
 TGeoNodeEditor.h:61
 TGeoNodeEditor.h:62
 TGeoNodeEditor.h:63
 TGeoNodeEditor.h:64
 TGeoNodeEditor.h:65
 TGeoNodeEditor.h:66
 TGeoNodeEditor.h:67
 TGeoNodeEditor.h:68
 TGeoNodeEditor.h:69
 TGeoNodeEditor.h:70
 TGeoNodeEditor.h:71
 TGeoNodeEditor.h:72
 TGeoNodeEditor.h:73
 TGeoNodeEditor.h:74
 TGeoNodeEditor.h:75
 TGeoNodeEditor.h:76
 TGeoNodeEditor.h:77
 TGeoNodeEditor.h:78
 TGeoNodeEditor.h:79
 TGeoNodeEditor.h:80
 TGeoNodeEditor.h:81
 TGeoNodeEditor.h:82
 TGeoNodeEditor.h:83
 TGeoNodeEditor.h:84
 TGeoNodeEditor.h:85
 TGeoNodeEditor.h:86
 TGeoNodeEditor.h:87
 TGeoNodeEditor.h:88
 TGeoNodeEditor.h:89
 TGeoNodeEditor.h:90
 TGeoNodeEditor.h:91