]>
Commit | Line | Data |
---|---|---|
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 | ||
22 | class TGPopupMenu; | |
23 | class TObjArray; | |
0145e89a | 24 | class AliMUONPainterMatrix; |
25 | class TGMenuBar; | |
26 | ||
4a3224ff | 27 | class AliMUONPainterRegistry : public TObject, public TQObject |
0145e89a | 28 | { |
0145e89a | 29 | public: |
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 | 61 | private: |
62 | /// Not implemented | |
63 | AliMUONPainterRegistry(); | |
64 | /// Not implemented | |
65 | AliMUONPainterRegistry(const AliMUONPainterRegistry&); | |
66 | /// Not implemented | |
67 | AliMUONPainterRegistry& operator=(const AliMUONPainterRegistry&); | |
68 | ||
69 | private: | |
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 |