// @(#)root/ged:$Name: $:$Id: TAxisEditor.cxx,v 1.9 2005/06/18 09:57:54 brun Exp $
// Author: Ilka Antcheva 11/05/04
/*************************************************************************
* Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
//////////////////////////////////////////////////////////////////////////
// //
// TAxisEditor //
// //
// Implements GUI for axis attributes. //
// axis color //
// ticks parameters: length, setting on both axis sides, //
// logarithmic or linear scale along the selected axis, //
// primary, secondary and tertiary axis divisions, //
// setting more logarithmic labels, //
// optimizing labels' position if available //
// axis title - a title can be added via the text entry field //
// and can be set to be centered or rotated via the corresponding //
// check buttons, the title color, offset, font can be set easily //
// axis labels - their color, size, offset can be set similarly, //
// in addition there is a check box for no exponent choice, //
// and another one for setting the same decimal part for all labels // //
// //
//////////////////////////////////////////////////////////////////////////
//
/*
*/
//
#include "TAxisEditor.h"
#include "TGedFrame.h"
#include "TGColorSelect.h"
#include "TGColorDialog.h"
#include "TGComboBox.h"
#include "TGNumberEntry.h"
#include "TGTextEntry.h"
#include "TGToolTip.h"
#include "TGLabel.h"
#include "TGClient.h"
#include "TColor.h"
#include "TVirtualPad.h"
#include "TStyle.h"
ClassImp(TAxisEditor)
enum EAxisWid {
kCOL_AXIS,
kCOL_TIT,
kCOL_LBL,
kFONT_TIT,
kFONT_LBL,
kTITLE,
kAXIS_TICKS,
kAXIS_DIV1,
kAXIS_DIV2,
kAXIS_DIV3,
kAXIS_OPTIM,
kAXIS_LOG,
kAXIS_TITSIZE,
kAXIS_TITOFFSET,
kAXIS_CENTERED,
kAXIS_ROTATED,
kAXIS_LBLSIZE,
kAXIS_LBLOFFSET,
kAXIS_TICKSBOTH,
kAXIS_LBLLOG,
kAXIS_LBLEXP,
kAXIS_LBLDIR,
kAXIS_LBLSORT,
kAXIS_LBLDEC
};
//______________________________________________________________________________
TAxisEditor::TAxisEditor(const TGWindow *p, Int_t id, Int_t width,
Int_t height, UInt_t options, Pixel_t back)
: TGedFrame(p, id, width, height, options | kVerticalFrame, back)
{
// Constructor of axis attribute GUI.
fAxis = 0;
MakeTitle("Axis");
TGCompositeFrame *f2 = new TGCompositeFrame(this, 80, 20, kHorizontalFrame);
fAxisColor = new TGColorSelect(f2, 0, kCOL_AXIS);
f2->AddFrame(fAxisColor, new TGLayoutHints(kLHintsLeft, 1, 1, 1, 1));
fAxisColor->Associate(this);
TGLabel *fTicksLabel = new TGLabel(f2, "Ticks:");
f2->AddFrame(fTicksLabel, new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 3, 0, 1, 1));
fTickLength = new TGNumberEntry(f2, 0.03, 5, kAXIS_TICKS,
TGNumberFormat::kNESRealTwo,
TGNumberFormat::kNEAAnyNumber,
TGNumberFormat::kNELLimitMinMax,-1.,1.);
fTickLength->GetNumberEntry()->SetToolTipText("Set ticks' length");
f2->AddFrame(fTickLength, new TGLayoutHints(kLHintsLeft, 1, 1, 1, 1));
AddFrame(f2, new TGLayoutHints(kLHintsTop, 1, 1, 0, 0));
TGCompositeFrame *f3 = new TGCompositeFrame(this, 80, 20, kHorizontalFrame);
TGCompositeFrame *f4a = new TGCompositeFrame(f3, 40, 20, kVerticalFrame);
f3->AddFrame(f4a, new TGLayoutHints(kLHintsTop, 0, 1, 0, 0));
fTicksBoth = new TGCheckButton(f4a, "+-", kAXIS_TICKSBOTH);
fTicksBoth->SetToolTipText("Draw ticks on both axis sides");
f4a->AddFrame(fTicksBoth, new TGLayoutHints(kLHintsLeft | kLHintsBottom, 3, 1, 1, 0));
fLogAxis = new TGCheckButton(f4a, "Log", kAXIS_LOG);
fLogAxis->SetToolTipText("Draw logarithmic scale");
f4a->AddFrame(fLogAxis, new TGLayoutHints(kLHintsLeft | kLHintsBottom, 3, 1, 0, 0));
TGCompositeFrame *f4b = new TGCompositeFrame(f3, 40, 20, kVerticalFrame);
f3->AddFrame(f4b, new TGLayoutHints(kLHintsTop, 0, 1, 0, 0));
fOptimize = new TGCheckButton(f4b, "Optimize", kAXIS_OPTIM);
fOptimize->SetState(kButtonDown);
fOptimize->SetToolTipText("Optimize the number of axis divisions");
f4b->AddFrame(fOptimize, new TGLayoutHints(kLHintsTop, 17, 1, 1, 0));
fMoreLog = new TGCheckButton(f4b, "MoreLog", kAXIS_LBLLOG);
fMoreLog->SetToolTipText("Draw more logarithmic labels");
f4b->AddFrame(fMoreLog, new TGLayoutHints(kLHintsLeft, 17, 1, 0, 0));
AddFrame(f3, new TGLayoutHints(kLHintsTop, 1, 1, 0, 0));
TGCompositeFrame *f5 = new TGCompositeFrame(this, 80, 20, kHorizontalFrame);
fDiv3 = new TGNumberEntry(f5, 10, 2,kAXIS_DIV1, TGNumberFormat::kNESInteger,
TGNumberFormat::kNEANonNegative,
TGNumberFormat::kNELLimitMinMax, 0, 99);
fDiv3->GetNumberEntry()->SetToolTipText("Tertiary axis divisions");
f5->AddFrame(fDiv3, new TGLayoutHints(kLHintsLeft, 27, 0, 1, 1));
fDiv2 = new TGNumberEntry(f5, 5, 2, kAXIS_DIV2, TGNumberFormat::kNESInteger,
TGNumberFormat::kNEANonNegative,
TGNumberFormat::kNELLimitMinMax, 0, 99);
fDiv2->GetNumberEntry()->SetToolTipText("Secondary axis divisions");
f5->AddFrame(fDiv2, new TGLayoutHints(kLHintsLeft, 1, 0, 1, 1));
fDiv1 = new TGNumberEntry(f5, 0, 2, kAXIS_DIV3, TGNumberFormat::kNESInteger,
TGNumberFormat::kNEANonNegative,
TGNumberFormat::kNELLimitMinMax, 0, 99);
fDiv1->GetNumberEntry()->SetToolTipText("Primary axis divisions");
f5->AddFrame(fDiv1, new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 1, 1, 1, 1));
AddFrame(f5, new TGLayoutHints(kLHintsLeft, 1, 1, 4, 4));
fTicksFlag = 1;
MakeTitle("Title");
fTitlePrec = 2;
fTitle = new TGTextEntry(this, new TGTextBuffer(50), kTITLE);
fTitle->Resize(135, fTitle->GetDefaultHeight());
fTitle->SetToolTipText("Enter the axis title string");
AddFrame(fTitle, new TGLayoutHints(kLHintsLeft, 3, 1, 2, 1));
TGCompositeFrame *f6 = new TGCompositeFrame(this, 80, 20, kHorizontalFrame);
fTitleColor = new TGColorSelect(f6, 0, kCOL_TIT);
f6->AddFrame(fTitleColor, new TGLayoutHints(kLHintsLeft, 1, 1, 1, 1));
fTitleColor->Associate(this);
TGLabel *fSizeLbl1 = new TGLabel(f6, "Size:");
f6->AddFrame(fSizeLbl1, new TGLayoutHints(kLHintsCenterY | kLHintsLeft, 6, 1, 1, 1));
fTitleSize = new TGNumberEntry(f6, 0.05, 5, kAXIS_TITSIZE,
TGNumberFormat::kNESRealTwo,
TGNumberFormat::kNEANonNegative,
TGNumberFormat::kNELLimitMinMax, 0., 1.);
fTitleSize->GetNumberEntry()->SetToolTipText("Set title size");
f6->AddFrame(fTitleSize, new TGLayoutHints(kLHintsLeft, 1, 1, 1, 1));
AddFrame(f6, new TGLayoutHints(kLHintsTop, 1, 1, 0, 0));
fTitleFont = new TGFontTypeComboBox(this, kFONT_TIT);
fTitleFont->Resize(137, 20);
AddFrame(fTitleFont, new TGLayoutHints(kLHintsLeft, 3, 1, 2, 1));
TGCompositeFrame *f7 = new TGCompositeFrame(this, 80, 20, kHorizontalFrame);
fCentered = new TGCheckButton(f7, "Centered", kAXIS_CENTERED);
fCentered->SetToolTipText("Center axis title");
f7->AddFrame(fCentered, new TGLayoutHints(kLHintsTop, 3, 1, 1, 0));
TGLabel *fOffsetLbl = new TGLabel(f7, "Offset:");
f7->AddFrame(fOffsetLbl, new TGLayoutHints(kLHintsLeft, 23, 1, 3, 0));
AddFrame(f7, new TGLayoutHints(kLHintsTop, 1, 1, 0, 0));
TGCompositeFrame *f8 = new TGCompositeFrame(this, 80, 20, kHorizontalFrame);
fRotated = new TGCheckButton(f8, "Rotated", kAXIS_ROTATED);
fRotated->SetState(kButtonDown);
fRotated->SetToolTipText("Rotate axis title by 180 degrees");
f8->AddFrame(fRotated, new TGLayoutHints(kLHintsTop, 3, 1, 6, 0));
fTitleOffset = new TGNumberEntry(f8, 1.00, 6, kAXIS_TITOFFSET,
TGNumberFormat::kNESRealTwo,
TGNumberFormat::kNEAAnyNumber,
TGNumberFormat::kNELLimitMinMax, 0.1, 10.);
fTitleOffset->GetNumberEntry()->SetToolTipText("Set title offset");
f8->AddFrame(fTitleOffset, new TGLayoutHints(kLHintsLeft, 6, 1, 0, 0));
AddFrame(f8, new TGLayoutHints(kLHintsTop, 1, 1, 0, 4));
MakeTitle("Labels");
fLabelPrec = 2;
TGCompositeFrame *f9 = new TGCompositeFrame(this, 80, 20, kHorizontalFrame);
fLabelColor = new TGColorSelect(f9, 0, kCOL_LBL);
f9->AddFrame(fLabelColor, new TGLayoutHints(kLHintsLeft, 1, 1, 1, 1));
fLabelColor->Associate(this);
TGLabel *fSizeLbl2 = new TGLabel(f9, "Size:");
f9->AddFrame(fSizeLbl2, new TGLayoutHints(kLHintsCenterY | kLHintsLeft, 1, 0, 1, 1));
fLabelSize = new TGNumberEntry(f9, 0.05, 6, kAXIS_LBLSIZE,
TGNumberFormat::kNESRealTwo,
TGNumberFormat::kNEANonNegative,
TGNumberFormat::kNELLimitMinMax, 0., 1.);
fLabelSize->GetNumberEntry()->SetToolTipText("Set labels' size");
f9->AddFrame(fLabelSize, new TGLayoutHints(kLHintsLeft, 1, 1, 1, 1));
AddFrame(f9, new TGLayoutHints(kLHintsTop, 1, 1, 0, 0));
TGCompositeFrame *f10 = new TGCompositeFrame(this, 80, 20, kHorizontalFrame);
fNoExponent = new TGCheckButton(f10, "NoExp", kAXIS_LBLEXP);
fNoExponent->SetToolTipText("Labels drawn without exponent notation");
f10->AddFrame(fNoExponent, new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 3, 1, 8, 0));
fLabelOffset = new TGNumberEntry(f10, 0.005, 6, kAXIS_LBLOFFSET,
TGNumberFormat::kNESRealThree,
TGNumberFormat::kNEAAnyNumber,
TGNumberFormat::kNELLimitMinMax,-1.,1.);
fLabelOffset->GetNumberEntry()->SetToolTipText("Set labels' offset");
f10->AddFrame(fLabelOffset, new TGLayoutHints(kLHintsLeft, 11, 1, 3, 0));
AddFrame(f10, new TGLayoutHints(kLHintsTop, 1, 1, 0, 0));
fLabelFont = new TGFontTypeComboBox(this, kFONT_LBL);
fLabelFont->Resize(137, 20);
AddFrame(fLabelFont, new TGLayoutHints(kLHintsLeft, 3, 1, 2, 0));
fLabelFont->Associate(this);
fDecimal = new TGCheckButton(this, "Decimal labels' part", kAXIS_LBLDEC);
fDecimal->SetToolTipText("Draw the decimal part of labels");
AddFrame(fDecimal, new TGLayoutHints(kLHintsLeft | kLHintsBottom, 3, 1, 3, 0));
MapSubwindows();
Layout();
MapWindow();
TClass *cl = TAxis::Class();
TGedElement *ge = new TGedElement;
ge->fGedFrame = this;
ge->fCanvas = 0;
cl->GetEditorList()->Add(ge);
}
//______________________________________________________________________________
TAxisEditor::~TAxisEditor()
{
// Destructor of axis editor.
TGFrameElement *el;
TIter next(GetList());
while ((el = (TGFrameElement *)next())) {
if (!strcmp(el->fFrame->ClassName(), "TGCompositeFrame"))
((TGCompositeFrame *)el->fFrame)->Cleanup();
}
Cleanup();
}
//______________________________________________________________________________
void TAxisEditor::ConnectSignals2Slots()
{
// Connect signals to slots.
fAxisColor->Connect("ColorSelected(Pixel_t)", "TAxisEditor", this, "DoAxisColor(Pixel_t)");
fTickLength->Connect("ValueSet(Long_t)", "TAxisEditor", this, "DoTickLength()");
(fTickLength->GetNumberEntry())->Connect("ReturnPressed()", "TAxisEditor", this, "DoTickLength()");
fTicksBoth->Connect("Toggled(Bool_t)","TAxisEditor",this,"DoTicks()");
fOptimize->Connect("Toggled(Bool_t)","TAxisEditor",this,"DoDivisions()");
fLogAxis->Connect("Toggled(Bool_t)","TAxisEditor",this,"DoLogAxis()");
fMoreLog->Connect("Toggled(Bool_t)","TAxisEditor",this,"DoMoreLog()");
fDiv3->Connect("ValueSet(Long_t)", "TAxisEditor", this, "DoDivisions()");
(fDiv3->GetNumberEntry())->Connect("ReturnPressed()", "TAxisEditor", this, "DoDivisions()");
fDiv2->Connect("ValueSet(Long_t)", "TAxisEditor", this, "DoDivisions()");
(fDiv2->GetNumberEntry())->Connect("ReturnPressed()", "TAxisEditor", this, "DoDivisions()");
fDiv1->Connect("ValueSet(Long_t)", "TAxisEditor", this, "DoDivisions()");
(fDiv1->GetNumberEntry())->Connect("ReturnPressed()", "TAxisEditor", this, "DoDivisions()");
fTitle->Connect("TextChanged(const char *)", "TAxisEditor", this, "DoTitle(const char *)");;
fTitleColor->Connect("ColorSelected(Pixel_t)", "TAxisEditor", this, "DoTitleColor(Pixel_t)");
fTitleSize->Connect("ValueSet(Long_t)", "TAxisEditor", this, "DoTitleSize()");
(fTitleSize->GetNumberEntry())->Connect("ReturnPressed()", "TAxisEditor", this, "DoTitleSize()");
fTitleFont->Connect("Selected(Int_t)", "TAxisEditor", this, "DoTitleFont(Int_t)");
fCentered->Connect("Toggled(Bool_t)","TAxisEditor",this, "DoTitleCentered()");
fRotated->Connect("Toggled(Bool_t)","TAxisEditor",this,"DoTitleRotated()");
fTitleOffset->Connect("ValueSet(Long_t)","TAxisEditor",this,"DoTitleOffset()");
(fTitleOffset->GetNumberEntry())->Connect("ReturnPressed()","TAxisEditor",this,"DoTitleOffset()");
fLabelColor->Connect("ColorSelected(Pixel_t)", "TAxisEditor", this, "DoLabelColor(Pixel_t)");
fLabelSize->Connect("ValueSet(Long_t)","TAxisEditor",this,"DoLabelSize()");
(fLabelSize->GetNumberEntry())->Connect("ReturnPressed()","TAxisEditor",this,"DoLabelSize()");
fNoExponent->Connect("Toggled(Bool_t)","TAxisEditor",this,"DoNoExponent()");
fDecimal->Connect("Toggled(Bool_t)","TAxisEditor",this,"DoDecimal(Bool_t)");
fLabelOffset->Connect("ValueSet(Long_t)", "TAxisEditor", this, "DoLabelOffset()");
(fLabelOffset->GetNumberEntry())->Connect("ReturnPressed()", "TAxisEditor", this, "DoLabelOffset()");
fLabelFont->Connect("Selected(Int_t)", "TAxisEditor", this, "DoLabelFont(Int_t)");
fInit = kFALSE;
}
//______________________________________________________________________________
void TAxisEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t)
{
// Pick up the used values of axis attributes.
fModel = 0;
fPad = 0;
if (obj == 0 || !obj->InheritsFrom("TAxis")) {
SetActive(kFALSE);
return;
}
fModel = obj;
fPad = pad;
fAxis = (TAxis *)fModel;
Color_t c = fAxis->GetAxisColor();
Pixel_t p = TColor::Number2Pixel(c);
fAxisColor->SetColor(p);
Float_t fl = fAxis->GetTickLength();
fTickLength->SetNumber(fl);
Int_t div = fAxis->GetNdivisions();
fDiv1->SetNumber(div % 100);
fDiv2->SetNumber((div/100) % 100);
fDiv3->SetNumber((div/10000) % 100);
if ((!strcmp(fAxis->GetName(),"xaxis") && fPad->GetLogx()) ||
(!strcmp(fAxis->GetName(),"yaxis") && fPad->GetLogy()) ||
(!strcmp(fAxis->GetName(),"zaxis") && fPad->GetLogz()))
fLogAxis->SetState(kButtonDown);
else fLogAxis->SetState(kButtonUp);
if (fLogAxis->GetState() == kButtonUp) {
fMoreLog->SetState(kButtonDisabled);
} else {
Int_t morelog = fAxis->GetMoreLogLabels();
if (morelog) fMoreLog->SetState(kButtonDown);
else fMoreLog->SetState(kButtonUp);
}
const char *both = fAxis->GetTicks();
if (!strcmp(both,"+-")) {
fTicksBoth->SetState(kButtonDown);
} else {
fTicksBoth->SetState(kButtonUp);
if (!strcmp(both,"-")) fTicksFlag = -1;
if (!strcmp(both,"+")) fTicksFlag = 1;
}
const char *text = fAxis->GetTitle();
fTitle->SetText(text);
c = fAxis->GetTitleColor();
p = TColor::Number2Pixel(c);
fTitleColor->SetColor(p);
fl = fAxis->GetTitleSize();
fTitleSize->SetNumber(fl);
Style_t font = fAxis->GetTitleFont();
fTitleFont->Select(font / 10);
fTitlePrec = (Int_t)(font % 10);
fl = fAxis->GetTitleOffset();
fTitleOffset->SetNumber(fl);
Int_t centered = fAxis->GetCenterTitle();
if (centered) fCentered->SetState(kButtonDown);
else fCentered->SetState(kButtonUp);
Int_t rotated = fAxis->GetRotateTitle();
if (rotated) fRotated->SetState(kButtonDown);
else fRotated->SetState(kButtonUp);
c = fAxis->GetLabelColor();
p = TColor::Number2Pixel(c);
fLabelColor->SetColor(p);
fl = fAxis->GetLabelSize();
fLabelSize->SetNumber(fl);
font = fAxis->GetLabelFont();
fLabelFont->Select(font / 10);
fLabelPrec = (Int_t)(font % 10);
fl = fAxis->GetLabelOffset();
fLabelOffset->SetNumber(fl);
Int_t noexp = fAxis->GetNoExponent();
if (noexp) fNoExponent->SetState(kButtonDown);
else fNoExponent->SetState(kButtonUp);
Bool_t on = fAxis->GetDecimals();
if (on) fDecimal->SetState(kButtonDown);
else fDecimal->SetState(kButtonUp);
if (fInit) ConnectSignals2Slots();
SetActive();
}
//______________________________________________________________________________
void TAxisEditor::DoAxisColor(Pixel_t color)
{
// Slot connected to the axis color.
fAxis->SetAxisColor(TColor::GetColor(color));
Update();
}
//______________________________________________________________________________
void TAxisEditor::DoTickLength()
{
// Slot connected to the tick length settings.
Float_t ticks = fTickLength->GetNumber();
fAxis->SetTickLength(ticks);
Update();
if (fTickLength->GetNumber() < 0) fTicksFlag = -1;
else fTicksFlag = 1;
}
//______________________________________________________________________________
void TAxisEditor::DoTicks()
{
// Slot connected to the ticks draw settings.
if (fTicksBoth->GetState() == kButtonDown) {
fAxis->SetTicks("+-");
} else {
if (fTicksFlag == -1) fAxis->SetTicks("-");
else fAxis->SetTicks("");
}
Update();
}
//______________________________________________________________________________
void TAxisEditor::DoDivisions()
{
// Slot connected to the number of divisions.
// the number of divisions are used 3 number entry widgets
Int_t div = (Int_t)(fDiv1->GetNumber() + fDiv2->GetNumber() * 100
+ fDiv3->GetNumber() * 10000);
fAxis->SetNdivisions(div, fOptimize->GetState());
Update();
}
//______________________________________________________________________________
void TAxisEditor::DoLogAxis()
{
// Slot for Log scale setting.
gPad = fPad;
if (fLogAxis->GetState() == kButtonDown) {
if (!strcmp(fAxis->GetName(),"xaxis")) gPad->SetLogx(1);
if (!strcmp(fAxis->GetName(),"yaxis")) gPad->SetLogy(1);
if (!strcmp(fAxis->GetName(),"zaxis")) gPad->SetLogz(1);
Int_t morelog = fAxis->GetMoreLogLabels();
if (morelog) fMoreLog->SetState(kButtonDown);
else fMoreLog->SetState(kButtonUp);
fOptimize->SetState(kButtonDisabled);
} else if (fLogAxis->GetState() == kButtonUp){
if (!strcmp(fAxis->GetName(),"xaxis")) gPad->SetLogx(0);
if (!strcmp(fAxis->GetName(),"yaxis")) gPad->SetLogy(0);
if (!strcmp(fAxis->GetName(),"zaxis")) gPad->SetLogz(0);
fMoreLog->SetState(kButtonDisabled);
fOptimize->SetState(kButtonDown);
}
Update();
}
//______________________________________________________________________________
void TAxisEditor::DoMoreLog()
{
// Slot connected to more Log labels flag
Int_t flag = 0;
if (fMoreLog->GetState() == kButtonDown) flag = 1;
else if (fMoreLog->GetState() == kButtonUp) flag = 0;
fAxis->SetMoreLogLabels(flag);
Update();
}
//______________________________________________________________________________
void TAxisEditor::DoTitle(const char *text)
{
// Slot connected to the axis color.
fAxis->SetTitle(text);
Update();
}
//______________________________________________________________________________
void TAxisEditor::DoTitleColor(Pixel_t color)
{
// Slot connected to the title color.
fAxis->SetTitleColor(TColor::GetColor(color));
Update();
}
//______________________________________________________________________________
void TAxisEditor::DoTitleSize()
{
// Slot connected to the title font size.
Float_t size = fTitleSize->GetNumber();
fAxis->SetTitleSize(size);
Update();
}
//______________________________________________________________________________
void TAxisEditor::DoTitleFont(Int_t font)
{
// Slot connected to the title font.
Int_t f = font * 10 + fTitlePrec;
fAxis->SetTitleFont(f);
Update();
}
//______________________________________________________________________________
void TAxisEditor::DoTitleOffset()
{
// Slot connected to the title offset.
Float_t offset = fTitleOffset->GetNumber();
fAxis->SetTitleOffset(offset);
Update();
}
//______________________________________________________________________________
void TAxisEditor::DoTitleCentered()
{
// Slot connected to centered title option.
Int_t ctr = fCentered->GetState();
fAxis->CenterTitle(ctr);
Update();
}
//______________________________________________________________________________
void TAxisEditor::DoTitleRotated()
{
// Slot connected to the title rotation.
Int_t rot = fRotated->GetState();
fAxis->RotateTitle(rot);
Update();
}
//______________________________________________________________________________
void TAxisEditor::DoLabelColor(Pixel_t color)
{
// Slot connected to the label color.
fAxis->SetLabelColor(TColor::GetColor(color));
Update();
}
//______________________________________________________________________________
void TAxisEditor::DoLabelSize()
{
// Slot connected to the label size.
Float_t size = fLabelSize->GetNumber();
fAxis->SetLabelSize(size);
Update();
}
//______________________________________________________________________________
void TAxisEditor::DoLabelFont(Int_t font)
{
// Slot connected to the label font.
Int_t f = font * 10 + fLabelPrec;
fAxis->SetLabelFont(f);
Update();
}
//______________________________________________________________________________
void TAxisEditor::DoLabelOffset()
{
// Slot connected to the label offset.
Float_t offset = fLabelOffset->GetNumber();
fAxis->SetLabelOffset(offset);
Update();
}
//______________________________________________________________________________
void TAxisEditor::DoNoExponent()
{
// Slot connected to the labels' exponent flag.
Int_t exp = fNoExponent->GetState();
fAxis->SetNoExponent(exp);
Update();
}
//______________________________________________________________________________
void TAxisEditor::DoDecimal(Bool_t on)
{
// Slot connected to the decimal part setting.
fAxis->SetDecimals(on);
gStyle->SetStripDecimals(!on);
Update();
gPad->Modified();
gPad->Update();
}
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.