]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveDet/AliEveTRDLoaderManager.h
Merge changes from branches/dev/EVE. This branch was following development in ROOT...
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveTRDLoaderManager.h
1 // $Id$
2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3
4 /**************************************************************************
5  * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6  * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
7  * full copyright notice.                                                 *
8  **************************************************************************/
9
10 #ifndef AliEveTRDLoaderManager_H
11 #define AliEveTRDLoaderManager_H
12
13 ////////////////////////////////////////////////////////////////////////
14 //
15 // - ALIEVE implementation -
16 // Loader manager for the TRD detector
17 //    - AliEveTRDLoaderManager - manager of TRD data loaders (simulation + measured)
18 //    - AliEveTRDLoaderManagerEditor - UI
19 //
20 // by A.Bercuci (A.Bercuci@gsi.de)   Mon Feb 26 2007
21 ////////////////////////////////////////////////////////////////////////
22
23 #include <TEveElement.h>
24
25 #include <TNamed.h>
26 #include <TGedFrame.h>
27
28 class TGComboBox;
29 class TGTextButton;
30 class TClonesArray;
31
32
33 class AliEveTRDLoaderManager : public TEveElementList
34 {
35   friend class AliEveTRDLoaderManagerEditor;
36
37   AliEveTRDLoaderManager(const AliEveTRDLoaderManager&);            // Not implemented
38   AliEveTRDLoaderManager& operator=(const AliEveTRDLoaderManager&); // Not implemented
39
40 public:
41   AliEveTRDLoaderManager(const Text_t* name="AliEveTRDLoader", const Text_t* title=0x0);
42   virtual ~AliEveTRDLoaderManager() {}
43
44   void  Paint(Option_t *option);
45
46 protected:
47   void  Add(Int_t type, const Text_t *name, const Text_t *title=0x0);
48   void  Remove(Int_t entry);
49
50   ClassDef(AliEveTRDLoaderManager, 1); // Alieve loaders manager for TRD
51 };
52
53
54 class AliEveTRDLoaderManagerEditor : public TGedFrame
55 {
56 private:
57   AliEveTRDLoaderManagerEditor(const AliEveTRDLoaderManagerEditor&);            // Not implemented
58   AliEveTRDLoaderManagerEditor& operator=(const AliEveTRDLoaderManagerEditor&); // Not implemented
59
60 public:
61   AliEveTRDLoaderManagerEditor(const TGWindow* p=0, Int_t width=170, Int_t height=30,
62                                UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground());
63   virtual ~AliEveTRDLoaderManagerEditor() {}
64
65   virtual void  Add();
66   virtual void  Remove(Int_t entry);
67   virtual void  SetModel(TObject* obj);
68
69 protected:
70   AliEveTRDLoaderManager* fM; // Model object.
71
72 private:
73   TGComboBox    *fSelector;            // Selector weed.
74   TGTextButton  *fAdd, *fRemoveButton; // Add/remove button.
75   TGGroupFrame  *fGroupFrame;          // Frame.
76   TClonesArray  *fRemove;              // Remove array.
77
78   ClassDef(AliEveTRDLoaderManagerEditor, 1); // Editor for AliEveTRDLoaderManager.
79 };
80
81 #endif
82