ROOT logo
// $Id$
// Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007

/**************************************************************************
 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
 * full copyright notice.                                                 *
 **************************************************************************/

#ifndef AliEveTRDLoaderManager_H
#define AliEveTRDLoaderManager_H

////////////////////////////////////////////////////////////////////////
//
// - ALIEVE implementation -
// Loader manager for the TRD detector
//    - AliEveTRDLoaderManager - manager of TRD data loaders (simulation + measured)
//    - AliEveTRDLoaderManagerEditor - UI
//
// by A.Bercuci (A.Bercuci@gsi.de)   Mon Feb 26 2007
////////////////////////////////////////////////////////////////////////

#include <TEveElement.h>

#include <TNamed.h>
#include <TGedFrame.h>

class TGComboBox;
class TGTextButton;
class TClonesArray;


class AliEveTRDLoaderManager : public TEveElementList
{
  friend class AliEveTRDLoaderManagerEditor;

public:
  AliEveTRDLoaderManager(const Text_t* name="AliEveTRDLoader", const Text_t* title=0x0);
  virtual ~AliEveTRDLoaderManager() {}

  void 	Paint(Option_t *option);

protected:
  void	Add(Int_t type, const Text_t *name, const Text_t *title=0x0);
  void	Remove(Int_t entry);

private:
  AliEveTRDLoaderManager(const AliEveTRDLoaderManager&);            // Not implemented
  AliEveTRDLoaderManager& operator=(const AliEveTRDLoaderManager&); // Not implemented

  ClassDef(AliEveTRDLoaderManager, 0); // Alieve loaders manager for TRD
};


class AliEveTRDLoaderManagerEditor : public TGedFrame
{
public:
  AliEveTRDLoaderManagerEditor(const TGWindow* p=0, Int_t width=170, Int_t height=30,
			       UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground());
  virtual ~AliEveTRDLoaderManagerEditor() {}

  virtual void	Add(Char_t *entry);
  virtual void	Remove(Int_t entry);
  virtual void	SetModel(TObject* obj);

protected:
  AliEveTRDLoaderManager* fM; // Model object.

private:
  TGComboBox	*fSelector;            // Selector weed.
  TGTextButton	*fAdd, *fRemoveButton; // Add/remove button.
  TGGroupFrame 	*fGroupFrame;          // Frame.
  TClonesArray	*fRemove;              // Remove array.

  AliEveTRDLoaderManagerEditor(const AliEveTRDLoaderManagerEditor&);            // Not implemented
  AliEveTRDLoaderManagerEditor& operator=(const AliEveTRDLoaderManagerEditor&); // Not implemented

  ClassDef(AliEveTRDLoaderManagerEditor, 0); // Editor for AliEveTRDLoaderManager.
};

#endif

 AliEveTRDLoaderManager.h:1
 AliEveTRDLoaderManager.h:2
 AliEveTRDLoaderManager.h:3
 AliEveTRDLoaderManager.h:4
 AliEveTRDLoaderManager.h:5
 AliEveTRDLoaderManager.h:6
 AliEveTRDLoaderManager.h:7
 AliEveTRDLoaderManager.h:8
 AliEveTRDLoaderManager.h:9
 AliEveTRDLoaderManager.h:10
 AliEveTRDLoaderManager.h:11
 AliEveTRDLoaderManager.h:12
 AliEveTRDLoaderManager.h:13
 AliEveTRDLoaderManager.h:14
 AliEveTRDLoaderManager.h:15
 AliEveTRDLoaderManager.h:16
 AliEveTRDLoaderManager.h:17
 AliEveTRDLoaderManager.h:18
 AliEveTRDLoaderManager.h:19
 AliEveTRDLoaderManager.h:20
 AliEveTRDLoaderManager.h:21
 AliEveTRDLoaderManager.h:22
 AliEveTRDLoaderManager.h:23
 AliEveTRDLoaderManager.h:24
 AliEveTRDLoaderManager.h:25
 AliEveTRDLoaderManager.h:26
 AliEveTRDLoaderManager.h:27
 AliEveTRDLoaderManager.h:28
 AliEveTRDLoaderManager.h:29
 AliEveTRDLoaderManager.h:30
 AliEveTRDLoaderManager.h:31
 AliEveTRDLoaderManager.h:32
 AliEveTRDLoaderManager.h:33
 AliEveTRDLoaderManager.h:34
 AliEveTRDLoaderManager.h:35
 AliEveTRDLoaderManager.h:36
 AliEveTRDLoaderManager.h:37
 AliEveTRDLoaderManager.h:38
 AliEveTRDLoaderManager.h:39
 AliEveTRDLoaderManager.h:40
 AliEveTRDLoaderManager.h:41
 AliEveTRDLoaderManager.h:42
 AliEveTRDLoaderManager.h:43
 AliEveTRDLoaderManager.h:44
 AliEveTRDLoaderManager.h:45
 AliEveTRDLoaderManager.h:46
 AliEveTRDLoaderManager.h:47
 AliEveTRDLoaderManager.h:48
 AliEveTRDLoaderManager.h:49
 AliEveTRDLoaderManager.h:50
 AliEveTRDLoaderManager.h:51
 AliEveTRDLoaderManager.h:52
 AliEveTRDLoaderManager.h:53
 AliEveTRDLoaderManager.h:54
 AliEveTRDLoaderManager.h:55
 AliEveTRDLoaderManager.h:56
 AliEveTRDLoaderManager.h:57
 AliEveTRDLoaderManager.h:58
 AliEveTRDLoaderManager.h:59
 AliEveTRDLoaderManager.h:60
 AliEveTRDLoaderManager.h:61
 AliEveTRDLoaderManager.h:62
 AliEveTRDLoaderManager.h:63
 AliEveTRDLoaderManager.h:64
 AliEveTRDLoaderManager.h:65
 AliEveTRDLoaderManager.h:66
 AliEveTRDLoaderManager.h:67
 AliEveTRDLoaderManager.h:68
 AliEveTRDLoaderManager.h:69
 AliEveTRDLoaderManager.h:70
 AliEveTRDLoaderManager.h:71
 AliEveTRDLoaderManager.h:72
 AliEveTRDLoaderManager.h:73
 AliEveTRDLoaderManager.h:74
 AliEveTRDLoaderManager.h:75
 AliEveTRDLoaderManager.h:76
 AliEveTRDLoaderManager.h:77
 AliEveTRDLoaderManager.h:78
 AliEveTRDLoaderManager.h:79
 AliEveTRDLoaderManager.h:80
 AliEveTRDLoaderManager.h:81
 AliEveTRDLoaderManager.h:82