]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveDet/AliEveTRDTrackListEditor.h
introduction of selection macros (Ben)
[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 <TGLabel.h>
12 #include <TG3DLine.h>
13 #include <TEveMacro.h>
14 #include <TObjString.h>
15 #include <TSystem.h>
16 #include <TROOT.h>
17 #include <AliTRDtrackV1.h>
18 #include <EveDet/AliEveTRDTrackList.h>
19
20 class AliEveTRDTrackListEditor: public TGedFrame
21 {
22 public:
23   AliEveTRDTrackListEditor(const TGWindow* p=0, Int_t width=170, Int_t height=30,
24                            UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground());
25   virtual ~AliEveTRDTrackListEditor() {};
26
27   virtual void SetModel(TObject* obj);
28
29   void ApplyMacros();               // Apply macros
30   void BrowseMacros();              // Browse macros
31   void HandleMacroPathSet();        // Handle "macro path set"-event 
32   void RemoveMacros();              // Remove macros
33
34 protected:
35   AliEveTRDTrackList* fM;           // Model object.
36
37 private:
38   AliEveTRDTrackListEditor(const AliEveTRDTrackListEditor&);            // Not implemented
39   AliEveTRDTrackListEditor& operator=(const AliEveTRDTrackListEditor&); // Not implemented 
40
41   void AddMacro(const Char_t* Entryame, const Char_t* name,     // Add macro to the macro list
42                 const Char_t* pathname);
43   void UpdateMacroList();                                       // Updates the macro list
44
45
46   TGVerticalFrame*  fMainFrame;             // Top frame for macro functionality.
47   TGVerticalFrame*  fMemberFrame;           // Top frame for member list
48   TGHorizontalFrame* fBrowseFrame;          // For searching macros
49
50   TGTextButton*   bBrowse;                  // Browse button
51   TGTextButton*   bApplyMacros;             // Apply macros button
52   TGTextButton*   bRemoveMacros;            // Remove macros button
53   TGTextEntry*    teField;                  // Text field to insert macro path manually
54   TGTextView*     tvMemberList;             // To display the list of members
55   TGListBox*      tlMacroList;              // To display the list of (process) macros
56   TGListBox*      tlMacroSelList;           // To display the list of (selection) macros
57
58   TGFileInfo*     fileInfo;                 // Holds data about opening macros
59   Char_t**    fileTypes;                    // File types (for macros)
60
61   // Some labels
62   TGLabel *fLabel1, *fLabel2, *fLabel3;
63   
64   // Some lines
65   TGHorizontal3DLine *fLine1, *fLine2, *fLine3;
66
67   ClassDef(AliEveTRDTrackListEditor, 0)    // Editor for AliEveTRDTrackList.
68 };
69
70 #endif