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// //
17// TH2Editor //
18// //
19// Editor changing histogram attributes //
20// //
21//////////////////////////////////////////////////////////////////////////
22
23#include "TGedFrame.h"
24
25class TH2;
26class TGComboBox;
27class TGLabel;
28class TGTextEntry;
29class TGCheckButton;
30class TString;
31class TGDoubleHSlider;
32class TGHSlider;
33class TGNumberEntry;
34class TGHButtonGroup;
35class TGRadioButton;
37class TGColorSelect;
39class TGTextButton;
40
41class TH2Editor : public TGedFrame {
42
43protected:
44 TH2 *fHist; // histogram object
45 TGCompositeFrame *fBin; // Contains the Binning Widgets
46 TGCompositeFrame *fFit; // Contains the Fitting Widgets
47 TGTextEntry *fTitle; // histogram title input field
48 TGComboBox *fTypeCombo; // histogram type combo box
49 TGComboBox *fCoordsCombo; // Coordinate System combo box
50 TGComboBox *fContCombo; // Contour selecting combo box
51 TGLabel *fColContLbl; // No. of Contours Label 1
52 TGLabel *fColContLbl1; // No. of Contours Label 2
53 Int_t fTitlePrec; // font precision level
54 TGHButtonGroup *fDimGroup; // Radiobuttongroup to change 2D <-> 3D-Plot
55 TGRadioButton *fDim; // 2D-Plot RadioButton
56 TGRadioButton *fDim0; // 3D-Plot RadioButton
57 TGLayoutHints *fDimlh; // layout hints for 2D-Plot RadioButton
58 TGLayoutHints *fDim0lh; // layout hints for 3D-Plot RadioButton
59 TGCompositeFrame *f6; // Frame that contains the 2D CheckBox DrawOptions
60 TGCompositeFrame *f9; // Frame that contains the 3D CheckBox DrawOptions
61 TGCompositeFrame *f12; // Frame that contains the Bar-Title
62 TGCompositeFrame *f13; // Frame that contains the Bar Width/Offset NumberEntries
63 TGCompositeFrame *f38; // Frame that contains the Frame Fill widgets
64 TGCheckButton *fAddError; // CheckBox connected to error bars
65 TGCheckButton *fAddPalette; // CheckBox connected to Z option (2D)
66 TGCheckButton *fAddPalette1; // CheckBox connected to Z option (3D)
67 TGCheckButton *fAddArr; // CheckBox connected to Arr-Option
68 TGCheckButton *fAddBox; // CheckBox connected to Box-Option
69 TGCheckButton *fAddScat; // CheckBox connected to Scat-Option
70 TGCheckButton *fAddCol; // CheckBox connected to Col-Option
71 TGCheckButton *fAddFB; // Draw front box (or not)
72 TGCheckButton *fAddBB; // Draw back box (or not)
73 TGCheckButton *fAddText; // Draw bin contents as text
74 TGNumberEntry *fContLevels; // Set number of contour levels
75 TGNumberEntry *fContLevels1; // Set number of contour levels
76 TGNumberEntry *fBarWidth; // Set bar width of histogram
77 TGNumberEntry *fBarOffset; // Set bar offset of histogram
78 TGCompositeFrame *fBinXCont; // Contains the rebin widgets for case 1
79 TGHSlider *fBinXSlider; // Slider to set rebinning x integer value
80 TGNumberEntryField *fBinXNumberEntry; // Label which shows the rebinned bin number
81 TGHSlider *fBinYSlider; // Slider to set rebinning y integer value
82 TGNumberEntryField *fBinYNumberEntry; // Label which shows the rebinned bin number
83 TGTextButton *fApply; // Apply-Button to accept the rebinned histogram
84 TGTextButton *fCancel; // Cancel-Button to reprobate the rebinned histogram
85 TGCompositeFrame *fBinXCont1; // Contains the X Rebin Widgets for case 2
86 TGHSlider *fBinXSlider1; // Slider to set x rebinning integer value
87 TGNumberEntryField *fBinXNumberEntry1;// Label which shows the rebinned x bin number
88 TGNumberEntryField *fXOffsetNumberEntry; // Shows the offset to the x origin of the histogram
89 TGHSlider *fXBinOffsetSld; // Add an x-offset to the origin of the histogram
90
91 TGCompositeFrame *fBinYCont1; // Contains the Y Rebin Widgets for case 2
92 TGHSlider *fBinYSlider1; // Slider to set y rebinning integer value
93 TGNumberEntryField *fBinYNumberEntry1;// Label which shows the rebinned y bin number
94 TGNumberEntryField *fYOffsetNumberEntry; // Shows the offset to the y origin of the histogram
95 TGHSlider *fYBinOffsetSld; // Add an y-offset to the origin of the histogram
96 TGDoubleHSlider *fSliderX; // Slider to set x-axis range
97 TGNumberEntryField *fSldXMin; // Contains the minimum value of the x-Axis
98 TGNumberEntryField *fSldXMax; // Contains the maximum value of the x-Axis
99 TGDoubleHSlider *fSliderY; // Slider to set y-axis range
100 TGNumberEntryField *fSldYMin; // Contains the minimum value of the y-Axis
101 TGNumberEntryField *fSldYMax; // Contains the maximum value of the y-Axis
102 TGCheckButton *fDelaydraw; // Delayed drawing of the new axis range
103 TGColorSelect *fFrameColor; // Select the Frame Color
104 TGedPatternSelect *fFramePattern; // Select the Frame Pattern Style
105 TString fCutString; // Contais info about graphical cuts (if any)
106
107 static TGComboBox *BuildHistTypeComboBox(TGFrame *parent, Int_t id);
108 static TGComboBox *BuildHistCoordsComboBox(TGFrame *parent, Int_t id);
109 static TGComboBox *BuildHistContComboBox(TGFrame* parent, Int_t id);
110
111 virtual void ConnectSignals2Slots();
112 void CreateBinTab(); // Creates the Bin Tab (part of the SetGedEditor)
113
114private:
115 void PaintBox3D(Float_t *p1, Float_t *p2,Float_t *p3, Float_t *p4);
121
142 TH2 *fBinHist; // Cloned histogram for rebin
143 Double_t fOldXOffset; // saves the old x offset of the histogram
144 Double_t fOldYOffset; // saves the old y offset of the histogram
145
146public:
147 TH2Editor(const TGWindow *p = 0,
148 Int_t width = 140, Int_t height = 30,
149 UInt_t options = kChildFrame,
151 virtual ~TH2Editor();
152
153 virtual Bool_t AcceptModel(TObject* model);
154 virtual void SetModel(TObject* obj);
155 virtual void ActivateBaseClassEditors(TClass* cl);
156
157 virtual void DoTitle(const char *text);
158 virtual void DoHistView();
159 virtual void DoHistSimple();
160 virtual void DoHistComplex();
161 virtual void DoHistChanges();
162 virtual void DoAddArr(Bool_t on);
163 virtual void DoAddBox(Bool_t on);
164 virtual void DoAddCol(Bool_t on);
165 virtual void DoAddScat(Bool_t on);
166 virtual void DoAddText(Bool_t on);
167 virtual void DoAddError(Bool_t on);
168 virtual void DoAddPalette(Bool_t on);
169 virtual void DoAddFB();
170 virtual void DoAddBB();
171 virtual void DoContLevel();
172 virtual void DoContLevel1();
173 virtual void DoBarWidth();
174 virtual void DoBarOffset();
175 virtual void DoBinPressed();
176 virtual void DoBinMoved();
177 virtual void DoBinReleased();
178 virtual void DoBinLabel();
179 virtual void DoApply();
180 virtual void DoCancel();
181 virtual void DoBinReleased1();
182 virtual void DoBinMoved1();
183 virtual void DoBinLabel1();
184 virtual void DoOffsetMoved();
185 virtual void DoOffsetReleased();
186 virtual void DoOffsetPressed();
187 virtual void DoBinOffset();
188 virtual void DoSliderXMoved();
189 virtual void DoSliderXPressed();
190 virtual void DoSliderXReleased();
191 virtual void DoXAxisRange();
192 virtual void DoSliderYMoved();
193 virtual void DoSliderYPressed();
194 virtual void DoSliderYReleased();
195 virtual void DoYAxisRange();
196 virtual void DoFillColor(Pixel_t);
197 virtual void DoFillPattern(Style_t);
198
200
201 virtual void RecursiveRemove(TObject* obj);
202
203 ClassDef(TH2Editor,0) // TH2 editor
204};
205
206#endif
207
@ 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:80
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
static Pixel_t GetDefaultFrameBackground()
Get default frame background.
Definition TGFrame.cxx:668
TGNumberEntryField * fSldXMin
Definition TH2Editor.h:97
TGCheckButton * fAddArr
Definition TH2Editor.h:67
TGNumberEntryField * fYOffsetNumberEntry
Definition TH2Editor.h:94
virtual void DoOffsetPressed()
Slot connected to the OffSetSlider.
TGNumberEntry * fContLevels1
Definition TH2Editor.h:75
virtual void DoBarWidth()
Slot connected to the bar width of the bar chart.
TGCompositeFrame * f9
Definition TH2Editor.h:60
Float_t fP4oldy[3]
Definition TH2Editor.h:137
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
Definition TH2Editor.h:72
TGNumberEntryField * fXOffsetNumberEntry
Definition TH2Editor.h:88
Float_t fP3oldx[3]
Definition TH2Editor.h:128
Float_t fP5oldy[3]
Definition TH2Editor.h:138
TGCheckButton * fAddFB
Definition TH2Editor.h:71
virtual void RecursiveRemove(TObject *obj)
If the contained histogram obj is deleted we must set its pointer to zero.
TGCompositeFrame * fBinXCont
Definition TH2Editor.h:78
virtual void DoBinPressed()
Slot connected to the rebin slider in case of no ntuple histogram.
TGDoubleHSlider * fSliderY
Definition TH2Editor.h:99
void CreateBinTab()
Create the Binning tab.
TH2 * fBinHist
Definition TH2Editor.h:142
TGTextButton * fApply
Definition TH2Editor.h:83
virtual Bool_t AcceptModel(TObject *model)
Check if object is able to configure with this editor.
TGCompositeFrame * f6
Definition TH2Editor.h:59
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
Definition TH2Editor.h:64
TGHSlider * fBinYSlider1
Definition TH2Editor.h:92
Float_t fP8oldy[3]
Definition TH2Editor.h:141
TGNumberEntryField * fBinXNumberEntry1
Definition TH2Editor.h:87
virtual void DoAddBB()
Slot connected to the "BB back-box draw option" check button.
TGCheckButton * fAddPalette1
Definition TH2Editor.h:66
TGCompositeFrame * f38
Definition TH2Editor.h:63
virtual void DoFillPattern(Style_t)
Slot connected to the fill area pattern.
Float_t fP2oldx[3]
Definition TH2Editor.h:127
TGDoubleHSlider * fSliderX
Definition TH2Editor.h:96
virtual void DoApply()
Slot connected to the Apply Button in the Rebinned histogram Window.
TGNumberEntryField * fBinYNumberEntry
Definition TH2Editor.h:82
TGHSlider * fBinYSlider
Definition TH2Editor.h:81
Double_t fOldXOffset
Definition TH2Editor.h:143
TGHSlider * fYBinOffsetSld
Definition TH2Editor.h:95
TGNumberEntryField * fBinXNumberEntry
Definition TH2Editor.h:80
Float_t fP7oldx[3]
Definition TH2Editor.h:132
virtual void DoSliderYPressed()
Slot connected to y-axis slider which initialises the "virtual" box which is drawn in delay draw mode...
TGCheckButton * fAddPalette
Definition TH2Editor.h:65
TGCompositeFrame * fBinXCont1
Definition TH2Editor.h:85
Float_t fP1oldx[3]
Definition TH2Editor.h:126
TString fCutString
Definition TH2Editor.h:105
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
Definition TH2Editor.h:55
TGNumberEntry * fBarWidth
Definition TH2Editor.h:76
TGNumberEntryField * fSldYMin
Definition TH2Editor.h:100
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
Definition TH2Editor.h:79
TGHSlider * fXBinOffsetSld
Definition TH2Editor.h:89
virtual void DoAddPalette(Bool_t on)
Slot connected to the color palette check button.
TGRadioButton * fDim0
Definition TH2Editor.h:56
virtual void DoHistChanges()
Slot connected to histogram type, coordinate system, contour combo box.
virtual void ConnectSignals2Slots()
Connect signals to slots.
TGLayoutHints * fDimlh
Definition TH2Editor.h:57
TGCheckButton * fAddScat
Definition TH2Editor.h:69
virtual void DoBinLabel1()
Slot connected to the Bin Number Entry for the Rebin.
Int_t fTitlePrec
Definition TH2Editor.h:53
TGCompositeFrame * fFit
Definition TH2Editor.h:46
TGLabel * fColContLbl
Definition TH2Editor.h:51
TGNumberEntry * fContLevels
Definition TH2Editor.h:74
TString GetHistTypeLabel()
Return the immediate histogram type (HIST, LEGO1-4, SURF1-5).
TGedPatternSelect * fFramePattern
Definition TH2Editor.h:104
TGCheckButton * fDelaydraw
Definition TH2Editor.h:102
TGHSlider * fBinXSlider1
Definition TH2Editor.h:86
Float_t fP2oldy[3]
Definition TH2Editor.h:135
Float_t fP8oldx[3]
Definition TH2Editor.h:133
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
Definition TH2Editor.h:58
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
Definition TH2Editor.h:70
virtual void DoSliderXPressed()
Slot connected to the x axis range slider that initialises the "virtual" box which is drawn in delay ...
TGCheckButton * fAddBox
Definition TH2Editor.h:68
virtual void DoAddText(Bool_t on)
Slot connected to the "Text draw option" check button.
TH2 * fHist
Definition TH2Editor.h:44
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:131
TGCheckButton * fAddText
Definition TH2Editor.h:73
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
Definition TH2Editor.h:103
TString GetHistCoordsLabel()
Return the immediate coordinate system of the histogram.
Int_t fPx1old
Definition TH2Editor.h:122
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
Definition TH2Editor.h:84
TGCompositeFrame * fBin
Definition TH2Editor.h:45
TGNumberEntryField * fSldYMax
Definition TH2Editor.h:101
Double_t fOldYOffset
Definition TH2Editor.h:144
TGCompositeFrame * f13
Definition TH2Editor.h:62
TGNumberEntryField * fSldXMax
Definition TH2Editor.h:98
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:130
Float_t fP4oldx[3]
Definition TH2Editor.h:129
TGComboBox * fContCombo
Definition TH2Editor.h:50
Int_t fPy2old
Definition TH2Editor.h:125
Int_t fPy1old
Definition TH2Editor.h:123
TGTextEntry * fTitle
Definition TH2Editor.h:47
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
Definition TH2Editor.h:52
static TGComboBox * BuildHistTypeComboBox(TGFrame *parent, Int_t id)
Create histogram type combo box.
Float_t fP3oldy[3]
Definition TH2Editor.h:136
Float_t fP1oldy[3]
Definition TH2Editor.h:134
static TGComboBox * BuildHistContComboBox(TGFrame *parent, Int_t id)
Create contour combo box.
TGNumberEntry * fBarOffset
Definition TH2Editor.h:77
TGComboBox * fCoordsCombo
Definition TH2Editor.h:49
virtual void DoCancel()
Slot connected to the Cancel Button in the Rebinned histogram Window.
Float_t fP7oldy[3]
Definition TH2Editor.h:140
Int_t fPx2old
Definition TH2Editor.h:124
TGCompositeFrame * fBinYCont1
Definition TH2Editor.h:91
Float_t fP6oldy[3]
Definition TH2Editor.h:139
virtual void DoSliderYReleased()
Slot connected to the y-axis slider finalizing values after the slider movement.
TGHButtonGroup * fDimGroup
Definition TH2Editor.h:54
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
Definition TH2Editor.h:93
TGComboBox * fTypeCombo
Definition TH2Editor.h:48
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
Definition TH2Editor.h:61
Service class for 2-Dim histogram classes.
Definition TH2.h:30
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