1 #ifndef ALIMUONPAINTERMASTERFRAME_H
2 #define ALIMUONPAINTERMASTERFRAME_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUONPainterMasterFrame
11 /// \brief The main window for the offline "a la mood" display
13 // Author Laurent Aphecetche, Subatech
22 class AliMUONAttPainter;
23 class AliMUONPainterMatrix;
24 class AliMUONPainterMatrixFrame;
25 class AliMUONAttPainterSelectorFrame;
26 class AliMUONVPainter;
33 class AliMUONPainterMasterFrame : public TGCompositeFrame
36 AliMUONPainterMasterFrame(const TGWindow* p, UInt_t w, UInt_t h, AliMUONPainterMatrix* matrix);
37 virtual ~AliMUONPainterMasterFrame();
41 void ChangeTitle(const char* newTitle);
43 void Clicked(AliMUONVPainter* painter, Double_t* values);
45 void ShiftClicked(AliMUONVPainter* painter, Double_t* values);
49 void PainterMatrixWantToShow(AliMUONPainterMatrix* group);
53 void AttributesChanged(const AliMUONAttPainter* newValues);
55 void SaveAs(const char* filename = "", Option_t* option = "") const;
63 AliMUONPainterMasterFrame(const AliMUONPainterMasterFrame& rhs);
65 AliMUONPainterMasterFrame& operator=(const AliMUONPainterMasterFrame& rhs);
67 void AddPainterMatrix(AliMUONPainterMatrix* group);
68 void MakeTopPainterMatrix(UInt_t w, UInt_t h, AliMUONPainterMatrix* matrix);
69 void SetNavigation(Int_t i);
70 void ShowPainterMatrix(AliMUONPainterMatrix* group);
71 void UpdateNavigation();
72 void UpdateAttributes(const AliMUONPainterMatrix& painterMatrix);
75 TGHorizontalFrame* fNavigationFrame; ///< top frame for navigation
76 AliMUONPainterMatrixFrame* fPainterMatrixFrame; ///< main frame with painters
78 TGButton* fBackButton; ///< navigation back
79 TGButton* fForwardButton; ///< navigation forward
80 TGLabel* fGroupTitle; ///< top title
81 TGButton* fPrintMeButton; ///< print button
82 TGButton* fPrintAsButton; ///< print... button
84 TArrayI fNavigation; ///< navigation "history"
86 Int_t fCurrentNavigationPosition; ///< current position in navigation history
88 AliMUONAttPainterSelectorFrame* fAttPainterSelectorFrame; ///< view type selection frame
90 static const Int_t fgkBorderSize; ///< border sizes to use when placing frames
92 ClassDef(AliMUONPainterMasterFrame,0) // Main window of display