Logo ROOT  
Reference Guide
TAxisEditor.cxx
Go to the documentation of this file.
1// @(#)root/ged:$Id$
2// Author: Ilka Antcheva 11/05/04
3
4/*************************************************************************
5 * Copyright (C) 1995-2002, 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
13/** \class TAxisEditor
14 \ingroup ged
15
16Implements GUI for axis attributes.
17 axis color
18 ticks parameters: length, setting on both axis sides,
19 logarithmic or linear scale along the selected axis,
20 primary, secondary and tertiary axis divisions,
21 setting more logarithmic labels,
22 optimizing labels' position if available
23 axis title - a title can be added via the text entry field
24 and can be set to be centered or rotated via the corresponding
25 check buttons, the title color, offset, font can be set easily
26 axis labels - their color, size, offset can be set similarly,
27 in addition there is a check box for no exponent choice,
28 and another one for setting the same decimal part for all labels
29
30
31*/
32
33
34#include "TAxisEditor.h"
35#include "TAxis.h"
36#include "TGedEditor.h"
37#include "TGColorSelect.h"
38#include "TGComboBox.h"
39#include "TGNumberEntry.h"
40#include "TGTextEntry.h"
41#include "TGLabel.h"
42#include "TColor.h"
43#include "TVirtualPad.h"
44#include "TStyle.h"
45
47
73};
74
75
76////////////////////////////////////////////////////////////////////////////////
77/// Constructor of axis attribute GUI.
78
80 Int_t height, UInt_t options, Pixel_t back)
81 : TGedFrame(p, width, height, options | kVerticalFrame, back)
82{
83 fAxis = 0;
84
85 MakeTitle("Axis");
86
87 TGCompositeFrame *f2 = new TGCompositeFrame(this, 80, 20, kHorizontalFrame);
89 f2->AddFrame(fAxisColor, new TGLayoutHints(kLHintsLeft, 1, 1, 1, 1));
90 fAxisColor->Associate(this);
91 TGLabel *fTicksLabel = new TGLabel(f2, "Ticks:");
92 f2->AddFrame(fTicksLabel, new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 3, 0, 1, 1));
93 fTickLength = new TGNumberEntry(f2, 0.03, 5, kAXIS_TICKS,
97 fTickLength->GetNumberEntry()->SetToolTipText("Set ticks' length");
98 f2->AddFrame(fTickLength, new TGLayoutHints(kLHintsLeft, 1, 1, 1, 1));
99 AddFrame(f2, new TGLayoutHints(kLHintsTop, 1, 1, 0, 0));
100
101 TGCompositeFrame *f3 = new TGCompositeFrame(this, 80, 20, kHorizontalFrame);
102 TGCompositeFrame *f4a = new TGCompositeFrame(f3, 40, 20, kVerticalFrame);
103 f3->AddFrame(f4a, new TGLayoutHints(kLHintsTop, 0, 1, 0, 0));
104 fTicksBoth = new TGCheckButton(f4a, "+-", kAXIS_TICKSBOTH);
105 fTicksBoth->SetToolTipText("Draw ticks on both axis sides");
107 fLogAxis = new TGCheckButton(f4a, "Log", kAXIS_LOG);
108 fLogAxis->SetToolTipText("Draw logarithmic scale");
109 f4a->AddFrame(fLogAxis, new TGLayoutHints(kLHintsLeft | kLHintsBottom, 3, 1, 0, 0));
110
111 TGCompositeFrame *f4b = new TGCompositeFrame(f3, 40, 20, kVerticalFrame);
112 f3->AddFrame(f4b, new TGLayoutHints(kLHintsTop, 0, 1, 0, 0));
113 fOptimize = new TGCheckButton(f4b, "Optimize", kAXIS_OPTIM);
115 fOptimize->SetToolTipText("Optimize the number of axis divisions");
116 f4b->AddFrame(fOptimize, new TGLayoutHints(kLHintsTop, 17, 1, 1, 0));
117 fMoreLog = new TGCheckButton(f4b, "MoreLog", kAXIS_LBLLOG);
118 fMoreLog->SetToolTipText("Draw more logarithmic labels");
119 f4b->AddFrame(fMoreLog, new TGLayoutHints(kLHintsLeft, 17, 1, 0, 0));
120
121 AddFrame(f3, new TGLayoutHints(kLHintsTop, 1, 1, 0, 0));
122
123 TGCompositeFrame *f5 = new TGCompositeFrame(this, 80, 20, kHorizontalFrame);
127 fDiv3->GetNumberEntry()->SetToolTipText("Tertiary axis divisions");
128 f5->AddFrame(fDiv3, new TGLayoutHints(kLHintsLeft, 27, 0, 1, 1));
132 fDiv2->GetNumberEntry()->SetToolTipText("Secondary axis divisions");
133 f5->AddFrame(fDiv2, new TGLayoutHints(kLHintsLeft, 1, 0, 1, 1));
137 fDiv1->GetNumberEntry()->SetToolTipText("Primary axis divisions");
138 f5->AddFrame(fDiv1, new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 1, 1, 1, 1));
139 AddFrame(f5, new TGLayoutHints(kLHintsLeft, 1, 1, 4, 4));
140 fTicksFlag = 1;
141
142 MakeTitle("Title");
143
144 fTitlePrec = 2;
145 fTitle = new TGTextEntry(this, new TGTextBuffer(50), kTITLE);
147 fTitle->SetToolTipText("Enter the axis title string");
148 AddFrame(fTitle, new TGLayoutHints(kLHintsLeft, 3, 1, 2, 1));
149
150 TGCompositeFrame *f6 = new TGCompositeFrame(this, 80, 20, kHorizontalFrame);
151 fTitleColor = new TGColorSelect(f6, 0, kCOL_TIT);
152 f6->AddFrame(fTitleColor, new TGLayoutHints(kLHintsLeft, 1, 1, 1, 1));
153 fTitleColor->Associate(this);
154 TGLabel *fSizeLbl1 = new TGLabel(f6, "Size:");
155 f6->AddFrame(fSizeLbl1, new TGLayoutHints(kLHintsCenterY | kLHintsLeft, 6, 1, 1, 1));
156 fTitleSize = new TGNumberEntry(f6, 0.05, 5, kAXIS_TITSIZE,
160 fTitleSize->GetNumberEntry()->SetToolTipText("Set title size");
161 f6->AddFrame(fTitleSize, new TGLayoutHints(kLHintsLeft, 1, 1, 1, 1));
162 AddFrame(f6, new TGLayoutHints(kLHintsTop, 1, 1, 0, 0));
163
165 fTitleFont->Resize(137, 20);
166 AddFrame(fTitleFont, new TGLayoutHints(kLHintsLeft, 3, 1, 2, 1));
167
168 TGCompositeFrame *f7 = new TGCompositeFrame(this, 80, 20, kHorizontalFrame);
169 fCentered = new TGCheckButton(f7, "Centered", kAXIS_CENTERED);
170 fCentered->SetToolTipText("Center axis title");
171 f7->AddFrame(fCentered, new TGLayoutHints(kLHintsTop, 3, 1, 1, 0));
172 TGLabel *fOffsetLbl = new TGLabel(f7, "Offset:");
173 f7->AddFrame(fOffsetLbl, new TGLayoutHints(kLHintsLeft, 23, 1, 3, 0));
174 AddFrame(f7, new TGLayoutHints(kLHintsTop, 1, 1, 0, 0));
175
176 TGCompositeFrame *f8 = new TGCompositeFrame(this, 80, 20, kHorizontalFrame);
177 fRotated = new TGCheckButton(f8, "Rotated", kAXIS_ROTATED);
179 fRotated->SetToolTipText("Rotate axis title by 180 degrees");
180 f8->AddFrame(fRotated, new TGLayoutHints(kLHintsTop, 3, 1, 6, 0));
181 fTitleOffset = new TGNumberEntry(f8, 1.00, 6, kAXIS_TITOFFSET,
185 fTitleOffset->GetNumberEntry()->SetToolTipText("Set title offset");
186 f8->AddFrame(fTitleOffset, new TGLayoutHints(kLHintsLeft, 6, 1, 0, 0));
187 AddFrame(f8, new TGLayoutHints(kLHintsTop, 1, 1, 0, 4));
188
189 MakeTitle("Labels");
190
191 fLabelPrec = 2;
192 TGCompositeFrame *f9 = new TGCompositeFrame(this, 80, 20, kHorizontalFrame);
193 fLabelColor = new TGColorSelect(f9, 0, kCOL_LBL);
194 f9->AddFrame(fLabelColor, new TGLayoutHints(kLHintsLeft, 1, 1, 1, 1));
195 fLabelColor->Associate(this);
196 TGLabel *fSizeLbl2 = new TGLabel(f9, "Size:");
197 f9->AddFrame(fSizeLbl2, new TGLayoutHints(kLHintsCenterY | kLHintsLeft, 1, 0, 1, 1));
198 fLabelSize = new TGNumberEntry(f9, 0.05, 6, kAXIS_LBLSIZE,
202 fLabelSize->GetNumberEntry()->SetToolTipText("Set labels' size");
203 f9->AddFrame(fLabelSize, new TGLayoutHints(kLHintsLeft, 1, 1, 1, 1));
204 AddFrame(f9, new TGLayoutHints(kLHintsTop, 1, 1, 0, 0));
205
206 TGCompositeFrame *f10 = new TGCompositeFrame(this, 80, 20, kHorizontalFrame);
207 fNoExponent = new TGCheckButton(f10, "NoExp", kAXIS_LBLEXP);
208 fNoExponent->SetToolTipText("Labels drawn without exponent notation");
210 fLabelOffset = new TGNumberEntry(f10, 0.005, 6, kAXIS_LBLOFFSET,
214 fLabelOffset->GetNumberEntry()->SetToolTipText("Set labels' offset");
215 f10->AddFrame(fLabelOffset, new TGLayoutHints(kLHintsLeft, 11, 1, 3, 0));
216 AddFrame(f10, new TGLayoutHints(kLHintsTop, 1, 1, 0, 0));
217
219 fLabelFont->Resize(137, 20);
220 AddFrame(fLabelFont, new TGLayoutHints(kLHintsLeft, 3, 1, 2, 0));
221 fLabelFont->Associate(this);
222
223 fDecimal = new TGCheckButton(this, "Decimal labels' part", kAXIS_LBLDEC);
224 fDecimal->SetToolTipText("Draw the decimal part of labels");
226}
227
228////////////////////////////////////////////////////////////////////////////////
229/// Destructor of axis editor.
230
232{
233}
234
235////////////////////////////////////////////////////////////////////////////////
236/// Connect signals to slots.
237
239{
240 fAxisColor->Connect("ColorSelected(Pixel_t)", "TAxisEditor", this, "DoAxisColor(Pixel_t)");
241 fTickLength->Connect("ValueSet(Long_t)", "TAxisEditor", this, "DoTickLength()");
242 (fTickLength->GetNumberEntry())->Connect("ReturnPressed()", "TAxisEditor", this, "DoTickLength()");
243 fTicksBoth->Connect("Toggled(Bool_t)","TAxisEditor",this,"DoTicks()");
244 fOptimize->Connect("Toggled(Bool_t)","TAxisEditor",this,"DoDivisions()");
245 fLogAxis->Connect("Toggled(Bool_t)","TAxisEditor",this,"DoLogAxis()");
246 fMoreLog->Connect("Toggled(Bool_t)","TAxisEditor",this,"DoMoreLog()");
247 fDiv3->Connect("ValueSet(Long_t)", "TAxisEditor", this, "DoDivisions()");
248 (fDiv3->GetNumberEntry())->Connect("ReturnPressed()", "TAxisEditor", this, "DoDivisions()");
249 fDiv2->Connect("ValueSet(Long_t)", "TAxisEditor", this, "DoDivisions()");
250 (fDiv2->GetNumberEntry())->Connect("ReturnPressed()", "TAxisEditor", this, "DoDivisions()");
251 fDiv1->Connect("ValueSet(Long_t)", "TAxisEditor", this, "DoDivisions()");
252 (fDiv1->GetNumberEntry())->Connect("ReturnPressed()", "TAxisEditor", this, "DoDivisions()");
253 fTitle->Connect("TextChanged(const char *)", "TAxisEditor", this, "DoTitle(const char *)");;
254 fTitleColor->Connect("ColorSelected(Pixel_t)", "TAxisEditor", this, "DoTitleColor(Pixel_t)");
255 fTitleSize->Connect("ValueSet(Long_t)", "TAxisEditor", this, "DoTitleSize()");
256 (fTitleSize->GetNumberEntry())->Connect("ReturnPressed()", "TAxisEditor", this, "DoTitleSize()");
257 fTitleFont->Connect("Selected(Int_t)", "TAxisEditor", this, "DoTitleFont(Int_t)");
258 fCentered->Connect("Toggled(Bool_t)","TAxisEditor",this, "DoTitleCentered()");
259 fRotated->Connect("Toggled(Bool_t)","TAxisEditor",this,"DoTitleRotated()");
260 fTitleOffset->Connect("ValueSet(Long_t)","TAxisEditor",this,"DoTitleOffset()");
261 (fTitleOffset->GetNumberEntry())->Connect("ReturnPressed()","TAxisEditor",this,"DoTitleOffset()");
262 fLabelColor->Connect("ColorSelected(Pixel_t)", "TAxisEditor", this, "DoLabelColor(Pixel_t)");
263 fLabelSize->Connect("ValueSet(Long_t)","TAxisEditor",this,"DoLabelSize()");
264 (fLabelSize->GetNumberEntry())->Connect("ReturnPressed()","TAxisEditor",this,"DoLabelSize()");
265 fNoExponent->Connect("Toggled(Bool_t)","TAxisEditor",this,"DoNoExponent()");
266 fDecimal->Connect("Toggled(Bool_t)","TAxisEditor",this,"DoDecimal(Bool_t)");
267 fLabelOffset->Connect("ValueSet(Long_t)", "TAxisEditor", this, "DoLabelOffset()");
268 (fLabelOffset->GetNumberEntry())->Connect("ReturnPressed()", "TAxisEditor", this, "DoLabelOffset()");
269 fLabelFont->Connect("Selected(Int_t)", "TAxisEditor", this, "DoLabelFont(Int_t)");
270 fInit = kFALSE;
271}
272
273////////////////////////////////////////////////////////////////////////////////
274/// Pick up the used values of axis attributes.
275
277{
278 fAxis = (TAxis *)obj;
280
284
287
288 Int_t div = fAxis->GetNdivisions();
289 fDiv1->SetNumber(div % 100);
290 fDiv2->SetNumber((div/100) % 100);
291 fDiv3->SetNumber((div/10000) % 100);
292
293
294 if ((!strcmp(fAxis->GetName(),"xaxis") && fGedEditor->GetPad()->GetLogx()) ||
295 (!strcmp(fAxis->GetName(),"yaxis") && fGedEditor->GetPad()->GetLogy()) ||
296 (!strcmp(fAxis->GetName(),"zaxis") && fGedEditor->GetPad()->GetLogz()))
297
300
301 if (fLogAxis->GetState() == kButtonUp) {
303 } else {
304 Int_t morelog = fAxis->GetMoreLogLabels();
305 if (morelog) fMoreLog->SetState(kButtonDown);
307 }
308
309 const char *both = fAxis->GetTicks();
310 if (!strcmp(both,"+-")) {
312 } else {
314 if (!strcmp(both,"-")) fTicksFlag = -1;
315 if (!strcmp(both,"+")) fTicksFlag = 1;
316 }
317
318 const char *text = fAxis->GetTitle();
320
321 c = fAxis->GetTitleColor();
324
325 fl = fAxis->GetTitleSize();
327
328 Style_t font = fAxis->GetTitleFont();
329 fTitleFont->Select(font / 10);
330 fTitlePrec = (Int_t)(font % 10);
331
332 fl = fAxis->GetTitleOffset();
334
335 Int_t centered = fAxis->GetCenterTitle();
336 if (centered) fCentered->SetState(kButtonDown);
338
339 Int_t rotated = fAxis->GetRotateTitle();
340 if (rotated) fRotated->SetState(kButtonDown);
342
343 c = fAxis->GetLabelColor();
346
347 fl = fAxis->GetLabelSize();
349
350 font = fAxis->GetLabelFont();
351 fLabelFont->Select(font / 10);
352 fLabelPrec = (Int_t)(font % 10);
353
354 fl = fAxis->GetLabelOffset();
356
357 Int_t noexp = fAxis->GetNoExponent();
358 if (noexp) fNoExponent->SetState(kButtonDown);
360
364
367}
368
369////////////////////////////////////////////////////////////////////////////////
370/// Slot connected to the axis color.
371
373{
374 if (fAvoidSignal) return;
376 Update();
377}
378
379////////////////////////////////////////////////////////////////////////////////
380/// Slot connected to the tick length settings.
381
383{
384 if (fAvoidSignal) return;
385 Float_t ticks = fTickLength->GetNumber();
386 fAxis->SetTickLength(ticks);
387 Update();
388 if (fTickLength->GetNumber() < 0) fTicksFlag = -1;
389 else fTicksFlag = 1;
390}
391
392////////////////////////////////////////////////////////////////////////////////
393/// Slot connected to the ticks draw settings.
394
396{
397 if (fAvoidSignal) return;
398 if (fTicksBoth->GetState() == kButtonDown) {
399 fAxis->SetTicks("+-");
400 } else {
401 if (fTicksFlag == -1) fAxis->SetTicks("-");
402 else fAxis->SetTicks("");
403 }
404 Update();
405}
406
407////////////////////////////////////////////////////////////////////////////////
408/// Slot connected to the number of divisions.
409
411{
412 // the number of divisions are used 3 number entry widgets
413 if (fAvoidSignal) return;
414 Int_t div = (Int_t)(fDiv1->GetNumber() + fDiv2->GetNumber() * 100
415 + fDiv3->GetNumber() * 10000);
417 Update();
418}
419
420////////////////////////////////////////////////////////////////////////////////
421/// Slot for Log scale setting.
422
424{
425 if (fAvoidSignal) return;
426
428
429 if (fLogAxis->GetState() == kButtonDown) {
430
431 if (!strcmp(fAxis->GetName(),"xaxis")) gPad->SetLogx(1);
432 if (!strcmp(fAxis->GetName(),"yaxis")) gPad->SetLogy(1);
433 if (!strcmp(fAxis->GetName(),"zaxis")) gPad->SetLogz(1);
434
435 Int_t morelog = fAxis->GetMoreLogLabels();
436 if (morelog) fMoreLog->SetState(kButtonDown);
439
440 } else if (fLogAxis->GetState() == kButtonUp){
441 if (!strcmp(fAxis->GetName(),"xaxis")) gPad->SetLogx(0);
442 if (!strcmp(fAxis->GetName(),"yaxis")) gPad->SetLogy(0);
443 if (!strcmp(fAxis->GetName(),"zaxis")) gPad->SetLogz(0);
446 }
447 Update();
448}
449
450////////////////////////////////////////////////////////////////////////////////
451/// Slot connected to more Log labels flag
452
454{
455 if (fAvoidSignal) return;
456 Int_t flag = 0;
457 if (fMoreLog->GetState() == kButtonDown) flag = 1;
458 else if (fMoreLog->GetState() == kButtonUp) flag = 0;
459 fAxis->SetMoreLogLabels(flag);
460 Update();
461}
462
463////////////////////////////////////////////////////////////////////////////////
464/// Slot connected to the axis color.
465
466void TAxisEditor::DoTitle(const char *text)
467{
468 if (fAvoidSignal) return;
470 Update();
471}
472
473////////////////////////////////////////////////////////////////////////////////
474/// Slot connected to the title color.
475
477{
478 if (fAvoidSignal) return;
480 Update();
481}
482
483////////////////////////////////////////////////////////////////////////////////
484/// Slot connected to the title font size.
485
487{
488 if (fAvoidSignal) return;
491 Update();
492}
493
494////////////////////////////////////////////////////////////////////////////////
495/// Slot connected to the title font.
496
498{
499 if (fAvoidSignal) return;
500 Int_t f = font * 10 + fTitlePrec;
502 Update();
503}
504
505////////////////////////////////////////////////////////////////////////////////
506/// Slot connected to the title offset.
507
509{
510 if (fAvoidSignal) return;
513 Update();
514}
515
516////////////////////////////////////////////////////////////////////////////////
517/// Slot connected to centered title option.
518
520{
521 if (fAvoidSignal) return;
522 Int_t ctr = fCentered->GetState();
523 fAxis->CenterTitle(ctr);
524 Update();
525}
526
527////////////////////////////////////////////////////////////////////////////////
528/// Slot connected to the title rotation.
529
531{
532 if (fAvoidSignal) return;
533 Int_t rot = fRotated->GetState();
534 fAxis->RotateTitle(rot);
535 Update();
536}
537
538////////////////////////////////////////////////////////////////////////////////
539/// Slot connected to the label color.
540
542{
543 if (fAvoidSignal) return;
545 Update();
546}
547
548////////////////////////////////////////////////////////////////////////////////
549/// Slot connected to the label size.
550
552{
553 if (fAvoidSignal) return;
556 Update();
557}
558
559////////////////////////////////////////////////////////////////////////////////
560/// Slot connected to the label font.
561
563{
564 if (fAvoidSignal) return;
565 Int_t f = font * 10 + fLabelPrec;
567 Update();
568}
569
570////////////////////////////////////////////////////////////////////////////////
571/// Slot connected to the label offset.
572
574{
575 if (fAvoidSignal) return;
578 Update();
579}
580
581////////////////////////////////////////////////////////////////////////////////
582/// Slot connected to the labels' exponent flag.
583
585{
586 if (fAvoidSignal) return;
589 Update();
590}
591
592////////////////////////////////////////////////////////////////////////////////
593/// Slot connected to the decimal part setting.
594
596{
597 if (fAvoidSignal) return;
600 Update();
601 gPad->Modified();
602 gPad->Update();
603}
604
@ kVerticalFrame
Definition: GuiTypes.h:381
@ kHorizontalFrame
Definition: GuiTypes.h:382
ULong_t Pixel_t
Pixel value.
Definition: GuiTypes.h:40
#define f(i)
Definition: RSha256.hxx:104
#define c(i)
Definition: RSha256.hxx:101
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
short Style_t
Definition: RtypesCore.h:89
int Int_t
Definition: RtypesCore.h:45
short Color_t
Definition: RtypesCore.h:92
const Bool_t kFALSE
Definition: RtypesCore.h:101
float Float_t
Definition: RtypesCore.h:57
const Bool_t kTRUE
Definition: RtypesCore.h:100
#define ClassImp(name)
Definition: Rtypes.h:375
EAxisWid
Definition: TAxisEditor.cxx:48
@ kAXIS_LBLDIR
Definition: TAxisEditor.cxx:70
@ kAXIS_LBLOFFSET
Definition: TAxisEditor.cxx:66
@ kAXIS_LOG
Definition: TAxisEditor.cxx:60
@ kTITLE
Definition: TAxisEditor.cxx:54
@ kFONT_TIT
Definition: TAxisEditor.cxx:52
@ kAXIS_LBLLOG
Definition: TAxisEditor.cxx:68
@ kAXIS_DIV2
Definition: TAxisEditor.cxx:57
@ kFONT_LBL
Definition: TAxisEditor.cxx:53
@ kAXIS_CENTERED
Definition: TAxisEditor.cxx:63
@ kAXIS_TICKS
Definition: TAxisEditor.cxx:55
@ kAXIS_LBLEXP
Definition: TAxisEditor.cxx:69
@ kAXIS_TITOFFSET
Definition: TAxisEditor.cxx:62
@ kAXIS_LBLSIZE
Definition: TAxisEditor.cxx:65
@ kAXIS_LBLDEC
Definition: TAxisEditor.cxx:72
@ kAXIS_TICKSBOTH
Definition: TAxisEditor.cxx:67
@ kCOL_AXIS
Definition: TAxisEditor.cxx:49
@ kCOL_TIT
Definition: TAxisEditor.cxx:50
@ kCOL_LBL
Definition: TAxisEditor.cxx:51
@ kAXIS_LBLSORT
Definition: TAxisEditor.cxx:71
@ kAXIS_DIV1
Definition: TAxisEditor.cxx:56
@ kAXIS_OPTIM
Definition: TAxisEditor.cxx:59
@ kAXIS_DIV3
Definition: TAxisEditor.cxx:58
@ kAXIS_ROTATED
Definition: TAxisEditor.cxx:64
@ kAXIS_TITSIZE
Definition: TAxisEditor.cxx:61
@ kButtonDown
Definition: TGButton.h:54
@ kButtonDisabled
Definition: TGButton.h:56
@ kButtonUp
Definition: TGButton.h:53
@ kLHintsLeft
Definition: TGLayout.h:24
@ kLHintsCenterY
Definition: TGLayout.h:28
@ kLHintsBottom
Definition: TGLayout.h:29
@ kLHintsTop
Definition: TGLayout.h:27
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void on
Option_t Option_t width
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t height
Option_t Option_t TPoint TPoint const char text
R__EXTERN TStyle * gStyle
Definition: TStyle.h:430
#define gPad
Definition: TVirtualPad.h:302
virtual Color_t GetTitleColor() const
Definition: TAttAxis.h:46
virtual Color_t GetLabelColor() const
Definition: TAttAxis.h:38
virtual Int_t GetNdivisions() const
Definition: TAttAxis.h:36
virtual Color_t GetAxisColor() const
Definition: TAttAxis.h:37
virtual void SetTitleOffset(Float_t offset=1)
Set distance between the axis and the axis title.
Definition: TAttAxis.cxx:298
virtual Style_t GetTitleFont() const
Definition: TAttAxis.h:47
virtual Float_t GetLabelOffset() const
Definition: TAttAxis.h:40
virtual void SetAxisColor(Color_t color=1, Float_t alpha=1.)
Set color of the line axis and tick marks.
Definition: TAttAxis.cxx:160
virtual void SetLabelSize(Float_t size=0.04)
Set size of axis labels.
Definition: TAttAxis.cxx:203
virtual Style_t GetLabelFont() const
Definition: TAttAxis.h:39
virtual void SetTitleFont(Style_t font=62)
Set the title font.
Definition: TAttAxis.cxx:327
virtual void SetLabelOffset(Float_t offset=0.005)
Set distance between the axis and the labels.
Definition: TAttAxis.cxx:191
virtual void SetLabelFont(Style_t font=62)
Set labels' font.
Definition: TAttAxis.cxx:180
virtual void SetTitleSize(Float_t size=0.04)
Set size of axis title.
Definition: TAttAxis.cxx:309
virtual void SetTitleColor(Color_t color=1)
Set color of axis title.
Definition: TAttAxis.cxx:318
virtual Float_t GetTitleSize() const
Definition: TAttAxis.h:44
virtual Float_t GetLabelSize() const
Definition: TAttAxis.h:41
virtual Float_t GetTickLength() const
Definition: TAttAxis.h:45
virtual Float_t GetTitleOffset() const
Definition: TAttAxis.h:43
virtual void SetTickLength(Float_t length=0.03)
Set tick mark length.
Definition: TAttAxis.cxx:284
virtual void SetNdivisions(Int_t n=510, Bool_t optim=kTRUE)
Set the number of divisions for this axis.
Definition: TAttAxis.cxx:233
virtual void SetLabelColor(Color_t color=1, Float_t alpha=1.)
Set color of labels.
Definition: TAttAxis.cxx:170
Implements GUI for axis attributes.
Definition: TAxisEditor.h:28
TGCheckButton * fRotated
check button for rotated title
Definition: TAxisEditor.h:49
virtual void DoLabelColor(Pixel_t color)
Slot connected to the label color.
virtual void DoTitleColor(Pixel_t color)
Slot connected to the title color.
TGColorSelect * fTitleColor
color selection widget
Definition: TAxisEditor.h:43
virtual void DoAxisColor(Pixel_t color)
Slot connected to the axis color.
virtual void DoTitleCentered()
Slot connected to centered title option.
TGCheckButton * fMoreLog
more logarithmic labels check box
Definition: TAxisEditor.h:40
TGNumberEntry * fDiv2
secondary axis division number entry
Definition: TAxisEditor.h:36
TGColorSelect * fAxisColor
color selection widget
Definition: TAxisEditor.h:32
Int_t fLabelPrec
font precision level
Definition: TAxisEditor.h:52
Int_t fTicksFlag
positive/negative ticks' flag
Definition: TAxisEditor.h:41
virtual void DoTitleOffset()
Slot connected to the title offset.
virtual void ConnectSignals2Slots()
Connect signals to slots.
virtual void DoTicks()
Slot connected to the ticks draw settings.
virtual void DoTitleFont(Int_t font)
Slot connected to the title font.
TGTextEntry * fTitle
axis title input field
Definition: TAxisEditor.h:42
TGCheckButton * fNoExponent
check box for No exponent choice
Definition: TAxisEditor.h:55
TGFontTypeComboBox * fTitleFont
title font combo box
Definition: TAxisEditor.h:44
TAxisEditor(const TGWindow *p=nullptr, Int_t width=140, Int_t height=30, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
Constructor of axis attribute GUI.
Definition: TAxisEditor.cxx:79
TGCheckButton * fLogAxis
logarithmic check box
Definition: TAxisEditor.h:33
virtual ~TAxisEditor()
Destructor of axis editor.
Int_t fTitlePrec
font precision level
Definition: TAxisEditor.h:45
virtual void DoTitle(const char *text)
Slot connected to the axis color.
virtual void DoDecimal(Bool_t on)
Slot connected to the decimal part setting.
TGNumberEntry * fTickLength
tick length number entry
Definition: TAxisEditor.h:34
virtual void DoTitleSize()
Slot connected to the title font size.
TGNumberEntry * fTitleOffset
title offset number entry
Definition: TAxisEditor.h:47
virtual void DoLabelOffset()
Slot connected to the label offset.
TGNumberEntry * fDiv1
primary axis division number entry
Definition: TAxisEditor.h:35
TGNumberEntry * fTitleSize
title size number entry
Definition: TAxisEditor.h:46
TGColorSelect * fLabelColor
color selection widget
Definition: TAxisEditor.h:50
virtual void DoTickLength()
Slot connected to the tick length settings.
TGCheckButton * fTicksBoth
check box setting ticks on both axis sides
Definition: TAxisEditor.h:39
virtual void DoTitleRotated()
Slot connected to the title rotation.
TGNumberEntry * fLabelOffset
label offset number entry
Definition: TAxisEditor.h:54
TGCheckButton * fOptimize
tick optimization check box
Definition: TAxisEditor.h:38
virtual void DoLogAxis()
Slot for Log scale setting.
TGCheckButton * fCentered
check button for centered title
Definition: TAxisEditor.h:48
virtual void DoNoExponent()
Slot connected to the labels' exponent flag.
TGCheckButton * fDecimal
decimal part check box
Definition: TAxisEditor.h:56
virtual void DoDivisions()
Slot connected to the number of divisions.
virtual void DoLabelFont(Int_t font)
Slot connected to the label font.
TGNumberEntry * fDiv3
tertiary axis division number entry
Definition: TAxisEditor.h:37
virtual void DoMoreLog()
Slot connected to more Log labels flag.
TGNumberEntry * fLabelSize
label size number entry
Definition: TAxisEditor.h:53
virtual void DoLabelSize()
Slot connected to the label size.
virtual void SetModel(TObject *obj)
Pick up the used values of axis attributes.
TAxis * fAxis
axis object
Definition: TAxisEditor.h:31
TGFontTypeComboBox * fLabelFont
label font combo box
Definition: TAxisEditor.h:51
Class to manage histogram axis.
Definition: TAxis.h:30
void SetDecimals(Bool_t dot=kTRUE)
Sets the decimals flag By default, blank characters are stripped, and then the label is correctly ali...
Definition: TAxis.h:204
Bool_t GetRotateTitle() const
Definition: TAxis.h:125
const char * GetTitle() const override
Returns title of object.
Definition: TAxis.h:130
Bool_t GetCenterTitle() const
Definition: TAxis.h:115
void SetMoreLogLabels(Bool_t more=kTRUE)
Set the kMoreLogLabels bit flag When this option is selected more labels are drawn when in log scale ...
Definition: TAxis.h:214
Bool_t GetMoreLogLabels() const
Definition: TAxis.h:120
virtual void SetTicks(Option_t *option="+")
Set ticks orientation.
Definition: TAxis.cxx:1004
Bool_t GetNoExponent() const
Definition: TAxis.h:123
void RotateTitle(Bool_t rotate=kTRUE)
Rotate title by 180 degrees.
Definition: TAxis.h:194
void CenterTitle(Bool_t center=kTRUE)
Center axis title.
Definition: TAxis.h:185
void SetNoExponent(Bool_t noExponent=kTRUE)
Set the NoExponent flag By default, an exponent of the form 10^N is used when the label value are eit...
Definition: TAxis.h:224
Bool_t GetDecimals() const
Definition: TAxis.h:116
virtual const char * GetTicks() const
Return the ticks option (see SetTicks)
Definition: TAxis.cxx:614
static ULong_t Number2Pixel(Int_t ci)
Static method that given a color index number, returns the corresponding pixel value.
Definition: TColor.cxx:2082
static Int_t GetColor(const char *hexcolor)
Static method returning color number for color specified by hex color string of form: "#rrggbb",...
Definition: TColor.cxx:1823
virtual void SetToolTipText(const char *text, Long_t delayms=400)
Set tool tip text associated with this button.
Definition: TGButton.cxx:445
virtual EButtonState GetState() const
Definition: TGButton.h:112
Selects different options.
Definition: TGButton.h:264
void SetState(EButtonState state, Bool_t emit=kFALSE) override
Set check button state.
Definition: TGButton.cxx:1250
Like a checkbutton but instead of the check mark there is color area with a little down arrow.
void SetColor(Pixel_t color, Bool_t emit=kTRUE)
Set color.
virtual void Select(Int_t id, Bool_t emit=kTRUE)
Make the selected item visible in the combo box window and emit signals according to the second param...
Definition: TGComboBox.cxx:456
The base class for composite widgets (menu bars, list boxes, etc.).
Definition: TGFrame.h:287
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr)
Add frame to the composite frame using the specified layout hints.
Definition: TGFrame.cxx:1117
TGCompositeFrame(const TGCompositeFrame &)=delete
The TGFontTypeComboBox is user callable and it creates a combobox for selecting the font.
Definition: TGComboBox.h:178
void Resize(UInt_t w=0, UInt_t h=0) override
Resize the frame.
Definition: TGFrame.cxx:605
virtual UInt_t GetDefaultHeight() const
Definition: TGFrame.h:191
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.
TGNumberEntryField * GetNumberEntry() const
Get the number entry field.
virtual Double_t GetNumber() const
virtual void SetNumber(Double_t val, Bool_t emit=kTRUE)
@ kNEANonNegative
Non-negative number.
Definition: TGNumberEntry.h:42
@ kNEAAnyNumber
Attributes of number entry field.
Definition: TGNumberEntry.h:41
@ kNESRealThree
Fixed fraction real, three digit.
Definition: TGNumberEntry.h:28
@ kNESInteger
Style of number entry field.
Definition: TGNumberEntry.h:25
@ kNESRealTwo
Fixed fraction real, two digit.
Definition: TGNumberEntry.h:27
@ kNELLimitMinMax
Both lower and upper limits.
Definition: TGNumberEntry.h:50
A text buffer is used in several widgets, like TGTextEntry, TGFileDialog, etc.
Definition: TGTextBuffer.h:17
A TGTextEntry is a one line text input widget.
Definition: TGTextEntry.h:24
virtual void SetToolTipText(const char *text, Long_t delayms=500)
Set tool tip text associated with this text entry.
virtual void SetText(const char *text, Bool_t emit=kTRUE)
Sets text entry to text, clears the selection and moves the cursor to the end of the line.
virtual void Associate(const TGWindow *w)
Definition: TGWidget.h:72
ROOT GUI Window base class.
Definition: TGWindow.h:23
virtual TVirtualPad * GetPad() const
Definition: TGedEditor.h:78
Base frame for implementing GUI - a service class.
Definition: TGedFrame.h:27
TGedEditor * fGedEditor
manager of this frame
Definition: TGedFrame.h:48
Bool_t fInit
init flag for setting signals/slots
Definition: TGedFrame.h:47
virtual void MakeTitle(const char *title)
Create attribute frame title.
Definition: TGedFrame.cxx:95
virtual void Update()
Update the current pad when an attribute is changed via GUI.
Definition: TGedFrame.cxx:72
Bool_t fAvoidSignal
flag for executing slots
Definition: TGedFrame.h:50
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
Definition: TNamed.cxx:164
const char * GetName() const override
Returns name of object.
Definition: TNamed.h:47
Mother of all ROOT objects.
Definition: TObject.h:41
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.
Definition: TQObject.cxx:869
void SetStripDecimals(Bool_t strip=kTRUE)
Set option to strip decimals when drawing axis labels.
Definition: TStyle.cxx:1905
virtual Int_t GetLogz() const =0
virtual Int_t GetLogy() const =0
virtual Int_t GetLogx() const =0
RVec< PromoteType< T > > exp(const RVec< T > &v)
Definition: RVec.hxx:1785