ALIROOT-5420 Changes for CDH v3
[u/mrichter/AliRoot.git] / MUON / AliMUONPainterMasterFrame.h
CommitLineData
0145e89a 1#ifndef ALIMUONPAINTERMASTERFRAME_H
2#define ALIMUONPAINTERMASTERFRAME_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 AliMUONPainterMasterFrame
11/// \brief The main window for the offline "a la mood" display
12///
13// Author Laurent Aphecetche, Subatech
14
15#ifndef ROOT_TGFrame
16# include <TGFrame.h>
17#endif
18#ifndef ROOT_TArrayI
19# include <TArrayI.h>
20#endif
21
22class AliMUONAttPainter;
23class AliMUONPainterMatrix;
24class AliMUONPainterMatrixFrame;
25class AliMUONAttPainterSelectorFrame;
26class AliMUONVPainter;
27class TGButton;
28class TGButtonGroup;
29class TGComboBox;
30class TGLabel;
31class TObjArray;
32
33class AliMUONPainterMasterFrame : public TGCompositeFrame
34{
35public:
fcabdc0c 36 AliMUONPainterMasterFrame(const TGWindow* p, UInt_t w, UInt_t h, AliMUONPainterMatrix* matrix);
0145e89a 37 virtual ~AliMUONPainterMasterFrame();
38
39 void Backward();
40
41 void ChangeTitle(const char* newTitle);
42
43 void Clicked(AliMUONVPainter* painter, Double_t* values);
44
45 void ShiftClicked(AliMUONVPainter* painter, Double_t* values);
46
47 void Forward();
48
49 void PainterMatrixWantToShow(AliMUONPainterMatrix* group);
50
51 void Update();
52
57e2ad1a 53 void AttributesChanged(const AliMUONAttPainter* newValues);
0145e89a 54
10eb3d17 55 void SaveAs(const char* filename = "", Option_t* option = "") const;
56
fcabdc0c 57 void PrintAs() const;
58
59 void PrintMe() const;
60
0145e89a 61private:
62 /// not implemented
63 AliMUONPainterMasterFrame(const AliMUONPainterMasterFrame& rhs);
64 /// not implemented
65 AliMUONPainterMasterFrame& operator=(const AliMUONPainterMasterFrame& rhs);
66
67 void AddPainterMatrix(AliMUONPainterMatrix* group);
fcabdc0c 68 void MakeTopPainterMatrix(UInt_t w, UInt_t h, AliMUONPainterMatrix* matrix);
0145e89a 69 void SetNavigation(Int_t i);
70 void ShowPainterMatrix(AliMUONPainterMatrix* group);
71 void UpdateNavigation();
72 void UpdateAttributes(const AliMUONPainterMatrix& painterMatrix);
fcabdc0c 73
0145e89a 74private:
75 TGHorizontalFrame* fNavigationFrame; ///< top frame for navigation
76 AliMUONPainterMatrixFrame* fPainterMatrixFrame; ///< main frame with painters
77
78 TGButton* fBackButton; ///< navigation back
79 TGButton* fForwardButton; ///< navigation forward
80 TGLabel* fGroupTitle; ///< top title
fcabdc0c 81 TGButton* fPrintMeButton; ///< print button
82 TGButton* fPrintAsButton; ///< print... button
0145e89a 83
84 TArrayI fNavigation; ///< navigation "history"
85
86 Int_t fCurrentNavigationPosition; ///< current position in navigation history
87
88 AliMUONAttPainterSelectorFrame* fAttPainterSelectorFrame; ///< view type selection frame
89
90 static const Int_t fgkBorderSize; ///< border sizes to use when placing frames
91
92 ClassDef(AliMUONPainterMasterFrame,0) // Main window of display
93};
94
95#endif