]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIMUONPAINTERDATASOURCEITEM_H | |
2 | #define ALIMUONPAINTERDATASOURCEITEM_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 AliMUONPainterDataSourceItem | |
11 | /// \brief A widget describing a single data source | |
12 | /// | |
13 | // Author Laurent Aphecetche, Subatech | |
14 | ||
15 | #ifndef ROOT_TGFrame | |
16 | # include "TGFrame.h" | |
17 | #endif | |
18 | ||
19 | class AliMUONVTrackerDataMaker; | |
20 | class TGLabel; | |
21 | class TGTextButton; | |
22 | class AliMUONPainterDataReader; | |
23 | class TThread; | |
24 | ||
25 | class AliMUONPainterDataSourceItem : public TGCompositeFrame | |
26 | { | |
27 | public: | |
28 | AliMUONPainterDataSourceItem(const TGWindow* p, UInt_t w, UInt_t h, | |
29 | AliMUONVTrackerDataMaker* maker); | |
30 | virtual ~AliMUONPainterDataSourceItem(); | |
31 | ||
32 | void Run(); | |
33 | ||
34 | void Stop(); | |
35 | ||
36 | void Rewind(); | |
37 | ||
38 | void Remove(); | |
39 | ||
40 | void Update(); | |
41 | ||
42 | void Reset(); | |
43 | ||
44 | /// Return data source reader | |
45 | AliMUONVTrackerDataMaker* DataMaker() const { return fDataMaker; } | |
46 | ||
47 | void EnableRun(); | |
48 | ||
49 | void DisableRun(); | |
50 | ||
51 | void StartRunning(); //*SIGNAL* | |
52 | ||
53 | void StopRunning(); //*SIGNAL* | |
54 | ||
55 | void Save(); | |
56 | ||
57 | void SaveWithDialog(); | |
58 | ||
59 | private: | |
60 | ||
61 | void Save(const char* filename); | |
62 | ||
63 | /// Not implemented | |
64 | AliMUONPainterDataSourceItem(const AliMUONPainterDataSourceItem& rhs); | |
65 | /// Not implemented | |
66 | AliMUONPainterDataSourceItem& operator=(const AliMUONPainterDataSourceItem& rhs); | |
67 | ||
68 | AliMUONVTrackerDataMaker* fDataMaker; ///< data source reader (not owner) | |
69 | TGLabel* fSourceName; ///< the (short) name of the data source | |
70 | TGLabel* fSource; ///< the full uri of the data source | |
71 | TGLabel* fNumberOfEvents; ///< number of evts this source has seen so far | |
72 | TGTextButton* fRun; ///< button to start running over the source | |
73 | TGTextButton* fStop; ///< button to stop running over the source | |
74 | TGTextButton* fRewind; ///< button to rewind events for the source | |
75 | TGTextButton* fRemove; ///< button to remove the source | |
76 | TGTextButton* fSave; ///< button to save the source (filename is fixed) | |
77 | TGTextButton* fSaveAs; ///< button to save as... | |
78 | TThread* fThread; ///< thread used to actually loop over the data | |
79 | Long_t fParams[2]; ///< used in conjunction with fThread | |
80 | ||
81 | Bool_t fShouldReset; ///< whether we should reset or not... | |
82 | ||
83 | ClassDef(AliMUONPainterDataSourceItem,3) // Data source widget | |
84 | }; | |
85 | ||
86 | #endif |