Logo ROOT  
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
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
ULong_t Pixel_t
Definition: GuiTypes.h:39
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:326
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