Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:55:22

0001 //==========================================================================
0002 //  AIDA Detector description implementation 
0003 //--------------------------------------------------------------------------
0004 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
0005 // All rights reserved.
0006 //
0007 // For the licensing terms see $DD4hepINSTALL/LICENSE.
0008 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
0009 //
0010 // Author     : M.Frank
0011 //
0012 //==========================================================================
0013 #ifndef DDEVE_FRAMECONTROL_H
0014 #define DDEVE_FRAMECONTROL_H
0015 
0016 // ROOT include files
0017 #include "TGFrame.h"
0018 
0019 // C/C++ include files
0020 #include <string>
0021 
0022 // Forward declarations
0023 class TGClient;
0024 class TGPicture;
0025 class TGCompositeFrame;
0026 
0027 /// Namespace for the AIDA detector description toolkit
0028 namespace dd4hep {
0029 
0030   /// class FrameControl  FrameControl.h DDEve/FrameControl.h
0031   /*
0032    *  \author  M.Frank
0033    *  \version 1.0
0034    *  \ingroup DD4HEP_EVE
0035    */
0036   class FrameControl : public TGMainFrame  {
0037 
0038   protected:
0039     /// Reference to TEve manager
0040     TGClient* m_client;
0041     /// Reference to control's frame
0042     TGCompositeFrame* m_frame;
0043 
0044   public:
0045     /// Standard constructor
0046     FrameControl(TGClient* client, const std::string& name, unsigned int width, unsigned int height);
0047     /// Default destructor
0048     virtual ~FrameControl();
0049     /// Access to the windows client
0050     TGClient& client() const  {  return *m_client; }
0051     /// Access to the top level frame
0052     TGCompositeFrame* frame() const {  return m_frame; }
0053     /// Build the control
0054     virtual void Build();
0055     /// User callback to add elements to the control
0056     virtual void OnBuild();
0057 
0058     /// Create the frame for this control structure. Default: create horizontal frame
0059     virtual TGCompositeFrame* CreateFrame();
0060 
0061     /** Helper functions to fill the graphics pane(s)   */
0062 
0063     /// Helper: Load picture using path name
0064     virtual const TGPicture* LoadPicture(const std::string& path);
0065 
0066     ClassDefOverride(FrameControl,0)  // Top level window frame
0067   };
0068 }      /* End namespace dd4hep        */
0069 #endif // DDEVE_FRAMECONTROL_H
0070