Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TStyleManager.cxx
Go to the documentation of this file.
1// @(#)root/ged:$Id$
2// Author: Denis Favre-Miville 08/09/05
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
13/** \class TStyleManager
14 \ingroup ged
15
16 This class provides a Graphical User Interface to manage styles
17 in ROOT. It allows the user to edit styles, import / export
18 them to macros, apply a style on the selected object or on
19 all canvases, change gStyle.
20
21 Activate the style manager by selecting Edit menu / Style...
22 in the canvas window.
23
24 The Style Manager interface is composed of two parts:
25 - the top level interface that manages a list of styles;
26 - the style editor, which deals with the current style settings.
27
28
29The combo box 'Available Styles' contains the list of available
30styles for the current ROOT session and shows the currently
31selected one. The field on the right shows the setting of the gStyle.
32You can set the global variable gStyle to the selected style by
33clicking on the button in the middle.
34The group frame 'Apply on' displays information for the currently
35selected canvas and object in the ROOT session. This selection might
36be changed by clicking on another object with the middle mouse
37button. You have a choice to apply a style on the selected object or
38on all available canvases.
39WARNING: You cannot undo the changes after applying the style! If
40you are not sure of that action, it may be better to see a preview
41of what you are going to apply.
42If the check button 'Preview' is selected, a preview of the selected
43canvas according to the selected style will be shown. The selection
44of the next check button 'Run Time Preview' will apply updates of
45the preview any time a value of the selected style is changed. For
46drawings that take a time it is better to disable this option.
47
48Create a new style:
49A new style can be created via the Style menu/New... or the toolbar.
50A clone of the selected style will be used as a base of the new
51style. All its values can be modified via the style editor later.
52The dialog that appears will ask for the name and description of the
53new style.
54
55Import a style (from a macro):
56A style macro can be imported at any time. The new imported style in
57the ROOT session will become the selected one.
58
59Import a style (from a canvas):
60You can do that selecting the Style menu/Import from.../Canvas or
61the corresponding Tool bar button. A new style will be created in the
62ROOT session and will become the selected one. This style is a clone
63of the gStyle with modified values as they are set in the currently
64selected canvas. You can import a style from any canvas and apply it
65later on some objects.
66
67Export a style (in a C++ macro file):
68To store a style longer than for the current ROOT session you can
69save it in a C++ macro file. This can be done via the menu or the
70tool bar button. There is a naming convention for the style macros:
71the name must be 'Style_*.C', where * can be replaced by anything
72you want.
73
74Delete a style:
75The selected style can be deleted from the list when you use the
76Style menu/Delete or the corresponding tool bar button. The selected
77style is removed from the list of all available styles for the
78current ROOT session. WARRNING: it will be lost if you didn't saved
79it in a C++ macro file before its deletion. Also, you cannot delete
80the selected style if it is set to gStyle. A message 'Can not delete
81gStyle' will be displayed on the CINT prompt.
82
83Editor's buttons:
84Open / close the style editor:
85The button 'Edit >>' opens the style editor and its label changes to
86'Close <<'. For all details of what can be changed and how please see
87the provided Help.
88
89Reset a style (to a previously saved state):
90When the editor is opened, the 'Reset' button allows you to reset
91the values of the selected style for editing. Doing that you cancel
92all changes made since the last time you saved that style in a macro.
93If the selected style is one of the five ROOT styles (Plain, Bold,
94Video, Pub or Default), it will be recreated.
95
96Update the preview:
97The button 'Update Preview' is available when a preview is shown and
98the run time option is not selected. This button allows you to
99refresh the preview any time you want to see how the style you edit
100looks like.
101
102Help button:
103Provides a help of the currently selected tab.
104
105*/
106
107
108#include "TStyleManager.h"
109#include "TStyleDialog.h"
110#include "TStylePreview.h"
111#include "HelpSMText.h"
112
113#include <TCanvas.h>
114#include <TColor.h>
115#include <TG3DLine.h>
116#include <TGButton.h>
117#include <TGButtonGroup.h>
118#include <TGColorSelect.h>
119#include <TGComboBox.h>
120#include <TGedMarkerSelect.h>
121#include <TGedPatternSelect.h>
122#include <TGFileDialog.h>
123#include <TGLabel.h>
124#include <TGLayout.h>
125#include <TGMenu.h>
126#include <TGNumberEntry.h>
127#include <TGResourcePool.h>
128#include <TGStatusBar.h>
129#include <TGTab.h>
130#include <TGToolBar.h>
131#include <TROOT.h>
132#include <snprintf.h>
133#include <TRootHelpDialog.h>
134#include <TStyle.h>
135#include <TSystem.h>
136#include <TVirtualPad.h>
137#include <TVirtualX.h>
138
140
141
160
167
179
183
202
222
239
251
262
269
274
292
310
328
343
371
382
383const char *kFiletypes[] = { "ROOT macros", "Style_*.C",
384 0, 0 };
385
386////////////////////////////////////////////////////////////////////////////////
387/// Constructor. Create the main window of the style manager.
388
390{
391 SetWindowName("Style Manager");
393
394 // Initialization: no selected style, no preview, no signal/slots,
395 // no selected object, no current macro file.
396 fCurSelStyle = 0;
397 fCurMacro = 0;
398 fCurPad = 0;
399 fCurObj = 0;
400 fPreviewWindow = 0;
402 fCurTabNum = 0;
403 fCurTabAxisNum = 0;
407
408 // Create the trash lists to have an effective deletion of every object.
409 fTrashListLayout = new TList();
410 fTrashListFrame = new TList();
411
412 // To avoid to create a lot a copies of the often used layouts.
423
424 // Build the graphical interface.
425 AddMenus(this);
426 AddToolbar(this);
428 AddEdition(this);
429
430 // Add status bar.
431 fStatusBar = new TGStatusBar(this, 50, 10, kVerticalFrame);
432 Int_t parts[] = { 20, 30, 50 };
436
437 // Initialize the layout algorithm and map the main frame.
440 MapWindow();
441
442 // Ensure the editor will be visible (not out of the screen's range) when
443 // the user will press the 'More' button, if they didn't move the window.
444 Int_t x, y;
445 UInt_t w, h;
446 gVirtualX->GetWindowSize(GetId(), x, y, w, h);
447 fSMWidth = w;
448 fSMHeight = h;
449 if (fSMWidth < 467) fSMWidth = 467;
450 if (fSMHeight < 708) fSMHeight = 708;
452 gVirtualX->TranslateCoordinates(GetId(), GetParent()->GetId(), 0, 0, x, y, win);
453 x -= 6;
454 y -= 21;
455 MoveResize(x, std::max(std::min(y, (Int_t) (gClient->GetDisplayHeight() - h)), 0), w, h);
456
457 // Only the top level interface is shown, at the begining.
458 DoMoreLess();
459
460 // Connect all widgets (excluding editor).
461 ConnectAll();
462
463 Init();
464}
465
466////////////////////////////////////////////////////////////////////////////////
467/// Destructor.
468
470{
471 // Disconnect all widgets
474
475 if (fPreviewWindow) {
477 delete fPreviewWindow;
478 }
479
480 // Delete every graphical data member,
481 // excluding fPreviewWindow and fLayout[..].
482 gClient->FreePicture(fToolBarNewPic);
483 gClient->FreePicture(fToolBarDeletePic);
484 gClient->FreePicture(fToolBarImportCanvasPic);
485 gClient->FreePicture(fToolBarImportMacroPic);
486 gClient->FreePicture(fToolBarExportPic);
487 gClient->FreePicture(fToolBarHelpPic);
488 gClient->FreePicture(fMakeDefaultPic);
489
490 delete fImportCascade;
491 delete fMenuStyle;
492 delete fMenuHelp;
493 delete fMenuBar;
494
495 delete fToolBar;
496 delete fToolBarNew;
497 delete fToolBarDelete;
499 delete fToolBarImportMacro;
500 delete fToolBarExport;
501 delete fToolBarHelp;
502 delete fHorizontal3DLine;
503
504 delete fListLabel;
505 delete fListComboBox;
506 delete fCurMacro;
507 delete fCurStylabel;
508 delete fCurStyle;
509 delete fCurPadLabel;
510 delete fCurPadTextEntry;
511 delete fCurObjLabel;
512 delete fCurObjTextEntry;
513 delete fPreviewButton;
514 delete fPreviewRealTime;
515 delete fMakeDefault;
516
517 delete fApplyOnGroup;
518 delete fApplyOnAll;
519 delete fApplyOnSel;
520 delete fApplyOnButton;
521 delete fMoreLess;
522
523 delete fFillColor;
524 delete fFillStyle;
525 delete fHatchesLineWidth;
526 delete fHatchesSpacing;
527 delete fTextColor;
528 delete fTextSize;
529 delete fTextSizeInPixels;
530 delete fTextFont;
531 delete fTextAlign;
532 delete fTextAngle;
533 delete fLineColor;
534 delete fLineWidth;
535 delete fLineStyle;
536 delete fLineStyleEdit;
537 delete fMarkerColor;
538 delete fMarkerStyle;
539 delete fMarkerSize;
540 delete fScreenFactor;
541 delete fCanvasColor;
542 delete fCanvasDefX;
543 delete fCanvasDefY;
544 delete fCanvasDefW;
545 delete fCanvasDefH;
546 delete fCanvasBorderMode;
547 delete fCanvasBorderSize;
548 delete fOptDateBool;
549 delete fAttDateTextColor;
550 delete fAttDateTextSize;
552 delete fOptDateFormat;
553 delete fAttDateTextFont;
554 delete fAttDateTextAngle;
555 delete fAttDateTextAlign;
556 delete fDateX;
557 delete fDateY;
558 delete fPadLeftMargin;
559 delete fPadRightMargin;
560 delete fPadTopMargin;
561 delete fPadBottomMargin;
562 delete fPadBorderMode;
563 delete fPadBorderSize;
564 delete fPadColor;
565 delete fPadTickX;
566 delete fPadTickY;
567 delete fPadGridX;
568 delete fPadGridY;
569 delete fGridColor;
570 delete fGridWidth;
571 delete fGridStyle;
572 delete fHistFillColor;
573 delete fHistFillStyle;
574 delete fHistLineColor;
575 delete fHistLineWidth;
576 delete fHistLineStyle;
577 delete fBarWidth;
578 delete fBarOffset;
579 delete fHistMinimumZero;
580 delete fPaintTextFormat;
581 delete fNumberContours;
582 delete fLegoInnerR;
583 delete fFrameFillColor;
584 delete fFrameFillStyle;
585 delete fFrameLineColor;
586 delete fFrameLineWidth;
587 delete fFrameLineStyle;
588 delete fPaletteEdit;
589 delete fFrameBorderMode;
590 delete fFrameBorderSize;
591 delete fFuncColor;
592 delete fFuncWidth;
593 delete fFuncStyle;
594 delete fDrawBorder;
595 delete fEndErrorSize;
596 delete fErrorX;
597 delete fTimeOffsetDate;
598 delete fTimeOffsetTime;
599 delete fStripDecimals;
600 delete fApplyOnXYZ;
601 delete fXTitleSize;
602 delete fXTitleSizeInPixels;
603 delete fXTitleColor;
604 delete fXTitleOffset;
605 delete fXTitleFont;
606 delete fXLabelSize;
607 delete fXLabelSizeInPixels;
608 delete fXLabelColor;
609 delete fXLabelOffset;
610 delete fXLabelFont;
611 delete fXAxisColor;
612 delete fXTickLength;
613 delete fOptLogx;
614 delete fXNdivMain;
615 delete fXNdivSub;
616 delete fXNdivSubSub;
618 delete fYTitleSize;
619 delete fYTitleSizeInPixels;
620 delete fYTitleColor;
621 delete fYTitleOffset;
622 delete fYTitleFont;
623 delete fYLabelSize;
624 delete fYLabelSizeInPixels;
625 delete fYLabelColor;
626 delete fYLabelOffset;
627 delete fYLabelFont;
628 delete fYAxisColor;
629 delete fYTickLength;
630 delete fOptLogy;
631 delete fYNdivMain;
632 delete fYNdivSub;
633 delete fYNdivSubSub;
635 delete fZTitleSize;
636 delete fZTitleSizeInPixels;
637 delete fZTitleColor;
638 delete fZTitleOffset;
639 delete fZTitleFont;
640 delete fZLabelSize;
641 delete fZLabelSizeInPixels;
642 delete fZLabelColor;
643 delete fZLabelOffset;
644 delete fZLabelFont;
645 delete fZAxisColor;
646 delete fZTickLength;
647 delete fOptLogz;
648 delete fZNdivMain;
649 delete fZNdivSub;
650 delete fZNdivSubSub;
652 delete fOptTitle;
653 delete fTitleColor;
654 delete fTitleStyle;
655 delete fTitleTextColor;
656 delete fTitleFontSize;
658 delete fTitleFont;
659 delete fTitleAlign;
661 delete fTitleBorderSize;
662 delete fTitleX;
663 delete fTitleY;
664 delete fTitleW;
665 delete fTitleH;
667 delete fLegendBorderSize;
668 delete fStatColor;
669 delete fStatStyle;
670 delete fStatTextColor;
671 delete fStatFontSize;
673 delete fStatFont;
674 delete fStatX;
675 delete fStatY;
676 delete fStatW;
677 delete fStatH;
679 delete fStatBorderSize;
680 delete fOptStatName;
681 delete fOptStatEntries;
682 delete fOptStatOverflow;
683 delete fOptStatMean;
684 delete fOptStatUnderflow;
685 delete fOptStatRMS;
686 delete fOptStatSkewness;
687 delete fOptStatIntegral;
688 delete fOptStatKurtosis;
689 delete fOptStatErrors;
690 delete fStatFormatLabel;
691 delete fStatFormat;
692 delete fOptFitValues;
693 delete fOptFitErrors;
694 delete fOptFitProbability;
695 delete fOptFitChi;
696 delete fFitFormatLabel;
697 delete fFitFormat;
698 delete fHeaderPS;
699 delete fTitlePS;
700 delete fColorModelPS;
701 delete fColorModelPSRGB;
702 delete fColorModelPSCMYK;
703 delete fLineScalePS;
704 delete fPaperSizePredef;
705 delete fPaperSizeX;
706 delete fPaperSizeY;
707 delete fEditionHelp;
709 delete fEditionReset;
710 delete fEditionButtonFrame;
711 delete fHistosTab;
712 delete fAxisTab;
713 delete fEditionTab;
714 delete fEditionFrame;
715
716 delete fStatusBar;
717
718 // Delete the temporary frames and layout.
719 TObject *obj1;
720 TObject *obj2;
721
723 while (obj1) {
726 delete obj1;
727 obj1 = obj2;
728 }
729 delete fTrashListFrame;
730
732 while (obj1) {
735 delete obj1;
736 obj1 = obj2;
737 }
738 delete fTrashListLayout;
739
740 fgStyleManager = 0;
741}
742
743////////////////////////////////////////////////////////////////////////////////
744///static: return style manager
745
750
751////////////////////////////////////////////////////////////////////////////////
752/// Set up the interface. Called by the ctor or by the 'Show' method.
753
755{
756 // Build the list of available styles and select gStyle.
758
759 // Show the current object.
760 if ((gROOT->GetSelectedPad()) && (gROOT->GetSelectedPad()->GetCanvas())) {
761 DoSelectCanvas(gROOT->GetSelectedPad()->GetCanvas(),
762 gROOT->GetSelectedPad()->GetCanvas(), kButton2Down);
763 } else {
765 }
766}
767
768////////////////////////////////////////////////////////////////////////////////
769/// Called to hide the style manager.
770
772{
773 if (fgStyleManager) {
774 fgStyleManager->UnmapWindow();
775 }
776}
777
778////////////////////////////////////////////////////////////////////////////////
779/// Called to show the style manager. Static method.
780
782{
783 if (fgStyleManager) {
784 fgStyleManager->Init();
785 if (!fgStyleManager->IsMapped()) {
786 fgStyleManager->MapWindow();
787 }
788 } else {
789 TStyleManager::GetSM() = new TStyleManager(gClient->GetRoot());
790 }
791}
792
793////////////////////////////////////////////////////////////////////////////////
794/// Called to delete the style manager. Called when the ROOT session is
795/// closed via a canvas' menu.
796
798{
799 delete fgStyleManager;
800 fgStyleManager = 0;
801}
802
803////////////////////////////////////////////////////////////////////////////////
804/// Add the menu bar to the frame 'p'.
805
807{
808 fMenuBar = new TGMenuBar(p);
809
810 fMenuStyle = new TGPopupMenu(gClient->GetRoot());
811 fMenuStyle->Associate(this);
812 fMenuStyle->AddEntry("&New...", kMenuNew);
813 fMenuStyle->AddEntry("&Delete", kMenuDelete);
815 fMenuStyle->AddEntry("&Rename...", kMenuRename);
817 fImportCascade = new TGPopupMenu(gClient->GetRoot());
821 fMenuStyle->AddPopup("&Import From...", fImportCascade);
822
823 fMenuStyle->AddEntry("&Export...", kMenuExport);
825 fMenuStyle->AddEntry("&Close", kMenuExit);
828 fMenuBar->AddPopup("&Style", fMenuStyle, layout1);
829
830 fMenuHelp = new TGPopupMenu(gClient->GetRoot());
831 fMenuHelp->Associate(this);
832 fMenuHelp->AddEntry("Top &level", kMenuHelp);
834 fMenuHelp->AddEntry("&General", kMenuHelpGeneral);
837 fMenuHelp->AddEntry("&Histograms", kMenuHelpHistos);
841 fMenuHelp->AddEntry("&PS / PDF", kMenuHelpPSPDF);
845
846 p->AddFrame(fMenuBar, fLayoutExpandX);
847}
848
849////////////////////////////////////////////////////////////////////////////////
850/// Create a new style. Called via the menu bar or the tool bar.
851
853{
854 // Open a message box to allow the user to create a new style.
855 new TStyleDialog(this, fCurSelStyle, 1, 0);
856
857 // Create the list of available styles, and select:
858 // - the new style, if it has been created (Ok).
859 // - the previous selected style, if no style has been created (Cancel).
860 if (fLastChoice) BuildList();
862}
863
864////////////////////////////////////////////////////////////////////////////////
865/// Delete the current selected style from the ROOT session.
866/// Called via the menu or the tool bar.
867
869{
870 // Protection: the user is NOT allowed to delete gStyle.
871 // As a consequence, there is always at least one style in the ROOT session.
872 if (fCurSelStyle == gStyle) {
873 printf("Can not delete gStyle.\n");
874 return;
875 }
876
877 delete fCurSelStyle;
878 fCurSelStyle = 0;
879
881}
882
883////////////////////////////////////////////////////////////////////////////////
884/// Rename the current selected style. Called via the menu bar.
885
887{
888 new TStyleDialog(this, fCurSelStyle, 2, 0);
889
890 // Create the list of styles and select the previous selected style.
892}
893
894////////////////////////////////////////////////////////////////////////////////
895/// Save the current selected style in a C++ macro file. Called via the menu
896/// or the tool bar.
897
899{
900 // Create an associated macro and propose a pertinent name to the user.
901 CreateMacro();
903 newName.Form("Style_%s.C", fCurSelStyle->GetName());
904
905 // Protection: The user isn't allowed to export a style if the output
906 // file name isn't based on the "Style_*.C" mask, without spaces.
907 char* tmpFileName;
908 const char* tmpBaseName;
909 do {
911
912 // Open a dialog to ask the user to choose an output file.
913 new TGFileDialog(gClient->GetRoot(), this, kFDSave, fCurMacro);
916 else tmpBaseName = 0;
917 } while (tmpBaseName && (strstr(tmpBaseName, "Style_") != tmpBaseName)
918 && (strstr(tmpBaseName, " ") != 0));
919
920 if (tmpBaseName != 0) {
921 // Export the style.
925 }
926
928}
929
930////////////////////////////////////////////////////////////////////////////////
931/// Close the style manager. Called via the menu bar.
932
934{
935// SendCloseMessage(); // Doesn't delete the StyleManager. Hides it.
936 delete this;
937}
938
939////////////////////////////////////////////////////////////////////////////////
940/// Open an help window. Called via the menu bar or the tool bar.
941
943{
945 switch (i) {
946 case 0:
947 hd = new TRootHelpDialog(this, "Help on General Tab", 600, 400);
948 hd->SetText(gHelpSMGeneral);
949 break;
950 case 1:
951 hd = new TRootHelpDialog(this, "Help on Canvas Tab", 600, 400);
952 hd->SetText(gHelpSMCanvas);
953 break;
954 case 2:
955 hd = new TRootHelpDialog(this, "Help on Pad Tab", 600, 400);
956 hd->SetText(gHelpSMPad);
957 break;
958 case 3:
959 hd = new TRootHelpDialog(this, "Help on Histograms Tab", 600, 400);
960 hd->SetText(gHelpSMHistos);
961 break;
962 case 4:
963 hd = new TRootHelpDialog(this, "Help on Axis Tab", 600, 400);
964 hd->SetText(gHelpSMAxis);
965 break;
966 case 5:
967 hd = new TRootHelpDialog(this, "Help on Title Tab", 600, 400);
968 hd->SetText(gHelpSMTitle);
969 break;
970 case 6:
971 hd = new TRootHelpDialog(this, "Help on Stats Tab", 600, 400);
972 hd->SetText(gHelpSMStats);
973 break;
974 case 7:
975 hd = new TRootHelpDialog(this, "Help on PS / PDF Tab", 600, 400);
976 hd->SetText(gHelpSMPSPDF);
977 break;
978 default:
979 hd = new TRootHelpDialog(this, "Help on Top Level", 600, 400);
980 hd->SetText(gHelpSMTopLevel);
981 }
982 hd->Popup();
983}
984
985////////////////////////////////////////////////////////////////////////////////
986/// Create a new style (a copy of gStyle) and import the properties of the
987/// current canvas inside.
988
990{
991 if ((!fCurPad) || (!fCurObj)) return;
992
993 new TStyleDialog(this, gStyle, 3, fCurPad);
994
995 // Create the list of available style, and select:
996 // - the new style, if it has been created
997 // - the previous selected style, if no style has been created (Cancel)
998 if (fLastChoice) {
999 BuildList();
1000
1001 // Auto export of the canvas' style.
1002 CreateMacro();
1004 newName.Form("Style_%s.C", fCurSelStyle->GetName());
1005 fCurMacro->SetFilename(newName.Data());
1007 } else {
1009 }
1010}
1011
1012////////////////////////////////////////////////////////////////////////////////
1013/// Create a TGFileInfo concerning a macro, if it doesn't exist already.
1014
1016{
1017 if (fCurMacro) delete fCurMacro;
1018 fCurMacro = new TGFileInfo();
1020 fCurMacro->SetIniDir(".");
1021 fCurMacro->SetFilename(nullptr);
1022}
1023
1024////////////////////////////////////////////////////////////////////////////////
1025/// Add the tool bar to the frame 'p'.
1026
1028{
1033
1034 fToolBar = new TGToolBar(p);
1035 fToolBarNewPic = gClient->GetPicture("sm_new.xpm");
1037 fToolBarNew->SetStyle(gClient->GetStyle());
1038 fToolBarNew->Associate(this);
1040
1041 fToolBarImportCanvasPic = gClient->GetPicture("sm_import_canvas.xpm");
1046
1047 fToolBarImportMacroPic = gClient->GetPicture("sm_import_macro.xpm");
1049 fToolBarImportMacro->SetStyle(gClient->GetStyle());
1052
1053 fToolBarExportPic = gClient->GetPicture("sm_export.xpm");
1055 fToolBarExport->SetStyle(gClient->GetStyle());
1058
1059 fToolBarDeletePic = gClient->GetPicture("sm_delete.xpm");
1061 fToolBarDelete->SetStyle(gClient->GetStyle());
1064
1065 fToolBarHelpPic = gClient->GetPicture("sm_help.xpm");
1067 fToolBarHelp->SetStyle(gClient->GetStyle());
1068 fToolBarHelp->Associate(this);
1070
1071 p->AddFrame(fToolBar, fLayoutExpandX);
1074
1075 fToolBarNew->SetToolTipText("Create a new style");
1076 fToolBarDelete->SetToolTipText("Delete the selected style");
1077 fToolBarImportCanvas->SetToolTipText("Import a style from selected canvas");
1078 fToolBarImportMacro->SetToolTipText("Import a style from a macro");
1079 fToolBarExport->SetToolTipText("Export the selected style into a macro");
1080 fToolBarHelp->SetToolTipText("Help about the top level interface");
1081}
1082
1083////////////////////////////////////////////////////////////////////////////////
1084/// Add the top level interface to the frame 'cf'. This part of the
1085/// interface will provide all enable functionalities, excluding the
1086/// edition of styles.
1087
1089{
1106 TGLayoutHints *layout9 = new TGLayoutHints(kLHintsNormal, -15, 0, -5, -10);
1108 TGLayoutHints *layout10 = new TGLayoutHints(kLHintsNormal, 15, 0, -5, -10);
1116
1123 fListLabel = new TGLabel(v11, "Available Styles:");
1124 v11->AddFrame(fListLabel);
1126 fListComboBox->Associate(this);
1127 fListComboBox->Resize(200, 22);
1128 v11->AddFrame(fListComboBox, layout1);
1129 h1->AddFrame(v11, fLayoutExpandX);
1132 fMakeDefaultPic = gClient->GetPicture("arrow_right2.xpm");
1134 fMakeDefault->SetStyle(gClient->GetStyle());
1135 fMakeDefault->Associate(this);
1136 fMakeDefault->Resize(40, 22);
1137 v12->AddFrame(fMakeDefault, layout3);
1138 h1->AddFrame(v12, layout4);
1141 fCurStylabel = new TGLabel(v13, "gStyle is set to:");
1142 v13->AddFrame(fCurStylabel);
1144 fCurStyle->Associate(this);
1146 v13->AddFrame(fCurStyle, layout1);
1147 h1->AddFrame(v13, fLayoutExpandX);
1148 topLevel->AddFrame(h1, fLayoutExpandX);
1149
1152 TGGroupFrame *gf = new TGGroupFrame(h2, "Apply on");
1156 Pixel_t red;
1157 gClient->GetColorByName("#FF0000", red);
1160 fCurPadLabel = new TGLabel(selCanvas, "Canvas:");
1161 selCanvas->AddFrame(fCurPadLabel, layout6);
1166 vf->AddFrame(selCanvas, fLayoutExpandX);
1169 fCurObjLabel = new TGLabel(selObject, "Object:");
1170 selObject->AddFrame(fCurObjLabel, layout7);
1176 vf->AddFrame(selObject, layout8);
1180 fApplyOnAll = new TGRadioButton(fApplyOnGroup, "All canvases", kTopApplyOnAll);
1181 fApplyOnAll->Associate(this);
1182 fApplyOnSel = new TGRadioButton(fApplyOnGroup, "Selected object", kTopApplyOnSel);
1183 fApplyOnSel->Associate(this);
1189 h4->AddFrame(fApplyOnGroup);
1190 fApplyOnButton = new TGTextButton(h4, "&Apply", kTopApplyOnBut);
1192 fApplyOnButton->Resize(100, 22);
1193 h4->AddFrame(fApplyOnButton, layout13);
1194 vf->AddFrame(h4, fLayoutExpandX);
1195 gf->AddFrame(vf, layout11);
1196 h2->AddFrame(gf, layout12);
1197 topLevel->AddFrame(h2, fLayoutExpandX);
1198
1201 fPreviewButton = new TGCheckButton(h3, "&Preview", kTopPreview);
1203 h3->AddFrame(fPreviewButton, layout6);
1204 fPreviewRealTime = new TGCheckButton(h3, "Run &Time Preview", kTopPreviewRealTime);
1207 h3->AddFrame(fPreviewRealTime, layout6);
1208 fMoreLess = new TGTextButton(h3, "&Close <<", kTopMoreLess);
1209 fMoreLess->Associate(this);
1210 h3->AddFrame(fMoreLess, layout5);
1211 topLevel->AddFrame(h3, fLayoutExpandX);
1212
1213 cf->AddFrame(topLevel, layout2);
1214
1215 fApplyOnButton->SetToolTipText("Apply the selected style on the selected object");
1216 fPreviewButton->SetToolTipText("Show / Hide the preview window");
1217 fPreviewRealTime->SetToolTipText("Continuous / Asynchronous update of the preview");
1218}
1219
1220////////////////////////////////////////////////////////////////////////////////
1221/// Build the list of styles which will appear in the available styles
1222/// combo box. The new style to select is mentioned. If no style has
1223/// been specified, the last entry of the list is selected.
1224
1226{
1227 // Empty the list.
1229
1230 // Build the list of all styles already created in the ROOT session.
1231 Int_t i = 1;
1232 Int_t styleID = 0;
1233 TStyle *tmpStyle = (TStyle *) (gROOT->GetListOfStyles()->First());
1234 while (tmpStyle) {
1235 if (tmpStyle == style) styleID = i;
1236 fListComboBox->AddEntry(tmpStyle->GetName(), i++);
1237 tmpStyle = (TStyle *) (gROOT->GetListOfStyles()->After(tmpStyle));
1238 }
1239
1240 // Select 'style' in the list of available styles.
1241 if (styleID == 0) styleID = i - 1;
1243 DoListSelect();
1245}
1246
1247////////////////////////////////////////////////////////////////////////////////
1248/// Update the content of the status bar: show the name of the current
1249/// selected style, its title and the macro from which it has been imported.
1250
1252{
1255
1256 if ((!strcmp(fCurSelStyle->GetName(), "Default"))
1257 || (!strcmp(fCurSelStyle->GetName(), "Plain" ))
1258 || (!strcmp(fCurSelStyle->GetName(), "Bold" ))
1259 || (!strcmp(fCurSelStyle->GetName(), "Video" ))
1260 || (!strcmp(fCurSelStyle->GetName(), "Pub" ))) {
1261 fStatusBar->SetText("ROOT style", 1);
1262 } else if (fStyleChanged) {
1263 fStatusBar->SetText("User Style _ Not Saved", 1);
1264 } else {
1265 fStatusBar->SetText("User Style", 1);
1266 }
1267}
1268
1269////////////////////////////////////////////////////////////////////////////////
1270/// Update the values of every widget entry in the editor. The new values
1271/// are loaded from the current selected style.
1272
1274{
1275 Double_t delta;
1276 Int_t year;
1277 Int_t month;
1278 Int_t day;
1281 Int_t tmp;
1282 Int_t tmp2;
1283 switch (tabNum) {
1284 case 0: // GENERAL
1296 // Nothing to do with fLineStyleEdit.
1298 if (fCurSelStyle->GetTextFont()%10 > 2) {
1301 } else {
1304 }
1308 break;
1309 case 1: // CANVAS
1318 if (fCurSelStyle->GetAttDate()->GetTextFont()%10 > 2) {
1321 } else {
1324 }
1329 fDateX->SetIntNumber((Int_t) (fCurSelStyle->GetDateX()*100 + 0.5));
1330 fDateY->SetIntNumber((Int_t) (fCurSelStyle->GetDateY()*100 + 0.5));
1331
1332 if (fCurSelStyle->GetOptDate()) {
1338// TODO Just delete when ComboBox can be grayed
1339 //fOptDateFormat->SetState(kTRUE);
1340 //ModAttDateTextFont->SetState(kTRUE);
1341 //ModAttDateTextAlign->SetState(kTRUE);
1345 } else {
1350// TODO Just delete when ComboBox can be grayed
1351 //fOptDateFormat->SetState(kFALSE);
1352 //ModAttDateTextFont->SetState(kFALSE);
1353 //ModAttDateTextAlign->SetState(kFALSE);
1357 }
1358 break;
1359 case 2: // PAD
1369 else
1373 else
1377 else
1381 else
1386 break;
1387 case 3: // HISTOS
1397 else
1407 // Nothing to do with fPaletteEdit;
1415 else
1418 fErrorX->SetIntNumber((Int_t) (fCurSelStyle->GetErrorX() * 100 + 0.5));
1419 break;
1420 case 4: // AXIS
1421 delta = fCurSelStyle->GetTimeOffset() - 788918400;
1422 year = 1995;
1423 month = 1;
1424 while (delta < 0) {
1425 year--;
1426 if (year % 4) oneYearInSecs = 3600 * 24 * 365;
1427 else oneYearInSecs = 3600 * 24 * 366;
1428 delta += oneYearInSecs;
1429 }
1430 oneYearInSecs = 3600 * 24 * 365; // because 365 days in 1995.
1431 while (delta >= oneYearInSecs) {
1432 if (year % 4) oneYearInSecs = 3600 * 24 * 365;
1433 else oneYearInSecs = 3600 * 24 * 366;
1434 delta -= oneYearInSecs;
1435 year++;
1436 }
1437 oneMonthInSecs = 3600 * 24 * 31; // because 31 days in January.
1438 while (delta >= oneMonthInSecs) {
1439 month++;
1440 delta -= oneMonthInSecs;
1441 switch (month) {
1442 case 2:
1443 if (year % 4) oneMonthInSecs = 3600 * 24 * 28;
1444 else oneMonthInSecs = 3600 * 24 * 29;
1445 break;
1446 case 3: case 5: case 7: case 8: case 10: case 12:
1447 oneMonthInSecs = 3600 * 24 * 31;
1448 break;
1449 default:
1450 oneMonthInSecs = 3600 * 24 * 30;
1451 }
1452 }
1453 day = (Int_t) delta / (3600 * 24) + 1;
1454 delta = ((Int_t) delta) % (3600 * 24);
1455 fTimeOffsetDate->SetNumber(year*10000 + month*100 + day);
1456 fTimeOffsetTime->SetNumber(delta);
1457
1460 else
1463 if (fCurSelStyle->GetTitleFont("X")%10 > 2) {
1466 } else {
1469 }
1474 if (fCurSelStyle->GetLabelFont("X")%10 > 2) {
1477 } else {
1480 }
1486 if (fCurSelStyle->GetOptLogx())
1488 else
1490 fXNdivMain->SetIntNumber(std::abs(fCurSelStyle->GetNdivisions("X")) % 100);
1491 fXNdivSub->SetIntNumber((std::abs(fCurSelStyle->GetNdivisions("X")) % 10000)/100);
1492 fXNdivSubSub->SetIntNumber((std::abs(fCurSelStyle->GetNdivisions("X")) % 1000000)/10000);
1493 if (fCurSelStyle->GetNdivisions("X") > 0)
1495 else
1498 if (fCurSelStyle->GetTitleFont("Y")%10 > 2) {
1501 } else {
1504 }
1509 if (fCurSelStyle->GetLabelFont("Y")%10 > 2) {
1512 } else {
1515 }
1521 if (fCurSelStyle->GetOptLogy())
1523 else
1525 fYNdivMain->SetIntNumber(std::abs(fCurSelStyle->GetNdivisions("Y")) % 100);
1526 fYNdivSub->SetIntNumber((std::abs(fCurSelStyle->GetNdivisions("Y")) % 10000)/100);
1527 fYNdivSubSub->SetIntNumber((std::abs(fCurSelStyle->GetNdivisions("Y")) % 1000000)/10000);
1528 if (fCurSelStyle->GetNdivisions("Y") > 0)
1530 else
1533 if (fCurSelStyle->GetTitleFont("Z")%10 > 2) {
1536 } else {
1539 }
1544 if (fCurSelStyle->GetLabelFont("Z")%10 > 2) {
1547 } else {
1550 }
1556
1557 if (fCurSelStyle->GetOptLogz())
1559 else
1561
1562 fZNdivMain->SetIntNumber(std::abs(fCurSelStyle->GetNdivisions("Z")) % 100);
1563 fZNdivSub->SetIntNumber((std::abs(fCurSelStyle->GetNdivisions("Z")) % 10000)/100);
1564 fZNdivSubSub->SetIntNumber((std::abs(fCurSelStyle->GetNdivisions("Z")) % 1000000)/10000);
1565 if (fCurSelStyle->GetNdivisions("Z") > 0)
1567 else
1569 break;
1570 case 5: // TITLES
1575 if (fCurSelStyle->GetTitleFont()%10 > 2) {
1578 } else {
1581 }
1586 fTitleX->SetIntNumber((Int_t) (fCurSelStyle->GetTitleX() * 100 + 0.5));
1587 fTitleY->SetIntNumber((Int_t) (fCurSelStyle->GetTitleY() * 100 + 0.5));
1588 fTitleW->SetIntNumber((Int_t) (fCurSelStyle->GetTitleW() * 100 + 0.5));
1589 fTitleH->SetIntNumber((Int_t) (fCurSelStyle->GetTitleH() * 100 + 0.5));
1590
1591 if (fCurSelStyle->GetOptTitle()) {
1599// TODO Just delete when ComboBox can be grayed
1600 //fTitleFont->SetState(kTRUE);
1601 //fTitleAlign->SetState(kTRUE);
1602 //fTitleBorderSize->SetState(kTRUE);
1603 //fLegendBorderSize->SetState(kTRUE);
1608 } else {
1615// TODO Just delete when ComboBox can be grayed
1616 //fTitleFont->SetState(kFALSE);
1617 //fTitleAlign->SetState(kFALSE);
1618 //fTitleBorderSize->SetState(kFALSE);
1619 //fLegendBorderSize->SetState(kFALSE);
1624 }
1625 break;
1626 case 6: // STATS
1631 if (fCurSelStyle->GetStatFont()%10 > 2) {
1634 } else {
1637 }
1639
1645 tmp = fCurSelStyle->GetOptStat();
1646
1647 if (tmp % 10) fOptStatName->SetState(kButtonDown, kFALSE);
1649
1650 if ((tmp/10) % 10) fOptStatEntries->SetState(kButtonDown, kFALSE);
1652
1653 if ((tmp/100) % 10) fOptStatMean->SetState(kButtonDown, kFALSE);
1655
1656 if ((tmp/1000) % 10) fOptStatRMS->SetState(kButtonDown, kFALSE);
1658
1659 if ((tmp/10000) % 10) fOptStatUnderflow->SetState(kButtonDown, kFALSE);
1661
1662 if ((tmp/100000) % 10) fOptStatOverflow->SetState(kButtonDown, kFALSE);
1664
1665 if ((tmp/1000000) % 10) fOptStatIntegral->SetState(kButtonDown, kFALSE);
1667
1668 if ((tmp/10000000) % 10) fOptStatSkewness->SetState(kButtonDown, kFALSE);
1670
1671 if ((tmp/100000000) % 10) fOptStatKurtosis->SetState(kButtonDown, kFALSE);
1673
1674 if ((((tmp/100) % 10) == 2) || (((tmp/1000) % 10) == 2) ||
1675 (((tmp/10000000) % 10) == 2) || (((tmp/100000000) % 10) == 2))
1678
1681
1684
1685 if ((tmp2/10) % 10) {
1688 } else
1690
1691 if ((tmp2/100) % 10) fOptFitChi->SetState(kButtonDown, kFALSE);
1693
1696
1698 break;
1699
1700 case 7: // PS / PDF
1708 if ((papSizeX == 20) && (papSizeY == 26)) {
1713 } else if ((papSizeX == 20) && (papSizeY == 24)) {
1716 fPaperSizeX->SetNumber(papSizeX * 0.394);
1717 fPaperSizeY->SetNumber(papSizeY * 0.394);
1718 } else {
1723 }
1724 break;
1725 }
1726}
1727
1728////////////////////////////////////////////////////////////////////////////////
1729/// Connect every entry in the top level interface to the slot.
1730
1732{
1733 Connect("CloseWindow()", "TStyleManager", this, "CloseWindow()");
1734 fMenuStyle->Connect("Activated(Int_t)", "TStyleManager", this, "DoMenu(Int_t)");
1735 fMenuHelp->Connect("Activated(Int_t)", "TStyleManager", this, "DoMenu(Int_t)");
1736 fToolBarNew->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuNew));
1737 fToolBarDelete->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuDelete));
1738 fToolBarImportCanvas->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuImportCanvas));
1739 fToolBarImportMacro->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuImportMacro));
1740 fToolBarExport->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuExport));
1741 fToolBarHelp->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuHelp));
1742 fListComboBox->Connect("Selected(Int_t)", "TStyleManager", this, "DoListSelect()");
1743 fPreviewButton->Connect("Toggled(Bool_t)", "TStyleManager", this, "DoPreview(Bool_t)");
1744 fPreviewRealTime->Connect("Toggled(Bool_t)", "TStyleManager", this, "DoRealTime(Bool_t)");
1745 fMakeDefault->Connect("Clicked()", "TStyleManager", this, "DoMakeDefault()");
1746 fApplyOnGroup->Connect("Clicked(Int_t)", "TStyleManager", this, "DoApplyOnSelect(Int_t)");
1747 fApplyOnButton->Connect("Clicked()", "TStyleManager", this, "DoApplyOn()");
1748 fMoreLess->Connect("Clicked()", "TStyleManager", this, "DoMoreLess()");
1749
1750 fEditionHelp->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuHelpEditor));
1751 fEditionUpdatePreview->Connect("Clicked()", "TStyleManager", this, "DoEditionUpdatePreview()");
1752 fEditionReset->Connect("Clicked()", "TStyleManager", this, "DoImportMacro(Int_t=kFALSE)");
1753 fEditionTab->Connect("Selected(Int_t)", "TStyleManager", this, "DoChangeTab(Int_t)");
1754 fAxisTab->Connect("Selected(Int_t)", "TStyleManager", this, "DoChangeAxisTab(Int_t)");
1755
1756 // Connect signals emited when the current pad changed.
1757 TQObject::Connect("TCanvas", "Selected(TVirtualPad *, TObject *, Int_t)", "TStyleManager",
1758 this, "DoSelectCanvas(TVirtualPad *, TObject *, Int_t)");
1759 TQObject::Connect("TCanvas", "Closed()", "TStyleManager", this, "DoSelectNoCanvas()");
1760}
1761
1762////////////////////////////////////////////////////////////////////////////////
1763/// Disconnect every entry in the top level interface of the slot.
1764
1766{
1767 Disconnect("CloseWindow()");
1768 fMenuStyle->Disconnect("Activated(Int_t)");
1769 fMenuHelp->Disconnect("Activated(Int_t)");
1770 fToolBarNew->Disconnect("Clicked()");
1771 fToolBarDelete->Disconnect("Clicked()");
1772 fToolBarImportCanvas->Disconnect("Clicked()");
1773 fToolBarImportMacro->Disconnect("Clicked()");
1774 fToolBarExport->Disconnect("Clicked()");
1775 fToolBarHelp->Disconnect("Clicked()");
1776 fListComboBox->Disconnect("Selected(Int_t)");
1777 fPreviewButton->Disconnect("Toggled(Bool_t)");
1778 fMakeDefault->Disconnect("Clicked()");
1779 fApplyOnGroup->Disconnect("Clicked(Int_t)");
1780 fApplyOnButton->Disconnect("Clicked()");
1781 fMoreLess->Disconnect("Clicked()");
1782
1783 fEditionHelp->Disconnect("Clicked()");
1784 fEditionUpdatePreview->Disconnect("Clicked()");
1785 fEditionReset->Disconnect("Clicked()");
1786 fEditionTab->Disconnect("Selected(Int_t)");
1787
1788 TQObject::Disconnect("TCanvas", "Selected(TVirtualPad *, TObject *, Int_t)");
1789 TQObject::Disconnect("TCanvas", "Closed()");
1790}
1791
1792////////////////////////////////////////////////////////////////////////////////
1793/// Connect every widget entry of the editor to its specific slot.
1794
1796{
1797 if (fSigSlotConnected) return;
1799
1800 switch (tabNum) {
1801 case 0: // GENERAL
1802 fFillColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModFillColor()");
1803 fFillStyle->Connect("PatternSelected(Style_t)", "TStyleManager", this, "ModFillStyle()");
1804 fHatchesLineWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModHatchesLineWidth()");
1805 fHatchesSpacing->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModHatchesSpacing()");
1806 fMarkerColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModMarkerColor()");
1807 fMarkerStyle->Connect("MarkerSelected(Style_t)", "TStyleManager", this, "ModMarkerStyle()");
1808 fMarkerSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModMarkerSize()");
1809 fScreenFactor->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModScreenFactor()");
1810 fLineColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModLineColor()");
1811 fLineWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModLineWidth()");
1812 fLineStyle->Connect("Selected(Int_t)", "TStyleManager", this, "ModLineStyle()");
1813 fLineStyleEdit->Connect("Clicked()", "TStyleManager", this, "ModLineStyleEdit()");
1814 fTextColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModTextColor()");
1815 fTextSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTextSize()");
1816 fTextSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModTextSizeInPixels(Bool_t)");
1817 fTextFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModTextFont()");
1818 fTextAlign->Connect("Selected(Int_t)", "TStyleManager", this, "ModTextAlign()");
1819 fTextAngle->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTextAngle()");
1820 break;
1821 case 1: // CANVAS
1822 fCanvasColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModCanvasColor()");
1823 fCanvasDefX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModCanvasDefX()");
1824 fCanvasDefY->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModCanvasDefY()");
1825 fCanvasDefW->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModCanvasDefW()");
1826 fCanvasDefH->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModCanvasDefH()");
1827 fCanvasBorderMode->Connect("Clicked(Int_t)", "TStyleManager", this, "ModCanvasBorderMode()");
1828 fCanvasBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModCanvasBorderSize()");
1829 fOptDateBool->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptDateBool()");
1830 fAttDateTextColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModAttDateTextColor()");
1831 fAttDateTextSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModAttDateTextSize()");
1832 fAttDateTextSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModAttDateTextSizeInPixels(Bool_t)");
1833 fOptDateFormat->Connect("Selected(Int_t)", "TStyleManager", this, "ModOptDateFormat()");
1834 fAttDateTextFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModAttDateTextFont()");
1835 fAttDateTextAngle->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModAttDateTextAngle()");
1836 fAttDateTextAlign->Connect("Selected(Int_t)", "TStyleManager", this, "ModAttDateTextAlign()");
1837 fDateX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModDateX()");
1838 fDateY->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModDateY()");
1839 break;
1840 case 2: // PAD
1841 fPadTopMargin->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPadTopMargin()");
1842 fPadBottomMargin->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPadBottomMargin()");
1843 fPadLeftMargin->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPadLeftMargin()");
1844 fPadRightMargin->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPadRightMargin()");
1845 fPadBorderMode->Connect("Clicked(Int_t)", "TStyleManager", this, "ModPadBorderMode()");
1846 fPadBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModPadBorderSize()");
1847 fPadColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModPadColor()");
1848 fPadTickX->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModPadTickX()");
1849 fPadTickY->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModPadTickY()");
1850 fPadGridX->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModPadGridX()");
1851 fPadGridY->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModPadGridY()");
1852 fGridColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModGridColor()");
1853 fGridWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModGridWidth()");
1854 fGridStyle->Connect("Selected(Int_t)", "TStyleManager", this, "ModGridStyle()");
1855 break;
1856 case 3: // HISTOS
1857 fHistFillColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModHistFillColor()");
1858 fHistFillStyle->Connect("PatternSelected(Style_t)", "TStyleManager", this, "ModHistFillStyle()");
1859 fHistLineColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModHistLineColor()");
1860 fHistLineWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModHistLineWidth()");
1861 fHistLineStyle->Connect("Selected(Int_t)", "TStyleManager", this, "ModHistLineStyle()");
1862 fBarWidth->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModBarWidth()");
1863 fBarOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModBarOffset()");
1864 fHistMinimumZero->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModHistMinimumZero()");
1865 fPaintTextFormat->Connect("TextChanged(const char *)", "TStyleManager", this, "ModPaintTextFormat()");
1866 fNumberContours->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModNumberContours()");
1867 fLegoInnerR->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModLegoInnerR()");
1868 fFrameFillColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModFrameFillColor()");
1869 fFrameFillStyle->Connect("PatternSelected(Style_t)", "TStyleManager", this, "ModFrameFillStyle()");
1870 fFrameLineColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModFrameLineColor()");
1871 fFrameLineWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModFrameLineWidth()");
1872 fFrameLineStyle->Connect("Selected(Int_t)", "TStyleManager", this, "ModFrameLineStyle()");
1873 fPaletteEdit->Connect("Clicked()", "TStyleManager", this, "ModPaletteEdit()");
1874 fFrameBorderMode->Connect("Clicked(Int_t)", "TStyleManager", this, "ModFrameBorderMode()");
1875 fFrameBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModFrameBorderSize()");
1876 fFuncColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModFuncColor()");
1877 fFuncWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModFuncWidth()");
1878 fFuncStyle->Connect("Selected(Int_t)", "TStyleManager", this, "ModFuncStyle()");
1879 fDrawBorder->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModDrawBorder()");
1880 fEndErrorSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModEndErrorSize()");
1881 fErrorX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModErrorX()");
1882 break;
1883 case 4: // AXIS
1884 fTimeOffsetDate->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTimeOffset()");
1885 fTimeOffsetTime->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTimeOffset()");
1886 fStripDecimals->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModStripDecimals()");
1887 fApplyOnXYZ->Connect("Clicked()", "TStyleManager", this, "ModApplyOnXYZ()");
1888 fXTitleSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXTitleSize()");
1889 fXTitleSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModXTitleSizeInPixels(Bool_t)");
1890 fXTitleColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModXTitleColor()");
1891 fXTitleOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXTitleOffset()");
1892 fXTitleFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModXTitleFont()");
1893 fXLabelSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXLabelSize()");
1894 fXLabelSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModXLabelSizeInPixels(Bool_t)");
1895 fXLabelColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModXLabelColor()");
1896 fXLabelOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXLabelOffset()");
1897 fXLabelFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModXLabelFont()");
1898 fXAxisColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModXAxisColor()");
1899 fXTickLength->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXTickLength()");
1900 fOptLogx->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptLogx()");
1901 fXNdivMain->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXNdivisions()");
1902 fXNdivSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXNdivisions()");
1903 fXNdivSubSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXNdivisions()");
1904 fXNdivisionsOptimize->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModXNdivisions()");
1905 fYTitleSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYTitleSize()");
1906 fYTitleSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModYTitleSizeInPixels(Bool_t)");
1907 fYTitleColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModYTitleColor()");
1908 fYTitleOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYTitleOffset()");
1909 fYTitleFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModYTitleFont()");
1910 fYLabelSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYLabelSize()");
1911 fYLabelSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModYLabelSizeInPixels(Bool_t)");
1912 fYLabelColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModYLabelColor()");
1913 fYLabelOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYLabelOffset()");
1914 fYLabelFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModYLabelFont()");
1915 fYAxisColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModYAxisColor()");
1916 fYTickLength->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYTickLength()");
1917 fOptLogy->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptLogy()");
1918 fYNdivMain->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYNdivisions()");
1919 fYNdivSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYNdivisions()");
1920 fYNdivSubSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYNdivisions()");
1921 fYNdivisionsOptimize->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModYNdivisions()");
1922 fZTitleSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZTitleSize()");
1923 fZTitleSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModZTitleSizeInPixels(Bool_t)");
1924 fZTitleColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModZTitleColor()");
1925 fZTitleOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZTitleOffset()");
1926 fZTitleFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModZTitleFont()");
1927 fZLabelSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZLabelSize()");
1928 fZLabelSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModZLabelSizeInPixels(Bool_t)");
1929 fZLabelColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModZLabelColor()");
1930 fZLabelOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZLabelOffset()");
1931 fZLabelFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModZLabelFont()");
1932 fZAxisColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModZAxisColor()");
1933 fZTickLength->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZTickLength()");
1934 fOptLogz->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptLogz()");
1935 fZNdivMain->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZNdivisions()");
1936 fZNdivSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZNdivisions()");
1937 fZNdivSubSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZNdivisions()");
1938 fZNdivisionsOptimize->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModZNdivisions()");
1939 break;
1940 case 5: // TITLES
1941 fOptTitle->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptTitle()");
1942 fTitleColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModTitleFillColor()");
1943 fTitleStyle->Connect("PatternSelected(Style_t)", "TStyleManager", this, "ModTitleStyle()");
1944 fTitleTextColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModTitleTextColor()");
1945 fTitleFontSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTitleFontSize()");
1946 fTitleFontSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModTitleFontSizeInPixels(Bool_t)");
1947 fTitleFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModTitleFont()");
1948 fTitleAlign->Connect("Selected(Int_t)", "TStyleManager", this, "ModTitleAlign()");
1949 fTitleBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModTitleBorderSize()");
1950 fTitleX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTitleX()");
1951 fTitleY->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTitleY()");
1952 fTitleW->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTitleW()");
1953 fTitleH->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTitleH()");
1954 fLegendBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModLegendBorderSize()");
1955 break;
1956 case 6: // STATS
1957 fStatColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModStatColor(Pixel_t)");
1958 fStatStyle->Connect("PatternSelected(Style_t)", "TStyleManager", this, "ModStatStyle(Style_t)");
1959 fStatTextColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModStatTextColor(Pixel_t)");
1960 fStatFontSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModStatFontSize()");
1961 fStatFontSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModStatFontSizeInPixels(Bool_t)");
1962 fStatFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModStatFont()");
1963 fStatX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModStatX()");
1964 fStatY->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModStatY()");
1965 fStatW->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModStatW()");
1966 fStatH->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModStatH()");
1967 fStatBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModStatBorderSize()");
1968 fOptStatName->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1969 fOptStatEntries->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1970 fOptStatOverflow->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1971 fOptStatMean->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1972 fOptStatUnderflow->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1973 fOptStatRMS->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1974 fOptStatSkewness->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1975 fOptStatIntegral->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1976 fOptStatKurtosis->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1977 fOptStatErrors->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1978 fStatFormat->Connect("TextChanged(const char *)", "TStyleManager", this, "ModStatFormat(const char *)");
1979 fOptFitValues->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptFit()");
1980 fOptFitErrors->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptFit()");
1981 fOptFitProbability->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptFit()");
1982 fOptFitChi->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptFit()");
1983 fFitFormat->Connect("TextChanged(const char *)", "TStyleManager", this, "ModFitFormat(const char *)");
1984 break;
1985 case 7: // PS / PDF
1986 fHeaderPS->Connect("TextChanged(const char *)", "TStyleManager", this, "ModHeaderPS()");
1987 fTitlePS->Connect("TextChanged(const char *)", "TStyleManager", this, "ModTitlePS()");
1988 fColorModelPS->Connect("Clicked(Int_t)", "TStyleManager", this, "ModColorModelPS()");
1989 fLineScalePS->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModLineScalePS()");
1990 fPaperSizePredef->Connect("Selected(Int_t)", "TStyleManager", this, "ModPaperSizePredef()");
1991 fPaperSizeX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPaperSizeXY()");
1992 fPaperSizeY->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPaperSizeXY()");
1993 break;
1994 }
1995}
1996
1997////////////////////////////////////////////////////////////////////////////////
1998/// Disconnect every widget entry of the editor from its slot. Must be
1999/// called before UpdateEditor() to avoid recursive calls.
2000
2002{
2003 if (!fSigSlotConnected) return;
2005
2006 switch (tabNum) {
2007 case 0: // GENERAL
2008 fFillColor->Disconnect("ColorSelected(Pixel_t)");
2009 fFillStyle->Disconnect("PatternSelected(Style_t)");
2010 fHatchesLineWidth->Disconnect("Selected(Int_t)");
2011 fHatchesSpacing->Disconnect("ValueSet(Long_t)");
2012 fMarkerColor->Disconnect("ColorSelected(Pixel_t)");
2013 fMarkerStyle->Disconnect("MarkerSelected(Style_t)");
2014 fMarkerSize->Disconnect("Selected(Int_t)");
2015 fScreenFactor->Disconnect("ValueSet(Long_t)");
2016 fLineColor->Disconnect("ColorSelected(Pixel_t)");
2017 fLineWidth->Disconnect("Selected(Int_t)");
2018 fLineStyle->Disconnect("Selected(Int_t)");
2019 fLineStyleEdit->Disconnect("Clicked()");
2020 fTextColor->Disconnect("ColorSelected(Pixel_t)");
2021 fTextSize->Disconnect("ValueSet(Long_t)");
2022 fTextFont->Disconnect("Selected(Int_t)");
2023 fTextAlign->Disconnect("Selected(Int_t)");
2024 fTextAngle->Disconnect("ValueSet(Long_t)");
2025 break;
2026 case 1: // CANVAS
2027 fCanvasColor->Disconnect("ColorSelected(Pixel_t)");
2028 fCanvasDefX->Disconnect("ValueSet(Long_t)");
2029 fCanvasDefY->Disconnect("ValueSet(Long_t)");
2030 fCanvasDefW->Disconnect("ValueSet(Long_t)");
2031 fCanvasDefH->Disconnect("ValueSet(Long_t)");
2032 fCanvasBorderMode->Disconnect("Clicked(Int_t)");
2033 fCanvasBorderSize->Disconnect("Selected(Int_t)");
2034 fOptDateBool->Disconnect("Toggled(Bool_t)");
2035 fAttDateTextColor->Disconnect("ColorSelected(Pixel_t)");
2036 fAttDateTextSize->Disconnect("ValueSet(Long_t)");
2037 fOptDateFormat->Disconnect("Selected(Int_t)");
2038 fAttDateTextFont->Disconnect("Selected(Int_t)");
2039 fAttDateTextAngle->Disconnect("ValueSet(Long_t)");
2040 fAttDateTextAlign->Disconnect("Selected(Int_t)");
2041 fDateX->Disconnect("ValueSet(Long_t)");
2042 fDateY->Disconnect("ValueSet(Long_t)");
2043 break;
2044 case 2: // PAD
2045 fPadTopMargin->Disconnect("ValueSet(Long_t)");
2046 fPadBottomMargin->Disconnect("ValueSet(Long_t)");
2047 fPadLeftMargin->Disconnect("ValueSet(Long_t)");
2048 fPadRightMargin->Disconnect("ValueSet(Long_t)");
2049 fPadBorderMode->Disconnect("Clicked(Int_t)");
2050 fPadBorderSize->Disconnect("Selected(Int_t)");
2051 fPadColor->Disconnect("ColorSelected(Pixel_t)");
2052 fPadTickX->Disconnect("Toggled(Bool_t)");
2053 fPadTickY->Disconnect("Toggled(Bool_t)");
2054 fPadGridX->Disconnect("Toggled(Bool_t)");
2055 fPadGridY->Disconnect("Toggled(Bool_t)");
2056 fGridColor->Disconnect("ColorSelected(Pixel_t)");
2057 fGridWidth->Disconnect("Selected(Int_t)");
2058 fGridStyle->Disconnect("Selected(Int_t)");
2059 break;
2060 case 3: // HISTOS
2061 fHistFillColor->Disconnect("ColorSelected(Pixel_t)");
2062 fHistFillStyle->Disconnect("PatternSelected(Style_t)");
2063 fHistLineColor->Disconnect("ColorSelected(Pixel_t)");
2064 fHistLineWidth->Disconnect("Selected(Int_t)");
2065 fHistLineStyle->Disconnect("Selected(Int_t)");
2066 fBarWidth->Disconnect("ValueSet(Long_t)");
2067 fBarOffset->Disconnect("ValueSet(Long_t)");
2068 fHistMinimumZero->Disconnect("Toggled(Bool_t)");
2069 fPaintTextFormat->Disconnect("TextChanged(const char *)");
2070 fNumberContours->Disconnect("ValueSet(Long_t)");
2071 fLegoInnerR->Disconnect("ValueSet(Long_t)");
2072 fFrameFillColor->Disconnect("ColorSelected(Pixel_t)");
2073 fFrameFillStyle->Disconnect("PatternSelected(Style_t)");
2074 fFrameLineColor->Disconnect("ColorSelected(Pixel_t)");
2075 fFrameLineWidth->Disconnect("Selected(Int_t)");
2076 fFrameLineStyle->Disconnect("Selected(Int_t)");
2077 fPaletteEdit->Disconnect("Clicked()");
2078 fFrameBorderMode->Disconnect("Clicked(Int_t)");
2079 fFrameBorderSize->Disconnect("Selected(Int_t)");
2080 fFuncColor->Disconnect("ColorSelected(Pixel_t)");
2081 fFuncWidth->Disconnect("Selected(Int_t)");
2082 fFuncStyle->Disconnect("Selected(Int_t)");
2083 fDrawBorder->Disconnect("Toggled(Bool_t)");
2084 fEndErrorSize->Disconnect("ValueSet(Long_t)");
2085 fErrorX->Disconnect("ValueSet(Long_t)");
2086 break;
2087 case 4: // AXIS
2088 fTimeOffsetDate->Disconnect("ValueSet(Long_t)");
2089 fTimeOffsetTime->Disconnect("ValueSet(Long_t)");
2090 fStripDecimals->Disconnect("Toggled(Bool_t)");
2091 fApplyOnXYZ->Disconnect("Clicked()");
2092 fXTitleSize->Disconnect("ValueSet(Long_t)");
2093 fXTitleColor->Disconnect("ColorSelected(Pixel_t)");
2094 fXTitleOffset->Disconnect("ValueSet(Long_t)");
2095 fXTitleFont->Disconnect("Selected(Int_t)");
2096 fXLabelSize->Disconnect("ValueSet(Long_t)");
2097 fXLabelColor->Disconnect("ColorSelected(Pixel_t)");
2098 fXLabelOffset->Disconnect("ValueSet(Long_t)");
2099 fXLabelFont->Disconnect("Selected(Int_t)");
2100 fXAxisColor->Disconnect("ColorSelected(Pixel_t)");
2101 fXTickLength->Disconnect("ValueSet(Long_t)");
2102 fOptLogx->Disconnect("Toggled(Bool_t)");
2103 fXNdivMain->Disconnect("ValueSet(Long_t)");
2104 fXNdivSub->Disconnect("ValueSet(Long_t)");
2105 fXNdivSubSub->Disconnect("ValueSet(Long_t)");
2106 fXNdivisionsOptimize->Disconnect("Toggled(Bool_t)");
2107 fYTitleSize->Disconnect("ValueSet(Long_t)");
2108 fYTitleColor->Disconnect("ColorSelected(Pixel_t)");
2109 fYTitleOffset->Disconnect("ValueSet(Long_t)");
2110 fYTitleFont->Disconnect("Selected(Int_t)");
2111 fYLabelSize->Disconnect("ValueSet(Long_t)");
2112 fYLabelColor->Disconnect("ColorSelected(Pixel_t)");
2113 fYLabelOffset->Disconnect("ValueSet(Long_t)");
2114 fYLabelFont->Disconnect("Selected(Int_t)");
2115 fYAxisColor->Disconnect("ColorSelected(Pixel_t)");
2116 fYTickLength->Disconnect("ValueSet(Long_t)");
2117 fOptLogy->Disconnect("Toggled(Bool_t)");
2118 fYNdivMain->Disconnect("ValueSet(Long_t)");
2119 fYNdivSub->Disconnect("ValueSet(Long_t)");
2120 fYNdivSubSub->Disconnect("ValueSet(Long_t)");
2121 fYNdivisionsOptimize->Disconnect("Toggled(Bool_t)");
2122 fZTitleSize->Disconnect("ValueSet(Long_t)");
2123 fZTitleColor->Disconnect("ColorSelected(Pixel_t)");
2124 fZTitleOffset->Disconnect("ValueSet(Long_t)");
2125 fZTitleFont->Disconnect("Selected(Int_t)");
2126 fZLabelSize->Disconnect("ValueSet(Long_t)");
2127 fZLabelColor->Disconnect("ColorSelected(Pixel_t)");
2128 fZLabelOffset->Disconnect("ValueSet(Long_t)");
2129 fZLabelFont->Disconnect("Selected(Int_t)");
2130 fZAxisColor->Disconnect("ColorSelected(Pixel_t)");
2131 fZTickLength->Disconnect("ValueSet(Long_t)");
2132 fOptLogz->Disconnect("Toggled(Bool_t)");
2133 fZNdivMain->Disconnect("ValueSet(Long_t)");
2134 fZNdivSub->Disconnect("ValueSet(Long_t)");
2135 fZNdivSubSub->Disconnect("ValueSet(Long_t)");
2136 fZNdivisionsOptimize->Disconnect("Toggled(Bool_t)");
2137 break;
2138 case 5: // TITLES
2139 fOptTitle->Disconnect("Toggled(Bool_t)");
2140 fTitleColor->Disconnect("ColorSelected(Pixel_t)");
2141 fTitleStyle->Disconnect("PatternSelected(Style_t)");
2142 fTitleTextColor->Disconnect("ColorSelected(Pixel_t)");
2143 fTitleFontSize->Disconnect("ValueSet(Long_t)");
2144 fTitleFont->Disconnect("Selected(Int_t)");
2145 fTitleAlign->Disconnect("Selected(Int_t)");
2146 fTitleBorderSize->Disconnect("Selected(Int_t)");
2147 fTitleX->Disconnect("ValueSet(Long_t)");
2148 fTitleY->Disconnect("ValueSet(Long_t)");
2149 fTitleW->Disconnect("ValueSet(Long_t)");
2150 fTitleH->Disconnect("ValueSet(Long_t)");
2151 fLegendBorderSize->Disconnect("Selected(Int_t)");
2152 break;
2153 case 6: // STATS
2154 fStatColor->Disconnect("ColorSelected(Pixel_t)");
2155 fStatStyle->Disconnect("PatternSelected(Style_t)");
2156 fStatTextColor->Disconnect("ColorSelected(Pixel_t)");
2157 fStatFontSize->Disconnect("ValueSet(Long_t)");
2158 fStatFont->Disconnect("Selected(Int_t)");
2159 fStatX->Disconnect("ValueSet(Long_t)");
2160 fStatY->Disconnect("ValueSet(Long_t)");
2161 fStatW->Disconnect("ValueSet(Long_t)");
2162 fStatH->Disconnect("ValueSet(Long_t)");
2163 fStatBorderSize->Disconnect("Selected(Int_t)");
2164 fOptStatName->Disconnect("Toggled(Bool_t)");
2165 fOptStatEntries->Disconnect("Toggled(Bool_t)");
2166 fOptStatOverflow->Disconnect("Toggled(Bool_t)");
2167 fOptStatMean->Disconnect("Toggled(Bool_t)");
2168 fOptStatUnderflow->Disconnect("Toggled(Bool_t)");
2169 fOptStatRMS->Disconnect("Toggled(Bool_t)");
2170 fOptStatSkewness->Disconnect("Toggled(Bool_t)");
2171 fOptStatIntegral->Disconnect("Toggled(Bool_t)");
2172 fOptStatKurtosis->Disconnect("Toggled(Bool_t)");
2173 fOptStatErrors->Disconnect("Toggled(Bool_t)");
2174 fStatFormat->Disconnect("TextChanged(const char *)");
2175 fOptFitValues->Disconnect("Toggled(Bool_t)");
2176 fOptFitErrors->Disconnect("Toggled(Bool_t)");
2177 fOptFitProbability->Disconnect("Toggled(Bool_t)");
2178 fOptFitChi->Disconnect("Toggled(Bool_t)");
2179 fFitFormat->Disconnect("TextChanged(const char *)");
2180 break;
2181 case 7: // PS / PDF
2182 fHeaderPS->Disconnect("TextChanged(const char *)");
2183 fTitlePS->Disconnect("TextChanged(const char *)");
2184 fColorModelPS->Disconnect("Clicked(Int_t)");
2185 fLineScalePS->Disconnect("ValueSet(Long_t)");
2186 fPaperSizePredef->Disconnect("Selected(Int_t)");
2187 fPaperSizeX->Disconnect("ValueSet(Long_t)");
2188 fPaperSizeY->Disconnect("ValueSet(Long_t)");
2189 break;
2190 }
2191}
2192
2193////////////////////////////////////////////////////////////////////////////////
2194/// Called each time something is changed in the style editor. Thanks to
2195/// this method, we can know if the style differs from the original style.
2196
2198{
2200
2201 // Update the status bar.
2203
2204 // Update the preview if the real time mode is selected.
2205 if (fRealTimePreview)
2207}
2208
2209////////////////////////////////////////////////////////////////////////////////
2210/// Add the editor to the frame 'p'. It contains the tabs allowing the user
2211/// to modify every data member of the current TStyle object.
2212
2214{
2219
2222
2223 fEditionTab = new TGTab(fEditionFrame, 200, 150);
2224 fEditionTab->Associate(this);
2225 CreateTabGeneral(fEditionTab->AddTab("General"));
2228 CreateTabHistos(fEditionTab->AddTab("Histograms"));
2232 CreateTabPsPdf(fEditionTab->AddTab("PS / PDF"));
2234
2237 fEditionHelp->Associate(this);
2244 fEditionReset->Associate(this);
2247
2248 p->AddFrame(fEditionFrame, layout1);
2249
2250 fEditionHelp->SetToolTipText("Help about the current tab");
2251 fEditionUpdatePreview->SetToolTipText("Force the refresh of the preview window");
2252 fEditionReset->SetToolTipText("Reset the selected style");
2253}
2254
2255////////////////////////////////////////////////////////////////////////////////
2256/// Add the tab 'General' to the editor.
2257
2259{
2260 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 10, 21, 5, 5);
2262
2267 tab->AddFrame(h1, fLayoutExpandX);
2268
2271 AddGeneralText(h2);
2278 "Screen factor:", 0, 6, TGNumberFormat::kNESRealOne,
2281 v->AddFrame(h3, layout);
2282 h2->AddFrame(v, fLayoutExpandXY);
2283 tab->AddFrame(h2, fLayoutExpandX);
2284
2285 fScreenFactor->GetNumberEntry()->SetToolTipText("Coefficient for different screen's resolutions");
2286}
2287
2288////////////////////////////////////////////////////////////////////////////////
2289/// Add the 'Fill' group frame to the 'General' tab.
2290
2292{
2295
2296 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
2302 gf->AddFrame(h1, fLayoutExpandX);
2303 AddTitle(gf, "Hatchings");
2311 gf->AddFrame(h2, layout2);
2312 f->AddFrame(gf, fLayoutExpandXYMargin);
2313
2314// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2315// fFillColor->SetToolTipText("General fill color");
2316// fFillStyle->SetToolTipText("General fill pattern");
2317 fHatchesSpacing->GetNumberEntry()->SetToolTipText("Spacing between the hatching's lines");
2318}
2319
2320////////////////////////////////////////////////////////////////////////////////
2321/// Add the 'Line' group frame to the 'General' tab.
2322
2324{
2325 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
2331 gf->AddFrame(h, fLayoutExpandX);
2333 fLineStyleEdit = AddTextButton(gf, "Lines' Style Editor...", kGeneralLineStyleEdit);
2335 f->AddFrame(gf, fLayoutExpandXYMargin);
2336
2337// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2338// fLineColor->SetToolTipText("General line color");
2339}
2340
2341////////////////////////////////////////////////////////////////////////////////
2342/// Add the 'Text' group frame to the 'General' tab.
2343
2345{
2346 TGGroupFrame *gf = new TGGroupFrame(f, "Text");
2352 gf->AddFrame(h1, fLayoutExpandX);
2357 fTextSize = AddNumberEntry(h2, 21, 10, 0, kGeneralTextSize, "Size:", 0, 5,
2361 gf->AddFrame(h2, fLayoutExpandX);
2362 fTextAngle = AddNumberEntry(gf, 0, 0, 0, kGeneralTextAngle, "Angle:",
2366 f->AddFrame(gf, fLayoutExpandXYMargin);
2367
2368// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2369// fTextColor->SetToolTipText("General text color");
2370 fTextSizeInPixels->SetToolTipText("Set the text size in pixels if selected, otherwise - in % of pad.");
2371 fTextSize->GetNumberEntry()->SetToolTipText("General text size (in pixels or in % of pad)");
2372 fTextAngle->GetNumberEntry()->SetToolTipText("General text angle");
2373}
2374
2375////////////////////////////////////////////////////////////////////////////////
2376/// Add the 'Marker' group frame to the 'General' tab.
2377
2379{
2380 TGGroupFrame *gf = new TGGroupFrame(f, "Marker");
2387 gf->AddFrame(h, fLayoutExpandX);
2388 f->AddFrame(gf, fLayoutExpandXMargin);
2389
2390// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2391// fMarkerColor->SetToolTipText("Marker color");
2392// fMarkerStyle->SetToolTipText("Marker shape");
2393}
2394
2395////////////////////////////////////////////////////////////////////////////////
2396/// Add the tab 'Canvas' to the editor.
2397
2414
2415////////////////////////////////////////////////////////////////////////////////
2416/// Add the 'Fill' group frame to the 'Canvas' tab.
2417
2419{
2420 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
2425 gf->AddFrame(h, fLayoutExpandX);
2426 f->AddFrame(gf, fLayoutExpandXMargin);
2427
2428// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2429// fCanvasColor->SetToolTipText("Color used to fill canvases");
2430}
2431
2432////////////////////////////////////////////////////////////////////////////////
2433/// Add the 'Geometry' group frame to the 'Canvas' tab.
2434
2436{
2437 TGGroupFrame *gf = new TGGroupFrame(f, "Geometry");
2441 fCanvasDefX = AddNumberEntry(h1, 0, 9, 0, kCanvasDefX, "X:",
2445 fCanvasDefY = AddNumberEntry(h1, 7, 8, 0, kCanvasDefY, "Y:",
2449 gf->AddFrame(h1, fLayoutExpandX);
2450
2453 fCanvasDefW = AddNumberEntry(h2, 0, 7, 0, kCanvasDefW, "W:",
2457 fCanvasDefH = AddNumberEntry(h2, 7, 8, 0, kCanvasDefH, "H:",
2461 gf->AddFrame(h2, fLayoutExpandX);
2462 f->AddFrame(gf, fLayoutExpandXMargin);
2463
2464 fCanvasDefX->GetNumberEntry()->SetToolTipText("Canvases' default abscissa");
2465 fCanvasDefY->GetNumberEntry()->SetToolTipText("Canvases' default ordinate");
2466 fCanvasDefW->GetNumberEntry()->SetToolTipText("Canvases' default width");
2467 fCanvasDefH->GetNumberEntry()->SetToolTipText("Canvases' default height");
2468}
2469
2470////////////////////////////////////////////////////////////////////////////////
2471/// Add the 'Border' group frame to the 'Canvas' tab.
2472
2478
2479////////////////////////////////////////////////////////////////////////////////
2480/// Add the 'Date' group frame to the 'Canvas' tab.
2481
2483{
2486
2487 TGGroupFrame *gf = new TGGroupFrame(f, "Date");
2493 gf->AddFrame(h1, fLayoutExpandX);
2497 fAttDateTextSize = AddNumberEntry(h2, 22, 10, 0, kCanvasAttDateTextSize, "Size:", 0, 5,
2501 gf->AddFrame(h2, fLayoutExpandX);
2506 "Angle:", 0, 6, TGNumberFormat::kNESInteger,
2509 AddTitle(gf, "Position");
2512 fDateX = AddNumberEntry(h3, 0, 0, 0, kCanvasDateX, "X (% of Pad):",
2516 fDateY = AddNumberEntry(h3, 0, 0, 0, kCanvasDateY, "Y (% of Pad):",
2520 gf->AddFrame(h3, layout2);
2521 f->AddFrame(gf, fLayoutExpandXYMargin);
2522
2523 fOptDateBool->SetToolTipText("Show / Hide the date in canvases");
2524// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2525// fAttDateTextColor->SetToolTipText("Color of the date text");
2526 fAttDateTextSizeInPixels->SetToolTipText("Set the date text size in pixels if selected, otherwise - in % of pad");
2527 fAttDateTextSize->GetNumberEntry()->SetToolTipText("Date text size (in pixels or in % of pad)");
2528 fAttDateTextAngle->GetNumberEntry()->SetToolTipText("Date text angle");
2529 fDateX->GetNumberEntry()->SetToolTipText("Date abscissa in percent of pad");
2530 fDateY->GetNumberEntry()->SetToolTipText("Date ordinate in percent of pad");
2531}
2532
2533////////////////////////////////////////////////////////////////////////////////
2534/// Add the tab 'Pad' to the editor.
2535
2553
2554////////////////////////////////////////////////////////////////////////////////
2555/// Add the 'Margin' group frame to the 'Pad' tab.
2556
2558{
2559 TGGroupFrame *gf = new TGGroupFrame(f, "Margin (% of Pad)");
2563 fPadLeftMargin = AddNumberEntry(h1, 0, 5, 0, kPadLeftMargin, "Left:",
2567 fPadRightMargin = AddNumberEntry(h1, 0, 0, 0, kPadRightMargin, "Right:",
2571 gf->AddFrame(h1, fLayoutExpandXY);
2574 fPadTopMargin = AddNumberEntry(h2, 0, 5, 0, kPadTopMargin, "Top:",
2578 fPadBottomMargin = AddNumberEntry(h2, 0, 0, 0, kPadBottomMargin, "Bottom:",
2582 gf->AddFrame(h2, fLayoutExpandXY);
2583 f->AddFrame(gf, fLayoutExpandXYMargin);
2584
2585 fPadLeftMargin->GetNumberEntry()->SetToolTipText("Pads' left margin");
2586 fPadRightMargin->GetNumberEntry()->SetToolTipText("Pads' right margin");
2587 fPadTopMargin->GetNumberEntry()->SetToolTipText("Pads' top margin");
2588 fPadBottomMargin->GetNumberEntry()->SetToolTipText("Pads' bottom margin");
2589}
2590
2591////////////////////////////////////////////////////////////////////////////////
2592/// Add the 'Border' group frame to the 'Pad' tab.
2593
2599
2600////////////////////////////////////////////////////////////////////////////////
2601/// Add the 'Fill' group frame to the 'Pad' tab.
2602
2604{
2605 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
2610 gf->AddFrame(h, fLayoutExpandX);
2611 f->AddFrame(gf, fLayoutExpandXYMargin);
2612
2613// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2614// fPadColor->SetToolTipText("Color used to fill pads");
2615}
2616
2617////////////////////////////////////////////////////////////////////////////////
2618/// Add the 'Ticks' group frame to the 'Pad' tab.
2619
2621{
2622 TGGroupFrame *gf = new TGGroupFrame(f, "Ticks");
2628 fPadTickX = AddCheckButton(h1, "Along X", kPadTickX);
2629 h->AddFrame(h1, fLayoutExpandX);
2632 fPadTickY = AddCheckButton(h2, "Along Y", kPadTickY);
2633 h->AddFrame(h2, fLayoutExpandX);
2634 gf->AddFrame(h, fLayoutExpandX);
2635 f->AddFrame(gf, fLayoutExpandXYMargin);
2636
2637 fPadTickX->SetToolTipText("Show / Hide the ticks along X");
2638 fPadTickY->SetToolTipText("Show / Hide the ticks along Y");
2639}
2640
2641////////////////////////////////////////////////////////////////////////////////
2642/// Add the 'Grid' group frame to the 'Pad' tab.
2643
2645{
2646 TGGroupFrame *gf = new TGGroupFrame(f, "Grid");
2652 fPadGridX = AddCheckButton(h10, "Along X", kPadGridX);
2653 h1->AddFrame(h10, fLayoutExpandX);
2656 fPadGridY = AddCheckButton(h20, "Along Y", kPadGridY);
2657 h1->AddFrame(h20, fLayoutExpandX);
2658 gf->AddFrame(h1, fLayoutExpandX);
2663 gf->AddFrame(h2, fLayoutExpandX);
2665 f->AddFrame(gf, fLayoutExpandXYMargin);
2666
2667// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2668// fGridColor->SetToolTipText("Line color for the grid");
2669 fPadGridX->SetToolTipText("Show / Hide the grid along X");
2670 fPadGridY->SetToolTipText("Show / Hide the grid along Y");
2671}
2672
2673////////////////////////////////////////////////////////////////////////////////
2674/// Add the tab 'Histos' to the editor.
2675
2685
2686////////////////////////////////////////////////////////////////////////////////
2687/// Add the sub-tab 'Histos' to the tab 'Histos'.
2688
2709
2710////////////////////////////////////////////////////////////////////////////////
2711/// Add the 'Fill' group frame to the 'Histos - Histos' tab.
2712
2714{
2715 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
2721 gf->AddFrame(h1, fLayoutExpandX);
2722 f->AddFrame(gf, fLayoutExpandXYMargin);
2723
2724// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2725// fHistFillColor->SetToolTipText("Color used to fill histograms");
2726// fHistFillStyle->SetToolTipText("Pattern used to fill histograms");
2727}
2728
2729////////////////////////////////////////////////////////////////////////////////
2730/// Add the 'Line' group frame to the 'Histos - Histos' tab.
2731
2733{
2734 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
2740 gf->AddFrame(h, fLayoutExpandX);
2742 f->AddFrame(gf, fLayoutExpandXYMargin);
2743
2744// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2745// fHistLineColor->SetToolTipText("Color used for histograms' lines");
2746}
2747
2748////////////////////////////////////////////////////////////////////////////////
2749/// Add the 'Bar' group frame to the 'Histos - Histos' tab.
2750
2771
2772////////////////////////////////////////////////////////////////////////////////
2773/// Add the 'Contours' group frame to the 'Histos - Histos' tab.
2774
2787
2788////////////////////////////////////////////////////////////////////////////////
2789/// Add the 'Axis' group frame to the 'Histos - Histos' tab.
2790
2792{
2793 TGGroupFrame *gf = new TGGroupFrame(f, "Axis");
2797 f->AddFrame(gf, fLayoutExpandXYMargin);
2798
2799 fHistMinimumZero->SetToolTipText("Set to zero / Compute the minimum of axis range");
2800 fPaintTextFormat->SetToolTipText("Paint format of the axis labels in histograms");
2801}
2802
2803////////////////////////////////////////////////////////////////////////////////
2804/// Add the '3D Cylindrical' group frame to the 'Histos - Histos' tab.
2805
2807{
2808 TGGroupFrame *gf = new TGGroupFrame(f, "3D Cylindrical (%)");
2810 fLegoInnerR = AddNumberEntry(gf, 0, 0, 0, kHistLegoInnerR, "Inner radius:",
2814 f->AddFrame(gf, fLayoutExpandXYMargin);
2815
2816 fLegoInnerR->GetNumberEntry()->SetToolTipText("Percent of radius allocated to the tube");
2817}
2818
2819////////////////////////////////////////////////////////////////////////////////
2820/// Add the sub-tab 'Frames' to the tab 'Histos'.
2821
2848
2849////////////////////////////////////////////////////////////////////////////////
2850/// Add the 'Fill' group frame to the 'Histos - Frames' tab.
2851
2853{
2854 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
2860 gf->AddFrame(h1, fLayoutExpandX);
2861 f->AddFrame(gf, fLayoutExpandXMargin);
2862
2863// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2864// fFrameFillColor->SetToolTipText("Color used to fill frames");
2865// fFrameFillStyle->SetToolTipText("Pattern used to fill frames");
2866}
2867
2868////////////////////////////////////////////////////////////////////////////////
2869/// Add the 'Line' group frame to the 'Histos - Frames' tab.
2870
2872{
2873 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
2879 gf->AddFrame(h, fLayoutExpandX);
2881 f->AddFrame(gf, fLayoutExpandXYMargin);
2882
2883// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2884// fFrameLineColor->SetToolTipText("Color of lines in frames");
2885}
2886
2887////////////////////////////////////////////////////////////////////////////////
2888/// Add the 'Border' group frame to the 'Histos - Frames' tab.
2889
2895
2896////////////////////////////////////////////////////////////////////////////////
2897/// Add the sub-tab 'Graphs' to the tab 'Histos'.
2898
2908
2909////////////////////////////////////////////////////////////////////////////////
2910/// Add the 'Line' group frame to the 'Histos - Graphs' tab.
2911
2913{
2914 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
2920 gf->AddFrame(h, fLayoutExpandX);
2922 f->AddFrame(gf, fLayoutExpandXMargin);
2923
2924// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2925// fFuncColor->SetToolTipText("Color of curves in graphs");
2926}
2927
2928////////////////////////////////////////////////////////////////////////////////
2929/// Add the 'Draw Border' check button to the 'Histos - Graphs' tab.
2930
2932{
2933 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 10, 21, 5, 5);
2935
2938 fDrawBorder = AddCheckButton(h, "Draw Border (for Filled Function)", kGraphsDrawBorder);
2939 f->AddFrame(h, layout);
2940
2941 fDrawBorder->SetToolTipText("Show / Hide the border of filled functions");
2942}
2943
2944////////////////////////////////////////////////////////////////////////////////
2945/// Add the 'Errors' group frame to the 'Histos - Graphs' tab.
2946
2948{
2949 TGGroupFrame *gf = new TGGroupFrame(f, "Errors");
2952 "End error size:", 0, 4, TGNumberFormat::kNESRealOne,
2955 fErrorX = AddNumberEntry(gf, 0, 0, 0, kGraphsErrorX, "Error X (% of bin):",
2959 f->AddFrame(gf, fLayoutExpandXMargin);
2960
2961 fEndErrorSize->GetNumberEntry()->SetToolTipText("Size of lines drawn at the end of error bars");
2962 fErrorX->GetNumberEntry()->SetToolTipText("Percent of the bin width to use for errors along X");
2963}
2964
2965////////////////////////////////////////////////////////////////////////////////
2966/// Add the tab 'Axis' to the editor.
2967
2969{
2971 new TGLayoutHints(kLHintsNormal, 10, 13, 3);
2973
2976
2979 fStripDecimals = AddCheckButton(h3, "Decimal labels' part", kAxisStripDecimals, 0, 8);
2980 TGVerticalFrame *space = new TGVerticalFrame(h3);
2981 fTrashListFrame->AddFirst(space);
2982 h3->AddFrame(space, fLayoutExpandXY);
2983 fApplyOnXYZ = AddTextButton(h3, "Apply on XYZ", kAxisApplyOnXYZ);
2984 h->AddFrame(h3, layout);
2985
2986 TGGroupFrame *gf = new TGGroupFrame(h, "Date/Time Offset");
2998 gf->AddFrame(h2, fLayoutExpandX);
2999 h->AddFrame(gf, fLayoutExpandXMargin);
3000 tab->AddFrame(h, fLayoutExpandX);
3001
3002 fAxisTab = new TGTab(tab);
3003 fAxisTab->Associate(this);
3004 CreateTabAxisX(fAxisTab->AddTab("X axis"));
3005 CreateTabAxisY(fAxisTab->AddTab("Y axis"));
3006 CreateTabAxisZ(fAxisTab->AddTab("Z axis"));
3007 tab->AddFrame(fAxisTab, fLayoutExpandXY);
3008
3009 fStripDecimals->SetToolTipText("Draw / Hide the decimal part of labels");
3010 fApplyOnXYZ->SetToolTipText("Apply settings of the currently selected axis on XYZ");
3011 fTimeOffsetDate->GetNumberEntry()->SetToolTipText("Date offset for axis (dd/mm/yyyy)");
3012 fTimeOffsetTime->GetNumberEntry()->SetToolTipText("Time offset for axis (hh/mm/ss)");
3013}
3014
3015////////////////////////////////////////////////////////////////////////////////
3016/// Add the sub-tab 'X Axis' to the tab 'Axis'.
3017
3032
3033////////////////////////////////////////////////////////////////////////////////
3034/// Add the 'Line' group frame to the 'Axis - X Axis' tab.
3035
3037{
3040
3041 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
3048 fXTickLength = AddNumberEntry(h2, 3, 8, 0, kAxisXTickLength, "Ticks:",
3052 h->AddFrame(h2, layout);
3053 gf->AddFrame(h, fLayoutExpandX);
3054 fOptLogx = AddCheckButton(gf, "Logarithmic scale", kAxisOptLogx);
3055 f->AddFrame(gf, fLayoutExpandXYMargin);
3056
3057// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3058// fXAxisColor->SetToolTipText("Color of axis' line");
3059 fXTickLength->GetNumberEntry()->SetToolTipText("Set the ticks' length");
3060 fOptLogx->SetToolTipText("Draw logarithmic scale");
3061}
3062
3063////////////////////////////////////////////////////////////////////////////////
3064/// Add the 'Title' group frame to the 'Axis - X Axis' tab.
3065
3067{
3068 TGGroupFrame *gf = new TGGroupFrame(f, "Title");
3074 gf->AddFrame(h1, fLayoutExpandX);
3078 fXTitleSize = AddNumberEntry(h2, 21, 8, 0, kAxisXTitleSize, "Size:", 0, 5,
3082 gf->AddFrame(h2, fLayoutExpandX);
3083 fXTitleOffset = AddNumberEntry(gf, 68, 8, 0, kAxisXTitleOffset, "Offset:",
3087 f->AddFrame(gf, fLayoutExpandXMargin);
3088
3089// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3090// fXTitleColor->SetToolTipText("Color of axis' title");
3091 fXTitleSizeInPixels->SetToolTipText("Set the title size in pixels if selected, otherwise - in % of pad");
3092 fXTitleSize->GetNumberEntry()->SetToolTipText("Title size (in pixels or in % of pad)");
3093 fXTitleOffset->GetNumberEntry()->SetToolTipText("Offset between axis and title");
3094}
3095
3096////////////////////////////////////////////////////////////////////////////////
3097/// Add the 'Divisions' group frame to the 'Axis - X Axis' tab.
3098
3100{
3101 TGGroupFrame *gf = new TGGroupFrame(f, "Divisions");
3103
3110 fXNdivSub = AddNumberEntry(h1, 0, 18, 0, kAxisXNdivSub, "",
3114 fXNdivMain = AddNumberEntry(h1, 0, 18, 0, kAxisXNdivMain, "",
3118 gf->AddFrame(h1, fLayoutExpandX);
3119
3123 gf->AddFrame(h2, fLayoutExpandX);
3124 f->AddFrame(gf, fLayoutExpandXMargin);
3125
3126 fXNdivMain->GetNumberEntry()->SetToolTipText("Primary axis divisions");
3127 fXNdivSub->GetNumberEntry()->SetToolTipText("Secondary axis divisions");
3128 fXNdivSubSub->GetNumberEntry()->SetToolTipText("Tertiary axis divisions");
3129 fXNdivisionsOptimize->SetToolTipText("Optimize the number of axis divisions if selected");
3130}
3131
3132////////////////////////////////////////////////////////////////////////////////
3133/// Add the 'Labels' group frame to the 'Axis - X Axis' tab.
3134
3136{
3137 TGGroupFrame *gf = new TGGroupFrame(f, "Labels");
3143 gf->AddFrame(h1, fLayoutExpandX);
3147 fXLabelSize = AddNumberEntry(h2, 22, 8, 0, kAxisXLabelSize, "Size:", 0, 5,
3151 gf->AddFrame(h2, fLayoutExpandX);
3152 fXLabelOffset = AddNumberEntry(gf, 69, 8, 0, kAxisXTitleOffset, "Offset:",
3156 f->AddFrame(gf, fLayoutExpandXMargin);
3157
3158// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3159// fXLabelColor->SetToolTipText("Color of axis' labels");
3160 fXLabelSizeInPixels->SetToolTipText("Set the labels size in pixels if selected, otherwise - in % of pad");
3161 fXLabelSize->GetNumberEntry()->SetToolTipText("Label size (in pixels or in % of pad)");
3162 fXLabelOffset->GetNumberEntry()->SetToolTipText("Offset between axis and labels");
3163}
3164
3165////////////////////////////////////////////////////////////////////////////////
3166/// Add the sub-tab 'Y Axis' to the tab 'Axis'.
3167
3182
3183////////////////////////////////////////////////////////////////////////////////
3184/// Add the 'Line' group frame to the 'Axis - Y Axis' tab.
3185
3187{
3190
3191 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
3198 fYTickLength = AddNumberEntry(h2, 3, 8, 0, kAxisYTickLength, "Ticks:",
3202 h->AddFrame(h2, layout);
3203 gf->AddFrame(h, fLayoutExpandX);
3204 fOptLogy = AddCheckButton(gf, "Logarithmic scale", kAxisOptLogy);
3205 f->AddFrame(gf, fLayoutExpandXYMargin);
3206
3207// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3208// fYAxisColor->SetToolTipText("Color of axis' line");
3209 fYTickLength->GetNumberEntry()->SetToolTipText("Set the ticks' length");
3210 fOptLogy->SetToolTipText("Draw logarithmic scale");
3211}
3212
3213////////////////////////////////////////////////////////////////////////////////
3214/// Add the 'Title' group frame to the 'Axis - Y Axis' tab.
3215
3217{
3218 TGGroupFrame *gf = new TGGroupFrame(f, "Title");
3224 gf->AddFrame(h1, fLayoutExpandX);
3228 fYTitleSize = AddNumberEntry(h2, 21, 8, 0, kAxisYTitleSize, "Size:", 0, 5,
3232 gf->AddFrame(h2, fLayoutExpandX);
3233 fYTitleOffset = AddNumberEntry(gf, 68, 8, 0, kAxisYTitleOffset, "Offset:",
3237 f->AddFrame(gf, fLayoutExpandXMargin);
3238
3239// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3240// fYTitleColor->SetToolTipText("Color of axis' title");
3241 fYTitleSizeInPixels->SetToolTipText("Set the title size in pixels if selected, otherwise - in % of pad");
3242 fYTitleSize->GetNumberEntry()->SetToolTipText("Title size (in pixels or in % of pad)");
3243 fYTitleOffset->GetNumberEntry()->SetToolTipText("Offset between axis and title");
3244}
3245
3246////////////////////////////////////////////////////////////////////////////////
3247/// Add the 'Divisions' group frame to the 'Axis - Y Axis' tab.
3248
3250{
3251 TGGroupFrame *gf = new TGGroupFrame(f, "Divisions");
3259 fYNdivSub = AddNumberEntry(h1, 0, 18, 0, kAxisYNdivSub, "",
3263 fYNdivMain = AddNumberEntry(h1, 0, 18, 0, kAxisYNdivMain, "",
3267 gf->AddFrame(h1, fLayoutExpandX);
3268
3272 gf->AddFrame(h2, fLayoutExpandX);
3273 f->AddFrame(gf, fLayoutExpandXMargin);
3274
3275 fYNdivMain->GetNumberEntry()->SetToolTipText("Primary axis divisions");
3276 fYNdivSub->GetNumberEntry()->SetToolTipText("Secondary axis divisions");
3277 fYNdivSubSub->GetNumberEntry()->SetToolTipText("Tertiary axis divisions");
3278 fYNdivisionsOptimize->SetToolTipText("Optimize the number of axis divisions");
3279}
3280
3281////////////////////////////////////////////////////////////////////////////////
3282/// Add the 'Labels' group frame to the 'Axis - Y Axis' tab.
3283
3285{
3286 TGGroupFrame *gf = new TGGroupFrame(f, "Labels");
3292 gf->AddFrame(h1, fLayoutExpandX);
3293
3297 fYLabelSize = AddNumberEntry(h2, 22, 8, 0, kAxisYLabelSize, "Size:", 0, 5,
3301 gf->AddFrame(h2, fLayoutExpandX);
3302 fYLabelOffset = AddNumberEntry(gf, 69, 8, 0, kAxisYTitleOffset, "Offset:",
3306 f->AddFrame(gf, fLayoutExpandXMargin);
3307
3308// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3309// fYLabelColor->SetToolTipText("Color of axis' labels");
3310 fYLabelSizeInPixels->SetToolTipText("Set the labels size in pixels if selected, otherwise - in % of pad");
3311 fYLabelSize->GetNumberEntry()->SetToolTipText("Label size (in pixels or in % of pad)");
3312 fYLabelOffset->GetNumberEntry()->SetToolTipText("Offset between axis and labels");
3313}
3314
3315////////////////////////////////////////////////////////////////////////////////
3316/// Add the sub-tab 'Z Axis' to the tab 'Axis'.
3317
3332
3333////////////////////////////////////////////////////////////////////////////////
3334/// Add the 'Line' group frame to the 'Axis - Z Axis' tab.
3335
3337{
3340
3341 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
3348 fZTickLength = AddNumberEntry(h2, 3, 8, 0, kAxisZTickLength, "Ticks:",
3352 h->AddFrame(h2, layout);
3353 gf->AddFrame(h, fLayoutExpandX);
3354 fOptLogz = AddCheckButton(gf, "Logarithmic scale", kAxisOptLogz);
3355 f->AddFrame(gf, fLayoutExpandXYMargin);
3356
3357// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3358// fZAxisColor->SetToolTipText("Color of axis' line");
3359 fZTickLength->GetNumberEntry()->SetToolTipText("Set the ticks' length");
3360 fOptLogz->SetToolTipText("Draw logarithmic scale");
3361}
3362
3363////////////////////////////////////////////////////////////////////////////////
3364/// Add the 'Title' group frame to the 'Axis - Z Axis' tab.
3365
3367{
3368 TGGroupFrame *gf = new TGGroupFrame(f, "Title");
3374 gf->AddFrame(h1, fLayoutExpandX);
3375
3379 fZTitleSize = AddNumberEntry(h2, 21, 8, 0, kAxisZTitleSize, "Size:", 0, 5,
3383 gf->AddFrame(h2, fLayoutExpandX);
3384 fZTitleOffset = AddNumberEntry(gf, 68, 8, 0, kAxisZTitleOffset, "Offset:",
3388 f->AddFrame(gf, fLayoutExpandXMargin);
3389
3390// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3391// fZTitleColor->SetToolTipText("Color of axis' title");
3392 fZTitleSizeInPixels->SetToolTipText("Set the title size in pixels if selected, otherwise - in % of pad");
3393 fZTitleSize->GetNumberEntry()->SetToolTipText("Title size (in pixels or in % of pad)");
3394 fZTitleOffset->GetNumberEntry()->SetToolTipText("Offset between axis and title");
3395}
3396
3397////////////////////////////////////////////////////////////////////////////////
3398/// Add the 'Divisions' group frame to the 'Axis - Z Axis' tab.
3399
3401{
3402 TGGroupFrame *gf = new TGGroupFrame(f, "Divisions");
3410 fZNdivSub = AddNumberEntry(h1, 0, 18, 0, kAxisZNdivSub, "",
3414 fZNdivMain = AddNumberEntry(h1, 0, 18, 0, kAxisZNdivMain, "",
3418 gf->AddFrame(h1, fLayoutExpandX);
3419
3423 gf->AddFrame(h2, fLayoutExpandX);
3424 f->AddFrame(gf, fLayoutExpandXMargin);
3425
3426 fZNdivMain->GetNumberEntry()->SetToolTipText("Primary axis divisions");
3427 fZNdivSub->GetNumberEntry()->SetToolTipText("Secondary axis divisions");
3428 fZNdivSubSub->GetNumberEntry()->SetToolTipText("Tertiary axis divisions");
3429 fZNdivisionsOptimize->SetToolTipText("Optimize the number of axis divisions");
3430}
3431
3432////////////////////////////////////////////////////////////////////////////////
3433/// Add the 'Labels' group frame to the 'Axis - Z Axis' tab.
3434
3436{
3437 TGGroupFrame *gf = new TGGroupFrame(f, "Labels");
3443 gf->AddFrame(h1, fLayoutExpandX);
3444
3448 fZLabelSize = AddNumberEntry(h2, 22, 8, 0, kAxisZLabelSize, "Size:", 0, 5,
3452 gf->AddFrame(h2, fLayoutExpandX);
3453 fZLabelOffset = AddNumberEntry(gf, 69, 8, 0, kAxisZTitleOffset, "Offset:",
3457 f->AddFrame(gf, fLayoutExpandXMargin);
3458
3459// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3460// fZLabelColor->SetToolTipText("Color of axis' labels");
3461 fZLabelSizeInPixels->SetToolTipText("Set the labels size in pixels if selected, otherwise - in % of pad");
3462 fZLabelSize->GetNumberEntry()->SetToolTipText("Label size (in pixels or in % of pad)");
3463 fZLabelOffset->GetNumberEntry()->SetToolTipText("Offset between axis and labels");
3464}
3465
3466////////////////////////////////////////////////////////////////////////////////
3467/// Add the tab 'Title' to the editor.
3468
3470{
3471 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 10, 20, 5, 5);
3473
3476 fOptTitle = AddCheckButton(h1, "Show title", kTitleOptTitle);
3477 tab->AddFrame(h1, layout);
3478
3485 h2->AddFrame(v1, fLayoutExpandXY);
3490 h2->AddFrame(v2, fLayoutExpandXY);
3491 tab->AddFrame(h2, fLayoutExpandX);
3492
3493 fOptTitle->SetToolTipText("Show / Hide the title pave");
3494}
3495
3496////////////////////////////////////////////////////////////////////////////////
3497/// Add the 'Fill' group frame to the 'Title' tab.
3498
3500{
3501 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
3507 gf->AddFrame(h1, fLayoutExpandX);
3508 f->AddFrame(gf, fLayoutExpandXMargin);
3509
3510// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3511// fTitleColor->SetToolTipText("Color used to fill the title pave");
3512// fTitleStyle->SetToolTipText("Pattern used to fill the title pave");
3513}
3514
3515////////////////////////////////////////////////////////////////////////////////
3516/// Add the 'Shadow' group frame to the 'Title' tab.
3517
3544
3545////////////////////////////////////////////////////////////////////////////////
3546/// Add the 'Text' group frame to the 'Title' tab.
3547
3549{
3550 TGGroupFrame *gf = new TGGroupFrame(f, "Text");
3556 gf->AddFrame(h1, fLayoutExpandX);
3561 fTitleFontSize = AddNumberEntry(h2, 21, 10, 0, kTitleFontSize, "Size:", 0, 5,
3565 gf->AddFrame(h2, fLayoutExpandX);
3566 f->AddFrame(gf, fLayoutExpandXYMargin);
3567
3568// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3569// fTitleTextColor->SetToolTipText("Color of the title's text");
3570 fTitleFontSizeInPixels->SetToolTipText("Set the title's text size in pixels if selected, otherwise - in % of pad");
3571 fTitleFontSize->GetNumberEntry()->SetToolTipText("Title's text size (in pixels or in % of pad)");
3572}
3573
3574////////////////////////////////////////////////////////////////////////////////
3575/// Add the 'Geometry' group frame to the 'Title' tab.
3576
3578{
3579 TGGroupFrame *gf = new TGGroupFrame(f, "Geometry (% of Pad)");
3583 fTitleX = AddNumberEntry(h1, 0, 8, 0, kTitleX, "X:",
3587 fTitleY = AddNumberEntry(h1, 8, 8, 0, kTitleY, "Y:",
3591 gf->AddFrame(h1, fLayoutExpandXY);
3594 fTitleW = AddNumberEntry(h2, 0, 6, 0, kTitleW, "W:",
3598 fTitleH = AddNumberEntry(h2, 8, 8, 0, kTitleH, "H:",
3602 gf->AddFrame(h2, fLayoutExpandXY);
3603 f->AddFrame(gf, fLayoutExpandXYMargin);
3604
3605 fTitleX->GetNumberEntry()->SetToolTipText("Title' default abscissa");
3606 fTitleY->GetNumberEntry()->SetToolTipText("Title' default ordinate");
3607 fTitleW->GetNumberEntry()->SetToolTipText("Title' default width");
3608 fTitleH->GetNumberEntry()->SetToolTipText("Title' default height");
3609}
3610
3611////////////////////////////////////////////////////////////////////////////////
3612/// Add the tab 'Stats' to the editor.
3613
3645
3646////////////////////////////////////////////////////////////////////////////////
3647/// Add the 'Fill' group frame to the 'Stats' tab.
3648
3650{
3651 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
3657 gf->AddFrame(h, fLayoutExpandX);
3658 f->AddFrame(gf, fLayoutExpandXMargin);
3659
3660// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3661// fStatColor->SetToolTipText("Color used to fill the stats pave");
3662// fStatStyle->SetToolTipText("Pattern used to fill the stats pave");
3663}
3664
3665////////////////////////////////////////////////////////////////////////////////
3666/// Add the 'Text' group frame to the 'Stats' tab.
3667
3669{
3670 TGGroupFrame *gf = new TGGroupFrame(f, "Text");
3676 gf->AddFrame(h1, fLayoutExpandX);
3680 fStatFontSize = AddNumberEntry(h2, 21, 10, 0, kStatFontSize, "Size:", 0, 5,
3684 gf->AddFrame(h2, fLayoutExpandX);
3685 f->AddFrame(gf, fLayoutExpandXYMargin);
3686
3687// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3688// fStatTextColor->SetToolTipText("Color of the stats's text");
3689 fStatFontSizeInPixels->SetToolTipText("Set the stats's text size in pixels if selected, otherwise - in % of pad");
3690 fStatFontSize->GetNumberEntry()->SetToolTipText("Stats's text size (in pixels or in % of pad)");
3691}
3692
3693////////////////////////////////////////////////////////////////////////////////
3694/// Add the 'Geometry' group frame to the 'Stats' tab.
3695
3697{
3698 TGGroupFrame *gf = new TGGroupFrame(f, "Geometry");
3700
3703 fStatX = AddNumberEntry(h1, 0, 7, 0, kStatX, "X:",
3707 fStatY = AddNumberEntry(h1, 8, 7, 0, kStatY, "Y:",
3711 gf->AddFrame(h1, fLayoutExpandXY);
3712
3715 fStatW = AddNumberEntry(h2, 0, 5, 0, kStatW, "W:",
3719 fStatH = AddNumberEntry(h2, 8, 7, 0, kStatH, "H:",
3723 gf->AddFrame(h2, fLayoutExpandXY);
3724 f->AddFrame(gf, fLayoutExpandXYMargin);
3725
3726 fStatX->GetNumberEntry()->SetToolTipText("X position of top right corner of stat box.");
3727 fStatY->GetNumberEntry()->SetToolTipText("Y position of top right corner of stat box.");
3728 fStatW->GetNumberEntry()->SetToolTipText("Width of stat box.");
3729 fStatH->GetNumberEntry()->SetToolTipText("Height of stat box.");
3730}
3731
3732////////////////////////////////////////////////////////////////////////////////
3733/// Add the 'Stat Options' group frame to the 'Stats' tab.
3734
3736{
3739
3740 TGGroupFrame *gf = new TGGroupFrame(f, "Stat Options");
3751 h->AddFrame(v1, fLayoutExpandXY);
3759 h->AddFrame(v2, fLayoutExpandXY);
3760 gf->AddFrame(h, fLayoutExpandX);
3761
3766 fStatFormatLabel = new TGLabel(h3, "Paint format:");
3767 h3->AddFrame(fStatFormatLabel, layout);
3768 h2->AddFrame(h3, fLayoutExpandX);
3770 gf->AddFrame(h2, fLayoutExpandX);
3771 f->AddFrame(gf, fLayoutExpandXYMargin);
3772
3773 fOptStatName->SetToolTipText("Show / Hide the histogram name");
3774 fOptStatOverflow->SetToolTipText("Show / Hide the number of overflows");
3775 fOptStatUnderflow->SetToolTipText("Show / Hide the number of underflows");
3776 fOptStatSkewness->SetToolTipText("Show / Hide the skewness");
3777 fOptStatKurtosis->SetToolTipText("Show / Hide the kurtosis");
3778 fOptStatEntries->SetToolTipText("Show / Hide the number of entries");
3779 fOptStatMean->SetToolTipText("Show / Hide the mean value");
3780 fOptStatRMS->SetToolTipText("Show / Hide root-mean-square (RMS)");
3781 fOptStatIntegral->SetToolTipText("Show / Hide the integral of bins");
3782 fOptStatErrors->SetToolTipText("Show / Hide the errors");
3783 fStatFormat->SetToolTipText("Paint format of stat options");
3784}
3785
3786////////////////////////////////////////////////////////////////////////////////
3787/// Add the 'Fit Options' group frame to the 'Stats' tab.
3788
3790{
3793
3794 TGGroupFrame *gf = new TGGroupFrame(f, "Fit Options");
3801 fOptFitProbability = AddCheckButton(v1, "Probability",
3803 h->AddFrame(v1, fLayoutExpandXY);
3808 h->AddFrame(v2, fLayoutExpandXY);
3809 gf->AddFrame(h, fLayoutExpandX);
3814 fFitFormatLabel = new TGLabel(h3, "Paint format:");
3815 h3->AddFrame(fFitFormatLabel, layout);
3816 h2->AddFrame(h3, fLayoutExpandX);
3818 gf->AddFrame(h2, fLayoutExpandX);
3819 f->AddFrame(gf, fLayoutExpandXMargin);
3820
3821 fOptFitValues->SetToolTipText("Show / Hide the parameter name and value");
3822 fOptFitProbability->SetToolTipText("Show / Hide probability)");
3823 fOptFitErrors->SetToolTipText("Show / Hide the errors");
3824 fOptFitChi->SetToolTipText("Show / Hide Chisquare");
3825 fFitFormat->SetToolTipText("Paint format of fit options");
3826}
3827
3828////////////////////////////////////////////////////////////////////////////////
3829/// Add the tab 'PS / PDF' to the editor.
3830
3845
3846////////////////////////////////////////////////////////////////////////////////
3847/// Add the 'Header' group frame to the 'PS / PDF' tab.
3848
3850{
3851 TGGroupFrame *gf = new TGGroupFrame(f, "Header");
3854 f->AddFrame(gf, fLayoutExpandXMargin);
3855
3856 fHeaderPS->SetToolTipText("PostScript header");
3857}
3858
3859////////////////////////////////////////////////////////////////////////////////
3860/// Add the 'Title' group frame to the 'PS / PDF' tab.
3861
3863{
3864 TGGroupFrame *gf = new TGGroupFrame(f, "Title");
3867 f->AddFrame(gf, fLayoutExpandXMargin);
3868
3869 fTitlePS->SetToolTipText("PostScript title");
3870}
3871
3872////////////////////////////////////////////////////////////////////////////////
3873/// Add the 'Color Model' group frame to the 'PS / PDF' tab.
3874
3893
3894////////////////////////////////////////////////////////////////////////////////
3895/// Add the 'Paper Size' group frame to the 'PS / PDF' tab.
3896
3915
3916////////////////////////////////////////////////////////////////////////////////
3917/// Add the 'Line scale' number entry to the 'PS / PDF' tab.
3918
3920{
3921 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 10, 20, 5, 5);
3923
3926 fLineScalePS = AddNumberEntry(gf, 0, 0, 0, kPSPDFLineScalePS, "Line scale:",
3930 f->AddFrame(gf, layout);
3931
3932 fLineScalePS->GetNumberEntry()->SetToolTipText("Line scale factor when drawing lines on PostScript");
3933}
3934
3935////////////////////////////////////////////////////////////////////////////////
3936/// Add a title to the frame f.
3937
3939{
3944
3947
3948 TGLabel *lab = new TGLabel(h, s);
3950 h->AddFrame(lab);
3951
3954 h->AddFrame(line, layout1);
3955
3956 f->AddFrame(h, layout2);
3957}
3958
3959////////////////////////////////////////////////////////////////////////////////
3960/// Add a color entry to the frame f.
3961
3963{
3964 TGLayoutHints *layout = new TGLayoutHints(kLHintsBottom, 0, 5, 3, 3);
3966
3967 TGColorSelect *cs = new TGColorSelect(f, 0, id);
3968 cs->Associate(this);
3969 f->AddFrame(cs, layout);
3970 return cs;
3971}
3972
3973////////////////////////////////////////////////////////////////////////////////
3974/// Add a fill style entry to the frame f.
3975
3977 Int_t id)
3978{
3979 TGLayoutHints *layout = new TGLayoutHints(kLHintsBottom, 0, 0, 3, 3);
3981
3983 gps->Associate(this);
3984 f->AddFrame(gps, layout);
3985 return gps;
3986}
3987
3988////////////////////////////////////////////////////////////////////////////////
3989/// Add a marker style entry to the frame f.
3990
3992 Int_t id)
3993{
3996
3997 TGedMarkerSelect *gms = new TGedMarkerSelect(f, 0, id);
3998 gms->Associate(this);
3999 f->AddFrame(gms, layout);
4000 return gms;
4001}
4002
4003////////////////////////////////////////////////////////////////////////////////
4004/// Add a marker size entry to the frame f.
4005
4007{
4008 char a[10];
4009 TGComboBox *cb = new TGComboBox(f, id);
4010 cb->Associate(this);
4011 for (Int_t i = 1; i <= 15; i++) {
4012 snprintf(a, 10, "%.1f", 0.2 * i);
4013 cb->AddEntry(a, i);
4014 }
4015 cb->Resize(1, 22);
4016 f->AddFrame(cb, fLayoutExpandXCenterYMargin);
4017 return cb;
4018}
4019
4020////////////////////////////////////////////////////////////////////////////////
4021/// Add a number entry to the frame f. A caption can be added.
4022
4024 Int_t e2, Int_t e3, Int_t id, const char *s, Double_t init, Int_t digits,
4027{
4030 if (strlen(s)) {
4031 TGLabel *lab = new TGLabel(h, s);
4035 h->AddFrame(lab, layout);
4036 }
4037 TGNumberEntry *ne = new TGNumberEntry(h, init, digits, id,
4038 nfS, nfA, nfL, min, max);
4039 ne->Associate(this);
4040 if ((e1 == 0) && (e2 == 0) && (e3 == 0)) {
4043 h->AddFrame(ne, layout1);
4044 } else {
4047 h->AddFrame(ne, layout2);
4048 }
4049 if (strlen(s)) {
4051 new TGLayoutHints(kLHintsExpandX | kLHintsCenterY, 0, 2, 3, 3);
4053 f->AddFrame(h, layout3);
4054 } else {
4056 new TGLayoutHints(kLHintsNormal | kLHintsCenterY, 0, 2, 3, 3);
4058 f->AddFrame(h, layout4);
4059 }
4060 return ne;
4061}
4062
4063////////////////////////////////////////////////////////////////////////////////
4064/// Add a line width entry to the frame f.
4065
4067 Int_t id)
4068{
4071
4075 lwcb->Associate(this);
4076 lwcb->Resize(1, 22);
4077 h->AddFrame(lwcb, fLayoutExpandX);
4078 f->AddFrame(h, layout);
4079 return lwcb;
4080}
4081
4082////////////////////////////////////////////////////////////////////////////////
4083/// Add a line style entry to the frame f.
4084
4086 Int_t id)
4087{
4089 lscb->Associate(this);
4090 lscb->Resize(1, 22);
4092 return lscb;
4093}
4094
4095////////////////////////////////////////////////////////////////////////////////
4096/// Add a text button to the frame f.
4097
4099 const char *s, Int_t id)
4100{
4103
4104 TGTextButton *tb = new TGTextButton(f, s, id);
4105 tb->Associate(this);
4106 f->AddFrame(tb, layout);
4107 return tb;
4108}
4109
4110////////////////////////////////////////////////////////////////////////////////
4111/// Add a font type combo box to the frame f.
4112
4114 Int_t id)
4115{
4117 ftcb->Associate(this);
4118 ftcb->Resize(1, 22);
4120 return ftcb;
4121}
4122
4123////////////////////////////////////////////////////////////////////////////////
4124/// Add a text align combo box to the frame f.
4125
4127{
4128 TGComboBox *cb = new TGComboBox(f, id);
4129 cb->Associate(this);
4130 cb->AddEntry("11 Bottom, Left", 11);
4131 cb->AddEntry("21 Bottom, Middle", 21);
4132 cb->AddEntry("31 Bottom, Right", 31);
4133 cb->AddEntry("12 Middle, Left", 12);
4134 cb->AddEntry("22 Middle, Middle", 22);
4135 cb->AddEntry("32 Middle, Right", 32);
4136 cb->AddEntry("13 Top, Left", 13);
4137 cb->AddEntry("23 Top, Middle", 23);
4138 cb->AddEntry("33 Top, Right", 33);
4139 cb->Resize(1, 22);
4140 f->AddFrame(cb, fLayoutExpandXCenterYMargin);
4141 return cb;
4142}
4143
4144////////////////////////////////////////////////////////////////////////////////
4145/// Add a border mode button group to the frame f.
4146
4149{
4150 TGButtonGroup *bg = new TGButtonGroup(f, "Border");
4151 TGRadioButton *sunk = new TGRadioButton(bg, "Sunken", id1);
4152 sunk->Associate(this);
4154 TGRadioButton *none = new TGRadioButton(bg, "None" , id2);
4155 none->Associate(this);
4157 TGRadioButton *rais = new TGRadioButton(bg, "Raised", id3);
4158 rais->Associate(this);
4160 bg->Show();
4161 f->AddFrame(bg, fLayoutExpandXYMargin);
4162 return bg;
4163}
4164
4165////////////////////////////////////////////////////////////////////////////////
4166/// Add a date format combo box to the frame f.
4167
4169{
4170 TGComboBox *cb = new TGComboBox(f, id);
4171 cb->Associate(this);
4172 cb->AddEntry("Wed Sep 25 17:10:35 2002", 1);
4173 cb->AddEntry("2002-09-25", 2);
4174 cb->AddEntry("2002-09-25 17:10:35", 3);
4175 cb->Resize(1, 22);
4176 cb->GetListBox()->Resize(cb->GetListBox()->GetDefaultSize().fWidth, 55);
4177 f->AddFrame(cb, fLayoutExpandXCenterYMargin);
4178 return cb;
4179}
4180
4181////////////////////////////////////////////////////////////////////////////////
4182/// Add a check button to the frame f.
4183
4185 Int_t id, Int_t e1, Int_t e2)
4186{
4189
4192 TGCheckButton *cb = new TGCheckButton(h, s, id);
4193 cb->Associate(this);
4194 h->AddFrame(cb, layout);
4195 f->AddFrame(h);
4196 return cb;
4197}
4198
4199////////////////////////////////////////////////////////////////////////////////
4200/// Add a text entry to the frame f. A caption can be added.
4201
4203 const char *s, Int_t id)
4204{
4207 if (strlen(s)) {
4208 TGLabel *lab = new TGLabel(h, s);
4212 h->AddFrame(lab, layout1);
4213 }
4214 TGTextEntry *te = new TGTextEntry(h, "", id);
4215 te->Associate(this);
4216 te->Resize(57, 22);
4217 if (strlen(s)) {
4220 h->AddFrame(te, layout2);
4221 } else
4222 h->AddFrame(te, fLayoutExpandX);
4224 new TGLayoutHints(kLHintsExpandX | kLHintsCenterY, 0, 2, 3, 3);
4226 f->AddFrame(h, layout3);
4227 return te;
4228}
4229
4230////////////////////////////////////////////////////////////////////////////////
4231/// Add a prefered paper size combo box to the frame f.
4232
4234{
4235 TGComboBox *cb = new TGComboBox(f, id);
4236 cb->Associate(this);
4237 cb->AddEntry("Custom size (cm)", 1);
4238 cb->AddEntry("Custom size (inch)", 2);
4239 cb->AddEntry("A4 (cm)", 3);
4240 cb->AddEntry("US Letter (inch)", 4);
4241 cb->AddEntry("US Letter (cm)", 4);
4242 cb->Resize(1, 22);
4243 cb->GetListBox()->Resize(cb->GetListBox()->GetDefaultSize().fWidth, 70);
4244 f->AddFrame(cb, fLayoutExpandXCenterYMargin);
4245 return cb;
4246}
4247
4248////////////////////////////////////////////////////////////////////////////////
4249/// Slot called when an item of the menu is selected.
4250
4252{
4253 switch (menuID) {
4254 case kMenuNew: DoNew(); break;
4255 case kMenuDelete: DoDelete(); break;
4256 case kMenuRename: DoRename(); break;
4257 case kMenuImportCanvas: DoImportCanvas(); break;
4258 case kMenuImportMacro: DoImportMacro(kTRUE); break;
4259 case kMenuExport: DoExport(); break;
4260 case kMenuExit: DoExit(); break;
4261 case kMenuHelp: DoHelp(42); break;
4262 case kMenuHelpEditor: DoHelp(fCurTabNum); break;
4263 case kMenuHelpGeneral: DoHelp(0); break;
4264 case kMenuHelpCanvas: DoHelp(1); break;
4265 case kMenuHelpPad: DoHelp(2); break;
4266 case kMenuHelpHistos: DoHelp(3); break;
4267 case kMenuHelpAxis: DoHelp(4); break;
4268 case kMenuHelpTitle: DoHelp(5); break;
4269 case kMenuHelpStats: DoHelp(6); break;
4270 case kMenuHelpPSPDF: DoHelp(7); break;
4271 }
4272}
4273
4274////////////////////////////////////////////////////////////////////////////////
4275/// Slot called to import a style from a C++ macro file. If create=kTRUE,
4276/// a new style is created. Otherwise, the current style is reseted.
4277
4279{
4280 // Import a style from a macro.
4281 // If create = kTRUE, a new style is created.
4282 // Otherwise, the selected style is:
4283 // - reseted with the macro's values.
4284 // - recreated (if it is one of the 5 basic styles).
4285
4286 if ((!create) && (!strcmp(fCurSelStyle->GetName(), "Default"))) {
4288 gStyle->Reset("Default");
4289 else {
4290 delete gROOT->GetStyle("Default");
4291 new TStyle("Default", "Default Style");
4292 }
4293 } else if ((!create) && (!strcmp(fCurSelStyle->GetName(), "Plain"))) {
4295 gStyle->Reset("Plain");
4296 else {
4297 delete gROOT->GetStyle("Plain");
4298 new TStyle("Plain", "Plain Style (no colors/fill areas)");
4299 }
4300 } else if ((!create) && (!strcmp(fCurSelStyle->GetName(), "Bold"))) {
4302 gStyle->Reset("Bold");
4303 else {
4304 delete gROOT->GetStyle("Bold");
4305 new TStyle("Bold", "Bold Style");
4306 }
4307 } else if ((!create) && (!strcmp(fCurSelStyle->GetName(), "Video"))) {
4309 gStyle->Reset("Video");
4310 else {
4311 delete gROOT->GetStyle("Video");
4312 new TStyle("Video", "Style for video presentation histograms");
4313 }
4314 } else if ((!create) && (!strcmp(fCurSelStyle->GetName(), "Pub"))) {
4316 gStyle->Reset("Pub");
4317 else {
4318 delete gROOT->GetStyle("Pub");
4319 new TStyle("Pub", "Style for Publications");
4320 }
4321 } else {
4322 CreateMacro();
4323 if (!create) {
4325 newName.Form("Style_%s.C", fCurSelStyle->GetName());
4326 fCurMacro->SetFilename(newName.Data());
4327 }
4328 new TGFileDialog(gClient->GetRoot(), this, kFDOpen, fCurMacro);
4329 if (fCurMacro->fFilename) {
4330 gROOT->ProcessLine(Form(".x %s", fCurMacro->fFilename));
4332 }
4333 }
4334
4335 BuildList();
4336}
4337
4338////////////////////////////////////////////////////////////////////////////////
4339/// Slot called when the user select an item in the available styles' list.
4340/// Update the preview, the editor, the status bar. The current selected
4341/// style is changed.
4342
4344{
4345 // Select the new style and update the state of the style manager.
4347 GetSelectedEntry())->GetText()->GetString());
4348
4350
4351 // Update the status bar.
4353
4354 // Update the editor (if opened).
4355 if (fMoreAndNotLess) {
4359 }
4360
4361 // Update the preview, if it exists and is visible.
4364
4365 // Refresh the tooltip of the fMakeDefault's button.
4367 newTip.Form("'%s'", fCurSelStyle->GetName());
4368 newTip += " become current style";
4370
4371 // Refresh.
4374}
4375
4376////////////////////////////////////////////////////////////////////////////////
4377/// Slot called when the user click on the run time update check button.
4378/// If b=kTRUE, the user asks for a real time preview.
4379
4391
4392////////////////////////////////////////////////////////////////////////////////
4393/// Slot called when the user click on the preview check button. If b=kTRUE,
4394/// the user asks for a preview, otherwise they want to close it.
4395
4397{
4398 if (b) {
4400 if (fPreviewWindow) {
4403 } else {
4404 if (fCurPad && fCurObj) {
4405 TQObject::Disconnect("TCanvas", "Closed()");
4407 TQObject::Connect("TCanvas", "Closed()", "TStyleManager", this, "DoSelectNoCanvas()");
4408 }
4409 }
4410 if (fPreviewWindow)
4411 fPreviewWindow->Connect("CloseWindow()", "TStyleManager", this, "DoPreviewClosed()");
4413 if (fRealTimePreview) {
4416 } else {
4419 }
4420 } else DoPreviewClosed();
4421}
4422
4423////////////////////////////////////////////////////////////////////////////////
4424/// Slot called to close the preview, via the preview check button, or
4425/// when the preview window is closed via the window manager.
4426
4435
4436////////////////////////////////////////////////////////////////////////////////
4437/// Slot called to make the current selected style (in the ComboBox)
4438/// become gStyle.
4439
4441{
4442 gROOT->SetStyle(fCurSelStyle->GetName());
4444}
4445
4446////////////////////////////////////////////////////////////////////////////////
4447/// Slot called to choose on which object(s) the 'Apply' button will
4448/// have an effect.
4449
4454
4455////////////////////////////////////////////////////////////////////////////////
4456/// Slot called when the user clicks on the 'Apply' button. Apply the
4457/// current selected style to the specified object(s)
4458
4460{
4461 TStyle *tmp = gStyle;
4463
4464 if (fAllAndNotCurrent) {
4465 // Apply on all canvases, excluding the preview.
4466 TCanvas *tmpCanvas = (TCanvas *) (gROOT->GetListOfCanvases()->First());
4467 while (tmpCanvas) {
4469 tmpCanvas->UseCurrentStyle();
4470 tmpCanvas->Modified();
4471 tmpCanvas->Update();
4472 }
4473 tmpCanvas = (TCanvas *) (gROOT->GetListOfCanvases()->After(tmpCanvas));
4474 }
4475 } else
4476 if (fCurPad && fCurObj) {
4477 // Apply on selected object and refresh all canvases containing the object.
4479 TCanvas *tmpCanvas = (TCanvas *) (gROOT->GetListOfCanvases()->First());
4480 while (tmpCanvas) {
4482 && ((tmpCanvas == fCurObj) || tmpCanvas->FindObject(fCurObj))) {
4483 tmpCanvas->Modified();
4484 tmpCanvas->Update();
4485 }
4486 tmpCanvas = (TCanvas *) (gROOT->GetListOfCanvases()->After(tmpCanvas));
4487 }
4488 }
4489
4490 gStyle = tmp;
4491}
4492
4493////////////////////////////////////////////////////////////////////////////////
4494/// Slot called when the user try to show or hide the editor part of the
4495/// style manager.
4496
4498{
4500 if (fMoreAndNotLess) {
4501 // Redraw the tabs.
4506 fMoreLess->SetText("&Close <<");
4508
4509 // Update Editor's values.
4513 fMoreLess->SetToolTipText("Close the editor");
4514 } else {
4515 // Hide the tabs.
4519 fMoreLess->SetText("&Edit >>");
4522 fMoreLess->SetToolTipText("Open the editor");
4523 }
4524}
4525
4526////////////////////////////////////////////////////////////////////////////////
4527/// Slot called when the user clicks on the 'Update preview' button.
4528
4530{
4531 if ((!fCurPad) || (!fCurObj)) return;
4532
4533 if (fPreviewWindow) {
4534 TQObject::Disconnect("TCanvas", "Closed()");
4536 TQObject::Connect("TCanvas", "Closed()", "TStyleManager", this, "DoSelectNoCanvas()");
4537 }
4538}
4539
4540////////////////////////////////////////////////////////////////////////////////
4541/// Slot called when the user changes the current tab.
4542
4544{
4545 // Disconnect the signal/slots communication mechanism from the previous
4546 // tab and connect them onto the new one.
4548 fCurTabNum = i;
4551}
4552
4553////////////////////////////////////////////////////////////////////////////////
4554/// Slot called when the user changes the current axis tab.
4555
4560
4561////////////////////////////////////////////////////////////////////////////////
4562/// Slot called when the user close a TCanvas. Update the labels and the
4563/// pointers to the current pad and the current object.
4564
4582
4583////////////////////////////////////////////////////////////////////////////////
4584/// Slot called when the user clicks on a TCanvas or on any object inside
4585/// a TCanvas. Update the pointers to the current pad and the current object.
4586
4588{
4589 if (mouseButton != kButton2Down) return;
4590
4591 if (!pad || !obj) {
4593 return;
4594 }
4595
4596 // Disable the selection of the preview.
4597 if (fPreviewWindow && (pad->GetCanvas() == fPreviewWindow->GetMainCanvas()))
4598 return;
4599
4600 // Did the user select the same canvas as before ?
4601 Bool_t samePad = (fCurPad && (pad->GetCanvas() == fCurPad->GetCanvas()));
4602
4603 fCurPad = pad;
4604 fCurObj = obj;
4606
4607 if ((!samePad) && preview) DoPreview(kFALSE);
4608
4609 // Update the information' label about the selected objects.
4610 TString sPad;
4611 if (fCurPad->GetName() && strlen(fCurPad->GetName()))
4612 sPad.Append(fCurPad->GetName());
4613 else
4614 sPad.Append("[no name]");
4615 sPad.Append(" - '");
4616 if (fCurPad->GetTitle() && strlen(fCurPad->GetTitle()))
4617 sPad.Append(fCurPad->GetTitle());
4618 else
4619 sPad.Append("[no title]");
4620 sPad.Append("'::");
4621 sPad.Append(fCurPad->ClassName());
4623 TString sObj;
4624 if (strlen(fCurObj->GetName()))
4625 sObj.Append(fCurObj->GetName());
4626 else
4627 sObj.Append("[no name]");
4628 sObj.Append("::");
4629 sObj.Append(fCurObj->ClassName());
4631
4632 if (!samePad) {
4636 if (preview) {
4638 } else {
4642 }
4643 }
4644}
4645
4646////////////////////////////////////////////////////////////////////////////////
4647/// Slot called to close the style manager via the window manager.
4648
4650{
4651 Hide();
4652}
4653
4654////////////////////////////////////////////////////////////////////////////////
4655/// Slot called whenever the fill color is modified by the user.
4656
4662
4663////////////////////////////////////////////////////////////////////////////////
4664/// Slot called whenever the fill style is modified by the user.
4665
4671
4672////////////////////////////////////////////////////////////////////////////////
4673/// Slot called whenever the hatches line width is modified by the user.
4674
4680
4681////////////////////////////////////////////////////////////////////////////////
4682/// Slot called whenever the hatches spacing is modified by the user.
4683
4689
4690////////////////////////////////////////////////////////////////////////////////
4691/// Slot called whenever the marker color is modified by the user.
4692
4698
4699////////////////////////////////////////////////////////////////////////////////
4700/// Slot called whenever the marker style is modified by the user.
4701
4707
4708////////////////////////////////////////////////////////////////////////////////
4709/// Slot called whenever the marker size is modified by the user.
4710
4716
4717////////////////////////////////////////////////////////////////////////////////
4718/// Slot called whenever the screen factor is modified by the user.
4719
4725
4726////////////////////////////////////////////////////////////////////////////////
4727/// Slot called whenever the line color is modified by the user.
4728
4734
4735////////////////////////////////////////////////////////////////////////////////
4736/// Slot called whenever the line width is modified by the user.
4737
4743
4744////////////////////////////////////////////////////////////////////////////////
4745/// Slot called whenever the line style is modified by the user.
4746
4752
4753////////////////////////////////////////////////////////////////////////////////
4754/// Slot called whenever the line style editor is opened by the user.
4755
4757{
4758 // TODO Open a LineStyle editor
4759}
4760
4761////////////////////////////////////////////////////////////////////////////////
4762/// Slot called whenever the text color is modified by the user.
4763
4769
4770////////////////////////////////////////////////////////////////////////////////
4771/// Slot called whenever the text size is modified by the user.
4772
4778
4779////////////////////////////////////////////////////////////////////////////////
4780/// Slot called whenever the text size mode is modified by the user.
4781
4805
4806////////////////////////////////////////////////////////////////////////////////
4807/// Slot called whenever the text font is modified by the user.
4808
4810{
4811 Int_t tmp = fCurSelStyle->GetTextFont() % 10;
4813 DoEditor();
4814}
4815
4816////////////////////////////////////////////////////////////////////////////////
4817/// Slot called whenever the text align is modified by the user.
4818
4824
4825////////////////////////////////////////////////////////////////////////////////
4826/// Slot called whenever the text angle is modified by the user.
4827
4833
4834////////////////////////////////////////////////////////////////////////////////
4835/// Slot called whenever the canvas color is modified by the user.
4836
4842
4843////////////////////////////////////////////////////////////////////////////////
4844/// Slot called whenever the canvas default abscissa is modified by the user.
4845
4851
4852////////////////////////////////////////////////////////////////////////////////
4853/// Slot called whenever the canvas default ordinate is modified by the user.
4854
4860
4861////////////////////////////////////////////////////////////////////////////////
4862/// Slot called whenever the canvas default width is modified by the user.
4863
4869
4870////////////////////////////////////////////////////////////////////////////////
4871/// Slot called whenever the canvas default height is modified by the user.
4872
4878
4879////////////////////////////////////////////////////////////////////////////////
4880/// Slot called whenever the canvas border mode is modified by the user.
4881
4883{
4885 TGButton *but = 0;
4886 while ((but = fCanvasBorderMode->Find(i)) && !but->IsDown())
4887 i++;
4889 DoEditor();
4890}
4891
4892////////////////////////////////////////////////////////////////////////////////
4893/// Slot called whenever the canvas border size is modified by the user.
4894
4900
4901////////////////////////////////////////////////////////////////////////////////
4902/// Slot called whenever the OptDate boolean is modified by the user.
4903
4915
4916////////////////////////////////////////////////////////////////////////////////
4917/// Slot called whenever the date text color is modified by the user.
4918
4920{
4921 // To modify this entry, the user must have check 'Show'
4923 DoEditor();
4924}
4925
4926////////////////////////////////////////////////////////////////////////////////
4927/// Slot called whenever the date text size is modified by the user.
4928
4934
4935////////////////////////////////////////////////////////////////////////////////
4936/// Slot called whenever the date text size mode is modified by the user.
4937
4962
4963////////////////////////////////////////////////////////////////////////////////
4964/// Slot called whenever the date text format is modified by the user.
4965
4973
4974////////////////////////////////////////////////////////////////////////////////
4975/// Slot called whenever the date text font is modified by the user.
4976
4984
4985////////////////////////////////////////////////////////////////////////////////
4986/// Slot called whenever the date text align is modified by the user.
4987
4993
4994////////////////////////////////////////////////////////////////////////////////
4995/// Slot called whenever the date text angle is modified by the user.
4996
5002
5003////////////////////////////////////////////////////////////////////////////////
5004/// Slot called whenever the date abscissa is modified by the user.
5005
5007{
5009 DoEditor();
5010}
5011
5012////////////////////////////////////////////////////////////////////////////////
5013/// Slot called whenever the date ordinate is modified by the user.
5014
5016{
5018 DoEditor();
5019}
5020
5021////////////////////////////////////////////////////////////////////////////////
5022/// Slot called whenever the pad left margin is modified by the user.
5023
5029
5030////////////////////////////////////////////////////////////////////////////////
5031/// Slot called whenever the pad right margin is modified by the user.
5032
5038
5039////////////////////////////////////////////////////////////////////////////////
5040/// Slot called whenever the pad top margin is modified by the user.
5041
5047
5048////////////////////////////////////////////////////////////////////////////////
5049/// Slot called whenever the pad bottom margin is modified by the user.
5050
5056
5057////////////////////////////////////////////////////////////////////////////////
5058/// Slot called whenever the pad border mode is modified by the user.
5059
5061{
5063 TGButton *but = 0;
5064 while ((but = fPadBorderMode->Find(i)) && !but->IsDown())
5065 i++;
5067 DoEditor();
5068}
5069
5070////////////////////////////////////////////////////////////////////////////////
5071/// Slot called whenever the pad border size is modified by the user.
5072
5078
5079////////////////////////////////////////////////////////////////////////////////
5080/// Slot called whenever the pad color is modified by the user.
5081
5087
5088////////////////////////////////////////////////////////////////////////////////
5089/// Slot called whenever the pad tick X boolean is modified by the user.
5090
5096
5097////////////////////////////////////////////////////////////////////////////////
5098/// Slot called whenever the pad tick Y boolean is modified by the user.
5099
5105
5106////////////////////////////////////////////////////////////////////////////////
5107/// Slot called whenever the pad grid X boolean is modified by the user.
5108
5114
5115////////////////////////////////////////////////////////////////////////////////
5116/// Slot called whenever the pad grid Y boolean is modified by the user.
5117
5123
5124////////////////////////////////////////////////////////////////////////////////
5125/// Slot called whenever the grid line color is modified by the user.
5126
5132
5133////////////////////////////////////////////////////////////////////////////////
5134/// Slot called whenever the grid line width is modified by the user.
5135
5141
5142////////////////////////////////////////////////////////////////////////////////
5143/// Slot called whenever the grid line style is modified by the user.
5144
5150
5151////////////////////////////////////////////////////////////////////////////////
5152/// Slot called whenever the histos fill color is modified by the user.
5153
5159
5160////////////////////////////////////////////////////////////////////////////////
5161/// Slot called whenever the histos fill style is modified by the user.
5162
5168
5169////////////////////////////////////////////////////////////////////////////////
5170/// Slot called whenever the histos line color is modified by the user.
5171
5177
5178////////////////////////////////////////////////////////////////////////////////
5179/// Slot called whenever the histos line width is modified by the user.
5180
5186
5187////////////////////////////////////////////////////////////////////////////////
5188/// Slot called whenever the histos line style is modified by the user.
5189
5195
5196////////////////////////////////////////////////////////////////////////////////
5197/// Slot called whenever the histos bar width is modified by the user.
5198
5204
5205////////////////////////////////////////////////////////////////////////////////
5206/// Slot called whenever the histos bar offset is modified by the user.
5207
5213
5214////////////////////////////////////////////////////////////////////////////////
5215/// Slot called whenever the histos minimum zero boolean is modified
5216/// by the user.
5217
5223
5224////////////////////////////////////////////////////////////////////////////////
5225/// Slot called whenever the paint text format is modified by the user.
5226
5232
5233////////////////////////////////////////////////////////////////////////////////
5234/// Slot called whenever the number of contours is modified by the user.
5235
5241
5242////////////////////////////////////////////////////////////////////////////////
5243/// Slot called whenever the lego inner radius is modified by the user.
5244
5250
5251////////////////////////////////////////////////////////////////////////////////
5252/// Slot called whenever the frame fill color is modified by the user.
5253
5259
5260////////////////////////////////////////////////////////////////////////////////
5261/// Slot called whenever the frame fill style is modified by the user.
5262
5268
5269////////////////////////////////////////////////////////////////////////////////
5270/// Slot called whenever the frame line color is modified by the user.
5271
5277
5278////////////////////////////////////////////////////////////////////////////////
5279/// Slot called whenever the frame line width is modified by the user.
5280
5286
5287////////////////////////////////////////////////////////////////////////////////
5288/// Slot called whenever the frame line style is modified by the user.
5289
5295
5296////////////////////////////////////////////////////////////////////////////////
5297/// Slot called whenever the palette editor is opened by the user.
5298
5300{
5301 // TODO Open a palette editor
5302}
5303
5304////////////////////////////////////////////////////////////////////////////////
5305/// Slot called whenever the frame border mode is modified by the user.
5306
5308{
5310 TGButton *but = 0;
5311 while ((but = fFrameBorderMode->Find(i)) && !but->IsDown())
5312 i++;
5314 DoEditor();
5315}
5316
5317////////////////////////////////////////////////////////////////////////////////
5318/// Slot called whenever the frame border size is modified by the user.
5319
5325
5326////////////////////////////////////////////////////////////////////////////////
5327/// Slot called whenever the function line color is modified by the user.
5328
5334
5335////////////////////////////////////////////////////////////////////////////////
5336/// Slot called whenever the function line width is modified by the user.
5337
5343
5344////////////////////////////////////////////////////////////////////////////////
5345/// Slot called whenever the function line style is modified by the user.
5346
5352
5353////////////////////////////////////////////////////////////////////////////////
5354/// Slot called whenever the draw border boolean is modified by the user.
5355
5361
5362////////////////////////////////////////////////////////////////////////////////
5363/// Slot called whenever the end error size is modified by the user.
5364
5370
5371////////////////////////////////////////////////////////////////////////////////
5372/// Slot called whenever the error along X is modified by the user.
5373
5375{
5377 DoEditor();
5378}
5379
5380////////////////////////////////////////////////////////////////////////////////
5381/// Slot called whenever the time offset is modified by the user.
5382
5384{
5385 Double_t offset = 0;
5386 Int_t year = ((Int_t) fTimeOffsetDate->GetNumber())/10000;
5387 Int_t month = (((Int_t) fTimeOffsetDate->GetNumber())/100) % 100;
5388 Int_t day = ((Int_t) fTimeOffsetDate->GetNumber()) % 100;
5389
5390 while (day > 1) {
5391 day--;
5392 offset += 3600 * 24;
5393 }
5394
5396 while (month > 1) {
5397 month--;
5398 switch (month) {
5399 case 2:
5400 if (year % 4) oneMonthInSecs = 3600 * 24 * 28;
5401 else oneMonthInSecs = 3600 * 24 * 29;
5402 break;
5403 case 1: case 3: case 5: case 7: case 8: case 10: case 12:
5404 oneMonthInSecs = 3600 * 24 * 31;
5405 break;
5406 default:
5407 oneMonthInSecs = 3600 * 24 * 30;
5408 }
5410 }
5411
5413 while (year < 1995) {
5414 if (year % 4) oneYearInSecs = 3600 * 24 * 365;
5415 else oneYearInSecs = 3600 * 24 * 366;
5417 year++;
5418 }
5419 while (year > 1995) {
5420 year--;
5421 if (year % 4) oneYearInSecs = 3600 * 24 * 365;
5422 else oneYearInSecs = 3600 * 24 * 366;
5424 }
5425
5426 offset += 788918400 + fTimeOffsetTime->GetNumber();
5427
5429 DoEditor();
5430}
5431
5432////////////////////////////////////////////////////////////////////////////////
5433/// Slot called whenever the strip decimal boolean is modified by the user.
5434
5440
5441////////////////////////////////////////////////////////////////////////////////
5442/// Slot called whenever the apply on XYZ button is clicked. The settings of
5443/// the current selected axis pad are applyed on all axis.
5444/// NB: The logarithmic scale option isn't modified by this method.
5445
5447{
5448 switch (fCurTabAxisNum) {
5449 case 0: // X axis
5461 break;
5462 case 1: // Y axis
5474 break;
5475
5476 case 2: // Z axis
5488 break;
5489 }
5490
5494 DoEditor();
5495}
5496
5497////////////////////////////////////////////////////////////////////////////////
5498/// Slot called whenever the X axis title size is modified by the user.
5499
5505
5506////////////////////////////////////////////////////////////////////////////////
5507/// Slot called whenever the X axis title size mode is modified by the user.
5508
5532
5533////////////////////////////////////////////////////////////////////////////////
5534/// Slot called whenever the X axis title color is modified by the user.
5535
5541
5542////////////////////////////////////////////////////////////////////////////////
5543/// Slot called whenever the X axis title offset is modified by the user.
5544
5550
5551////////////////////////////////////////////////////////////////////////////////
5552/// Slot called whenever the X axis title font is modified by the user.
5553
5560
5561////////////////////////////////////////////////////////////////////////////////
5562/// Slot called whenever the X axis label size is modified by the user.
5563
5569
5570////////////////////////////////////////////////////////////////////////////////
5571/// Slot called whenever the X axis label size mode is modified by the user.
5572
5596
5597////////////////////////////////////////////////////////////////////////////////
5598/// Slot called whenever the X axis label color is modified by the user.
5599
5605
5606////////////////////////////////////////////////////////////////////////////////
5607/// Slot called whenever the X axis label offset is modified by the user.
5608
5614
5615////////////////////////////////////////////////////////////////////////////////
5616/// Slot called whenever the X axis label font is modified by the user.
5617
5624
5625////////////////////////////////////////////////////////////////////////////////
5626/// Slot called whenever the X axis color is modified by the user.
5627
5633
5634////////////////////////////////////////////////////////////////////////////////
5635/// Slot called whenever the X axis tick length is modified by the user.
5636
5642
5643////////////////////////////////////////////////////////////////////////////////
5644/// Slot called whenever the X axis log scale boolean is modified
5645/// by the user.
5646
5652
5653////////////////////////////////////////////////////////////////////////////////
5654/// Slot called whenever the X axis Number of divisions is modified
5655/// by the user.
5656
5658{
5659 Int_t sgn = -1;
5660 if (fXNdivisionsOptimize->IsDown()) sgn = 1;
5662 + 100 * fXNdivSub->GetIntNumber()
5663 + 10000 * fXNdivSubSub->GetIntNumber()), "X");
5664 DoEditor();
5665}
5666
5667////////////////////////////////////////////////////////////////////////////////
5668/// Slot called whenever the Y axis title size is modified by the user.
5669
5675
5676////////////////////////////////////////////////////////////////////////////////
5677/// Slot called whenever the Y axis title size mode is modified by the user.
5678
5702
5703////////////////////////////////////////////////////////////////////////////////
5704/// Slot called whenever the Y axis title color is modified by the user.
5705
5711
5712////////////////////////////////////////////////////////////////////////////////
5713/// Slot called whenever the Y axis title offset is modified by the user.
5714
5720
5721////////////////////////////////////////////////////////////////////////////////
5722/// Slot called whenever the Y axis title font is modified by the user.
5723
5730
5731////////////////////////////////////////////////////////////////////////////////
5732/// Slot called whenever the Y axis label size is modified by the user.
5733
5739
5740////////////////////////////////////////////////////////////////////////////////
5741/// Slot called whenever the Y axis label size mode is modified by the user.
5742
5766
5767////////////////////////////////////////////////////////////////////////////////
5768/// Slot called whenever the Y axis label color is modified by the user.
5769
5775
5776////////////////////////////////////////////////////////////////////////////////
5777/// Slot called whenever the Y axis label offset is modified by the user.
5778
5784
5785////////////////////////////////////////////////////////////////////////////////
5786/// Slot called whenever the Y axis label font is modified by the user.
5787
5794
5795////////////////////////////////////////////////////////////////////////////////
5796/// Slot called whenever the Y axis color is modified by the user.
5797
5803
5804////////////////////////////////////////////////////////////////////////////////
5805/// Slot called whenever the Y axis tick length is modified by the user.
5806
5812
5813////////////////////////////////////////////////////////////////////////////////
5814/// Slot called whenever the Y axis log scale boolean is modified by the user.
5815
5821
5822////////////////////////////////////////////////////////////////////////////////
5823/// Slot called whenever the Y axis Number of divisions is modified
5824/// by the user.
5825
5827{
5828 Int_t sgn = -1;
5829 if (fYNdivisionsOptimize->IsDown()) sgn = 1;
5831 + 100 * fYNdivSub->GetIntNumber()
5832 + 10000 * fYNdivSubSub->GetIntNumber()), "Y");
5833 DoEditor();
5834}
5835
5836////////////////////////////////////////////////////////////////////////////////
5837/// Slot called whenever the Z axis title size is modified by the user.
5838
5844
5845////////////////////////////////////////////////////////////////////////////////
5846/// Slot called whenever the Z axis title size mode is modified by the user.
5847
5871
5872////////////////////////////////////////////////////////////////////////////////
5873/// Slot called whenever the Z axis title color is modified by the user.
5874
5880
5881////////////////////////////////////////////////////////////////////////////////
5882/// Slot called whenever the Z axis title offset is modified by the user.
5883
5889
5890////////////////////////////////////////////////////////////////////////////////
5891/// Slot called whenever the Z axis title font is modified by the user.
5892
5899
5900////////////////////////////////////////////////////////////////////////////////
5901/// Slot called whenever the Z axis label size is modified by the user.
5902
5908
5909////////////////////////////////////////////////////////////////////////////////
5910/// Slot called whenever the Z axis Label size mode is modified by the user.
5911
5935
5936////////////////////////////////////////////////////////////////////////////////
5937/// Slot called whenever the Z axis label color is modified by the user.
5938
5944
5945////////////////////////////////////////////////////////////////////////////////
5946/// Slot called whenever the Z axis label offset is modified by the user.
5947
5953
5954////////////////////////////////////////////////////////////////////////////////
5955/// Slot called whenever the Z axis label font is modified by the user.
5956
5963
5964////////////////////////////////////////////////////////////////////////////////
5965/// Slot called whenever the Z axis color is modified by the user.
5966
5972
5973////////////////////////////////////////////////////////////////////////////////
5974/// Slot called whenever the Z axis tick length is modified by the user.
5975
5981
5982////////////////////////////////////////////////////////////////////////////////
5983/// Slot called whenever the Z axis log scale boolean is modified by the user.
5984
5990
5991////////////////////////////////////////////////////////////////////////////////
5992/// Slot called whenever the Z axis Number of divisions is modified
5993/// by the user.
5994
5996{
5997 Int_t sgn = -1;
5998 if (fZNdivisionsOptimize->IsDown()) sgn = 1;
6000 + 100 * fZNdivSub->GetIntNumber()
6001 + 10000 * fZNdivSubSub->GetIntNumber()), "Z");
6002 DoEditor();
6003}
6004
6005////////////////////////////////////////////////////////////////////////////////
6006/// Slot called whenever the OptTitle boolean is modified by the user.
6007
6016
6017////////////////////////////////////////////////////////////////////////////////
6018/// Slot called whenever the title fill color is modified by the user.
6019
6025
6026////////////////////////////////////////////////////////////////////////////////
6027/// Slot called whenever the title fill style is modified by the user.
6028
6034
6035////////////////////////////////////////////////////////////////////////////////
6036/// Slot called whenever the title text color is modified by the user.
6037
6043
6044////////////////////////////////////////////////////////////////////////////////
6045/// Slot called whenever the text size is modified by the user.
6046
6052
6053////////////////////////////////////////////////////////////////////////////////
6054/// Slot called whenever the text size mode is modified by the user.
6055
6079
6080////////////////////////////////////////////////////////////////////////////////
6081/// Slot called whenever the title text font is modified by the user.
6082
6084{
6085 Int_t tmp = fCurSelStyle->GetTitleFont() % 10;
6087 DoEditor();
6088}
6089
6090////////////////////////////////////////////////////////////////////////////////
6091/// Slot called whenever the title text align is modified by the user.
6092
6098
6099////////////////////////////////////////////////////////////////////////////////
6100/// Slot called whenever the title border size is modified by the user.
6101
6107
6108////////////////////////////////////////////////////////////////////////////////
6109/// Slot called whenever the legend border size is modified by the user.
6110
6116
6117////////////////////////////////////////////////////////////////////////////////
6118/// Slot called whenever the title abscissa is modified by the user.
6119
6125
6126////////////////////////////////////////////////////////////////////////////////
6127/// Slot called whenever the title ordinate is modified by the user.
6128
6134
6135////////////////////////////////////////////////////////////////////////////////
6136/// Slot called whenever the title width is modified by the user.
6137
6143
6144////////////////////////////////////////////////////////////////////////////////
6145/// Slot called whenever the title height is modified by the user.
6146
6152
6153////////////////////////////////////////////////////////////////////////////////
6154/// Slot called whenever the stats fill color is modified by the user.
6155
6161
6162////////////////////////////////////////////////////////////////////////////////
6163/// Slot called whenever the stats fill style is modified by the user.
6164
6166{
6167 fCurSelStyle->SetStatStyle(pattern);
6168 DoEditor();
6169}
6170
6171////////////////////////////////////////////////////////////////////////////////
6172/// Slot called whenever the stats text color is modified by the user.
6173
6179
6180////////////////////////////////////////////////////////////////////////////////
6181/// Slot called whenever the text size is modified by the user.
6182
6188
6189////////////////////////////////////////////////////////////////////////////////
6190/// Slot called whenever the text size mode is modified by the user.
6191
6217
6218////////////////////////////////////////////////////////////////////////////////
6219/// Slot called whenever the stats text font is modified by the user.
6220
6222{
6223 Int_t tmp = fCurSelStyle->GetStatFont() % 10;
6225 DoEditor();
6226}
6227
6228////////////////////////////////////////////////////////////////////////////////
6229/// Slot called whenever the stats abscissa is modified by the user.
6230
6236
6237////////////////////////////////////////////////////////////////////////////////
6238/// Slot called whenever the stats ordinate is modified by the user.
6239
6245
6246////////////////////////////////////////////////////////////////////////////////
6247/// Slot called whenever the stats width is modified by the user.
6248
6254
6255////////////////////////////////////////////////////////////////////////////////
6256/// Slot called whenever the stats height is modified by the user.
6257
6263
6264////////////////////////////////////////////////////////////////////////////////
6265/// Slot called whenever the stats border size is modified by the user.
6266
6272
6273////////////////////////////////////////////////////////////////////////////////
6274/// Slot called whenever one of the stats options is modified by the user.
6275
6277{
6278 Int_t stat = 0;
6279 if (fOptStatName->IsDown()) stat +=1;
6280 if (fOptStatEntries->IsDown()) stat +=10;
6281 if (fOptStatMean->IsDown()) stat +=100;
6282 if (fOptStatRMS->IsDown()) stat +=1000;
6283 if (fOptStatUnderflow->IsDown()) stat +=10000;
6284 if (fOptStatOverflow->IsDown()) stat +=100000;
6285 if (fOptStatIntegral->IsDown()) stat +=1000000;
6286 if (fOptStatSkewness->IsDown()) stat +=10000000;
6287 if (fOptStatKurtosis->IsDown()) stat +=100000000;
6288 if (fOptStatErrors->IsDown()) {
6289 if (fOptStatMean->IsDown()) stat +=100;
6290 if (fOptStatRMS->IsDown()) stat +=1000;
6291 if (fOptStatSkewness->IsDown()) stat +=10000000;
6292 if (fOptStatKurtosis->IsDown()) stat +=100000000;
6293 }
6294 if (stat == 1) stat = 1000000001;
6295 fCurSelStyle->SetOptStat(stat);
6296 DoEditor();
6297}
6298
6299////////////////////////////////////////////////////////////////////////////////
6300/// Slot called whenever the stats paint format is modified by the user.
6301
6307
6308////////////////////////////////////////////////////////////////////////////////
6309/// Slot called whenever one of the fit options is modified by the user.
6310
6312{
6313 Int_t fit = 0;
6314 if (fOptFitValues->IsDown()) fit +=1;
6315 if (fOptFitErrors->IsDown()) fit +=10;
6316 if (fOptFitChi->IsDown()) fit +=100;
6317 if (fOptFitProbability->IsDown()) fit +=1000;
6318 if (fit == 1) fit = 10001;
6319 fCurSelStyle->SetOptFit(fit);
6320 DoEditor();
6321}
6322
6323////////////////////////////////////////////////////////////////////////////////
6324/// Slot called whenever the fit paint format is modified by the user.
6325
6331
6332////////////////////////////////////////////////////////////////////////////////
6333/// Slot called whenever the PS header is modified by the user.
6334
6340
6341////////////////////////////////////////////////////////////////////////////////
6342/// Slot called whenever the PS title is modified by the user.
6343
6349
6350////////////////////////////////////////////////////////////////////////////////
6351/// Slot called whenever the PS color model is modified by the user.
6352
6354{
6356 TGButton *but = 0;
6357 while ((but = fColorModelPS->Find(i)) && !but->IsDown()) i++;
6359 DoEditor();
6360}
6361
6362////////////////////////////////////////////////////////////////////////////////
6363/// Slot called whenever the PS line scale is modified by the user.
6364
6370
6371////////////////////////////////////////////////////////////////////////////////
6372/// Slot called whenever the PS paper size is modified by the user.
6373
6375{
6379
6380 if (fPaperSizePredef->GetSelected() == 1) {
6381 if (!fPaperSizeEnCm) {
6385 }
6386 } else if (fPaperSizePredef->GetSelected() == 2) {
6387 if (fPaperSizeEnCm) {
6389 fPaperSizeX->SetNumber(papSizeX * 0.394);
6390 fPaperSizeY->SetNumber(papSizeY * 0.394);
6391 }
6392 } else if (fPaperSizePredef->GetSelected() == 3) {
6396 fCurSelStyle->SetPaperSize(20, 26);
6397 } else if (fPaperSizePredef->GetSelected() == 4) {
6399 fPaperSizeX->SetNumber(20 * 0.394);
6400 fPaperSizeY->SetNumber(24 * 0.394);
6401 fCurSelStyle->SetPaperSize(20, 24);
6402 }
6403 DoEditor();
6404}
6405
6406////////////////////////////////////////////////////////////////////////////////
6407/// Slot called whenever the PS paper size is modified by the user.
6408
6410{
6411 if (fPaperSizeEnCm) {
6415 } else {
6417 fPaperSizeY->GetNumber() * 2.54);
6419 }
6420 DoEditor();
6421}
@ kButton2Down
Definition Buttons.h:17
Handle_t Window_t
Window handle.
Definition GuiTypes.h:29
@ kChildFrame
Definition GuiTypes.h:379
@ kRaisedFrame
Definition GuiTypes.h:384
@ kVerticalFrame
Definition GuiTypes.h:381
@ kFitWidth
Definition GuiTypes.h:386
@ kHorizontalFrame
Definition GuiTypes.h:382
ULong_t Pixel_t
Pixel value.
Definition GuiTypes.h:40
R__EXTERN const char gHelpSMTitle[]
Definition HelpSMText.h:23
R__EXTERN const char gHelpSMPad[]
Definition HelpSMText.h:20
R__EXTERN const char gHelpSMGeneral[]
Definition HelpSMText.h:18
R__EXTERN const char gHelpSMAxis[]
Definition HelpSMText.h:22
R__EXTERN const char gHelpSMTopLevel[]
Definition HelpSMText.h:17
R__EXTERN const char gHelpSMHistos[]
Definition HelpSMText.h:21
R__EXTERN const char gHelpSMStats[]
Definition HelpSMText.h:24
R__EXTERN const char gHelpSMCanvas[]
Definition HelpSMText.h:19
R__EXTERN const char gHelpSMPSPDF[]
Definition HelpSMText.h:25
#define b(i)
Definition RSha256.hxx:100
#define f(i)
Definition RSha256.hxx:104
#define a(i)
Definition RSha256.hxx:99
#define h(i)
Definition RSha256.hxx:106
short Style_t
Style number (short)
Definition RtypesCore.h:96
int Int_t
Signed integer 4 bytes (int)
Definition RtypesCore.h:59
float Float_t
Float 4 bytes (float)
Definition RtypesCore.h:71
constexpr Bool_t kFALSE
Definition RtypesCore.h:108
constexpr Bool_t kTRUE
Definition RtypesCore.h:107
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
@ kButtonDown
Definition TGButton.h:54
@ kButtonUp
Definition TGButton.h:53
#define gClient
Definition TGClient.h:157
@ kFDOpen
@ kFDSave
@ kNoCleanup
Definition TGFrame.h:40
@ kLHintsRight
Definition TGLayout.h:26
@ kLHintsExpandY
Definition TGLayout.h:31
@ kLHintsCenterY
Definition TGLayout.h:28
@ kLHintsNormal
Definition TGLayout.h:32
@ kLHintsBottom
Definition TGLayout.h:29
@ kLHintsExpandX
Definition TGLayout.h:30
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 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 win
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t SetWMSizeHints
Option_t Option_t style
#define gROOT
Definition TROOT.h:411
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
Definition TString.cxx:2495
EStyleManagerWid
@ kFrameBorderModeRaised
@ kTitleFontSizeInPixels
@ kTitleY
@ kPadLeftMargin
@ kGeneralLineStyle
@ kTitleLegendBorderSize
@ kAxisXAxisColor
@ kMenuHelpEditor
@ kAxisXLabelColor
@ kCanvasAttDateTextAngle
@ kStatOptStatName
@ kStatW
@ kAxisXTitleOffset
@ kMenuHelpStats
@ kTitleTextColor
@ kCanvasDefH
@ kEditButHelp
@ kAxisZLabelSize
@ kFrameBorderModeNone
@ kGeneralTextAlign
@ kAxisZLabelOffset
@ kPSPDFLineScalePS
@ kAxisYLabelSize
@ kStatOptStatEntries
@ kAxisYAxisColor
@ kStatX
@ kToolbarHelp
@ kStatOptStatIntegral
@ kHistPaintTextFormat
@ kTopMakeDefault
@ kCanvasColor
@ kHistFillColor
@ kStatColor
@ kAxisTimeOffsetDate
@ kToolbarImportCanvas
@ kFrameBorderSize
@ kCanvasDefW
@ kAxisYNdivisionsOptimize
@ kAxisXNdivMain
@ kAxisZTickLength
@ kMenuExport
@ kMenuHelpPad
@ kCanvasOptDateFormat
@ kAxisYTitleOffset
@ kAxisZTitleOffset
@ kTopPreview
@ kAxisZNdivisionsOptimize
@ kCanvasDefY
@ kAxisZTitleSize
@ kAxisZAxisColor
@ kAxisOptLogx
@ kAxisTimeOffsetTime
@ kHistLineColor
@ kMenuHelpCanvas
@ kToolbarExport
@ kPSPDFHeaderPS
@ kTopApplyOnSel
@ kStatOptStatMean
@ kTopApplyOnAll
@ kAxisXNdivisionsOptimize
@ kAxisZLabelSizeInPixels
@ kPadGridColor
@ kPadGridY
@ kStatBorderSize
@ kCanvasBorderModeNone
@ kMenuRename
@ kCanvasOptDateBool
@ kAxisXTitleSize
@ kGraphsDrawBorder
@ kCanvasAttDateTextAlign
@ kGraphsFuncWidth
@ kAxisOptLogy
@ kAxisYLabelOffset
@ kMenuExit
@ kTopCurPad
@ kTopApplyOnBut
@ kStatOptStatRMS
@ kTitleX
@ kTitleFillColor
@ kStatOptStatUnderflow
@ kGeneralTextFont
@ kGeneralScreenFactor
@ kTitleFont
@ kMenuHelpTitle
@ kGraphsErrorX
@ kPadGridWidth
@ kStatOptFitErrors
@ kAxisXLabelSize
@ kStatOptStatSkewness
@ kMenuHelpHistos
@ kAxisYLabelFont
@ kTopPreviewRealTime
@ kStatStyle
@ kPadGridStyle
@ kPadBorderModeNone
@ kCanvasDateY
@ kAxisYLabelColor
@ kAxisYTitleSize
@ kAxisYTickLength
@ kMenuHelp
@ kTitleOptTitle
@ kGeneralTextAngle
@ kHistLineWidth
@ kTitleAlign
@ kHistMinimumZero
@ kMenuDelete
@ kCanvasBorderModeRaised
@ kPSPDFTitlePS
@ kMenuHelpAxis
@ kAxisXTitleSizeInPixels
@ kAxisZNdivSubSub
@ kStatOptFitChi
@ kGeneralMarkerStyle
@ kAxisXLabelOffset
@ kFrameBorderModeSunken
@ kAxisYNdivMain
@ kStatFont
@ kEditButReset
@ kAxisXNdivSubSub
@ kAxisXTitleFont
@ kFrameLineWidth
@ kAxisZTitleSizeInPixels
@ kAxisYTitleFont
@ kStatOptFitProbability
@ kGeneralHatchesSpacing
@ kMenuImportMacro
@ kGeneralFillColor
@ kPadRightMargin
@ kAxisZLabelFont
@ kMenuNew
@ kAxisXTickLength
@ kCanvasBorderSize
@ kAxisYNdivSub
@ kHistBarWidth
@ kPadTopMargin
@ kEditButUpPrev
@ kAxisZTitleColor
@ kPadTickX
@ kAxisYNdivSubSub
@ kAxisXLabelFont
@ kMenuHelpGeneral
@ kGeneralFillStyle
@ kStatOptStatErrors
@ kHistFillStyle
@ kAxisXTitleColor
@ kMenuImportCanvas
@ kCanvasAttDateTextColor
@ kAxisYTitleColor
@ kPSPDFColorModelPSRGB
@ kStatY
@ kHistLineStyle
@ kTitleW
@ kPadGridX
@ kTitleStyle
@ kCanvasBorderModeSunken
@ kAxisZLabelColor
@ kCanvasDateX
@ kStatFontSizeInPixels
@ kTopCurObj
@ kAxisYLabelSizeInPixels
@ kStatFormat
@ kStatFitFormat
@ kHistBarOffset
@ kAxisXNdivSub
@ kPadBorderModeRaised
@ kTopStylesList
@ kAxisApplyOnXYZ
@ kFrameFillColor
@ kPSPDFColorModelPSCMYK
@ kPadTickY
@ kTitleBorderSize
@ kStatTextColor
@ kTitleFontSize
@ kPadBottomMargin
@ kAxisZNdivMain
@ kStatFontSize
@ kAxisYTitleSizeInPixels
@ kTitleH
@ kHistNumberContours
@ kTopCurStyle
@ kPSPDFPaperSizeY
@ kGeneralHatchesLineWidth
@ kCanvasDefX
@ kGeneralTextSize
@ kStatOptStatOverflow
@ kPadBorderModeSunken
@ kStatOptStatKurtosis
@ kGraphsEndErrorSize
@ kToolbarImportMacro
@ kCanvasAttDateTextSizeInPixels
@ kGeneralLineWidth
@ kMenuHelpPSPDF
@ kPSPDFColorModelPS
@ kAxisZNdivSub
@ kStatH
@ kToolbarNew
@ kAxisXLabelSizeInPixels
@ kPadBorderSize
@ kGeneralMarkerSize
@ kGeneralLineStyleEdit
@ kToolbarDelete
@ kTopMoreLess
@ kFrameFillStyle
@ kGeneralTextColor
@ kGeneralTextSizeInPixels
@ kAxisStripDecimals
@ kAxisOptLogz
@ kStatOptFitValues
@ kHistLegoInnerR
@ kFramePaletteEdit
@ kGeneralMarkerColor
@ kCanvasAttDateTextFont
@ kAxisZTitleFont
@ kPSPDFPaperSizePredef
@ kGraphsFuncColor
@ kFrameLineStyle
@ kGeneralLineColor
@ kPSPDFPaperSizeX
@ kFrameLineColor
@ kPadColor
@ kCanvasAttDateTextSize
@ kGraphsFuncStyle
const char * kFiletypes[]
R__EXTERN TStyle * gStyle
Definition TStyle.h:442
R__EXTERN TSystem * gSystem
Definition TSystem.h:572
#define gVirtualX
Definition TVirtualX.h:337
#define snprintf
Definition civetweb.c:1579
virtual Color_t GetFillColor() const
Return the fill area color.
Definition TAttFill.h:31
virtual Style_t GetFillStyle() const
Return the fill area style.
Definition TAttFill.h:32
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
Definition TAttFill.h:38
virtual void SetFillStyle(Style_t fstyle)
Set the fill area style.
Definition TAttFill.h:40
virtual Color_t GetLineColor() const
Return the line color.
Definition TAttLine.h:35
virtual void SetLineStyle(Style_t lstyle)
Set the line style.
Definition TAttLine.h:44
virtual Width_t GetLineWidth() const
Return the line width.
Definition TAttLine.h:37
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
Definition TAttLine.h:45
virtual void SetLineColor(Color_t lcolor)
Set the line color.
Definition TAttLine.h:42
virtual Style_t GetLineStyle() const
Return the line style.
Definition TAttLine.h:36
virtual Style_t GetMarkerStyle() const
Return the marker style.
Definition TAttMarker.h:33
virtual void SetMarkerColor(Color_t mcolor=1)
Set the marker color.
Definition TAttMarker.h:39
virtual Color_t GetMarkerColor() const
Return the marker color.
Definition TAttMarker.h:32
virtual Size_t GetMarkerSize() const
Return the marker size.
Definition TAttMarker.h:34
virtual void SetMarkerStyle(Style_t mstyle=1)
Set the marker style.
Definition TAttMarker.h:41
virtual void SetMarkerSize(Size_t msize=1)
Set the marker size.
Definition TAttMarker.h:46
virtual Float_t GetTextSize() const
Return the text size.
Definition TAttText.h:38
virtual void SetTextAlign(Short_t align=11)
Set the text alignment.
Definition TAttText.h:44
virtual Short_t GetTextAlign() const
Return the text alignment.
Definition TAttText.h:34
virtual Font_t GetTextFont() const
Return the text font.
Definition TAttText.h:37
virtual Color_t GetTextColor() const
Return the text color.
Definition TAttText.h:36
virtual void SetTextAngle(Float_t tangle=0)
Set the text angle.
Definition TAttText.h:45
virtual Float_t GetTextAngle() const
Return the text angle.
Definition TAttText.h:35
virtual void SetTextColor(Color_t tcolor=1)
Set the text color.
Definition TAttText.h:46
virtual void SetTextFont(Font_t tfont=62)
Set the text font.
Definition TAttText.h:48
virtual void SetTextSize(Float_t tsize=1)
Set the text size.
Definition TAttText.h:49
The Canvas class.
Definition TCanvas.h:23
static ULong_t Number2Pixel(Int_t ci)
Static method that given a color index number, returns the corresponding pixel value.
Definition TColor.cxx:2445
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:1926
Organizes TGButton widgets in a group.
virtual void SetLayoutHints(TGLayoutHints *l, TGButton *button=nullptr)
Set layout hints for the specified button or if button=0 for all buttons.
virtual void Show()
Show group of buttons.
virtual TGButton * Find(Int_t id) const
Finds and returns a pointer to the button with the specified identifier id.
virtual void SetButton(Int_t id, Bool_t down=kTRUE)
Sets the button with id to be on/down, and if this is an exclusive group, all other button in the gro...
A button abstract base class.
Definition TGButton.h:68
virtual void SetToolTipText(const char *text, Long_t delayms=400)
Set tool tip text associated with this button.
Definition TGButton.cxx:439
virtual void SetStyle(UInt_t newstyle)
Set the button style (modern or classic).
Definition TGButton.cxx:265
virtual void SetEnabled(Bool_t e=kTRUE)
Set enabled or disabled state of button.
Definition TGButton.cxx:453
Selects different options.
Definition TGButton.h:264
Bool_t IsDown() const override
Definition TGButton.h:311
void SetState(EButtonState state, Bool_t emit=kFALSE) override
Set check button state.
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.
void Enable(Bool_t on=kTRUE)
Set state of widget as enabled.
void Disable()
Set state of widget as disabled.
Pixel_t GetColor() const
A combobox (also known as a drop down listbox) allows the selection of one item out of a list of item...
Definition TGComboBox.h:47
virtual Int_t GetSelected() const
Definition TGComboBox.h:114
void Layout() override
layout combobox
virtual void AddEntry(TGString *s, Int_t id)
Definition TGComboBox.h:86
virtual void RemoveEntries(Int_t from_ID, Int_t to_ID)
Definition TGComboBox.h:105
virtual TGListBox * GetListBox() const
Definition TGComboBox.h:110
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...
virtual Int_t GetNumberOfEntries() const
Definition TGComboBox.h:107
The base class for composite widgets (menu bars, list boxes, etc.).
Definition TGFrame.h:289
TGDimension GetDefaultSize() const override
std::cout << fWidth << "x" << fHeight << std::endl;
Definition TGFrame.h:318
virtual void SetLayoutManager(TGLayoutManager *l)
Set the layout manager for the composite frame.
Definition TGFrame.cxx:992
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr)
Add frame to the composite frame using the specified layout hints.
Definition TGFrame.cxx:1109
void MapSubwindows() override
Map all sub windows that are part of the composite frame.
Definition TGFrame.cxx:1156
virtual void ShowFrame(TGFrame *f)
Show sub frame.
Definition TGFrame.cxx:1196
void SetCleanup(Int_t mode=kLocalCleanup) override
Turn on automatic cleanup of child frames in dtor.
Definition TGFrame.cxx:1064
void ChangeOptions(UInt_t options) override
Change composite frame options. Options is an OR of the EFrameTypes.
Definition TGFrame.cxx:1035
virtual void HideFrame(TGFrame *f)
Hide sub frame.
Definition TGFrame.cxx:1182
This class creates a file selection dialog.
char * fFilename
selected file name
const char ** fFileTypes
file types used to filter selectable files
void SetFilename(const char *fname)
Set file name.
void SetIniDir(const char *inidir)
Set directory name.
The TGFontTypeComboBox is user callable and it creates a combobox for selecting the font.
Definition TGComboBox.h:178
void MoveResize(Int_t x, Int_t y, UInt_t w=0, UInt_t h=0) override
Move and/or resize the frame.
Definition TGFrame.cxx:621
void Resize(UInt_t w=0, UInt_t h=0) override
Resize the frame.
Definition TGFrame.cxx:597
void MapWindow() override
map window
Definition TGFrame.h:206
void UnmapWindow() override
unmap window
Definition TGFrame.h:208
UInt_t GetHeight() const
Definition TGFrame.h:227
A composite frame with a border and a title.
Definition TGFrame.h:524
Organizes TGButton widgets in a group with one horizontal row.
A horizontal 3D line is a line that typically separates a toolbar from the menubar.
Definition TG3DLine.h:18
A composite frame that layout their children in horizontal way.
Definition TGFrame.h:387
This class handles GUI labels.
Definition TGLabel.h:24
This class describes layout hints used by the layout classes.
Definition TGLayout.h:50
The TGLineStyleComboBox user callable and it creates a combobox for selecting the line style.
Definition TGComboBox.h:140
The TGLineWidthComboBox user callable and it creates a combobox for selecting the line width.
Definition TGComboBox.h:158
Defines top level windows that interact with the system Window Manager.
Definition TGFrame.h:399
void SetWindowName(const char *name=nullptr) override
Set window name. This is typically done via the window manager.
Definition TGFrame.cxx:1780
This layout managers does not make use of TGLayoutHints.
Definition TGLayout.h:269
The TGMenu.h header contains all different menu classes.
Definition TGMenu.h:282
virtual void AddPopup(TGHotString *s, TGPopupMenu *menu, TGLayoutHints *l, TGPopupMenu *before=nullptr)
Add popup menu to menu bar.
Definition TGMenu.cxx:414
TGNumberEntry is a number entry input widget with up/down buttons.
TGNumberEntryField * GetNumberEntry() const
Get the number entry field.
virtual void SetLimits(ELimit limits=TGNumberFormat::kNELNoLimits, Double_t min=0, Double_t max=1)
virtual void SetState(Bool_t enable=kTRUE)
Set the active state.
virtual void SetIntNumber(Long_t val, Bool_t emit=kTRUE)
virtual Long_t GetIntNumber() const
virtual void SetFormat(EStyle style, EAttribute attr=TGNumberFormat::kNEAAnyNumber)
virtual Double_t GetNumber() const
virtual void SetNumber(Double_t val, Bool_t emit=kTRUE)
@ kNEAPositive
Positive number.
@ kNEANonNegative
Non-negative number.
@ kNEAAnyNumber
Attributes of number entry field.
@ kNESRealOne
Fixed fraction real, one digit.
@ kNESRealThree
Fixed fraction real, three digit.
@ kNESInteger
Style of number entry field.
@ kNESDayMYear
Day/month/year.
@ kNESRealTwo
Fixed fraction real, two digit.
@ kNESHourMinSec
Hour:minute:seconds.
@ kNELNoLimits
Limit selection of number entry field.
@ kNELLimitMinMax
Both lower and upper limits.
Handle_t GetId() const
Definition TGObject.h:41
Yield an action as soon as it is clicked.
Definition TGButton.h:228
This class creates a popup menu object.
Definition TGMenu.h:110
virtual void AddPopup(TGHotString *s, TGPopupMenu *popup, TGMenuEntry *before=nullptr, const TGPicture *p=nullptr)
Add a (cascading) popup menu to a popup menu.
Definition TGMenu.cxx:1148
virtual void DisableEntry(Int_t id)
Disable entry (disabled entries appear in a sunken relieve).
Definition TGMenu.cxx:1720
virtual void EnableEntry(Int_t id)
Enable entry. By default entries are enabled.
Definition TGMenu.cxx:1701
virtual void Associate(const TGWindow *w)
Definition TGMenu.h:206
virtual void AddSeparator(TGMenuEntry *before=nullptr)
Add a menu separator to the menu.
Definition TGMenu.cxx:1056
virtual void AddEntry(TGHotString *s, Int_t id, void *ud=nullptr, const TGPicture *p=nullptr, TGMenuEntry *before=nullptr)
Add a menu entry.
Definition TGMenu.cxx:986
Selects different options.
Definition TGButton.h:321
Provides a StatusBar widget.
Definition TGStatusBar.h:21
void Draw3DCorner(Bool_t corner)
Definition TGStatusBar.h:59
virtual void SetText(TGString *text, Int_t partidx=0)
Set text in partition partidx in status bar.
virtual void SetParts(Int_t npart)
Divide the status bar in npart equal sized parts.
A tab widget contains a set of composite frames each with a little tab with a name (like a set of fol...
Definition TGTab.h:46
virtual TGCompositeFrame * AddTab(TGString *text)
Add a tab to the tab widget.
Definition TGTab.cxx:373
Yield an action as soon as it is clicked.
Definition TGButton.h:142
virtual void SetText(TGHotString *new_label)
Set new button text.
Definition TGButton.cxx:638
A TGTextEntry is a one line text input widget.
Definition TGTextEntry.h:24
const char * GetText() const
void SetEnabled(Bool_t flag=kTRUE)
virtual void SetToolTipText(const char *text, Long_t delayms=500)
Set tool tip text associated with this text entry.
virtual void SetTextColor(Pixel_t color, Bool_t local=kTRUE)
Changes text color.
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.
Text string listbox entries.
Definition TGListBox.h:48
A toolbar is a composite frame that contains TGPictureButtons.
Definition TGToolBar.h:33
A composite frame that layout their children in vertical way.
Definition TGFrame.h:376
virtual void Associate(const TGWindow *w)
Definition TGWidget.h:72
ROOT GUI Window base class.
Definition TGWindow.h:23
virtual const TGWindow * GetMainFrame() const
Returns top level main frame.
Definition TGWindow.cxx:150
const TGWindow * GetParent() const
Definition TGWindow.h:83
virtual Bool_t IsMapped()
Returns kTRUE if window is mapped on screen, kFALSE otherwise.
Definition TGWindow.cxx:293
The TGedMarkerSelect widget is a button showing selected marker and a little down arrow.
void SetMarkerStyle(Style_t pattern)
Set marker.
Style_t GetMarkerStyle() const
is a button with pattern area with a little down arrow.
Style_t GetPattern() const
void SetPattern(Style_t pattern, Bool_t emit=kTRUE)
Set pattern.
virtual void Enable()
Set widget state flag (kTRUE=enabled, kFALSE=disabled).
virtual void Disable()
Clear widget state flag.
A doubly linked list.
Definition TList.h:38
TObject * After(const TObject *obj) const override
Returns the object after object obj.
Definition TList.cxx:327
void Add(TObject *obj) override
Definition TList.h:81
TObject * Remove(TObject *obj) override
Remove object from the list.
Definition TList.cxx:819
TObject * First() const override
Return the first object in the list. Returns 0 when list is empty.
Definition TList.cxx:656
void AddFirst(TObject *obj) override
Add object at the beginning of the list.
Definition TList.cxx:97
const char * GetName() const override
Returns name of object.
Definition TNamed.h:49
const char * GetTitle() const override
Returns title of object.
Definition TNamed.h:50
Mother of all ROOT objects.
Definition TObject.h:41
virtual const char * GetName() const
Returns name of object.
Definition TObject.cxx:457
virtual const char * ClassName() const
Returns name of class to which the object belongs.
Definition TObject.cxx:226
virtual void UseCurrentStyle()
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyl...
Definition TObject.cxx:885
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:865
Bool_t Disconnect(const char *signal=nullptr, void *receiver=nullptr, const char *slot=nullptr)
Disconnects signal of this object from slot of receiver.
A TRootHelpDialog is used to display help text (or any text in a dialog window).
Basic string class.
Definition TString.h:138
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
Definition TString.cxx:2384
This small class is useful to ask the user for a name and a title, in order to rename a style,...
This class provides a Graphical User Interface to manage styles in ROOT.
TGPictureButton * fToolBarHelp
tool bar 'Help' button
void ModXLabelFont()
Slot called whenever the X axis label font is modified by the user.
void ModOptDateFormat()
Slot called whenever the date text format is modified by the user.
TGedPatternSelect * fHistFillStyle
histograms fill pattern selection widget
void ModTitleBorderSize()
Slot called whenever the title border size is modified by the user.
const TGPicture * fToolBarHelpPic
tool bar 'Help' picture
void AddHistosHistosAxis(TGCompositeFrame *f)
Add the 'Axis' group frame to the 'Histos - Histos' tab.
void ModStatFontSizeInPixels(Bool_t b)
Slot called whenever the text size mode is modified by the user.
void ModYTitleSize()
Slot called whenever the Y axis title size is modified by the user.
void DoPreview(Bool_t b)
Slot called when the user click on the preview check button.
void ModPadBorderSize()
Slot called whenever the pad border size is modified by the user.
TGNumberEntry * fYTickLength
Y axis tick length number entry.
void ModPadTickX()
Slot called whenever the pad tick X boolean is modified by the user.
TGCheckButton * fXLabelSizeInPixels
X axis label size check box.
TGCheckButton * fHistMinimumZero
histograms minimum zero check box
TGNumberEntry * fStatH
stats height number entry
void ModZLabelColor()
Slot called whenever the Z axis label color is modified by the user.
void ModOptLogx()
Slot called whenever the X axis log scale boolean is modified by the user.
TGTextButton * fEditionHelp
help button
TGTextButton * fApplyOnButton
apply style on object(s)
TGLineWidthComboBox * fLineWidth
general line width combo box
TGNumberEntry * fZLabelOffset
Z axis label offset number entry.
void ModZNdivisions()
Slot called whenever the Z axis Number of divisions is modified by the user.
TGLineStyleComboBox * fFrameLineStyle
frame line style combo box
void ModYAxisColor()
Slot called whenever the Y axis color is modified by the user.
TGFontTypeComboBox * fXLabelFont
X axis label font combo box.
void ModFrameFillStyle()
Slot called whenever the frame fill style is modified by the user.
void ModTextAngle()
Slot called whenever the text angle is modified by the user.
void AddPadMargin(TGCompositeFrame *f)
Add the 'Margin' group frame to the 'Pad' tab.
void ModYLabelColor()
Slot called whenever the Y axis label color is modified by the user.
TGedMarkerSelect * AddMarkerStyleEntry(TGCompositeFrame *f, Int_t id)
Add a marker style entry to the frame f.
TGNumberEntry * fCanvasDefH
canvas height number entry
TGComboBox * fAttDateTextAlign
canvas date align combo box
void ConnectAll()
Connect every entry in the top level interface to the slot.
void ModZTickLength()
Slot called whenever the Z axis tick length is modified by the user.
TGNumberEntry * fBarWidth
histograms bar width number entry
Bool_t fAllAndNotCurrent
kTRUE when apply on 'All canvases'
TGNumberEntry * fXTitleOffset
X axis title offset number entry.
void ConnectEditor(Int_t tabNum)
Connect every widget entry of the editor to its specific slot.
TStyle * fCurSelStyle
current selected style
void ModDateX()
Slot called whenever the date abscissa is modified by the user.
TGCheckButton * fPadTickY
pad ticks along Y show/hide check box
void AddPadGrid(TGCompositeFrame *f)
Add the 'Grid' group frame to the 'Pad' tab.
TGPictureButton * fToolBarImportCanvas
tool bar 'Import from canvas' button
void ModStatBorderSize()
Slot called whenever the stats border size is modified by the user.
void AddPadTicks(TGCompositeFrame *f)
Add the 'Ticks' group frame to the 'Pad' tab.
void ModXTitleColor()
Slot called whenever the X axis title color is modified by the user.
TGTab * fAxisTab
axis' tabs
TGNumberEntry * fTitleFontSize
title font size number entry
void AddEdition(TGCompositeFrame *p)
Add the editor to the frame 'p'.
void ModLineStyleEdit()
Slot called whenever the line style editor is opened by the user.
TGLineWidthComboBox * fFrameBorderSize
frame border size combo box
TGNumberEntry * fScreenFactor
general screen factor number entry
TGCheckButton * fXNdivisionsOptimize
X axis division optimization check box.
TGColorSelect * fPadColor
pad fill color selection widget
void DoImportCanvas()
Create a new style (a copy of gStyle) and import the properties of the current canvas inside.
static TStyleManager * fgStyleManager
singleton style manager
TGNumberEntry * fYNdivSub
Y axis secondary division number entry.
TGNumberEntry * fEndErrorSize
end error size number entry
void ModOptLogz()
Slot called whenever the Z axis log scale boolean is modified by the user.
TGNumberEntry * fCanvasDefW
canvas width number entry
void ModYTitleOffset()
Slot called whenever the Y axis title offset is modified by the user.
TGComboBox * AddTextAlignEntry(TGCompositeFrame *f, Int_t id)
Add a text align combo box to the frame f.
void ModTextFont()
Slot called whenever the text font is modified by the user.
const TGPicture * fMakeDefaultPic
button picture
void AddAxisYDivisions(TGCompositeFrame *f)
Add the 'Divisions' group frame to the 'Axis - Y Axis' tab.
TGLineStyleComboBox * fHistLineStyle
histograms line style combo box
Bool_t fPaperSizeEnCm
kTRUE if the paper size is in cm
void DisconnectEditor(Int_t tabNum)
Disconnect every widget entry of the editor from its slot.
TGLineWidthComboBox * fTitleBorderSize
title border size combo box
TGCheckButton * fOptDateBool
canvas date show/hide check box
void ModHistMinimumZero()
Slot called whenever the histos minimum zero boolean is modified by the user.
void AddStatsText(TGCompositeFrame *f)
Add the 'Text' group frame to the 'Stats' tab.
void ModXTickLength()
Slot called whenever the X axis tick length is modified by the user.
void AddHistosGraphsLine(TGCompositeFrame *f)
Add the 'Line' group frame to the 'Histos - Graphs' tab.
TGFontTypeComboBox * fYTitleFont
Y axis title font combo box.
void ModFuncWidth()
Slot called whenever the function line width is modified by the user.
TGMenuBar * fMenuBar
the main window menu bar
TGedPatternSelect * fFrameFillStyle
frame fill pattern selection widget
void ModAttDateTextSizeInPixels(Bool_t b)
Slot called whenever the date text size mode is modified by the user.
void AddCanvasBorder(TGCompositeFrame *f)
Add the 'Border' group frame to the 'Canvas' tab.
TGTextButton * fEditionReset
reset button
void AddAxisZDivisions(TGCompositeFrame *f)
Add the 'Divisions' group frame to the 'Axis - Z Axis' tab.
void ModCanvasDefH()
Slot called whenever the canvas default height is modified by the user.
void ModEndErrorSize()
Slot called whenever the end error size is modified by the user.
TGLabel * fTitleBorderSizeLabel
label 'Title's'
TGRadioButton * fColorModelPSCMYK
CMYB radio button.
TGLineWidthComboBox * fLegendBorderSize
legend border size combo box
TGTextEntry * fFitFormat
fit format text entry
void DoImportMacro(Bool_t create)
Slot called to import a style from a C++ macro file.
void CreateTabHistos(TGCompositeFrame *tab)
Add the tab 'Histos' to the editor.
TGNumberEntry * fZNdivMain
Z axis primary division number entry.
void UpdateEditor(Int_t tabNum)
Update the values of every widget entry in the editor.
TGNumberEntry * fTextSize
general text size number entry
void DoMoreLess()
Slot called when the user try to show or hide the editor part of the style manager.
TGTextEntry * fCurPadTextEntry
label showing current pad's name
void AddStatsFit(TGCompositeFrame *f)
Add the 'Fit Options' group frame to the 'Stats' tab.
void ModYLabelSizeInPixels(Bool_t b)
Slot called whenever the Y axis label size mode is modified by the user.
TGColorSelect * fHistFillColor
histograms fill color selection widget
void BuildList(TStyle *style=nullptr)
Build the list of styles which will appear in the available styles combo box.
void ModFuncStyle()
Slot called whenever the function line style is modified by the user.
TGCheckButton * AddCheckButton(TGCompositeFrame *f, const char *s, Int_t id, Int_t e1=0, Int_t e2=2)
Add a check button to the frame f.
void ModFrameLineColor()
Slot called whenever the frame line color is modified by the user.
void AddMenus(TGCompositeFrame *p)
Add the menu bar to the frame 'p'.
TGNumberEntry * fTitleY
title ordinate number entry
void AddHistosFramesFill(TGCompositeFrame *f)
Add the 'Fill' group frame to the 'Histos - Frames' tab.
void ModGridStyle()
Slot called whenever the grid line style is modified by the user.
static TStyleManager *& GetSM()
static: return style manager
Bool_t fRealTimePreview
kTRUE if auto refreshed preview
TGColorSelect * fStatColor
stats fill color selection widget
void ModHistLineWidth()
Slot called whenever the histos line width is modified by the user.
Bool_t fSigSlotConnected
kTRUE when signal/slots connected
TGRadioButton * fApplyOnSel
'Apply on' button group
void ModStatFont()
Slot called whenever the stats text font is modified by the user.
TGColorSelect * fLineColor
general line color selection widget
TGLineWidthComboBox * fFrameLineWidth
frame line width combo box
void ModHeaderPS()
Slot called whenever the PS header is modified by the user.
void ModStatW()
Slot called whenever the stats width is modified by the user.
void AddAxisZLine(TGCompositeFrame *f)
Add the 'Line' group frame to the 'Axis - Z Axis' tab.
void DoEditionUpdatePreview()
Slot called when the user clicks on the 'Update preview' button.
void ModTitleTextColor()
Slot called whenever the title text color is modified by the user.
void AddTitleBorderSize(TGCompositeFrame *f)
Add the 'Shadow' group frame to the 'Title' tab.
TGNumberEntry * fTitleX
title abscissa number entry
TGTab * fHistosTab
histos' tabs
TGCheckButton * fOptStatRMS
stats RMS show/hide check box
TGButtonGroup * fPadBorderMode
pad border mode button group
void ModStatFontSize()
Slot called whenever the text size is modified by the user.
void ModStatY()
Slot called whenever the stats ordinate is modified by the user.
TGLabel * fLegendBorderSizeLabel
label 'Legend's'
void ModMarkerColor()
Slot called whenever the marker color is modified by the user.
TGCheckButton * fTitleFontSizeInPixels
title font size check box
void AddPsPdfTitle(TGCompositeFrame *f)
Add the 'Title' group frame to the 'PS / PDF' tab.
TGNumberEntry * fCanvasDefY
canvas ordinate number entry
void ModPadLeftMargin()
Slot called whenever the pad left margin is modified by the user.
void AddHistosFramesBorder(TGCompositeFrame *f)
Add the 'Border' group frame to the 'Histos - Frames' tab.
TStylePreview * fPreviewWindow
preview
void AddAxisXTitle(TGCompositeFrame *f)
Add the 'Title' group frame to the 'Axis - X Axis' tab.
void ModPadGridY()
Slot called whenever the pad grid Y boolean is modified by the user.
void DoPreviewClosed()
Slot called to close the preview, via the preview check button, or when the preview window is closed ...
TGCheckButton * fOptStatEntries
stats entries show/hide check box
void ModYNdivisions()
Slot called whenever the Y axis Number of divisions is modified by the user.
void ModFrameBorderSize()
Slot called whenever the frame border size is modified by the user.
void AddPsPdfLineScale(TGCompositeFrame *f)
Add the 'Line scale' number entry to the 'PS / PDF' tab.
TGCheckButton * fOptStatIntegral
stats integral show/hide check box
TGTextButton * fLineStyleEdit
general line style editor open button
TGTextEntry * fTitlePS
ps/pdf title text entry
void ModXAxisColor()
Slot called whenever the X axis color is modified by the user.
TGPopupMenu * fMenuStyle
the 'Style' popup menu
TGNumberEntry * fZNdivSubSub
Z axis tertiary division number entry.
void ModPaintTextFormat()
Slot called whenever the paint text format is modified by the user.
void ModTitleFontSize()
Slot called whenever the text size is modified by the user.
TGNumberEntry * fLineScalePS
ps/pdf line scale number entry
void ModDrawBorder()
Slot called whenever the draw border boolean is modified by the user.
void DoDelete()
Delete the current selected style from the ROOT session.
TGNumberEntry * fYNdivSubSub
Y axis tertiary division number entry.
TGNumberEntry * fDateX
canvas date abscissa number entry
void AddAxisYTitle(TGCompositeFrame *f)
Add the 'Title' group frame to the 'Axis - Y Axis' tab.
TGNumberEntry * fTitleW
title width number entry
void ModPadRightMargin()
Slot called whenever the pad right margin is modified by the user.
void ModYLabelOffset()
Slot called whenever the Y axis label offset is modified by the user.
void ModAttDateTextAlign()
Slot called whenever the date text align is modified by the user.
TGTab * fEditionTab
editor's tabs
TGNumberEntry * fZLabelSize
Z axis label size number entry.
TGFontTypeComboBox * fTitleFont
title font combo box
void ModFrameLineWidth()
Slot called whenever the frame line width is modified by the user.
void AddHistosHistosLegoInnerR(TGCompositeFrame *f)
Add the '3D Cylindrical' group frame to the 'Histos - Histos' tab.
TGLayoutHints * fLayoutExpandXY
often used layout
void ModZLabelOffset()
Slot called whenever the Z axis label offset is modified by the user.
void DoChangeTab(Int_t i)
Slot called when the user changes the current tab.
void AddAxisZLabels(TGCompositeFrame *f)
Add the 'Labels' group frame to the 'Axis - Z Axis' tab.
TGFontTypeComboBox * fStatFont
stats font type combo box
TGCheckButton * fOptStatSkewness
stats Skewness show/hide check box
TGNumberEntry * fPadTopMargin
pad top margin number entry
TGColorSelect * fFrameFillColor
frame fill color selection widget
void ModStripDecimals()
Slot called whenever the strip decimal boolean is modified by the user.
TGColorSelect * fAttDateTextColor
canvas date color selection widget
TGNumberEntry * fPadRightMargin
pad right margin number entry
TGNumberEntry * fAttDateTextAngle
canvas date angle number entry
void ModFitFormat(const char *fitformat)
Slot called whenever the fit paint format is modified by the user.
TGHorizontal3DLine * fHorizontal3DLine
a line under the tool bar
void ModFillStyle()
Slot called whenever the fill style is modified by the user.
TGComboBox * fTitleAlign
title align combo box
void CloseWindow() override
Slot called to close the style manager via the window manager.
TGColorSelect * fFillColor
general fill color selection widget
TGCheckButton * fOptTitle
title show/hide check box
void CreateMacro()
Create a TGFileInfo concerning a macro, if it doesn't exist already.
void AddHistosGraphsBorder(TGCompositeFrame *f)
Add the 'Draw Border' check button to the 'Histos - Graphs' tab.
TGFontTypeComboBox * fAttDateTextFont
canvas date font combo box
void AddAxisYLine(TGCompositeFrame *f)
Add the 'Line' group frame to the 'Axis - Y Axis' tab.
void CreateTabTitle(TGCompositeFrame *tab)
Add the tab 'Title' to the editor.
void UpdateStatusBar()
Update the content of the status bar: show the name of the current selected style,...
TGFontTypeComboBox * fZTitleFont
Z axis title font combo box.
Int_t fCurTabNum
current opened tab number
void ModHistLineColor()
Slot called whenever the histos line color is modified by the user.
TGNumberEntry * fStatW
stats width number entry
void ModAttDateTextFont()
Slot called whenever the date text font is modified by the user.
void ModTextAlign()
Slot called whenever the text align is modified by the user.
const TGPicture * fToolBarDeletePic
tool bar 'Delete' picture
void ModBarOffset()
Slot called whenever the histos bar offset is modified by the user.
TGColorSelect * fYAxisColor
Y axis color selection widget.
void ModTextColor()
Slot called whenever the text color is modified by the user.
TGCheckButton * fOptStatMean
stats mean show/hide check box
void ModStatFormat(const char *sformat)
Slot called whenever the stats paint format is modified by the user.
void ModStatTextColor(Pixel_t color)
Slot called whenever the stats text color is modified by the user.
void ModZLabelSizeInPixels(Bool_t b)
Slot called whenever the Z axis Label size mode is modified by the user.
TGButtonGroup * fFrameBorderMode
frame border mode button group
void ModOptFit()
Slot called whenever one of the fit options is modified by the user.
TGCheckButton * fOptStatErrors
stats errors check box
TGNumberEntry * fYTitleSize
Y axis title size number entry.
void AddAxisYLabels(TGCompositeFrame *f)
Add the 'Labels' group frame to the 'Axis - Y Axis' tab.
TGHorizontalFrame * fEditionButtonFrame
editor's buttons
TGColorSelect * fFrameLineColor
frame line color selection widget
TGCheckButton * fPadTickX
pad ticks along X show/hide check box
TGColorSelect * fZTitleColor
Z axis title color selection widget.
TGCheckButton * fPadGridX
pad grid along X show/hide check box
void AddGeneralMarker(TGCompositeFrame *f)
Add the 'Marker' group frame to the 'General' tab.
TGNumberEntry * fHatchesSpacing
general hatches spacing number entry
void ModPadBorderMode()
Slot called whenever the pad border mode is modified by the user.
TGedMarkerSelect * fMarkerStyle
general marker style entry
TGNumberEntry * fLegoInnerR
histograms lego inner radius number entry
TGNumberEntry * fXNdivSub
X axis secondary division number entry.
void AddAxisXLabels(TGCompositeFrame *f)
Add the 'Labels' group frame to the 'Axis - X Axis' tab.
void ModLineColor()
Slot called whenever the line color is modified by the user.
TGNumberEntry * fTimeOffsetDate
axis time offset (mm/dd/yyyy) number entry
TGTextEntry * AddTextEntry(TGCompositeFrame *f, const char *s, Int_t id)
Add a text entry to the frame f. A caption can be added.
TGNumberEntry * fYLabelSize
Y axis label size number entry.
TGStatusBar * fStatusBar
status bar
void ModTextSizeInPixels(Bool_t b)
Slot called whenever the text size mode is modified by the user.
TGNumberEntry * fYTitleOffset
Y axis title offset number entry.
void ModTitleY()
Slot called whenever the title ordinate is modified by the user.
TGCheckButton * fXTitleSizeInPixels
X axis title size check box.
void ModLineWidth()
Slot called whenever the line width is modified by the user.
TGFontTypeComboBox * fZLabelFont
Z axis label font combo box.
void ModZLabelSize()
Slot called whenever the Z axis label size is modified by the user.
void CreateTabGeneral(TGCompositeFrame *tab)
Add the tab 'General' to the editor.
TGedPatternSelect * fTitleStyle
title fill pattern selection widget
void ModHistLineStyle()
Slot called whenever the histos line style is modified by the user.
TGComboBox * AddPaperSizeEntry(TGCompositeFrame *f, Int_t id)
Add a prefered paper size combo box to the frame f.
void ModOptTitle()
Slot called whenever the OptTitle boolean is modified by the user.
void CreateTabPad(TGCompositeFrame *tab)
Add the tab 'Pad' to the editor.
~TStyleManager() override
Destructor.
void ModMarkerStyle()
Slot called whenever the marker style is modified by the user.
TGCheckButton * fOptLogy
Y axis logarithmic scale check box.
void CreateTabPsPdf(TGCompositeFrame *tab)
Add the tab 'PS / PDF' to the editor.
void AddPadBorder(TGCompositeFrame *f)
Add the 'Border' group frame to the 'Pad' tab.
void ModAttDateTextSize()
Slot called whenever the date text size is modified by the user.
void DoMenu(Int_t menuID)
Slot called when an item of the menu is selected.
void ModFrameLineStyle()
Slot called whenever the frame line style is modified by the user.
TGToolBar * fToolBar
the tool bar
TGColorSelect * AddColorEntry(TGCompositeFrame *f, Int_t id)
Add a color entry to the frame f.
void AddPsPdfPaperSize(TGCompositeFrame *f)
Add the 'Paper Size' group frame to the 'PS / PDF' tab.
TGCheckButton * fDrawBorder
function border show/hide check box
void ModYTitleSizeInPixels(Bool_t b)
Slot called whenever the Y axis title size mode is modified by the user.
TGNumberEntry * fPaperSizeY
ps/pdf paper size height number entry
void ModXTitleOffset()
Slot called whenever the X axis title offset is modified by the user.
TGLabel * fStatFormatLabel
label 'stats format'
TGComboBox * fListComboBox
list of available styles
void ModXLabelSizeInPixels(Bool_t b)
Slot called whenever the X axis label size mode is modified by the user.
TGRadioButton * fColorModelPSRGB
RGB radio button.
void ModXLabelColor()
Slot called whenever the X axis label color is modified by the user.
void ModTitleX()
Slot called whenever the title abscissa is modified by the user.
void CreateTabStats(TGCompositeFrame *tab)
Add the tab 'Stats' to the editor.
TGFileInfo * fCurMacro
current macro
TGLineStyleComboBox * AddLineStyleEntry(TGCompositeFrame *f, Int_t id)
Add a line style entry to the frame f.
TGTextButton * fMoreLess
open/close the editor
UInt_t fSMHeight
style manager's height
void ModAttDateTextColor()
Slot called whenever the date text color is modified by the user.
void CreateTabCanvas(TGCompositeFrame *tab)
Add the tab 'Canvas' to the editor.
void ModOptDateBool()
Slot called whenever the OptDate boolean is modified by the user.
TGTextButton * AddTextButton(TGCompositeFrame *f, const char *s, Int_t id)
Add a text button to the frame f.
void AddStatsFill(TGCompositeFrame *f)
Add the 'Fill' group frame to the 'Stats' tab.
void AddTitleText(TGCompositeFrame *f)
Add the 'Text' group frame to the 'Title' tab.
void DoEditor()
Called each time something is changed in the style editor.
void ModZTitleColor()
Slot called whenever the Z axis title color is modified by the user.
void ModXLabelOffset()
Slot called whenever the X axis label offset is modified by the user.
TGTextEntry * fCurStyle
label showing gStyle's name
TGNumberEntry * fDateY
canvas date ordinate number entry
void DoChangeAxisTab(Int_t i)
Slot called when the user changes the current axis tab.
TGColorSelect * fFuncColor
function color selection widget
TGLayoutHints * fLayoutExpandXMargin
often used layout
void ModNumberContours()
Slot called whenever the number of contours is modified by the user.
void AddStatsGeometry(TGCompositeFrame *f)
Add the 'Geometry' group frame to the 'Stats' tab.
void ModZTitleOffset()
Slot called whenever the Z axis title offset is modified by the user.
TGNumberEntry * fPadBottomMargin
pad bottom margin number entry
TGColorSelect * fXLabelColor
X axis label color selection widget.
TGLineWidthComboBox * fPadBorderSize
pad border size combo box
TGLineStyleComboBox * fFuncStyle
function line style combo box
void ModStatH()
Slot called whenever the stats height is modified by the user.
TGComboBox * AddMarkerSizeEntry(TGCompositeFrame *f, Int_t id)
Add a marker size entry to the frame f.
TGCheckButton * fOptFitChi
fit Chi show/hide check box
void ModCanvasDefX()
Slot called whenever the canvas default abscissa is modified by the user.
TList * fTrashListLayout
to avoid memory leak
TGCheckButton * fStatFontSizeInPixels
stats font size check box
TGCheckButton * fYNdivisionsOptimize
Y axis division optimization check box.
void DoNew()
Create a new style. Called via the menu bar or the tool bar.
TGTextButton * fPaletteEdit
palette editor open button
void ModFrameBorderMode()
Slot called whenever the frame border mode is modified by the user.
void ModXLabelSize()
Slot called whenever the X axis label size is modified by the user.
TGFontTypeComboBox * fYLabelFont
Y axis label font combo box.
void AddHistosGraphsErrors(TGCompositeFrame *f)
Add the 'Errors' group frame to the 'Histos - Graphs' tab.
void CreateTabAxis(TGCompositeFrame *tab)
Add the tab 'Axis' to the editor.
TGCheckButton * fOptStatOverflow
stats overflow show/hide check box
void ModTitleFontSizeInPixels(Bool_t b)
Slot called whenever the text size mode is modified by the user.
TGNumberEntry * fYLabelOffset
Y axis label offset number entry.
TGColorSelect * fXTitleColor
X axis title color selection widget.
void ModTitleFont()
Slot called whenever the title text font is modified by the user.
void ModFillColor()
Slot called whenever the fill color is modified by the user.
TGedPatternSelect * fFillStyle
general fill pattern selection widget
TGNumberEntry * fXNdivSubSub
X axis tertiary division number entry.
void AddStatsStats(TGCompositeFrame *f)
Add the 'Stat Options' group frame to the 'Stats' tab.
TGCheckButton * fOptLogz
Z axis logarithmic scale check box.
TGComboBox * fMarkerSize
general marker size combo box
TGLineWidthComboBox * AddLineWidthEntry(TGCompositeFrame *f, Int_t id)
Add a line width entry to the frame f.
void ModTitleH()
Slot called whenever the title height is modified by the user.
TGCheckButton * fOptStatUnderflow
stats underflow show/hide check box
TGNumberEntry * fTitleH
title height number entry
void CreateTabAxisY(TGCompositeFrame *tab)
Add the sub-tab 'Y Axis' to the tab 'Axis'.
TGColorSelect * fTitleColor
title fill color selection widget
TGHButtonGroup * fApplyOnGroup
'Apply on' button group
void ModColorModelPS()
Slot called whenever the PS color model is modified by the user.
void ModTitleStyle()
Slot called whenever the title fill style is modified by the user.
void ModMarkerSize()
Slot called whenever the marker size is modified by the user.
void ModAttDateTextAngle()
Slot called whenever the date text angle is modified by the user.
void ModPadBottomMargin()
Slot called whenever the pad bottom margin is modified by the user.
void ModTitlePS()
Slot called whenever the PS title is modified by the user.
void ModLineScalePS()
Slot called whenever the PS line scale is modified by the user.
TGLayoutHints * fLayoutExpandX
often used layout
void ModZTitleSize()
Slot called whenever the Z axis title size is modified by the user.
TGCheckButton * fYTitleSizeInPixels
Y axis title size check box.
void ModApplyOnXYZ()
Slot called whenever the apply on XYZ button is clicked.
TGCheckButton * fOptStatKurtosis
stats kurtosis show/hide check box
TGColorSelect * fHistLineColor
histograms fill color selection widget
void ModTitleAlign()
Slot called whenever the title text align is modified by the user.
TGComboBox * fOptDateFormat
canvas date format text entry
const TGPicture * fToolBarNewPic
tool bar 'New' picture
void DoSelectNoCanvas()
Slot called when the user close a TCanvas.
TGCheckButton * fZTitleSizeInPixels
Z axis title size check box.
TGLineWidthComboBox * fHatchesLineWidth
general hatches width combo box
TGLabel * fCurStylabel
label 'gStyle is set to:'
TGNumberEntry * fPadLeftMargin
pad left margin number entry
void ModYTickLength()
Slot called whenever the Y axis tick length is modified by the user.
void ModHistFillStyle()
Slot called whenever the histos fill style is modified by the user.
void ModBarWidth()
Slot called whenever the histos bar width is modified by the user.
TGedPatternSelect * fStatStyle
stats fill pattern selection widget
TGComboBox * AddDateFormatEntry(TGCompositeFrame *f, Int_t id)
Add a date format combo box to the frame f.
TGPopupMenu * fMenuHelp
the 'Help' popup menu
TGColorSelect * fTextColor
general text color selection widget
void DoListSelect()
Slot called when the user select an item in the available styles' list.
TGLineWidthComboBox * fHistLineWidth
histograms line width combo box
TGNumberEntry * fStatX
stats abscissa number entry
void AddTitleGeometry(TGCompositeFrame *f)
Add the 'Geometry' group frame to the 'Title' tab.
void AddTitle(TGCompositeFrame *f, const char *s)
Add a title to the frame f.
TGButtonGroup * fCanvasBorderMode
canvas border mode button group
void AddPsPdfColorModel(TGCompositeFrame *f)
Add the 'Color Model' group frame to the 'PS / PDF' tab.
TGComboBox * fTextAlign
general text align combo box
TGCheckButton * fPreviewButton
if checked, preview is visible
TGNumberEntry * fAttDateTextSize
canvas date size number entry
TGCheckButton * fPadGridY
pad grid along Y show/hide check box
void ModTimeOffset()
Slot called whenever the time offset is modified by the user.
void ModPadTopMargin()
Slot called whenever the pad top margin is modified by the user.
TGFontTypeComboBox * fXTitleFont
X axis title font combo box.
void ModXTitleFont()
Slot called whenever the X axis title font is modified by the user.
void ModScreenFactor()
Slot called whenever the screen factor is modified by the user.
TGColorSelect * fYTitleColor
Y axis title color selection widget.
void ModZTitleFont()
Slot called whenever the Z axis title font is modified by the user.
void DoApplyOnSelect(Int_t i)
Slot called to choose on which object(s) the 'Apply' button will have an effect.
static void Terminate()
Called to delete the style manager.
void AddCanvasGeometry(TGCompositeFrame *f)
Add the 'Geometry' group frame to the 'Canvas' tab.
void ModCanvasBorderMode()
Slot called whenever the canvas border mode is modified by the user.
TGedPatternSelect * AddFillStyleEntry(TGCompositeFrame *f, Int_t id)
Add a fill style entry to the frame f.
TGLabel * fListLabel
label 'Available Styles:'
TGNumberEntry * fBarOffset
histograms bar offset number entry
TGColorSelect * fMarkerColor
general marker color selection widget
TGLineStyleComboBox * fGridStyle
pad grid line style combo box
void ModCanvasDefW()
Slot called whenever the canvas default width is modified by the user.
void ModZAxisColor()
Slot called whenever the Z axis color is modified by the user.
TGColorSelect * fXAxisColor
X axis color selection widget.
void AddCanvasFill(TGCompositeFrame *f)
Add the 'Fill' group frame to the 'Canvas' tab.
void AddHistosHistosContours(TGCompositeFrame *f)
Add the 'Contours' group frame to the 'Histos - Histos' tab.
TGNumberEntry * fNumberContours
histograms number of contours number entry
Bool_t fLastChoice
kTRUE if the user choose OK in the last TStyleDialog
TGButtonGroup * fColorModelPS
ps/pdf color model button group
void ModStatStyle(Style_t pattern)
Slot called whenever the stats fill style is modified by the user.
TGPictureButton * fMakeDefault
selected style becom gStyle
TStyleManager(const TGWindow *)
Constructor. Create the main window of the style manager.
void ModFuncColor()
Slot called whenever the function line color is modified by the user.
TGCheckButton * fOptLogx
X axis logarithmic scale check box.
void ModOptStat()
Slot called whenever one of the stats options is modified by the user.
TGLineWidthComboBox * fStatBorderSize
stats border size combo box
TGCheckButton * fTextSizeInPixels
general text size check box
void CreateTabHistosHistos(TGCompositeFrame *tab)
Add the sub-tab 'Histos' to the tab 'Histos'.
Int_t fCurTabAxisNum
current opened axis tab number
TGCheckButton * fOptFitValues
fit values show/hide check box
TGNumberEntry * fXTickLength
X axis tick length number entry.
void ModPaletteEdit()
Slot called whenever the palette editor is opened by the user.
TGNumberEntry * fStatFontSize
stats font size number entry
void AddAxisZTitle(TGCompositeFrame *f)
Add the 'Title' group frame to the 'Axis - Z Axis' tab.
void ModLineStyle()
Slot called whenever the line style is modified by the user.
void ModZTitleSizeInPixels(Bool_t b)
Slot called whenever the Z axis title size mode is modified by the user.
TGColorSelect * fCanvasColor
canvas fill color selection widget
TGColorSelect * fGridColor
pad grid line color selection widget
void ModLegoInnerR()
Slot called whenever the lego inner radius is modified by the user.
void ModHatchesSpacing()
Slot called whenever the hatches spacing is modified by the user.
TGNumberEntry * fStatY
stats ordinate number entry
TGLabel * fFitFormatLabel
label 'fit format'
TGTextButton * fApplyOnXYZ
axis apply on XYZ text button
TGComboBox * fPaperSizePredef
ps/pdf paper size combo box
static void Show()
Called to show the style manager. Static method.
void DisconnectAll()
Disconnect every entry in the top level interface of the slot.
TGNumberEntry * fZTitleSize
Z axis title size number entry.
void CreateTabAxisZ(TGCompositeFrame *tab)
Add the sub-tab 'Z Axis' to the tab 'Axis'.
TGVerticalFrame * fEditionFrame
editor
void ModXNdivisions()
Slot called whenever the X axis Number of divisions is modified by the user.
void ModTitleW()
Slot called whenever the title width is modified by the user.
TGNumberEntry * fZTitleOffset
Z axis title offset number entry.
TGPopupMenu * fImportCascade
Cascaded menu 'Import'.
TGNumberEntry * fTimeOffsetTime
axis time offset (hh:mm:ss) number entry
TGCheckButton * fStripDecimals
axis label's decimal part show/hide check box
void ModYLabelFont()
Slot called whenever the Y axis label font is modified by the user.
void ModLegendBorderSize()
Slot called whenever the legend border size is modified by the user.
void ModTitleFillColor()
Slot called whenever the title fill color is modified by the user.
void AddHistosHistosBar(TGCompositeFrame *f)
Add the 'Bar' group frame to the 'Histos - Histos' tab.
TGLineStyleComboBox * fLineStyle
general line style combo box
TGNumberEntry * fCanvasDefX
canvas abscissa number entry
TVirtualPad * fCurPad
current pad
void ModYLabelSize()
Slot called whenever the Y axis label size is modified by the user.
TGTextEntry * fStatFormat
stats format text entry
TObject * fCurObj
current object
void ModCanvasBorderSize()
Slot called whenever the canvas border size is modified by the user.
TGFontTypeComboBox * AddFontTypeEntry(TGCompositeFrame *f, Int_t id)
Add a font type combo box to the frame f.
TGLabel * fStatBorderSizeLabel
label 'stats' shadow
void ModHatchesLineWidth()
Slot called whenever the hatches line width is modified by the user.
void ModYTitleColor()
Slot called whenever the Y axis title color is modified by the user.
void AddTitleFill(TGCompositeFrame *f)
Add the 'Fill' group frame to the 'Title' tab.
void AddToolbar(TGCompositeFrame *p)
Add the tool bar to the frame 'p'.
void DoApplyOn()
Slot called when the user clicks on the 'Apply' button.
TGNumberEntry * AddNumberEntry(TGCompositeFrame *f, Int_t e1, Int_t e2, Int_t e3, Int_t id, const char *s, Double_t init, Int_t digits, TGNumberFormat::EStyle nfS, TGNumberFormat::EAttribute nfA, TGNumberFormat::ELimit nfL, Double_t min, Double_t max)
Add a number entry to the frame f. A caption can be added.
TGCheckButton * fAttDateTextSizeInPixels
canvas date size check box
void AddHistosHistosFill(TGCompositeFrame *f)
Add the 'Fill' group frame to the 'Histos - Histos' tab.
void ModGridWidth()
Slot called whenever the grid line width is modified by the user.
void ModDateY()
Slot called whenever the date ordinate is modified by the user.
void AddAxisXLine(TGCompositeFrame *f)
Add the 'Line' group frame to the 'Axis - X Axis' tab.
TGTextEntry * fPaintTextFormat
histograms format text entry
void ModErrorX()
Slot called whenever the error along X is modified by the user.
TGColorSelect * fStatTextColor
stats text color selection widget
void CreateTabHistosGraphs(TGCompositeFrame *tab)
Add the sub-tab 'Graphs' to the tab 'Histos'.
TGPictureButton * fToolBarImportMacro
tool bar 'Import from macro' button
TGLabel * fCurObjLabel
label 'Object:'
void ModPadTickY()
Slot called whenever the pad tick Y boolean is modified by the user.
TGNumberEntry * fXLabelSize
X axis label size number entry.
void ModPadColor()
Slot called whenever the pad color is modified by the user.
TGButtonGroup * AddBorderModeEntry(TGCompositeFrame *f, Int_t id1, Int_t id2, Int_t id3)
Add a border mode button group to the frame f.
TGNumberEntry * fXLabelOffset
X axis label offset number entry.
void ModOptLogy()
Slot called whenever the Y axis log scale boolean is modified by the user.
TGNumberEntry * fXTitleSize
X axis title size number entry.
void AddHistosHistosLine(TGCompositeFrame *f)
Add the 'Line' group frame to the 'Histos - Histos' tab.
void AddTopLevelInterface(TGCompositeFrame *cf)
Add the top level interface to the frame 'cf'.
TGTextButton * fEditionUpdatePreview
update preview button
void DoMakeDefault()
Slot called to make the current selected style (in the ComboBox) become gStyle.
TGLineWidthComboBox * fCanvasBorderSize
canvas border size combo box
TGRadioButton * fApplyOnAll
'Apply on' button group
void Init()
Set up the interface. Called by the ctor or by the 'Show' method.
void ModYTitleFont()
Slot called whenever the Y axis title font is modified by the user.
TGLineWidthComboBox * fFuncWidth
function width number entry
TGCheckButton * fZNdivisionsOptimize
Z axis division optimization check box.
TGNumberEntry * fErrorX
error along abscissa number entry
TGNumberEntry * fPaperSizeX
ps/pdf paper size width number entry
void ModCanvasColor()
Slot called whenever the canvas color is modified by the user.
UInt_t fSMWidth
style manager's width
const TGPicture * fToolBarImportMacroPic
tool bar 'Import from macro' picture
TGColorSelect * fTitleTextColor
title text color selection widget
void DoSelectCanvas(TVirtualPad *pad, TObject *obj, Int_t mouseButton)
Slot called when the user clicks on a TCanvas or on any object inside a TCanvas.
TGPictureButton * fToolBarNew
tool bar 'New' button
TGTextEntry * fCurObjTextEntry
label showing current object's name
void ModXTitleSizeInPixels(Bool_t b)
Slot called whenever the X axis title size mode is modified by the user.
void AddHistosFramesLine(TGCompositeFrame *f)
Add the 'Line' group frame to the 'Histos - Frames' tab.
void AddAxisXDivisions(TGCompositeFrame *f)
Add the 'Divisions' group frame to the 'Axis - X Axis' tab.
TGLineWidthComboBox * fGridWidth
pad grid line width combo box
Bool_t fStyleChanged
kTRUE if the style has been modified
TGCheckButton * fYLabelSizeInPixels
Y axis label size check box.
void ModCanvasDefY()
Slot called whenever the canvas default ordinate is modified by the user.
TGNumberEntry * fXNdivMain
X axis primary division number entry.
void ModStatColor(Pixel_t color)
Slot called whenever the stats fill color is modified by the user.
void DoRealTime(Bool_t b)
Slot called when the user click on the run time update check button.
TGNumberEntry * fTextAngle
general text angle number entry
TGCheckButton * fOptFitErrors
fit errors check box
Bool_t fMoreAndNotLess
kTRUE when editor is open
TGPictureButton * fToolBarDelete
tool bar 'Delete' button
TGPictureButton * fToolBarExport
tool bar 'Export' button
void DoExit()
Close the style manager. Called via the menu bar.
void AddPsPdfHeader(TGCompositeFrame *f)
Add the 'Header' group frame to the 'PS / PDF' tab.
TGCheckButton * fZLabelSizeInPixels
Z axis label size check box.
TGLayoutHints * fLayoutExpandXYMargin
often used layout
TGCheckButton * fOptFitProbability
fit probability show/hide check box
void DoExport()
Save the current selected style in a C++ macro file.
TGColorSelect * fZAxisColor
Z axis color selection widget.
void AddCanvasDate(TGCompositeFrame *f)
Add the 'Date' group frame to the 'Canvas' tab.
TGCheckButton * fOptStatName
stats name show/hide check box
void ModPaperSizePredef()
Slot called whenever the PS paper size is modified by the user.
TGFontTypeComboBox * fTextFont
general text font combo box
TGLayoutHints * fLayoutExpandXCenterYMargin
often used layout
const TGPicture * fToolBarImportCanvasPic
tool bar 'Import from canvas' picture
void ModXTitleSize()
Slot called whenever the X axis title size is modified by the user.
void ModPadGridX()
Slot called whenever the pad grid X boolean is modified by the user.
TList * fTrashListFrame
to avoid memory leak
TGNumberEntry * fYNdivMain
Y axis primary division number entry.
TGColorSelect * fYLabelColor
Y axis label color selection widget.
void DoHelp(Int_t i)
Open an help window. Called via the menu bar or the tool bar.
void AddPadFill(TGCompositeFrame *f)
Add the 'Fill' group frame to the 'Pad' tab.
void AddGeneralText(TGCompositeFrame *f)
Add the 'Text' group frame to the 'General' tab.
void ModHistFillColor()
Slot called whenever the histos fill color is modified by the user.
TGNumberEntry * fZNdivSub
Z axis secondary division number entry.
TGLabel * fCurPadLabel
label 'Canvas:'
const TGPicture * fToolBarExportPic
tool bar 'Export' picture
void ModPaperSizeXY()
Slot called whenever the PS paper size is modified by the user.
void ModFrameFillColor()
Slot called whenever the frame fill color is modified by the user.
void DoRename()
Rename the current selected style. Called via the menu bar.
TGNumberEntry * fZTickLength
Z axis tick length number entry.
void ModGridColor()
Slot called whenever the grid line color is modified by the user.
void AddGeneralLine(TGCompositeFrame *f)
Add the 'Line' group frame to the 'General' tab.
void ModTextSize()
Slot called whenever the text size is modified by the user.
void CreateTabHistosFrames(TGCompositeFrame *tab)
Add the sub-tab 'Frames' to the tab 'Histos'.
void ModStatX()
Slot called whenever the stats abscissa is modified by the user.
TGCheckButton * fPreviewRealTime
if checked, real time preview
TGColorSelect * fZLabelColor
Z axis label color selection widget.
void AddGeneralFill(TGCompositeFrame *f)
Add the 'Fill' group frame to the 'General' tab.
void ModZLabelFont()
Slot called whenever the Z axis label font is modified by the user.
void Hide()
Called to hide the style manager.
TGTextEntry * fHeaderPS
ps/pdf header text entry
void CreateTabAxisX(TGCompositeFrame *tab)
Add the sub-tab 'X Axis' to the tab 'Axis'.
This class may be used to preview the result of applying a style to a canvas.
TCanvas * GetMainCanvas()
Return pointer to the selected canvas.
void MapTheWindow()
Initialize the layout algorithm.
void Update(TStyle *style, TVirtualPad *pad)
Update the preview with possibly another style and another object than previously.
TStyle objects may be created to define special styles.
Definition TStyle.h:29
Double_t GetTimeOffset() const
Definition TStyle.h:271
Int_t GetOptLogy() const
Definition TStyle.h:250
Color_t GetGridColor() const
Definition TStyle.h:224
Int_t GetOptStat() const
Definition TStyle.h:247
Color_t GetLabelColor(Option_t *axis="X") const
Return the label color number in the axis.
Definition TStyle.cxx:1110
void SetAxisColor(Color_t color=1, Option_t *axis="X")
Set color to draw the axis line and tick marks.
Definition TStyle.cxx:1324
void SetPadBorderMode(Int_t mode=1)
Definition TStyle.h:361
void SetOptTitle(Int_t tit=1)
Definition TStyle.h:338
void SetFrameLineColor(Color_t color=1)
Definition TStyle.h:377
void SetPadTopMargin(Float_t margin=0.1)
Definition TStyle.h:363
Color_t GetStatTextColor() const
Definition TStyle.h:260
void SetTitleX(Float_t x=0)
Definition TStyle.h:417
void SetOptStat(Int_t stat=1)
The type of information printed in the histogram statistics box can be selected via the parameter mod...
Definition TStyle.cxx:1641
void SetHistFillColor(Color_t color=1)
Definition TStyle.h:383
void SetLegoInnerR(Float_t rad=0.5)
Definition TStyle.h:320
void SetOptLogx(Int_t logx=1)
Definition TStyle.h:333
void SetDateX(Float_t x=0.01)
Definition TStyle.h:341
void SetStatFormat(const char *format="6.4g")
Definition TStyle.h:400
void SetPadBottomMargin(Float_t margin=0.1)
Definition TStyle.h:362
Float_t GetTitleX() const
Definition TStyle.h:282
void SetPaintTextFormat(const char *format="g")
Definition TStyle.h:390
Int_t GetOptTitle() const
Definition TStyle.h:248
void SetCanvasBorderSize(Width_t size=1)
Definition TStyle.h:348
Float_t GetScreenFactor() const
Definition TStyle.h:258
void SetCanvasDefX(Int_t topx=10)
Definition TStyle.h:352
Color_t GetHistLineColor() const
Definition TStyle.h:235
Int_t GetNdivisions(Option_t *axis="X") const
Return number of divisions.
Definition TStyle.cxx:1078
void SetFrameFillColor(Color_t color=1)
Definition TStyle.h:376
Int_t GetPadTickX() const
Definition TStyle.h:219
Color_t GetTitleColor(Option_t *axis="X") const
Return title color.
Definition TStyle.cxx:1205
Color_t GetFrameLineColor() const
Definition TStyle.h:228
Style_t GetGridStyle() const
Definition TStyle.h:225
void SetStatFont(Style_t font=62)
Definition TStyle.h:398
void SetEndErrorSize(Float_t np=2)
Set the size (in pixels) of the small lines drawn at the end of the error bars (TH1 or TGraphErrors).
Definition TStyle.cxx:1341
Float_t GetStatFontSize() const
Definition TStyle.h:263
Float_t GetBarOffset() const
Definition TStyle.h:184
Float_t GetStatX() const
Definition TStyle.h:266
Float_t GetLabelSize(Option_t *axis="X") const
Return label size.
Definition TStyle.cxx:1146
void SetStatStyle(Style_t style=1001)
Definition TStyle.h:396
Color_t GetPadColor() const
Definition TStyle.h:210
void SetHistLineStyle(Style_t styl=0)
Definition TStyle.h:386
void SetPadRightMargin(Float_t margin=0.1)
Definition TStyle.h:365
Style_t GetHistFillStyle() const
Definition TStyle.h:236
void SetCanvasColor(Color_t color=19)
Definition TStyle.h:347
void SetTitleFont(Style_t font=62, Option_t *axis="X")
Definition TStyle.cxx:1776
Float_t GetPadRightMargin() const
Definition TStyle.h:216
Float_t GetTickLength(Option_t *axis="X") const
Return tick length.
Definition TStyle.cxx:1193
void SetCanvasDefH(Int_t h=500)
Definition TStyle.h:350
void SetTitleBorderSize(Width_t size=2)
Definition TStyle.h:412
void SaveSource(const char *filename, Option_t *option=nullptr)
Save the current style in a C++ macro file.
Definition TStyle.cxx:1997
Style_t GetFrameFillStyle() const
Definition TStyle.h:229
void SetStatTextColor(Color_t color=1)
Definition TStyle.h:395
void SetStatX(Float_t x=0)
Definition TStyle.h:401
Float_t GetTitleSize(Option_t *axis="X") const
Return title size.
Definition TStyle.cxx:1241
Float_t GetLegoInnerR() const
Definition TStyle.h:242
Style_t GetLabelFont(Option_t *axis="X") const
Return label font.
Definition TStyle.cxx:1122
void SetCanvasBorderMode(Int_t mode=1)
Definition TStyle.h:349
Float_t GetTitleY() const
Definition TStyle.h:283
void SetOptDate(Int_t datefl=1)
If optdate is non null, the current date/time will be printed in the canvas.
Definition TStyle.cxx:1547
void SetFrameFillStyle(Style_t styl=0)
Definition TStyle.h:378
Float_t GetDateX() const
Definition TStyle.h:199
void SetCanvasDefW(Int_t w=700)
Definition TStyle.h:351
void SetDateY(Float_t y=0.01)
Definition TStyle.h:342
Float_t GetTitleOffset(Option_t *axis="X") const
Return title offset.
Definition TStyle.cxx:1229
Color_t GetHistFillColor() const
Definition TStyle.h:234
void SetFrameBorderMode(Int_t mode=1)
Definition TStyle.h:382
Style_t GetTitleFont(Option_t *axis="X") const
Return title font.
Definition TStyle.cxx:1217
void SetFuncColor(Color_t color=1)
Definition TStyle.h:371
Bool_t GetHistMinimumZero() const
Definition TStyle.h:239
void SetHeaderPS(const char *header)
Define a string to be inserted in the Postscript header.
Definition TStyle.cxx:1363
Float_t GetStatY() const
Definition TStyle.h:267
void SetPadTickY(Int_t ticky)
Definition TStyle.h:369
void SetTitleOffset(Float_t offset=1, Option_t *axis="X")
Specify a parameter offset to control the distance between the axis and the axis title.
Definition TStyle.cxx:1799
Color_t GetTitleFillColor() const
Definition TStyle.h:273
Int_t GetCanvasDefH() const
Definition TStyle.h:193
void SetColorModelPS(Int_t c=0)
Define the color model used by TPostScript and TPDF (RGB or CMYK).
Definition TStyle.cxx:1276
Style_t GetTitleStyle() const
Definition TStyle.h:275
void SetPadTickX(Int_t tickx)
Definition TStyle.h:368
Float_t GetLabelOffset(Option_t *axis="X") const
Return label offset.
Definition TStyle.cxx:1134
Int_t GetCanvasDefX() const
Definition TStyle.h:195
Int_t GetOptDate() const
Definition TStyle.h:244
Bool_t GetPadGridY() const
Definition TStyle.h:218
Color_t GetStatColor() const
Definition TStyle.h:259
void SetPadGridX(Bool_t gridx)
Definition TStyle.h:366
void SetTitleTextColor(Color_t color=1)
Definition TStyle.h:409
Float_t GetPadLeftMargin() const
Definition TStyle.h:215
Double_t GetHatchesSpacing() const
Definition TStyle.h:203
Width_t GetLegendBorderSize() const
Definition TStyle.h:204
void SetStatBorderSize(Width_t size=2)
Definition TStyle.h:397
Float_t GetBarWidth() const
Definition TStyle.h:185
void SetGridColor(Color_t color=0)
Definition TStyle.h:374
Int_t GetColorModelPS() const
Definition TStyle.h:198
void SetGridStyle(Style_t style=3)
Definition TStyle.h:373
void SetErrorX(Float_t errorx=0.5)
Definition TStyle.h:344
Int_t GetCanvasDefY() const
Definition TStyle.h:196
void SetTitleColor(Color_t color=1, Option_t *axis="X")
Definition TStyle.cxx:1755
void SetNumberContours(Int_t number=20)
Set the default number of contour levels when drawing 2-d plots.
Definition TStyle.cxx:1501
void SetLabelFont(Style_t font=62, Option_t *axis="X")
Set font number used to draw axis labels.
Definition TStyle.cxx:1414
void SetTitleFontSize(Float_t size=0)
Definition TStyle.h:411
void SetDrawBorder(Int_t drawborder=1)
Definition TStyle.h:346
Width_t GetFrameBorderSize() const
Definition TStyle.h:232
void SetTimeOffset(Double_t toffset)
Change the time offset for time plotting.
Definition TStyle.cxx:1914
void SetTitlePS(const char *pstitle)
Define a string to be used in the %Title of the Postscript files.
Definition TStyle.cxx:1384
void SetHistMinimumZero(Bool_t zero=kTRUE)
If the argument zero=kTRUE the minimum value for the Y axis of 1-d histograms is set to 0.
Definition TStyle.cxx:1289
Bool_t GetPadGridX() const
Definition TStyle.h:217
Float_t GetStatH() const
Definition TStyle.h:269
void SetPadLeftMargin(Float_t margin=0.1)
Definition TStyle.h:364
void SetStatH(Float_t h=0.1)
Definition TStyle.h:404
void SetPadGridY(Bool_t gridy)
Definition TStyle.h:367
void SetOptLogy(Int_t logy=1)
Definition TStyle.h:334
Width_t GetGridWidth() const
Definition TStyle.h:226
Color_t GetFuncColor() const
Definition TStyle.h:221
void SetLegendBorderSize(Width_t size=4)
Definition TStyle.h:354
TAttText * GetAttDate()
Definition TStyle.h:170
Int_t GetPadTickY() const
Definition TStyle.h:220
Width_t GetPadBorderSize() const
Definition TStyle.h:211
void SetStripDecimals(Bool_t strip=kTRUE)
Set option to strip decimals when drawing axis labels.
Definition TStyle.cxx:1927
Width_t GetTitleBorderSize() const
Definition TStyle.h:277
void SetHistLineColor(Color_t color=1)
Definition TStyle.h:384
void SetLabelOffset(Float_t offset=0.005, Option_t *axis="X")
Set offset between axis and axis labels.
Definition TStyle.cxx:1430
void SetFitFormat(const char *format="5.4g")
Definition TStyle.h:305
Float_t GetErrorX() const
Definition TStyle.h:188
void SetCanvasDefY(Int_t topy=10)
Definition TStyle.h:353
void SetTitleSize(Float_t size=0.02, Option_t *axis="X")
Definition TStyle.cxx:1818
void SetTitleFillColor(Color_t color=1)
Definition TStyle.h:408
Color_t GetCanvasColor() const
Definition TStyle.h:190
void SetTitleAlign(Int_t a=13)
Definition TStyle.h:407
void SetBarOffset(Float_t baroff=0.5)
Definition TStyle.h:339
void SetPaperSize(EPaperSize size)
Set paper size for PostScript output.
Definition TStyle.cxx:1705
Float_t GetEndErrorSize() const
Definition TStyle.h:187
Float_t GetPadBottomMargin() const
Definition TStyle.h:213
void SetFrameLineWidth(Width_t width=1)
Definition TStyle.h:380
void SetTickLength(Float_t length=0.03, Option_t *axis="X")
Set the tick marks length for an axis.
Definition TStyle.cxx:1736
void SetNdivisions(Int_t n=510, Option_t *axis="X")
Set the number of divisions to draw an axis.
Definition TStyle.cxx:1310
Width_t GetFuncWidth() const
Definition TStyle.h:223
void SetFuncWidth(Width_t width=4)
Definition TStyle.h:372
Int_t GetDrawBorder() const
Definition TStyle.h:186
void SetOptLogz(Int_t logz=1)
Definition TStyle.h:335
const char * GetTitlePS() const
Definition TStyle.h:287
Int_t GetCanvasDefW() const
Definition TStyle.h:194
void SetFrameBorderSize(Width_t size=1)
Definition TStyle.h:381
Width_t GetStatBorderSize() const
Definition TStyle.h:261
void GetPaperSize(Float_t &xsize, Float_t &ysize) const
Set paper size for PostScript output.
Definition TStyle.cxx:1184
Int_t GetStripDecimals() const
Definition TStyle.h:270
void SetTitleW(Float_t w=0)
Definition TStyle.h:419
Style_t GetHistLineStyle() const
Definition TStyle.h:237
void SetTitleStyle(Style_t style=1001)
Definition TStyle.h:410
void SetStatFontSize(Float_t size=0)
Definition TStyle.h:399
void SetStatColor(Color_t color=19)
Definition TStyle.h:394
void SetPadColor(Color_t color=19)
Definition TStyle.h:359
void SetStatW(Float_t w=0.19)
Definition TStyle.h:403
void SetHatchesSpacing(Double_t h)
Definition TStyle.h:308
void SetTitleH(Float_t h=0)
Definition TStyle.h:420
virtual void Reset(Option_t *option="")
Reset.
Definition TStyle.cxx:695
Color_t GetTitleTextColor() const
Definition TStyle.h:274
void SetBarWidth(Float_t barwidth=0.5)
Definition TStyle.h:340
void SetStatY(Float_t y=0)
Definition TStyle.h:402
Int_t GetOptLogx() const
Definition TStyle.h:249
Float_t GetTitleH() const
Definition TStyle.h:285
Style_t GetStatStyle() const
Definition TStyle.h:264
void SetTitleY(Float_t y=0.985)
Definition TStyle.h:418
void SetHistFillStyle(Style_t styl=0)
Definition TStyle.h:385
Width_t GetHistLineWidth() const
Definition TStyle.h:238
Style_t GetFrameLineStyle() const
Definition TStyle.h:230
Float_t GetStatW() const
Definition TStyle.h:268
Float_t GetDateY() const
Definition TStyle.h:200
const char * GetFitFormat() const
Definition TStyle.h:201
void SetScreenFactor(Float_t factor=1)
Definition TStyle.h:321
void SetHatchesLineWidth(Int_t l)
Definition TStyle.h:307
Int_t GetCanvasBorderMode() const
Definition TStyle.h:192
Int_t GetPadBorderMode() const
Definition TStyle.h:212
void SetGridWidth(Width_t width=1)
Definition TStyle.h:375
const char * GetHeaderPS() const
Definition TStyle.h:286
const char * GetStatFormat() const
Definition TStyle.h:265
void SetFuncStyle(Style_t style=1)
Definition TStyle.h:370
Width_t GetCanvasBorderSize() const
Definition TStyle.h:191
Int_t GetOptFit() const
Definition TStyle.h:246
Int_t GetNumberContours() const
Definition TStyle.h:243
void SetHistLineWidth(Width_t width=1)
Definition TStyle.h:387
const char * GetPaintTextFormat() const
Definition TStyle.h:252
Float_t GetLineScalePS() const
Definition TStyle.h:291
void SetLabelColor(Color_t color=1, Option_t *axis="X")
Set axis labels color.
Definition TStyle.cxx:1394
Style_t GetStatFont() const
Definition TStyle.h:262
void SetLabelSize(Float_t size=0.04, Option_t *axis="X")
Set size of axis labels.
Definition TStyle.cxx:1445
void SetOptFit(Int_t fit=1)
The type of information about fit parameters printed in the histogram statistics box can be selected ...
Definition TStyle.cxx:1594
Int_t GetOptLogz() const
Definition TStyle.h:251
void SetPadBorderSize(Width_t size=1)
Definition TStyle.h:360
Style_t GetFuncStyle() const
Definition TStyle.h:222
Float_t GetTitleFontSize() const
Definition TStyle.h:276
void SetFrameLineStyle(Style_t styl=0)
Definition TStyle.h:379
Int_t GetHatchesLineWidth() const
Definition TStyle.h:202
Int_t GetTitleAlign() const
Definition TStyle.h:272
Color_t GetAxisColor(Option_t *axis="X") const
Return the axis color number in the axis.
Definition TStyle.cxx:1090
Int_t GetFrameBorderMode() const
Definition TStyle.h:233
Float_t GetPadTopMargin() const
Definition TStyle.h:214
void SetLineScalePS(Float_t scale=3)
Definition TStyle.h:312
Width_t GetFrameLineWidth() const
Definition TStyle.h:231
Color_t GetFrameFillColor() const
Definition TStyle.h:227
Float_t GetTitleW() const
Definition TStyle.h:284
virtual const char * UnixPathName(const char *unixpathname)
Convert from a local pathname to a Unix pathname.
Definition TSystem.cxx:1073
virtual const char * BaseName(const char *pathname)
Base name of a file name. Base name of /user/root is root.
Definition TSystem.cxx:944
TVirtualPad is an abstract base class for the Pad and Canvas classes.
Definition TVirtualPad.h:51
const char * GetName() const override=0
Returns name of object.
const char * GetTitle() const override=0
Returns title of object.
virtual TCanvas * GetCanvas() const =0
TLine * line
Double_t y[n]
Definition legend1.C:17
Double_t x[n]
Definition legend1.C:17
TH1F * h1
Definition legend1.C:5