]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/EveDet/AliEveTRDTrackListEditor.h
more user friendly (Ben)
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveTRDTrackListEditor.h
CommitLineData
2ef0687e 1#ifndef AliEveTRDTrackListEditor_H
2#define AliEveTRDTrackListEditor_H
3
4#include <TGedFrame.h>
caaf90d2 5
6class AliEveTRDTrack;
7class AliEveTRDTrackList;
4f6473f6 8class TCanvas;
9class TEveBrowser;
8e27fca1 10class TEveGedEditor;
11class TEveManager;
caaf90d2 12class TFile;
13class TGCheckButton;
14class TGFileInfo;
15class TGHorizontal3DLine;
16class TGHorizontalFrame;
17class TGLabel;
18class TGListBox;
4f6473f6 19class TGString;
8e27fca1 20class TGTab;
caaf90d2 21class TGTextButton;
22class TGTextEntry;
23class TGVerticalFrame;
24class TTree;
2ef0687e 25
26class AliEveTRDTrackListEditor: public TGedFrame
27{
28public:
caaf90d2 29 AliEveTRDTrackListEditor(const TGWindow* p = 0, Int_t width = 170, Int_t height = 30,
30 UInt_t options = kChildFrame, Pixel_t back = GetDefaultFrameBackground());
31 virtual ~AliEveTRDTrackListEditor();
2ef0687e 32
33 virtual void SetModel(TObject* obj);
34
4f6473f6 35 void AddMacro(const Char_t* path, const Char_t* name); // Adds macro to the macro list
36 void ApplyMacros(); // Apply macros
37 void BrowseMacros(); // Browse macros
38 void CloseTabs(); // Closes + deletes all the tabs opened created by this class
39 void DrawHistos(); // Draw histograms
40 Int_t GetNSelectedHistograms(); // Get the number of selected histograms for drawing
41 void HandleMacroPathSet(); // Handles the "macro path set"-signal
42 void HandleNewEventLoaded(); // Handles the "NewEventLoaded()"-signal
43 void HandleTabChangedToIndex(Int_t); // Handles the "Selected(Int_t id)"-signal (tab changed)
44 void RemoveMacros(); // Removes the selected macros from the lists
45 void UpdateDataFromMacroListSelection(); // Updates the selection in the "data from macro"-list
46 void UpdateHistoList(); // Updates the histogram list
47 void UpdateMacroList(); // Updates the macro list
48 void UpdateMacroListSelection(Int_t ind); // Updates the selection of the process macro list
49 void UpdateMacroSelListSelection(Int_t ind); // Updates the selection of the selection macro list
50
2ef0687e 51protected:
4f6473f6 52 AliEveTRDTrackList* fM; // Model object
2ef0687e 53
54private:
55 AliEveTRDTrackListEditor(const AliEveTRDTrackListEditor&); // Not implemented
56 AliEveTRDTrackListEditor& operator=(const AliEveTRDTrackListEditor&); // Not implemented
57
4f6473f6 58 TCanvas* fHistoCanvas; // Canvas for the histograms
59 TGString* fHistoCanvasName; // Name of the histogram canvas
2ef0687e 60
4f6473f6 61 TGVerticalFrame* fMainFrame; // Top frame for macro functionality.
62 TGVerticalFrame* fHistoFrame; // Top frame for the histogram stuff
63 TGVerticalFrame* fHistoSubFrame; // Frame for the histogram buttons themselves
caaf90d2 64 TGHorizontalFrame* fBrowseFrame; // For searching macros
2ef0687e 65
caaf90d2 66 TGTextButton* fbBrowse; // "Browse" button
67 TGTextButton* fbApplyMacros; // "Apply macros" button
68 TGTextButton* fbRemoveMacros; // "Remove macros" button
69 TGTextButton* fbDrawHisto; // "Draw histogram" button
70 TGTextEntry* fteField; // Text field to insert macro path manually
71 TGListBox* ftlMacroList; // To display the list of (process) macros
72 TGListBox* ftlMacroSelList; // To display the list of (selection) macros
2ef0687e 73
caaf90d2 74 TGFileInfo* fFileInfo; // Holds data about opening macros
75 Char_t** fFileTypes; // File types (for macros)
2ef0687e 76
3f797131 77 // Some labels
39b891ff 78 TGLabel* fLabel1;
79 TGLabel* fLabel2;
80 TGLabel* fLabel3;
caaf90d2 81 TGLabel* fLabel4;
39b891ff 82
3f797131 83 // Some lines
39b891ff 84 TGHorizontal3DLine *fLine1;
85 TGHorizontal3DLine *fLine2;
86 TGHorizontal3DLine *fLine3;
caaf90d2 87 TGHorizontal3DLine *fLine4;
88
89 // Check buttons for histograms
90 TGCheckButton** fCheckButtons;
3f797131 91
39b891ff 92 ClassDef(AliEveTRDTrackListEditor, 0); // Editor for AliEveTRDTrackList.
2ef0687e 93};
94
95#endif