162 fTitle->SetToolTipText(
"Enter the histogram title string");
182 fDim->SetToolTipText(
"A 2-d plot of the histogram is dawn");
184 fDim0->SetToolTipText(
"A 3-d plot of the histogram is dawn");
251 fAddSimple ->SetToolTipText(
"A simple histogram without errors is drawn (draw option: Hist)");
258 fAddMarker ->SetToolTipText(
"Make marker visible/invisible");
265 fAddB ->SetToolTipText(
"Draw a bar chart");
273 fAddBar ->SetToolTipText(
"Draw bar chart with bar-option");
296 fBarWidth->GetNumberEntry()->SetToolTipText(
"Set bin bar width");
307 fBarOffset->GetNumberEntry()->SetToolTipText(
"Set bin bar offset");
326 fMakeHBar ->SetToolTipText(
"Draw a horizontal bar chart with hBar-Option");
333 gROOT->GetListOfCleanups()->Add(
this);
489 fDelaydraw ->SetToolTipText(
"Draw the new histogram only when any Slider is released");
516 gROOT->GetListOfCleanups()->Remove(
this);
534 fAddB->Connect(
"Toggled(Bool_t)",
"TH1Editor",
this,
"DoAddB(Bool_t)");
535 fAddBar->Connect(
"Toggled(Bool_t)",
"TH1Editor",
this,
"DoAddBar(Bool_t)");
536 fTitle->Connect(
"TextChanged(const char *)",
"TH1Editor",
this,
"DoTitle(const char *)");
537 fTypeCombo->Connect(
"Selected(Int_t)",
"TH1Editor",
this,
"DoHistChanges()");
538 fCoordsCombo->Connect(
"Selected(Int_t)",
"TH1Editor",
this,
"DoHistChanges()");
539 fErrorCombo->Connect(
"Selected(Int_t)",
"TH1Editor",
this,
"DoHistChanges()");
540 fAddCombo->Connect(
"Selected(Int_t)",
"TH1Editor",
this,
"DoHistChanges()");
541 fAddMarker->Connect(
"Toggled(Bool_t)",
"TH1Editor",
this,
"DoAddMarker(Bool_t)");
542 fAddSimple->Connect(
"Toggled(Bool_t)",
"TH1Editor",
this,
"DoAddSimple(Bool_t)");
545 fDimGroup->Connect(
"Clicked(Int_t)",
"TH1Editor",
this,
"DoHistView()");
548 fBarWidth->Connect(
"ValueSet(Long_t)",
"TH1Editor",
this,
"DoBarWidth()");
549 (
fBarWidth->GetNumberEntry())->Connect(
"ReturnPressed()",
"TH1Editor",
this,
"DoBarWidth()");
550 fBarOffset->Connect(
"ValueSet(Long_t)",
"TH1Editor",
this,
"DoBarOffset()");
551 (
fBarOffset->GetNumberEntry())->Connect(
"ReturnPressed()",
"TH1Editor",
this,
"DoBarOffset()");
552 fPercentCombo->Connect(
"Selected(Int_t)",
"TH1Editor",
this,
"DoPercent()");
558 fBinSlider->Connect(
"PositionChanged(Int_t)",
"TH1Editor",
this,
"DoBinMoved(Int_t)");
559 fBinSlider->Connect(
"Released()",
"TH1Editor",
this,
"DoBinReleased()");
560 fBinSlider->Connect(
"Pressed()",
"TH1Editor",
this,
"DoBinPressed()");
562 fBinNumberEntry->Connect(
"ReturnPressed()",
"TH1Editor",
this,
"DoBinLabel()");
564 fApply->Connect(
"Clicked()",
"TH1Editor",
this,
"DoApply()");
565 fCancel->Connect(
"Pressed()",
"TH1Editor",
this,
"DoCancel()");
567 fBinSlider1->Connect(
"Released()",
"TH1Editor",
this,
"DoBinReleased1()");
568 fBinSlider1->Connect(
"PositionChanged(Int_t)",
"TH1Editor",
this,
"DoBinMoved1()");
569 fBinNumberEntry1->Connect(
"ReturnPressed()",
"TH1Editor",
this,
"DoBinLabel1()");
571 fBinOffsetSld->Connect(
"PositionChanged(Int_t)",
"TH1Editor",
this,
"DoOffsetMoved(Int_t)");
572 fBinOffsetSld->Connect(
"Released()",
"TH1Editor",
this,
"DoOffsetReleased()");
573 fBinOffsetSld->Connect(
"Pressed()",
"TH1Editor",
this,
"DoOffsetPressed()");
576 fSlider->Connect(
"PositionChanged()",
"TH1Editor",
this,
"DoSliderMoved()");
577 fSlider->Connect(
"Pressed()",
"TH1Editor",
this,
"DoSliderPressed()");
578 fSlider->Connect(
"Released()",
"TH1Editor",
this,
"DoSliderReleased()");
579 fSldMin->Connect(
"ReturnPressed()",
"TH1Editor",
this,
"DoAxisRange()");
580 fSldMax->Connect(
"ReturnPressed()",
"TH1Editor",
this,
"DoAxisRange()");
590 ((
TH1*)obj)->GetDimension()!=1 ||
591 ((
TH1*)obj)->GetEntries() == 0
627 if (str.Contains(
"SAME"))
633 if (str.IsNull() || str==
"" ) {
655 }
else if (!str.Contains(
"LEGO") && !str.Contains(
"SURF")){
665 if (str.Contains(
"C")) {
666 if (str.Contains(
"CYL")) {
673 else if (str.Contains(
"L")){
675 if (str.Contains(
"CYL")) {
679 if (str.Contains(
"POL")) {
687 else if (str.Contains(
"HIST")) {
692 if (str.Contains(
"B")) {
694 if (str.Contains(
"BAR")) {
715 if (str.Contains(
"P") ) {
722 }
else if (str.Contains(
"LEGO") || str.Contains(
"SURF")){
728 if (str.Contains(
"SURF")){
768 if (str.Contains(
"LEGO")) {
786 else if (str.Contains(
"E")) {
787 if (str.Contains(
"LEGO")) {
817 Int_t nxbinmin =
fHist -> GetXaxis() -> GetFirst();
818 Int_t nxbinmax =
fHist -> GetXaxis() -> GetLast();
848 if (div[0]-1 <= 1) up = 2;
855 while ( div[i] != nx) i ++;
876 fSldMin->SetNumber(
fHist->GetXaxis()->GetBinLowEdge(nxbinmin));
877 fSldMax->SetNumber(
fHist->GetXaxis()->GetBinUpEdge(nxbinmax));
880 fHist->GetXaxis()->GetBinWidth(1));
906 if (str.Contains(
"SAME"))
918 if (str.Contains(
"HIST"))
919 str.Remove(strstr(str.Data(),
"HIST")-str.Data(),4);
921 if (str.Contains(
"POL") || str.Contains(
"SPH")) {
924 if (str.Contains(
"POL")) str = dum +
"POL";
925 if (str.Contains(
"SPH")) str = dum +
"SPH";
926 if (str.Contains(
"PSR")) str = dum +
"PSR";
927 }
else if (str.Contains(
"P")) str.Remove(str.First(
"P"),1);
928 if ((str==
"HIST") || (str==
"") ||
932 else if (str.Contains(
"HIST"))
952 if (str.Contains(
"SAME"))
959 if (!str.Contains(
"B")) str +=
"B";
968 while (str.Contains(
"B"))
969 str.Remove(str.First(
"B"),1);
975 !(str==
"" || str==
"HIST" ||
996 if (str.Contains(
"SAME"))
1003 if (str.Contains(
"HBAR")) o=1;
1004 if (str.Contains(
"BAR4"))
1005 str.Remove(strstr(str.Data(),
"BAR4")-str.Data()-o,4+o);
1006 else if (str.Contains(
"BAR3"))
1007 str.Remove(strstr(str.Data(),
"BAR3")-str.Data()-o,4+o);
1008 else if (str.Contains(
"BAR2"))
1009 str.Remove(strstr(str.Data(),
"BAR2")-str.Data()-o,4+o);
1010 else if (str.Contains(
"BAR1"))
1011 str.Remove(strstr(str.Data(),
"BAR1")-str.Data()-o,4+o);
1012 else if (str.Contains(
"BAR0"))
1013 str.Remove(strstr(str.Data(),
"BAR0")-str.Data()-o,4+o);
1014 else if (str.Contains(
"BAR"))
1015 str.Remove(strstr(str.Data(),
"BAR")-str.Data()-o,3+o);
1023 if (str.Contains(
"HIST"))
1061 str.Insert(strstr(str.Data(),
"BAR")-str.Data(),
"H");
1083 fAddMarker->Connect(
"Toggled(Bool_t)",
"TH1Editor",
this,
"DoAddMarker(Bool_t)");
1099 if (str.Contains(
"SAME"))
1104 if (!str.Contains(
"HIST")) {
1110 if (str.Contains(
"HIST")) {
1111 str.Remove(strstr(str.Data(),
"HIST")-str.Data(),4);
1118 fAddMarker->Connect(
"Toggled(Bool_t)",
"TH1Editor",
this,
"DoAddMarker(Bool_t)");
1208 fAddCombo->Connect(
"Selected(Int_t)",
"TH1Editor",
this,
"DoHistChanges()");
1260 if (str.Contains(
"LEGO")) {
1320 fAddCombo->Connect(
"Selected(Int_t)",
"TH1Editor",
this,
"DoHistChanges()");
1419 if (str.Contains(
"SAME"))
1424 if (str.Contains(
"HBAR")) o=1;
1425 if (str.Contains(
"BAR4"))
1426 str.Remove(strstr(str.Data(),
"BAR4")-str.Data()-1,4+o);
1427 else if (str.Contains(
"BAR3"))
1428 str.Remove(strstr(str.Data(),
"BAR3")-str.Data()-o,4+o);
1429 else if (str.Contains(
"BAR2"))
1430 str.Remove(strstr(str.Data(),
"BAR2")-str.Data()-o,4+o);
1431 else if (str.Contains(
"BAR1"))
1432 str.Remove(strstr(str.Data(),
"BAR1")-str.Data()-o,4+o);
1433 else if (str.Contains(
"BAR0"))
1434 str.Remove(strstr(str.Data(),
"BAR0")-str.Data()-o,4+o);
1435 else if (str.Contains(
"BAR"))
1436 str.Remove(strstr(str.Data(),
"BAR")-str.Data()-o,3+o);
1440 case (
kPER_0) :{ str +=
"BAR";
break;}
1441 case (
kPER_10):{ str +=
"BAR1";
break;}
1442 case (
kPER_20):{ str +=
"BAR2";
break;}
1443 case (
kPER_30):{ str +=
"BAR3";
break;}
1444 case (
kPER_40):{ str +=
"BAR4";
break;}
1459 if (str.Contains(
"SAME"))
1464 if (!str.Contains(
"HBAR"))
1465 str.Insert(strstr(str.Data(),
"BAR")-str.Data(),
"H");
1468 if (str.Contains(
"HBAR"))
1469 str.Remove(strstr(str.Data(),
"BAR")-str.Data()-1,1);
1487 static Int_t px1,py1,px2,py2;
1489 xleft =
fHist->GetXaxis()->GetBinLowEdge((
Int_t)((
fSlider->GetMinPosition())+0.5));
1490 xright =
fHist->GetXaxis()->GetBinUpEdge((
Int_t)((
fSlider->GetMaxPosition())+0.5));
1493 px1 =
fGedEditor->GetPad()->XtoAbsPixel(xleft);
1495 px2 =
fGedEditor->GetPad()->XtoAbsPixel(xright);
1516 static Float_t p1[3], p2[3], p3[3], p4[3], p5[3], p6[3], p7[3], p8[3];
1523 p1[0] = p4[0] = p5[0] = p8[0] =
1525 p2[0] = p3[0] = p6[0] = p7[0] =
1527 p1[1] = p2[1] = p3[1] = p4[1] = rmin[1];
1528 p5[1] = p6[1] = p7[1] = p8[1] = rmax[1];
1529 p1[2] = p2[2] = p5[2] = p6[2] = rmin[2];
1530 p3[2] = p4[2] = p7[2] = p8[2] = rmax[2];
1537 for (
Int_t i = 0; i<3; i++){
1556 fSldMin->SetNumber(
fHist->GetXaxis()->GetBinLowEdge(
fHist->GetXaxis()->GetFirst()));
1557 fSldMax->SetNumber(
fHist->GetXaxis()->GetBinUpEdge(
fHist->GetXaxis()->GetLast()));
1594 xleft =
fHist->GetXaxis()->GetBinLowEdge(sldmin);
1595 xright =
fHist->GetXaxis()->GetBinUpEdge(sldmax);
1613 fHist->GetXaxis()->GetBinLowEdge(sldmin);
1615 fHist->GetXaxis()->GetBinUpEdge(sldmax);
1640 fSldMin->SetNumber(
fHist->GetXaxis()->GetBinLowEdge(
fHist->GetXaxis()->GetFirst()));
1641 fSldMax->SetNumber(
fHist->GetXaxis()->GetBinUpEdge(
fHist->GetXaxis()->GetLast()));
1664 if ((
fSldMin->GetNumber()+width/2) < (lowLimit))
1666 if ((
fSldMax->GetNumber()-width/2) > (upLimit))
1669 fHist->GetXaxis()->SetRangeUser(
fSldMin->GetNumber()+width/2,
1670 fSldMax->GetNumber()-width/2);
1671 Int_t nxbinmin =
fHist->GetXaxis()->GetFirst();
1672 Int_t nxbinmax =
fHist->GetXaxis()->GetLast();
1706 fHist->Rebin(divx[numx]);
1712 fSldMax->GetNumber()-xBinWidth/2);
1761 if (maxx==1) maxx=2;
1769 fHist->Rebin(divx[numx]);
1774 fSldMax->GetNumber()-xBinWidth/2);
1802 "TH1 Editor",
"It is not possible to rebin the histogram",
1819 if (number==5)
return;
1821 Int_t binNumber = 0;
1824 if (number > 5) fact = number - 4;
1825 else fact = number - 6;
1827 if (!player)
return;
1840 if (fact > 0) binNumber = fact*nx;
1841 if (fact < 0) binNumber = (
Int_t) ((-1)*nx/fact+0.5);
1842 if (binNumber < 1) binNumber = 1;
1843 if (binNumber > 10000) binNumber= 10000;
1847 min-oldOffset+newOffset,
1848 max-oldOffset+newOffset);
1855 fSlider->SetRange(1,binNumber);
1860 xaxis->
FindBin(rmax-binWidth/2));
1885 Int_t binNumber = 0;
1886 if (number >= 5) fact = number - 4;
1887 else fact = number - 6;
1888 if (fact > 0) binNumber = fact*
n;
1889 if (fact < 0) binNumber = (
Int_t) ((-1)*
n/fact+0.5);
1890 if (binNumber < 1) binNumber = 1;
1891 if (binNumber > 10000) binNumber= 10000;
1905 else nx =
fHist->GetXaxis()->GetNbins();
1908 Int_t diff = std::abs(num - div[1]);
1910 for (
Int_t i = 2; i <= div[0]; i++) {
1911 if ((std::abs(num - div[i])) < diff) {
1913 diff = std::abs(num - div[i]);
1936 if (!player)
return;
1949 Int_t binNumber = (
Int_t) ((max-min)/(rmax - rmin)*num + 0.5);
1950 if (binNumber < 1) binNumber = 1;
1951 if (binNumber > 10000) binNumber = 10000;
1955 min-oldOffset+offset,
1956 max-oldOffset+offset);
1963 fSlider->SetRange(1,binNumber);
1968 xaxis->
FindBin(rmax-binWidth/2));
2001 Double_t offset = 1.*num/100*binWidth;
2005 if (!player)
return;
2017 min+offset-oldOffset,
2018 max+offset-oldOffset);
2026 xaxis->
FindBin(rmax+offset-oldOffset-binWidth/2));
2047 Double_t offset = 1.*num/100*binWidth;
2052 if (!player)
return;
2064 min+offset-oldOffset,
2065 max+offset-oldOffset);
2073 xaxis->
FindBin(rmax+offset-oldOffset-binWidth/2));
2096 if (!player)
return;
2108 min+offset-oldOffset,
2109 max+offset-oldOffset);
2117 xaxis->
FindBin(rmax+offset-oldOffset-binWidth/2));
2131 "TH1 Editor",
"Replace origin histogram with rebinned one?",
2141 if (div[0]-1 <= 1) up = 2;
2144 if (
fBinSlider->GetMaxPosition()==2 && div[0]==2 )
2167 fHist->GetXaxis()->SetRange(
fBinHist->GetXaxis()->GetFirst(),
2191 case (-1) : {s =
"LEGO";
break;}
2215 case (-1) : {s =
"POL";
break;}
2235 case (-1) : {s =
"";
break;}
2255 case (-1) : {s =
"" ;
break;}
2267 case (
kPER_0) : { s +=
"BAR" ;
break;}
2268 case (
kPER_10): { s +=
"BAR1";
break;}
2269 case (
kPER_20): { s +=
"BAR2";
break;}
2270 case (
kPER_30): { s +=
"BAR3";
break;}
2271 case (
kPER_40): { s +=
"BAR4";
break;}
2422 }
else if (
n == 1) {
2431 for (
Int_t i=2; i <=
n/2; i++) {
ULong_t Pixel_t
Pixel value.
int Int_t
Signed integer 4 bytes (int).
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int).
bool Bool_t
Boolean (0=false, 1=true) (bool).
double Double_t
Double 8 bytes.
float Float_t
Float 4 bytes (float).
Class to manage histogram axis.
virtual Int_t FindBin(Double_t x)
Find bin number corresponding to abscissa x.
virtual Double_t GetBinLowEdge(Int_t bin) const
Return low edge of bin.
Int_t GetLast() const
Return last bin on the axis i.e.
virtual void SetRangeUser(Double_t ufirst, Double_t ulast)
Set the viewing range for the axis from ufirst to ulast (in user coordinates, that is,...
virtual void SetRange(Int_t first=0, Int_t last=0)
Set the viewing range for the axis using bin numbers.
virtual Double_t GetBinWidth(Int_t bin) const
Return bin width.
virtual Double_t GetBinUpEdge(Int_t bin) const
Return up edge of bin.
Int_t GetFirst() const
Return first bin on the axis i.e.
A combobox (also known as a drop down listbox) allows the selection of one item out of a list of item...
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr)
Add frame to the composite frame using the specified layout hints.
TGCompositeFrame(const TGCompositeFrame &)=delete
virtual void ShowFrame(TGFrame *f)
Show sub frame.
virtual void HideFrame(TGFrame *f)
Hide sub frame.
Dragging the slider will generate the event:
TGFrame(const TGFrame &)=delete
Bool_t Contains(Int_t x, Int_t y) const
Concrete class for horizontal slider.
A horizontal 3D line is a line that typically separates a toolbar from the menubar.
A Composite frame that contains a list of TGLBEnties.
This class handles GUI labels.
This class describes layout hints used by the layout classes.
A listbox is a box, possibly with scrollbar, containing entries.
void Resize(UInt_t w, UInt_t h) override
Resize the listbox widget.
void Layout() override
Layout the listbox components.
Defines top level windows that interact with the system Window Manager.
TGNumberEntry is a number entry input widget with up/down buttons.
TGClient * fClient
Connection to display server.
A text buffer is used in several widgets, like TGTextEntry, TGFileDialog, etc.
Yield an action as soon as it is clicked.
A TGTextEntry is a one line text input widget.
ROOT GUI Window base class.
virtual const TGWindow * GetMainFrame() const
Returns top level main frame.
TGedEditor * fGedEditor
manager of this frame
virtual TGVerticalFrame * CreateEditorTabSubFrame(const char *name)
Create a vertical frame to be used by 'owner' in extra tab 'name'.
TGedFrame(const TGedFrame &)=delete
Bool_t fInit
init flag for setting signals/slots
virtual void MakeTitle(const char *title)
Create attribute frame title.
void SetDrawOption(Option_t *option="") override
Set drawing option for object.
virtual void Refresh(TObject *model)
Refresh the GUI info about the object attributes.
virtual void Update()
Update the current pad when an attribute is changed via GUI.
Option_t * GetDrawOption() const override
Get draw options of the selected object.
Bool_t fAvoidSignal
flag for executing slots
static TGComboBox * BuildHistAddComboBox(TGFrame *parent, Int_t id)
Create Line/Bar combo box.
TGNumberEntryField * fSldMin
Contains the minimum value of the x-Axis.
virtual void DoHistChanges()
Slot connected to the histogram type, the coordinate type, the error type and the Add combo box.
virtual void DoBinReleased1()
Slot connected to the BinNumber Slider in case of a ntuple histogram (does the Rebinning of the histo...
TGTextButton * fApply
Apply-Button to accept the rebinned histogram.
TGHSlider * fBinOffsetSld
Add an offset to the origin of the histogram.
~TH1Editor() override
Destructor of TH1 editor.
TGNumberEntryField * fBinNumberEntry
Label which shows the rebinned bin number.
TGCompositeFrame * fBinCont
Contains the Rebin Widgets for case 1.
TGCheckButton * fAddSimple
Draw a simple histogram (==HIST draw option).
TH1 * fHist
histogram object
TGCheckButton * fAddMarker
Draw a Marker on top of each bin.
TString GetHistTypeLabel()
Returns the selected histogram type (HIST, LEGO1-2, SURF1-5).
virtual void DoOffsetMoved(Int_t num)
Slot connected to the OffSetSlider.
void ChangeErrorCombo(Int_t i)
Change the error combo box entry.
TGNumberEntry * fBarWidth
Change the Bar Width.
TGHSlider * fBinSlider1
Slider to set rebinning integer value for ntuple histogram.
TGNumberEntryField * fSldMax
Contains the maximum value of the x-Axis.
TGDoubleHSlider * fSlider
Slider to set x-axis range.
TGCompositeFrame * f11
Contains the Bar Width/Offset NumberEntries.
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
Radiobuttongroup to change 2D <-> 3D-Plot.
TGCheckButton * fAddB
Draw a Bar Chart.
virtual void DoAddMarker(Bool_t on)
Slot connected to the show markers check box.
static TGComboBox * BuildHistErrorComboBox(TGFrame *parent, Int_t id)
Create error type combo box.
TH1Editor(const TGWindow *p=nullptr, Int_t width=140, Int_t height=30, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
Constructor of histogram attribute GUI.
TGComboBox * fErrorCombo
Error combo box.
TGCheckButton * fDelaydraw
Delayed drawing of the new axis range.
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
Draw Horizontal Bar Chart.
virtual void ConnectSignals2Slots()
Connect signals to slots.
TGCompositeFrame * f6
Contains the Add-ComboBox (Style).
TGNumberEntryField * fOffsetNumberEntry
Shows the offset to the origin of the histogram.
TGCompositeFrame * fBinCont1
Contains the Rebin Widgets for case 2.
TGRadioButton * fDim0
3D-Plot RadioButton
TGCompositeFrame * f12
Contains fPercentCombo, fMakeHBar.
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).
TGComboBox * fPercentCombo
Percentage of the Bar which is drawn in a different color.
TGTextButton * fCancel
Cancel-Button to reprobate the rebinned histogram.
virtual void DoCancel()
Slot connected to the Cancel button of the Binning tab.
TGHSlider * fBinSlider
Slider to set rebinning integer value.
TGRadioButton * fDim
2D-Plot RadioButton
Int_t fTitlePrec
font precision level
TGCheckButton * fAddBar
Bar Option.
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
flag for option "same"
virtual void DoAddB(Bool_t)
Slot connected to the bar Add check box.
TGCompositeFrame * f3
Contains Histogram Type.
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
histogram type combo box
TGComboBox * fCoordsCombo
Coordinate System combo box.
TGTextEntry * fTitle
histogram title input field
TString GetHistAddLabel()
Return the selected shape of the histogram (C, L, LF2).
TGLayoutHints * fDim0lh
layout hints for 3D-Plot RadioButton
virtual void DoBinPressed()
Slot connected to the rebin slider in case of a not ntuple histogram.
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.
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.
void SetModel(TObject *obj) override
Pick up current values of histogram attributes.
virtual void DoAddBar(Bool_t)
Slot connected to the bar Add check box.
TGNumberEntryField * fBinNumberEntry1
Label which shows the rebinned bin number for ntuple histogram.
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
layout hints for 2D-Plot RadioButton
TGCompositeFrame * f15
Contains outer line CheckBox.
static TGComboBox * BuildHistCoordsComboBox(TGFrame *parent, Int_t id)
Create coordinate system type combo box.
TGNumberEntry * fBarOffset
Change the Bar Offset.
TGCompositeFrame * f9
Contains the Bar Option CheckBox.
virtual void DoOffsetReleased()
Slot connected to the OffSetSlider.
static TGComboBox * BuildHistTypeComboBox(TGFrame *parent, Int_t id)
Create histogram type combo box.
TGCompositeFrame * f7
Contains the Marker OnOff CheckBox.
TGCompositeFrame * f8
Contains the Bar Chart CheckBox.
Bool_t AcceptModel(TObject *model) override
Check if object is able to configure with this editor.
TGCompositeFrame * fBin
Contains the Binning Widgets.
virtual void DoBinLabel1()
Slot connected to the Bin number entry of the Rebinning tab.
TGComboBox * fAddCombo
Add Lines, Bars, Fill.
TGCompositeFrame * f10
Contains the Bar Option Title.
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).
void RecursiveRemove(TObject *obj) override
If the contained histogram obj is deleted we must set its pointer to zero.
virtual void DoBinMoved1()
Slot connected to the rebin slider in case of an ntuple histogram.
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.
@ kNoAxis
NOTE: Must always be 0 !!!
Mother of all ROOT objects.
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot.
Bool_t Disconnect(const char *signal=nullptr, void *receiver=nullptr, const char *slot=nullptr)
Disconnects signal of this object from slot of receiver.
A specialized TSelector for TTree::Draw.
virtual void TakeAction()
Execute action for object obj fNfill times.
const char * Data() const
TString & Remove(Ssiz_t pos)
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
Implement some of the functionality of the class TTree requiring access to extra libraries (Histogram...
TH1 * GetHistogram() const override
Int_t GetNfill() const override
TSelector * GetSelector() const override
virtual Double_t * GetRmax()=0
virtual Double_t * GetRmin()=0
static TVirtualTreePlayer * GetCurrentPlayer()
Static function: return the current player (if any).