Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TH1Editor.h
Go to the documentation of this file.
1// @(#)root/ged:$Id$
2// Author: Carsten Hof 16/08/04
3
4/*************************************************************************
5 * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TH1Editor
13#define ROOT_TH1Editor
14
15//////////////////////////////////////////////////////////////////////////
16// //
17// TH1Editor //
18// //
19// Editor changing histogram attributes (Type, Coords, Error, Style) //
20// //
21//////////////////////////////////////////////////////////////////////////
22
23#include "TGedFrame.h"
24
25
26class TH1;
27class TGComboBox;
28class TGNumberEntry;
29class TGCheckButton;
30class TGButtonGroup;
31class TGHButtonGroup;
32class TString;
33class TGRadioButton;
34class TGDoubleHSlider;
35class TGHSlider;
36class TGTextEntry;
38class TGTextButton;
39
40class TH1Editor : public TGedFrame {
41
42protected:
43 TH1 *fHist; // histogram object
44 Bool_t fSameOpt; // flag for option "same"
45 TGCompositeFrame *fBin; // Contains the Binning Widgets
46 Int_t fTitlePrec; // font precision level
47 TGTextEntry *fTitle; // histogram title input field
48 TGHButtonGroup *fDimGroup; // Radiobuttongroup to change 2D <-> 3D-Plot
49 TGRadioButton *fDim; // 2D-Plot RadioButton
50 TGRadioButton *fDim0; // 3D-Plot RadioButton
51 TGLayoutHints *fDimlh; // layout hints for 2D-Plot RadioButton
52 TGLayoutHints *fDim0lh; // layout hints for 3D-Plot RadioButton
53 TGComboBox *fTypeCombo; // histogram type combo box
54 TGComboBox *fCoordsCombo; // Coordinate System combo box
55 TGComboBox *fErrorCombo; // Error combo box
56 TGCheckButton *fHistOnOff; // Draw a simple histogram with default options
57 TGCheckButton *fAddMarker; // Draw a Marker on top of each bin
58 TGCheckButton *fAddB; // Draw a Bar Chart
59 TGCheckButton *fAddBar; // Bar Option
60 TGCheckButton *fAdd; // Activate more Options
61 TGCheckButton *fMakeHBar; // Draw Horizontal Bar Chart
62 TGCheckButton *fAddSimple; // Draw a simple histogram (==HIST draw option)
63 TGNumberEntry *fBarWidth; // Change the Bar Width
64 TGNumberEntry *fBarOffset; // Change the Bar Offset
65 TGComboBox *fAddCombo; // Add Lines, Bars, Fill
66 TGComboBox *fPercentCombo; // Percentage of the Bar which is drawn in a different color
67 TGCompositeFrame *f3; // Contains Histogram Type
68 TGCompositeFrame *f6; // Contains the Add-ComboBox (Style)
69 TGCompositeFrame *f7; // Contains the Marker OnOff CheckBox
70 TGCompositeFrame *f8; // Contains the Bar Chart CheckBox
71 TGCompositeFrame *f9; // Contains the Bar Option CheckBox
72 TGCompositeFrame *f10; // Contains the Bar Option Title
73 TGCompositeFrame *f11; // Contains the Bar Width/Offset NumberEntries
74 TGCompositeFrame *f12; // Contains fPercentCombo, fMakeHBar
75 TGCompositeFrame *f15; // Contains outer line CheckBox
76 TGCompositeFrame *fBinCont; // Contains the Rebin Widgets for case 1
77 TGCompositeFrame *fBinCont1; // Contains the Rebin Widgets for case 2
78 TGHSlider *fBinSlider; // Slider to set rebinning integer value
79 TGHSlider *fBinSlider1; // Slider to set rebinning integer value for ntuple histogram
80 TGNumberEntryField *fBinNumberEntry; // Label which shows the rebinned bin number
81 TGNumberEntryField *fBinNumberEntry1; // Label which shows the rebinned bin number for ntuple histogram
82 TGHSlider *fBinOffsetSld; // Add an offset to the origin of the histogram
83 TGNumberEntryField *fOffsetNumberEntry;// Shows the offset to the origin of the histogram
84 TGDoubleHSlider *fSlider; // Slider to set x-axis range
85 TGNumberEntryField *fSldMin; // Contains the minimum value of the x-Axis
86 TGNumberEntryField *fSldMax; // Contains the maximum value of the x-Axis
87 TGCheckButton *fDelaydraw; // Delayed drawing of the new axis range
88 TGTextButton *fApply; // Apply-Button to accept the rebinned histogram
89 TGTextButton *fCancel; // Cancel-Button to reprobate the rebinned histogram
90
91 static TGComboBox *BuildHistTypeComboBox(TGFrame *parent, Int_t id); // builts the Type ComboBox
92 static TGComboBox *BuildHistCoordsComboBox(TGFrame *parent, Int_t id); // builts the Coordinate ComboBox
93 static TGComboBox *BuildHistErrorComboBox(TGFrame *parent, Int_t id); // builts the Error ComboBox
94 static TGComboBox *BuildHistAddComboBox(TGFrame *parent, Int_t id); // builts the Add ComboBox
95 static TGComboBox *BuildPercentComboBox(TGFrame *parent, Int_t id); // builts the ComboBox for setting the Bar options bar1,..., bar4
96
97 virtual void ConnectSignals2Slots(); // connect the signals to the slots
98 void CreateBinTab(); // Creates the Bin Tab (part of the SetGedEditor)
99
100
101private:
102 Bool_t fMake; // Veto Variable
103 Bool_t fMakeB; // avoid execution of Bar Slots
104 Int_t fPx1old, // save the coordinates of the "virtual box" in delay draw mode (2D Plot)
108 Float_t fP1NDCold[3], // save the coordinates of the "virtual box" in delay draw mode
112 Float_t fP1old[3], // save the coordinates of the "virtual box" in delay draw mode (3D plot)
120 TH1 *fBinHist; // Cloned histogram for rebin
121 Double_t fOldOffset; // save the old offset of the histogram
122
123 TString GetHistTypeLabel(); // Get the Histogram Type = String which contains the Histogram Draw Option
124 TString GetHistCoordsLabel(); // Get the histogram coordinate system (CYL, SPH, PSR, ..)
125 TString GetHistErrorLabel(); // Get the histogram Error type (E1, .., E4)
126 TString GetHistAddLabel(); // Get the histogram addon (smooth line, simple line, ..)
127 void ChangeErrorCombo(Int_t i);
128
129
130public:
131 TH1Editor(const TGWindow *p = 0,
132 Int_t width = 140, Int_t height = 30,
133 UInt_t options = kChildFrame,
135 virtual ~TH1Editor();
136
137 virtual Bool_t AcceptModel(TObject* model);
138 virtual void SetModel(TObject* obj);
139
140 virtual void DoTitle(const char *text);
141 virtual void DoAddMarker(Bool_t on);
142 virtual void DoAddBar(Bool_t);
143 virtual void DoAddB(Bool_t);
144 virtual void DoAddSimple(Bool_t on);
145 virtual void DoHistSimple();
146 virtual void DoHistComplex();
147 virtual void DoHistChanges();
148 virtual void DoHistView();
149 virtual void DoBarOffset();
150 virtual void DoBarWidth();
151 virtual void DoPercent();
152 virtual void DoHBar(Bool_t on);
153 virtual void DoSliderMoved();
154 virtual void DoSliderPressed();
155 virtual void DoSliderReleased();
156 virtual void DoAxisRange();
157 virtual void DoBinMoved(Int_t number);
158 virtual void DoBinReleased();
159 virtual void DoBinPressed();
160 virtual void DoBinLabel();
161 virtual void DoBinReleased1();
162 virtual void DoBinMoved1();
163 virtual void DoBinLabel1();
164 virtual void DoOffsetMoved(Int_t num);
165 virtual void DoOffsetReleased();
166 virtual void DoOffsetPressed();
167 virtual void DoBinOffset();
168 virtual void DoApply();
169 virtual void DoCancel();
170 virtual void PaintBox3D(Float_t *p1, Float_t *p2,Float_t *p3, Float_t *p4);
172 virtual void RecursiveRemove(TObject* obj);
173
174
175 ClassDef(TH1Editor,0) // TH1 editor
176};
177
178#endif
@ kChildFrame
Definition GuiTypes.h:379
ULong_t Pixel_t
Pixel value.
Definition GuiTypes.h:40
double Double_t
Definition RtypesCore.h:59
float Float_t
Definition RtypesCore.h:57
#define ClassDef(name, id)
Definition Rtypes.h:325
include TDocParser_001 C image html pict1_TDocParser_001 png width
static Pixel_t GetDefaultFrameBackground()
Get default frame background.
Definition TGFrame.cxx:668
Float_t fP6old[3]
Definition TH1Editor.h:117
static TGComboBox * BuildHistAddComboBox(TGFrame *parent, Int_t id)
Create Line/Bar combo box.
TGNumberEntryField * fSldMin
Definition TH1Editor.h:85
virtual void DoHistChanges()
Slot connected to the histogram type, the coordinate type, the error type and the Add combo box.
Float_t fP2NDCold[3]
Definition TH1Editor.h:109
virtual void DoBinReleased1()
Slot connected to the BinNumber Slider in case of a ntuple histogram (does the Rebinning of the histo...
TGTextButton * fApply
Definition TH1Editor.h:88
TGHSlider * fBinOffsetSld
Definition TH1Editor.h:82
Float_t fP1NDCold[3]
Definition TH1Editor.h:108
TGNumberEntryField * fBinNumberEntry
Definition TH1Editor.h:80
TGCompositeFrame * fBinCont
Definition TH1Editor.h:76
TGCheckButton * fAddSimple
Definition TH1Editor.h:62
TH1 * fHist
Definition TH1Editor.h:43
TGCheckButton * fAddMarker
Definition TH1Editor.h:57
Bool_t fMakeB
Definition TH1Editor.h:103
TString GetHistTypeLabel()
Returns the selected histogram type (HIST, LEGO1-2, SURF1-5).
Int_t fPy1old
Definition TH1Editor.h:105
virtual void DoOffsetMoved(Int_t num)
Slot connected to the OffSetSlider.
void ChangeErrorCombo(Int_t i)
Change the error combo box entry.
TGNumberEntry * fBarWidth
Definition TH1Editor.h:63
Float_t fP3old[3]
Definition TH1Editor.h:114
TGHSlider * fBinSlider1
Definition TH1Editor.h:79
TGNumberEntryField * fSldMax
Definition TH1Editor.h:86
Float_t fP5old[3]
Definition TH1Editor.h:116
TGDoubleHSlider * fSlider
Definition TH1Editor.h:84
TGCompositeFrame * f11
Definition TH1Editor.h:73
virtual void DoHBar(Bool_t on)
Slot connected to the Horizontal Bar check button.
virtual void DoBinMoved(Int_t number)
Slot connected to the rebin slider in case of a not ntuple histogram (does the Rebinning of the histo...
static TGComboBox * BuildPercentComboBox(TGFrame *parent, Int_t id)
Create Percentage combo box for bar option.
TGHButtonGroup * fDimGroup
Definition TH1Editor.h:48
TGCheckButton * fAddB
Definition TH1Editor.h:58
virtual void DoAddMarker(Bool_t on)
Slot connected to the show markers check box.
Int_t fPx1old
Definition TH1Editor.h:104
static TGComboBox * BuildHistErrorComboBox(TGFrame *parent, Int_t id)
Create error type combo box.
Bool_t fMake
Definition TH1Editor.h:102
TGComboBox * fErrorCombo
Definition TH1Editor.h:55
Double_t fOldOffset
Definition TH1Editor.h:121
TGCheckButton * fDelaydraw
Definition TH1Editor.h:87
virtual void DoAxisRange()
Slot connected to the number entry fields containing the Max/Min value of the x-axis.
virtual void DoHistView()
Slot connected to the 'Plot' button group.
TGCheckButton * fMakeHBar
Definition TH1Editor.h:61
virtual void ConnectSignals2Slots()
Connect signals to slots.
Float_t fP3NDCold[3]
Definition TH1Editor.h:110
TGCompositeFrame * f6
Definition TH1Editor.h:68
TGNumberEntryField * fOffsetNumberEntry
Definition TH1Editor.h:83
TGCheckButton * fAdd
Definition TH1Editor.h:60
Float_t fP8old[3]
Definition TH1Editor.h:119
TGCompositeFrame * fBinCont1
Definition TH1Editor.h:77
virtual void SetModel(TObject *obj)
Pick up current values of histogram attributes.
TGRadioButton * fDim0
Definition TH1Editor.h:50
TGCompositeFrame * f12
Definition TH1Editor.h:74
virtual void DoApply()
Slot connected to the Apply button of the Binning tab.
Int_t * Dividers(Int_t n)
Return an array of dividers of n (without the trivial divider n).
virtual ~TH1Editor()
Destructor of TH1 editor.
TGComboBox * fPercentCombo
Definition TH1Editor.h:66
TGTextButton * fCancel
Definition TH1Editor.h:89
virtual void DoCancel()
Slot connected to the Cancel button of the Binning tab.
TGHSlider * fBinSlider
Definition TH1Editor.h:78
Float_t fP1old[3]
Definition TH1Editor.h:112
TGRadioButton * fDim
Definition TH1Editor.h:49
Int_t fTitlePrec
Definition TH1Editor.h:46
TGCheckButton * fAddBar
Definition TH1Editor.h:59
virtual void DoHistComplex()
Slot connected to the 3D radio button.
virtual void DoSliderReleased()
Slot connected to the x-axis Range slider for finalizing the values of the slider movement.
Bool_t fSameOpt
Definition TH1Editor.h:44
virtual void DoAddB(Bool_t)
Slot connected to the bar Add check box.
TGCompositeFrame * f3
Definition TH1Editor.h:67
virtual void DoHistSimple()
Slot connected to the 2D radio button.
virtual void DoBinReleased()
Slot connected to the rebin slider in case of a not ntuple histogram Updates some other widgets which...
TGComboBox * fTypeCombo
Definition TH1Editor.h:53
TGComboBox * fCoordsCombo
Definition TH1Editor.h:54
Int_t fPx2old
Definition TH1Editor.h:106
TGTextEntry * fTitle
Definition TH1Editor.h:47
TString GetHistAddLabel()
Return the selected shape of the histogram (C, L, LF2).
TGLayoutHints * fDim0lh
Definition TH1Editor.h:52
Float_t fP2old[3]
Definition TH1Editor.h:113
virtual void DoBinPressed()
Slot connected to the rebin slider in case of a not ntuple histogram.
Float_t fP4NDCold[3]
Definition TH1Editor.h:111
virtual void DoAddSimple(Bool_t on)
Slot connected to fAddSimple check box for drawing a simple histogram without errors (== HIST draw op...
virtual void DoPercent()
Slot connected to the bar percentage settings.
TH1 * fBinHist
Definition TH1Editor.h:120
virtual void DoBarOffset()
Slot connected to the Bar Offset of the Bar Charts.
void CreateBinTab()
Create binning tab.
virtual void DoBarWidth()
Slot connected to the Bar Width of the Bar Charts.
virtual void DoAddBar(Bool_t)
Slot connected to the bar Add check box.
TGNumberEntryField * fBinNumberEntry1
Definition TH1Editor.h:81
virtual void PaintBox3D(Float_t *p1, Float_t *p2, Float_t *p3, Float_t *p4)
Paint a 3D box.
TString GetHistErrorLabel()
Return the selected error type (E,E1-5).
virtual void DoBinLabel()
Slot connected to the Bin number entry of the Rebinning tab.
TGLayoutHints * fDimlh
Definition TH1Editor.h:51
TGCompositeFrame * f15
Definition TH1Editor.h:75
static TGComboBox * BuildHistCoordsComboBox(TGFrame *parent, Int_t id)
Create coordinate system type combo box.
TGNumberEntry * fBarOffset
Definition TH1Editor.h:64
virtual void RecursiveRemove(TObject *obj)
If the contained histogram obj is deleted we must set its pointer to zero.
TGCompositeFrame * f9
Definition TH1Editor.h:71
virtual void DoOffsetReleased()
Slot connected to the OffSetSlider.
Float_t fP7old[3]
Definition TH1Editor.h:118
Int_t fPy2old
Definition TH1Editor.h:107
static TGComboBox * BuildHistTypeComboBox(TGFrame *parent, Int_t id)
Create histogram type combo box.
virtual Bool_t AcceptModel(TObject *model)
Check if object is able to configure with this editor.
TGCompositeFrame * f7
Definition TH1Editor.h:69
TGCompositeFrame * f8
Definition TH1Editor.h:70
TGCompositeFrame * fBin
Definition TH1Editor.h:45
virtual void DoBinLabel1()
Slot connected to the Bin number entry of the Rebinning tab.
TGComboBox * fAddCombo
Definition TH1Editor.h:65
TGCompositeFrame * f10
Definition TH1Editor.h:72
virtual void DoSliderMoved()
Slot connected to the x-Slider for redrawing of the histogram according to the new Slider range.
virtual void DoBinOffset()
Slot connected to the OffSetNumberEntry which is related to the OffSetSlider changes the origin of th...
virtual void DoOffsetPressed()
Slot connected to the OffSetSlider that saves the OldBinOffset (nessesary for delay draw mode).
virtual void DoTitle(const char *text)
Slot connected to the histogram title setting.
TString GetHistCoordsLabel()
Return the selected coordinate system of the histogram (POL,CYL,SPH,PSR).
TGCheckButton * fHistOnOff
Definition TH1Editor.h:56
virtual void DoBinMoved1()
Slot connected to the rebin slider in case of an ntuple histogram.
Float_t fP4old[3]
Definition TH1Editor.h:115
virtual void DoSliderPressed()
Slot connected to the x-axis Range slider for initialising the values of the slider movement.
TH1 is the base class of all histogram classes in ROOT.
Definition TH1.h:58
Mother of all ROOT objects.
Definition TObject.h:37
Basic string class.
Definition TString.h:136
TText * text
const Int_t n
Definition legend1.C:16