TGeoNodeEditor.h

Go to the documentation of this file.
00001 // @(#):$Id: TGeoNodeEditor.h 20882 2007-11-19 11:31:26Z rdm $
00002 // Author: M.Gheata 
00003 
00004 /*************************************************************************
00005  * Copyright (C) 1995-2002, Rene Brun and Fons Rademakers.               *
00006  * All rights reserved.                                                  *
00007  *                                                                       *
00008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00010  *************************************************************************/
00011 
00012 #ifndef ROOT_TGeoNodeEditor
00013 #define ROOT_TGeoNodeEditor
00014 
00015 //////////////////////////////////////////////////////////////////////////
00016 //                                                                      //
00017 //  TGeoNodeEditor                                                    //
00018 //                                                                      //
00019 //  Editor for a TGeoNode.                                            //
00020 //                                                                      //
00021 //////////////////////////////////////////////////////////////////////////
00022 
00023 #ifndef ROOT_TGButton
00024 #include "TGWidget.h"
00025 #endif
00026 #ifndef ROOT_TGeoGedFrame
00027 #include "TGeoGedFrame.h"
00028 #endif
00029 
00030 class TGeoNode;
00031 class TGeoVolume;
00032 class TGeoMatrix;
00033 class TGTextEntry;
00034 class TGNumberEntry;
00035 class TGTab;
00036 class TGComboBox;
00037 class TGTextButton;
00038 class TGPictureButton;
00039 class TGCheckButton;
00040 class TGeoTabManager;
00041 
00042 class TGeoNodeEditor : public TGeoGedFrame {
00043 
00044 protected:
00045 
00046    TGeoNode            *fNode;              // Node object
00047 
00048    Bool_t               fIsEditable;        // Flag that the medium can be changed
00049    TGTextEntry         *fNodeName;          // Node name text entry
00050    TGNumberEntry       *fNodeNumber;        // Copy number 
00051    TGeoVolume          *fSelectedVolume;    // Selected volume
00052    TGLabel             *fLSelVolume;        // Selected volume label
00053    TGPictureButton     *fBSelVolume;        // Button for selecting a volume
00054    TGeoVolume          *fSelectedMother;    // Selected mother
00055    TGLabel             *fLSelMother;        // Selected mother label
00056    TGPictureButton     *fBSelMother;        // Button for selecting a mother volume
00057    TGeoMatrix          *fSelectedMatrix;    // Selected matrix
00058    TGLabel             *fLSelMatrix;        // Selected matrix label
00059    TGPictureButton     *fBSelMatrix;        // Button for selecting a matrix
00060    TGTextButton        *fEditMother;        // Check button for editing mother volume
00061    TGTextButton        *fEditVolume;        // Check button for volume editing
00062    TGTextButton        *fEditMatrix;        // Check button for matrix editing
00063    TGTextButton        *fApply;             // Apply-Button to accept changes
00064    TGTextButton        *fCancel;            // Cancel-Button
00065    TGTextButton        *fUndo;              // Undo-Button
00066 
00067    virtual void   ConnectSignals2Slots();   // Connect the signals to the slots
00068 
00069 public:
00070    TGeoNodeEditor(const TGWindow *p = 0,
00071                   Int_t width = 140, Int_t height = 30,
00072                   UInt_t options = kChildFrame,
00073                   Pixel_t back = GetDefaultFrameBackground());
00074    virtual ~TGeoNodeEditor();
00075    virtual void   SetModel(TObject *obj);
00076 
00077    void           DoEditMother();
00078    void           DoEditVolume();
00079    void           DoEditMatrix();
00080    void           DoSelectMother();
00081    void           DoSelectVolume();
00082    void           DoSelectMatrix();
00083    void           DoNodeName();
00084    void           DoNodeNumber();
00085    void           DoApply();
00086    void           DoUndo();
00087    
00088    ClassDef(TGeoNodeEditor,0)   // TGeoNode editor
00089 };   
00090   
00091 #endif                    

Generated on Tue Jul 5 14:13:01 2011 for ROOT_528-00b_version by  doxygen 1.5.1