Logo ROOT   6.16/01
Reference Guide
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
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
ULong_t Pixel_t
Definition: GuiTypes.h:39
static double p3(double t, double a, double b, double c, double d)
static double p1(double t, double a, double b)
static double p2(double t, double a, double b, double c)
int Int_t
Definition: RtypesCore.h:41
unsigned int UInt_t
Definition: RtypesCore.h:42
bool Bool_t
Definition: RtypesCore.h:59
double Double_t
Definition: RtypesCore.h:55
float Float_t
Definition: RtypesCore.h:53
#define ClassDef(name, id)
Definition: Rtypes.h:324
include TDocParser_001 C image html pict1_TDocParser_001 png width
Definition: TDocParser.cxx:121
@ kChildFrame
Definition: TGFrame.h:57
static Pixel_t GetDefaultFrameBackground()
Get default frame background.
Definition: TGFrame.cxx:665
Float_t fP6old[3]
Definition: TH1Editor.h:117
static TGComboBox * BuildHistAddComboBox(TGFrame *parent, Int_t id)
Create Line/Bar combo box.
Definition: TH1Editor.cxx:2362
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.
Definition: TH1Editor.cxx:1307
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...
Definition: TH1Editor.cxx:1840
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).
Definition: TH1Editor.cxx:2213
Int_t fPy1old
Definition: TH1Editor.h:105
virtual void DoOffsetMoved(Int_t num)
Slot connected to the OffSetSlider.
Definition: TH1Editor.cxx:2065
void ChangeErrorCombo(Int_t i)
Change the error combo box entry.
Definition: TH1Editor.cxx:2396
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.
Definition: TH1Editor.cxx:1479
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...
Definition: TH1Editor.cxx:1761
static TGComboBox * BuildPercentComboBox(TGFrame *parent, Int_t id)
Create Percentage combo box for bar option.
Definition: TH1Editor.cxx:2378
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.
Definition: TH1Editor.cxx:926
Int_t fPx1old
Definition: TH1Editor.h:104
static TGComboBox * BuildHistErrorComboBox(TGFrame *parent, Int_t id)
Create error type combo box.
Definition: TH1Editor.cxx:2345
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.
Definition: TH1Editor.cxx:1682
virtual void DoHistView()
Slot connected to the 'Plot' button group.
Definition: TH1Editor.cxx:1150
TGCheckButton * fMakeHBar
Definition: TH1Editor.h:61
virtual void ConnectSignals2Slots()
Connect signals to slots.
Definition: TH1Editor.cxx:556
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.
Definition: TH1Editor.cxx:626
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.
Definition: TH1Editor.cxx:2153
Int_t * Dividers(Int_t n)
Return an array of dividers of n (without the trivial divider n).
Definition: TH1Editor.cxx:2442
virtual ~TH1Editor()
Destructor of TH1 editor.
Definition: TH1Editor.cxx:538
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.
Definition: TH1Editor.cxx:2184
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.
Definition: TH1Editor.cxx:1259
virtual void DoSliderReleased()
Slot connected to the x-axis Range slider for finalizing the values of the slider movement.
Definition: TH1Editor.cxx:1659
Bool_t fSameOpt
Definition: TH1Editor.h:44
virtual void DoAddB(Bool_t)
Slot connected to the bar Add check box.
Definition: TH1Editor.cxx:972
TGCompositeFrame * f3
Definition: TH1Editor.h:67
virtual void DoHistSimple()
Slot connected to the 2D radio button.
Definition: TH1Editor.cxx:1169
virtual void DoBinReleased()
Slot connected to the rebin slider in case of a not ntuple histogram Updates some other widgets which...
Definition: TH1Editor.cxx:1706
TH1Editor(const TGWindow *p=0, Int_t width=140, Int_t height=30, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
Constructor of histogram attribute GUI.
Definition: TH1Editor.cxx:174
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).
Definition: TH1Editor.cxx:2277
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.
Definition: TH1Editor.cxx:1822
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...
Definition: TH1Editor.cxx:1116
virtual void DoPercent()
Slot connected to the bar percentage settings.
Definition: TH1Editor.cxx:1439
TH1 * fBinHist
Definition: TH1Editor.h:120
virtual void DoBarOffset()
Slot connected to the Bar Offset of the Bar Charts.
Definition: TH1Editor.cxx:1428
void CreateBinTab()
Create binning tab.
Definition: TH1Editor.cxx:364
virtual void DoBarWidth()
Slot connected to the Bar Width of the Bar Charts.
Definition: TH1Editor.cxx:1418
virtual void DoAddBar(Bool_t)
Slot connected to the bar Add check box.
Definition: TH1Editor.cxx:1015
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.
Definition: TH1Editor.cxx:2425
TString GetHistErrorLabel()
Return the selected error type (E,E1-5).
Definition: TH1Editor.cxx:2257
virtual void DoBinLabel()
Slot connected to the Bin number entry of the Rebinning tab.
Definition: TH1Editor.cxx:1925
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.
Definition: TH1Editor.cxx:2327
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.
Definition: TH1Editor.cxx:2474
TGCompositeFrame * f9
Definition: TH1Editor.h:71
virtual void DoOffsetReleased()
Slot connected to the OffSetSlider.
Definition: TH1Editor.cxx:2017
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.
Definition: TH1Editor.cxx:2307
virtual Bool_t AcceptModel(TObject *model)
Check if object is able to configure with this editor.
Definition: TH1Editor.cxx:612
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.
Definition: TH1Editor.cxx:1955
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.
Definition: TH1Editor.cxx:1505
virtual void DoBinOffset()
Slot connected to the OffSetNumberEntry which is related to the OffSetSlider changes the origin of th...
Definition: TH1Editor.cxx:2113
virtual void DoOffsetPressed()
Slot connected to the OffSetSlider that saves the OldBinOffset (nessesary for delay draw mode).
Definition: TH1Editor.cxx:2006
virtual void DoTitle(const char *text)
Slot connected to the histogram title setting.
Definition: TH1Editor.cxx:916
TString GetHistCoordsLabel()
Return the selected coordinate system of the histogram (POL,CYL,SPH,PSR).
Definition: TH1Editor.cxx:2236
TGCheckButton * fHistOnOff
Definition: TH1Editor.h:56
virtual void DoBinMoved1()
Slot connected to the rebin slider in case of an ntuple histogram.
Definition: TH1Editor.cxx:1902
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.
Definition: TH1Editor.cxx:1604
The TH1 histogram class.
Definition: TH1.h:56
Mother of all ROOT objects.
Definition: TObject.h:37
Basic string class.
Definition: TString.h:131
TText * text
const Int_t n
Definition: legend1.C:16