Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TH2Editor.h
Go to the documentation of this file.
1// @(#)root/ged:$Id$
2// Author: Carsten Hof 08/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_TH2Editor
13#define ROOT_TH2Editor
14
15
16#include "TGedFrame.h"
17
18class TH2;
19class TGComboBox;
20class TGLabel;
21class TGTextEntry;
22class TGCheckButton;
23class TString;
24class TGDoubleHSlider;
25class TGHSlider;
26class TGNumberEntry;
27class TGHButtonGroup;
28class TGRadioButton;
30class TGColorSelect;
32class TGTextButton;
33
34class TH2Editor : public TGedFrame {
35
36protected:
37 TH2 *fHist; ///< histogram object
38 TGCompositeFrame *fBin; ///< Contains the Binning Widgets
39 TGCompositeFrame *fFit; ///< Contains the Fitting Widgets
40 TGTextEntry *fTitle; ///< histogram title input field
41 TGComboBox *fTypeCombo; ///< histogram type combo box
42 TGComboBox *fCoordsCombo; ///< Coordinate System combo box
43 TGComboBox *fContCombo; ///< Contour selecting combo box
44 TGLabel *fColContLbl; ///< No. of Contours Label 1
45 TGLabel *fColContLbl1; ///< No. of Contours Label 2
46 Int_t fTitlePrec; ///< font precision level
47 TGHButtonGroup *fDimGroup; ///< Radiobuttongroup to change 2D <-> 3D-Plot
48 TGRadioButton *fDim; ///< 2D-Plot RadioButton
49 TGRadioButton *fDim0; ///< 3D-Plot RadioButton
50 TGLayoutHints *fDimlh; ///< layout hints for 2D-Plot RadioButton
51 TGLayoutHints *fDim0lh; ///< layout hints for 3D-Plot RadioButton
52 TGCompositeFrame *f6; ///< Frame that contains the 2D CheckBox DrawOptions
53 TGCompositeFrame *f9; ///< Frame that contains the 3D CheckBox DrawOptions
54 TGCompositeFrame *f12; ///< Frame that contains the Bar-Title
55 TGCompositeFrame *f13; ///< Frame that contains the Bar Width/Offset NumberEntries
56 TGCompositeFrame *f38; ///< Frame that contains the Frame Fill widgets
57 TGCheckButton *fAddError; ///< CheckBox connected to error bars
58 TGCheckButton *fAddPalette; ///< CheckBox connected to Z option (2D)
59 TGCheckButton *fAddPalette1; ///< CheckBox connected to Z option (3D)
60 TGCheckButton *fAddArr; ///< CheckBox connected to Arr-Option
61 TGCheckButton *fAddBox; ///< CheckBox connected to Box-Option
62 TGCheckButton *fAddScat; ///< CheckBox connected to Scat-Option
63 TGCheckButton *fAddCol; ///< CheckBox connected to Col-Option
64 TGCheckButton *fAddFB; ///< Draw front box (or not)
65 TGCheckButton *fAddBB; ///< Draw back box (or not)
66 TGCheckButton *fAddText; ///< Draw bin contents as text
67 TGNumberEntry *fContLevels; ///< Set number of contour levels
68 TGNumberEntry *fContLevels1; ///< Set number of contour levels
69 TGNumberEntry *fBarWidth; ///< Set bar width of histogram
70 TGNumberEntry *fBarOffset; ///< Set bar offset of histogram
71 TGCompositeFrame *fBinXCont; ///< Contains the rebin widgets for case 1
72 TGHSlider *fBinXSlider; ///< Slider to set rebinning x integer value
73 TGNumberEntryField *fBinXNumberEntry; ///< Label which shows the rebinned bin number
74 TGHSlider *fBinYSlider; ///< Slider to set rebinning y integer value
75 TGNumberEntryField *fBinYNumberEntry; ///< Label which shows the rebinned bin number
76 TGTextButton *fApply; ///< Apply-Button to accept the rebinned histogram
77 TGTextButton *fCancel; ///< Cancel-Button to reprobate the rebinned histogram
78 TGCompositeFrame *fBinXCont1; ///< Contains the X Rebin Widgets for case 2
79 TGHSlider *fBinXSlider1; ///< Slider to set x rebinning integer value
80 TGNumberEntryField *fBinXNumberEntry1;///< Label which shows the rebinned x bin number
81 TGNumberEntryField *fXOffsetNumberEntry; ///< Shows the offset to the x origin of the histogram
82 TGHSlider *fXBinOffsetSld; ///< Add an x-offset to the origin of the histogram
83
84 TGCompositeFrame *fBinYCont1; ///< Contains the Y Rebin Widgets for case 2
85 TGHSlider *fBinYSlider1; ///< Slider to set y rebinning integer value
86 TGNumberEntryField *fBinYNumberEntry1;///< Label which shows the rebinned y bin number
87 TGNumberEntryField *fYOffsetNumberEntry; ///< Shows the offset to the y origin of the histogram
88 TGHSlider *fYBinOffsetSld; ///< Add an y-offset to the origin of the histogram
89 TGDoubleHSlider *fSliderX; ///< Slider to set x-axis range
90 TGNumberEntryField *fSldXMin; ///< Contains the minimum value of the x-Axis
91 TGNumberEntryField *fSldXMax; ///< Contains the maximum value of the x-Axis
92 TGDoubleHSlider *fSliderY; ///< Slider to set y-axis range
93 TGNumberEntryField *fSldYMin; ///< Contains the minimum value of the y-Axis
94 TGNumberEntryField *fSldYMax; ///< Contains the maximum value of the y-Axis
95 TGCheckButton *fDelaydraw; ///< Delayed drawing of the new axis range
96 TGColorSelect *fFrameColor; ///< Select the Frame Color
97 TGedPatternSelect *fFramePattern; ///< Select the Frame Pattern Style
98 TString fCutString; ///< Contais info about graphical cuts (if any)
99
100 static TGComboBox *BuildHistTypeComboBox(TGFrame *parent, Int_t id);
101 static TGComboBox *BuildHistCoordsComboBox(TGFrame *parent, Int_t id);
102 static TGComboBox *BuildHistContComboBox(TGFrame* parent, Int_t id);
103
104 virtual void ConnectSignals2Slots();
105 void CreateBinTab(); // Creates the Bin Tab (part of the SetGedEditor)
106
107private:
108 void PaintBox3D(Float_t *p1, Float_t *p2,Float_t *p3, Float_t *p4);
114
135 TH2 *fBinHist; // Cloned histogram for rebin
136 Double_t fOldXOffset; // saves the old x offset of the histogram
137 Double_t fOldYOffset; // saves the old y offset of the histogram
138
139public:
140 TH2Editor(const TGWindow *p = 0,
141 Int_t width = 140, Int_t height = 30,
142 UInt_t options = kChildFrame,
144 virtual ~TH2Editor();
145
146 virtual Bool_t AcceptModel(TObject* model);
147 virtual void SetModel(TObject* obj);
148 virtual void ActivateBaseClassEditors(TClass* cl);
149
150 virtual void DoTitle(const char *text);
151 virtual void DoHistView();
152 virtual void DoHistSimple();
153 virtual void DoHistComplex();
154 virtual void DoHistChanges();
155 virtual void DoAddArr(Bool_t on);
156 virtual void DoAddBox(Bool_t on);
157 virtual void DoAddCol(Bool_t on);
158 virtual void DoAddScat(Bool_t on);
159 virtual void DoAddText(Bool_t on);
160 virtual void DoAddError(Bool_t on);
161 virtual void DoAddPalette(Bool_t on);
162 virtual void DoAddFB();
163 virtual void DoAddBB();
164 virtual void DoContLevel();
165 virtual void DoContLevel1();
166 virtual void DoBarWidth();
167 virtual void DoBarOffset();
168 virtual void DoBinPressed();
169 virtual void DoBinMoved();
170 virtual void DoBinReleased();
171 virtual void DoBinLabel();
172 virtual void DoApply();
173 virtual void DoCancel();
174 virtual void DoBinReleased1();
175 virtual void DoBinMoved1();
176 virtual void DoBinLabel1();
177 virtual void DoOffsetMoved();
178 virtual void DoOffsetReleased();
179 virtual void DoOffsetPressed();
180 virtual void DoBinOffset();
181 virtual void DoSliderXMoved();
182 virtual void DoSliderXPressed();
183 virtual void DoSliderXReleased();
184 virtual void DoXAxisRange();
185 virtual void DoSliderYMoved();
186 virtual void DoSliderYPressed();
187 virtual void DoSliderYReleased();
188 virtual void DoYAxisRange();
189 virtual void DoFillColor(Pixel_t);
190 virtual void DoFillPattern(Style_t);
191
193
194 virtual void RecursiveRemove(TObject* obj);
195
196 ClassDef(TH2Editor,0) // TH2 editor
197};
198
199#endif
200
@ kChildFrame
Definition GuiTypes.h:379
ULong_t Pixel_t
Pixel value.
Definition GuiTypes.h:40
double Double_t
Definition RtypesCore.h:59
short Style_t
Definition RtypesCore.h:89
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
TClass instances represent classes, structs and namespaces in the ROOT type system.
Definition TClass.h:80
Selects different options.
Definition TGButton.h:264
Like a checkbutton but instead of the check mark there is color area with a little down arrow.
A combobox (also known as a drop down listbox) allows the selection of one item out of a list of item...
Definition TGComboBox.h:47
The base class for composite widgets (menu bars, list boxes, etc.).
Definition TGFrame.h:287
Dragging the slider will generate the event:
A subclasses of TGWindow, and is used as base class for some simple widgets (buttons,...
Definition TGFrame.h:80
static Pixel_t GetDefaultFrameBackground()
Get default frame background.
Definition TGFrame.cxx:683
Organizes TGButton widgets in a group with one horizontal row.
Concrete class for horizontal slider.
Definition TGSlider.h:128
This class handles GUI labels.
Definition TGLabel.h:24
This class describes layout hints used by the layout classes.
Definition TGLayout.h:50
TGNumberEntry is a number entry input widget with up/down buttons.
Selects different options.
Definition TGButton.h:322
Yield an action as soon as it is clicked.
Definition TGButton.h:142
A TGTextEntry is a one line text input widget.
Definition TGTextEntry.h:24
ROOT GUI Window base class.
Definition TGWindow.h:23
Base frame for implementing GUI - a service class.
Definition TGedFrame.h:27
is a button with pattern area with a little down arrow.
Editor for changing TH2 histogram attributes, rebinning & fitting.
Definition TH2Editor.h:34
TGNumberEntryField * fSldXMin
Contains the minimum value of the x-Axis.
Definition TH2Editor.h:90
TGCheckButton * fAddArr
CheckBox connected to Arr-Option.
Definition TH2Editor.h:60
TGNumberEntryField * fYOffsetNumberEntry
Shows the offset to the y origin of the histogram.
Definition TH2Editor.h:87
virtual void DoOffsetPressed()
Slot connected to the OffSetSlider.
TGNumberEntry * fContLevels1
Set number of contour levels.
Definition TH2Editor.h:68
virtual void DoBarWidth()
Slot connected to the bar width of the bar chart.
TGCompositeFrame * f9
Frame that contains the 3D CheckBox DrawOptions.
Definition TH2Editor.h:53
Float_t fP4oldy[3]
Definition TH2Editor.h:130
virtual void SetModel(TObject *obj)
Pick up the values of current histogram attributes.
virtual void DoBinReleased()
Slot connected to the rebin slider in case of no ntuple histogram.
TGCheckButton * fAddBB
Draw back box (or not)
Definition TH2Editor.h:65
TGNumberEntryField * fXOffsetNumberEntry
Shows the offset to the x origin of the histogram.
Definition TH2Editor.h:81
Float_t fP3oldx[3]
Definition TH2Editor.h:121
Float_t fP5oldy[3]
Definition TH2Editor.h:131
TGCheckButton * fAddFB
Draw front box (or not)
Definition TH2Editor.h:64
virtual void RecursiveRemove(TObject *obj)
If the contained histogram obj is deleted we must set its pointer to zero.
TGCompositeFrame * fBinXCont
Contains the rebin widgets for case 1.
Definition TH2Editor.h:71
virtual void DoBinPressed()
Slot connected to the rebin slider in case of no ntuple histogram.
TGDoubleHSlider * fSliderY
Slider to set y-axis range.
Definition TH2Editor.h:92
void CreateBinTab()
Create the Binning tab.
TH2 * fBinHist
Definition TH2Editor.h:135
TGTextButton * fApply
Apply-Button to accept the rebinned histogram.
Definition TH2Editor.h:76
virtual Bool_t AcceptModel(TObject *model)
Check if object is able to configure with this editor.
TGCompositeFrame * f6
Frame that contains the 2D CheckBox DrawOptions.
Definition TH2Editor.h:52
virtual void DoAddError(Bool_t on)
Slot connected to the "Error" check button.
virtual void DoAddArr(Bool_t on)
Slot connected to the "Arrow draw option" check button.
TGCheckButton * fAddError
CheckBox connected to error bars.
Definition TH2Editor.h:57
TGHSlider * fBinYSlider1
Slider to set y rebinning integer value.
Definition TH2Editor.h:85
Float_t fP8oldy[3]
Definition TH2Editor.h:134
TGNumberEntryField * fBinXNumberEntry1
Label which shows the rebinned x bin number.
Definition TH2Editor.h:80
virtual void DoAddBB()
Slot connected to the "BB back-box draw option" check button.
TGCheckButton * fAddPalette1
CheckBox connected to Z option (3D)
Definition TH2Editor.h:59
TGCompositeFrame * f38
Frame that contains the Frame Fill widgets.
Definition TH2Editor.h:56
virtual void DoFillPattern(Style_t)
Slot connected to the fill area pattern.
Float_t fP2oldx[3]
Definition TH2Editor.h:120
TGDoubleHSlider * fSliderX
Slider to set x-axis range.
Definition TH2Editor.h:89
virtual void DoApply()
Slot connected to the Apply Button in the Rebinned histogram Window.
TGNumberEntryField * fBinYNumberEntry
Label which shows the rebinned bin number.
Definition TH2Editor.h:75
TGHSlider * fBinYSlider
Slider to set rebinning y integer value.
Definition TH2Editor.h:74
Double_t fOldXOffset
Definition TH2Editor.h:136
TGHSlider * fYBinOffsetSld
Add an y-offset to the origin of the histogram.
Definition TH2Editor.h:88
TGNumberEntryField * fBinXNumberEntry
Label which shows the rebinned bin number.
Definition TH2Editor.h:73
Float_t fP7oldx[3]
Definition TH2Editor.h:125
virtual void DoSliderYPressed()
Slot connected to y-axis slider which initialises the "virtual" box which is drawn in delay draw mode...
TGCheckButton * fAddPalette
CheckBox connected to Z option (2D)
Definition TH2Editor.h:58
TGCompositeFrame * fBinXCont1
Contains the X Rebin Widgets for case 2.
Definition TH2Editor.h:78
Float_t fP1oldx[3]
Definition TH2Editor.h:119
TString fCutString
Contais info about graphical cuts (if any)
Definition TH2Editor.h:98
virtual void DoOffsetMoved()
Slot connected to the OffSetSlider.
void PaintBox3D(Float_t *p1, Float_t *p2, Float_t *p3, Float_t *p4)
Paint a square in 3D.
TGRadioButton * fDim
2D-Plot RadioButton
Definition TH2Editor.h:48
TGNumberEntry * fBarWidth
Set bar width of histogram.
Definition TH2Editor.h:69
TGNumberEntryField * fSldYMin
Contains the minimum value of the y-Axis.
Definition TH2Editor.h:93
virtual void DoYAxisRange()
Slot connected to the Max/Min number entry fields showing y-axis range.
virtual void DoContLevel()
Slot connected to the contour level number entry fContLevels.
virtual void DoContLevel1()
Slot connected to the contour level number entry fContLevels1.
TGHSlider * fBinXSlider
Slider to set rebinning x integer value.
Definition TH2Editor.h:72
TGHSlider * fXBinOffsetSld
Add an x-offset to the origin of the histogram.
Definition TH2Editor.h:82
virtual void DoAddPalette(Bool_t on)
Slot connected to the color palette check button.
TGRadioButton * fDim0
3D-Plot RadioButton
Definition TH2Editor.h:49
virtual void DoHistChanges()
Slot connected to histogram type, coordinate system, contour combo box.
virtual void ConnectSignals2Slots()
Connect signals to slots.
TGLayoutHints * fDimlh
layout hints for 2D-Plot RadioButton
Definition TH2Editor.h:50
TGCheckButton * fAddScat
CheckBox connected to Scat-Option.
Definition TH2Editor.h:62
virtual void DoBinLabel1()
Slot connected to the Bin Number Entry for the Rebin.
Int_t fTitlePrec
font precision level
Definition TH2Editor.h:46
TGCompositeFrame * fFit
Contains the Fitting Widgets.
Definition TH2Editor.h:39
TGLabel * fColContLbl
No. of Contours Label 1.
Definition TH2Editor.h:44
TGNumberEntry * fContLevels
Set number of contour levels.
Definition TH2Editor.h:67
TString GetHistTypeLabel()
Return the immediate histogram type (HIST, LEGO1-4, SURF1-5).
TGedPatternSelect * fFramePattern
Select the Frame Pattern Style.
Definition TH2Editor.h:97
TGCheckButton * fDelaydraw
Delayed drawing of the new axis range.
Definition TH2Editor.h:95
TGHSlider * fBinXSlider1
Slider to set x rebinning integer value.
Definition TH2Editor.h:79
Float_t fP2oldy[3]
Definition TH2Editor.h:128
Float_t fP8oldx[3]
Definition TH2Editor.h:126
static TGComboBox * BuildHistCoordsComboBox(TGFrame *parent, Int_t id)
Create coordinate system combo box.
virtual void ActivateBaseClassEditors(TClass *cl)
Skip TH1Editor in building list of editors.
TGLayoutHints * fDim0lh
layout hints for 3D-Plot RadioButton
Definition TH2Editor.h:51
virtual void DoAddScat(Bool_t on)
Slot connected to the "Scat draw option" check button.
virtual void DoSliderXReleased()
Slot connected to the x-axis slider finalizing values after the slider movement.
TGCheckButton * fAddCol
CheckBox connected to Col-Option.
Definition TH2Editor.h:63
virtual void DoSliderXPressed()
Slot connected to the x axis range slider that initialises the "virtual" box which is drawn in delay ...
TGCheckButton * fAddBox
CheckBox connected to Box-Option.
Definition TH2Editor.h:61
virtual void DoAddText(Bool_t on)
Slot connected to the "Text draw option" check button.
TH2 * fHist
histogram object
Definition TH2Editor.h:37
virtual void DoHistView()
Slot connected to the 'Plot' button group.
virtual void DoXAxisRange()
Slot connected to the Max/Min number entry fields showing x-axis range.
Float_t fP6oldx[3]
Definition TH2Editor.h:124
TGCheckButton * fAddText
Draw bin contents as text.
Definition TH2Editor.h:66
TString GetCutOptionString()
Return draw option string related to graphical cut in use.
Int_t * Dividers(Int_t n)
Give an array of dividers of n (without the trivial divider n)) in the first entry the number of divi...
TString GetHistContLabel()
Returns histogram contour option (None,Cont0..5).
virtual void DoBinReleased1()
Slot connected to the BinNumber Slider in case of a 'ntuple histogram'.
TGColorSelect * fFrameColor
Select the Frame Color.
Definition TH2Editor.h:96
TString GetHistCoordsLabel()
Return the immediate coordinate system of the histogram.
Int_t fPx1old
Definition TH2Editor.h:115
virtual void DoSliderYMoved()
Slot connected to the x-slider for redrawing the histogram with the new slider Range (immediately).
virtual void DoBinLabel()
Slot connected to the Bin Number Entry for the Rebin.
TGTextButton * fCancel
Cancel-Button to reprobate the rebinned histogram.
Definition TH2Editor.h:77
TGCompositeFrame * fBin
Contains the Binning Widgets.
Definition TH2Editor.h:38
TGNumberEntryField * fSldYMax
Contains the maximum value of the y-Axis.
Definition TH2Editor.h:94
Double_t fOldYOffset
Definition TH2Editor.h:137
TGCompositeFrame * f13
Frame that contains the Bar Width/Offset NumberEntries.
Definition TH2Editor.h:55
TGNumberEntryField * fSldXMax
Contains the maximum value of the x-Axis.
Definition TH2Editor.h:91
virtual void DoBinMoved1()
Slot connected to the rebin slider in case of an ntuple histogram.
virtual void DoTitle(const char *text)
Slot connected to the histogram title setting.
Float_t fP5oldx[3]
Definition TH2Editor.h:123
Float_t fP4oldx[3]
Definition TH2Editor.h:122
TGComboBox * fContCombo
Contour selecting combo box.
Definition TH2Editor.h:43
Int_t fPy2old
Definition TH2Editor.h:118
Int_t fPy1old
Definition TH2Editor.h:116
TGTextEntry * fTitle
histogram title input field
Definition TH2Editor.h:40
virtual void DoAddCol(Bool_t on)
Slot connected to the "Col draw option" check button.
virtual void DoBarOffset()
Slot connected to the bar offset of the bar chart.
virtual void DoOffsetReleased()
Slot connected to the OffSetSlider that changes the origin of the histogram inbetween a binwidth; reb...
virtual ~TH2Editor()
Destructor.
virtual void DoBinOffset()
Slot connected to the OffSetNumberEntry, related to the OffSetSlider changes the origin of the histog...
TGLabel * fColContLbl1
No. of Contours Label 2.
Definition TH2Editor.h:45
static TGComboBox * BuildHistTypeComboBox(TGFrame *parent, Int_t id)
Create histogram type combo box.
Float_t fP3oldy[3]
Definition TH2Editor.h:129
Float_t fP1oldy[3]
Definition TH2Editor.h:127
static TGComboBox * BuildHistContComboBox(TGFrame *parent, Int_t id)
Create contour combo box.
TGNumberEntry * fBarOffset
Set bar offset of histogram.
Definition TH2Editor.h:70
TGComboBox * fCoordsCombo
Coordinate System combo box.
Definition TH2Editor.h:42
virtual void DoCancel()
Slot connected to the Cancel Button in the Rebinned histogram Window.
Float_t fP7oldy[3]
Definition TH2Editor.h:133
Int_t fPx2old
Definition TH2Editor.h:117
TGCompositeFrame * fBinYCont1
Contains the Y Rebin Widgets for case 2.
Definition TH2Editor.h:84
Float_t fP6oldy[3]
Definition TH2Editor.h:132
virtual void DoSliderYReleased()
Slot connected to the y-axis slider finalizing values after the slider movement.
TGHButtonGroup * fDimGroup
Radiobuttongroup to change 2D <-> 3D-Plot.
Definition TH2Editor.h:47
virtual void DoBinMoved()
Slot connected to the rebin sliders in case of no ntuple histogram does the rebinning of the selected...
virtual void DoAddFB()
Slot connected to the "FB front-box draw option" check button.
TString GetHistAdditiveLabel()
Return histogram additive options (Arr,Box,Col,Scat,Col,Text,E,Z,FB,BB).
TGNumberEntryField * fBinYNumberEntry1
Label which shows the rebinned y bin number.
Definition TH2Editor.h:86
TGComboBox * fTypeCombo
histogram type combo box
Definition TH2Editor.h:41
virtual void DoHistSimple()
Slot connected to the 2D-Plot radio button.
virtual void DoFillColor(Pixel_t)
Slot connected to the fill area color.
virtual void DoAddBox(Bool_t on)
Slot connected to the "Box draw option" check button.
virtual void DoHistComplex()
Slot connected to the 3D-Plot radio button.
virtual void DoSliderXMoved()
Slot connected to the x-Slider that redraws the histogram with the new slider range.
TGCompositeFrame * f12
Frame that contains the Bar-Title.
Definition TH2Editor.h:54
Service class for 2-D histogram classes.
Definition TH2.h:30
Mother of all ROOT objects.
Definition TObject.h:41
Basic string class.
Definition TString.h:136
TText * text
const Int_t n
Definition legend1.C:16