]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveDet/AliEveTRDTrackListEditor.h
new track visualization/analysis framework (Ben Hess)
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveTRDTrackListEditor.h
1 #ifndef AliEveTRDTrackListEditor_H
2 #define AliEveTRDTrackListEditor_H
3
4 #include <TGedFrame.h>
5 #include <TGFileDialog.h>
6 #include <TGButton.h>
7 #include <TGTextEntry.h>
8 #include <TGTextView.h>
9 #include <TGListBox.h>
10 #include <TGMsgBox.h>
11 //#include <TEveMacro.h>
12 #include <TObjString.h>
13 #include <TSystem.h>
14 #include <TROOT.h>
15 #include <EveDet/AliEveTRDTrackList.h>
16
17 class AliEveTRDTrackListEditor: public TGedFrame
18 {
19 public:
20   AliEveTRDTrackListEditor(const TGWindow* p=0, Int_t width=170, Int_t height=30,
21                            UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground());
22   virtual ~AliEveTRDTrackListEditor() {};
23
24   virtual void SetModel(TObject* obj);
25
26   void ApplyMacros();         // Apply macros
27   void BrowseMacros();        // Browse macros
28   void HandleMacroPathSet();  // Handle "macro path set"-event 
29   void RemoveMacros();        // Remove macros
30
31 protected:
32   AliEveTRDTrackList* fM;     // Model object.
33
34 private:
35   AliEveTRDTrackListEditor(const AliEveTRDTrackListEditor&);            // Not implemented
36   AliEveTRDTrackListEditor& operator=(const AliEveTRDTrackListEditor&); // Not implemented 
37
38   void AddMacro(const Char_t* pathname);   // Add macro to the macro list
39   void UpdateMacroList();                  // Updates the macro list
40
41
42   TGVerticalFrame*  fMainFrame; // Top frame for macro functionality.
43   TGVerticalFrame*  fMemberFrame; // Top frame for member list
44   TGHorizontalFrame* fBrowseFrame; // For searching macros
45
46   TGTextButton*   bBrowse; // Browse button
47   TGTextButton*   bApplyMacros; // Apply macros button
48   TGTextButton*   bRemoveMacros; // Remove macros button
49   TGTextEntry*    teField; // Text field to insert macro path manually
50   TGTextView*     tvMemberList; // To display the list of members
51   TGListBox*      tlMacroList; // To display the list of macros
52
53   TGFileInfo*     fileInfo; // Holds data about opening macros
54   Char_t**    fileTypes; // File types (for macros)
55
56   ClassDef(AliEveTRDTrackListEditor, 0); // Editor for AliEveTRDTrackList.
57 };
58
59 #endif