bug fixed
[u/mrichter/AliRoot.git] / MUON / AliMUONPainterRegistry.h
CommitLineData
0145e89a 1#ifndef ALIMUONPAINTERREGISTRY_H
2#define ALIMUONPAINTERREGISTRY_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5* See cxx source for full Copyright notice */
6
7// $Id$
8
9/// \ingroup graphics
10/// \class AliMUONPainterRegistry
11/// \brief Registry for a bunch of AliMUONVPainter related stuff
12///
13// Author Laurent Aphecetche, Subatech
14
15#ifndef ROOT_TObject
16# include "TObject.h"
17#endif
4a3224ff 18#ifndef ROOT_TQObject
19# include <TQObject.h>
0145e89a 20#endif
21
22class TGPopupMenu;
23class TObjArray;
0145e89a 24class AliMUONPainterMatrix;
25class TGMenuBar;
26
4a3224ff 27class AliMUONPainterRegistry : public TObject, public TQObject
0145e89a 28{
0145e89a 29public:
30 virtual ~AliMUONPainterRegistry();
31
0145e89a 32 Int_t FindIndexOf(AliMUONPainterMatrix* group) const;
33
0145e89a 34 void HistoryMenuActivated(Int_t i);
35
36 static AliMUONPainterRegistry* Instance();
37
0145e89a 38 Int_t NumberOfPainterMatrices() const;
39
40 AliMUONPainterMatrix* PainterMatrix(Int_t i) const;
41
49419555 42 AliMUONPainterMatrix* PainterMatrix(const char* groupName) const;
43
0145e89a 44 void AddToHistory(AliMUONPainterMatrix* group);
45
57e2ad1a 46 void PainterMatrixWasRegistered(const AliMUONPainterMatrix* group); // *SIGNAL*
0145e89a 47
57e2ad1a 48 void PainterMatrixWasUnregistered(const AliMUONPainterMatrix* group); // *SIGNAL*
0145e89a 49
57e2ad1a 50 void PainterMatrixWantToShow(const AliMUONPainterMatrix* group); // *SIGNAL*
0145e89a 51
52 void Print(Option_t* opt) const;
53
54 Int_t Register(AliMUONPainterMatrix* group);
55
0145e89a 56 /// Set the menu bar where to put the history menu
57 void SetMenuBar(TGMenuBar* bar) { fMenuBar = bar; }
58
59 Bool_t Unregister(AliMUONPainterMatrix* group);
60
0145e89a 61private:
62 /// Not implemented
63 AliMUONPainterRegistry();
64 /// Not implemented
65 AliMUONPainterRegistry(const AliMUONPainterRegistry&);
66 /// Not implemented
67 AliMUONPainterRegistry& operator=(const AliMUONPainterRegistry&);
68
69private:
70 static AliMUONPainterRegistry* fgInstance; ///< unique instance
0145e89a 71 TObjArray* fPainterMatrices; ///< painter matrices
0145e89a 72 TGPopupMenu* fHistoryMenu; ///< history menu
73 TGMenuBar* fMenuBar; ///< Menu bar where to put the history menu
74 Int_t fHistoryCounter; ///< index to get back history menu items
75
8f0acce4 76 ClassDef(AliMUONPainterRegistry,5) // Registry for AliMUONVPainter related stuff
0145e89a 77};
78
79#endif