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
142
161
168
180
184
203
223
240
252
263
270
275
293
311
329
344
372
383
384const char *kFiletypes[] = { "ROOT macros", "Style_*.C",
385 0, 0 };
386
387////////////////////////////////////////////////////////////////////////////////
388/// Constructor. Create the main window of the style manager.
389
391{
392 SetWindowName("Style Manager");
394
395 // Initialization: no selected style, no preview, no signal/slots,
396 // no selected object, no current macro file.
397 fCurSelStyle = 0;
398 fCurMacro = 0;
399 fCurPad = 0;
400 fCurObj = 0;
401 fPreviewWindow = 0;
403 fCurTabNum = 0;
404 fCurTabAxisNum = 0;
408
409 // Create the trash lists to have an effective deletion of every object.
410 fTrashListLayout = new TList();
411 fTrashListFrame = new TList();
412
413 // To avoid to create a lot a copies of the often used layouts.
424
425 // Build the graphical interface.
426 AddMenus(this);
427 AddToolbar(this);
429 AddEdition(this);
430
431 // Add status bar.
432 fStatusBar = new TGStatusBar(this, 50, 10, kVerticalFrame);
433 Int_t parts[] = { 20, 30, 50 };
437
438 // Initialize the layout algorithm and map the main frame.
441 MapWindow();
442
443 // Ensure the editor will be visible (not out of the screen's range) when
444 // the user will press the 'More' button, if they didn't move the window.
445 Int_t x, y;
446 UInt_t w, h;
447 gVirtualX->GetWindowSize(GetId(), x, y, w, h);
448 fSMWidth = w;
449 fSMHeight = h;
450 if (fSMWidth < 467) fSMWidth = 467;
451 if (fSMHeight < 708) fSMHeight = 708;
453 gVirtualX->TranslateCoordinates(GetId(), GetParent()->GetId(), 0, 0, x, y, win);
454 x -= 6;
455 y -= 21;
456 MoveResize(x, TMath::Max(TMath::Min(y, (Int_t) (gClient->GetDisplayHeight() - h)), 0), w, h);
457
458 // Only the top level interface is shown, at the begining.
459 DoMoreLess();
460
461 // Connect all widgets (excluding editor).
462 ConnectAll();
463
464 Init();
465}
466
467////////////////////////////////////////////////////////////////////////////////
468/// Destructor.
469
471{
472 // Disconnect all widgets
475
476 if (fPreviewWindow) {
478 delete fPreviewWindow;
479 }
480
481 // Delete every graphical data member,
482 // excluding fPreviewWindow and fLayout[..].
483 gClient->FreePicture(fToolBarNewPic);
484 gClient->FreePicture(fToolBarDeletePic);
485 gClient->FreePicture(fToolBarImportCanvasPic);
486 gClient->FreePicture(fToolBarImportMacroPic);
487 gClient->FreePicture(fToolBarExportPic);
488 gClient->FreePicture(fToolBarHelpPic);
489 gClient->FreePicture(fMakeDefaultPic);
490
491 delete fImportCascade;
492 delete fMenuStyle;
493 delete fMenuHelp;
494 delete fMenuBar;
495
496 delete fToolBar;
497 delete fToolBarNew;
498 delete fToolBarDelete;
500 delete fToolBarImportMacro;
501 delete fToolBarExport;
502 delete fToolBarHelp;
503 delete fHorizontal3DLine;
504
505 delete fListLabel;
506 delete fListComboBox;
507 delete fCurMacro;
508 delete fCurStylabel;
509 delete fCurStyle;
510 delete fCurPadLabel;
511 delete fCurPadTextEntry;
512 delete fCurObjLabel;
513 delete fCurObjTextEntry;
514 delete fPreviewButton;
515 delete fPreviewRealTime;
516 delete fMakeDefault;
517
518 delete fApplyOnGroup;
519 delete fApplyOnAll;
520 delete fApplyOnSel;
521 delete fApplyOnButton;
522 delete fMoreLess;
523
524 delete fFillColor;
525 delete fFillStyle;
526 delete fHatchesLineWidth;
527 delete fHatchesSpacing;
528 delete fTextColor;
529 delete fTextSize;
530 delete fTextSizeInPixels;
531 delete fTextFont;
532 delete fTextAlign;
533 delete fTextAngle;
534 delete fLineColor;
535 delete fLineWidth;
536 delete fLineStyle;
537 delete fLineStyleEdit;
538 delete fMarkerColor;
539 delete fMarkerStyle;
540 delete fMarkerSize;
541 delete fScreenFactor;
542 delete fCanvasColor;
543 delete fCanvasDefX;
544 delete fCanvasDefY;
545 delete fCanvasDefW;
546 delete fCanvasDefH;
547 delete fCanvasBorderMode;
548 delete fCanvasBorderSize;
549 delete fOptDateBool;
550 delete fAttDateTextColor;
551 delete fAttDateTextSize;
553 delete fOptDateFormat;
554 delete fAttDateTextFont;
555 delete fAttDateTextAngle;
556 delete fAttDateTextAlign;
557 delete fDateX;
558 delete fDateY;
559 delete fPadLeftMargin;
560 delete fPadRightMargin;
561 delete fPadTopMargin;
562 delete fPadBottomMargin;
563 delete fPadBorderMode;
564 delete fPadBorderSize;
565 delete fPadColor;
566 delete fPadTickX;
567 delete fPadTickY;
568 delete fPadGridX;
569 delete fPadGridY;
570 delete fGridColor;
571 delete fGridWidth;
572 delete fGridStyle;
573 delete fHistFillColor;
574 delete fHistFillStyle;
575 delete fHistLineColor;
576 delete fHistLineWidth;
577 delete fHistLineStyle;
578 delete fBarWidth;
579 delete fBarOffset;
580 delete fHistMinimumZero;
581 delete fPaintTextFormat;
582 delete fNumberContours;
583 delete fLegoInnerR;
584 delete fFrameFillColor;
585 delete fFrameFillStyle;
586 delete fFrameLineColor;
587 delete fFrameLineWidth;
588 delete fFrameLineStyle;
589 delete fPaletteEdit;
590 delete fFrameBorderMode;
591 delete fFrameBorderSize;
592 delete fFuncColor;
593 delete fFuncWidth;
594 delete fFuncStyle;
595 delete fDrawBorder;
596 delete fEndErrorSize;
597 delete fErrorX;
598 delete fTimeOffsetDate;
599 delete fTimeOffsetTime;
600 delete fStripDecimals;
601 delete fApplyOnXYZ;
602 delete fXTitleSize;
603 delete fXTitleSizeInPixels;
604 delete fXTitleColor;
605 delete fXTitleOffset;
606 delete fXTitleFont;
607 delete fXLabelSize;
608 delete fXLabelSizeInPixels;
609 delete fXLabelColor;
610 delete fXLabelOffset;
611 delete fXLabelFont;
612 delete fXAxisColor;
613 delete fXTickLength;
614 delete fOptLogx;
615 delete fXNdivMain;
616 delete fXNdivSub;
617 delete fXNdivSubSub;
619 delete fYTitleSize;
620 delete fYTitleSizeInPixels;
621 delete fYTitleColor;
622 delete fYTitleOffset;
623 delete fYTitleFont;
624 delete fYLabelSize;
625 delete fYLabelSizeInPixels;
626 delete fYLabelColor;
627 delete fYLabelOffset;
628 delete fYLabelFont;
629 delete fYAxisColor;
630 delete fYTickLength;
631 delete fOptLogy;
632 delete fYNdivMain;
633 delete fYNdivSub;
634 delete fYNdivSubSub;
636 delete fZTitleSize;
637 delete fZTitleSizeInPixels;
638 delete fZTitleColor;
639 delete fZTitleOffset;
640 delete fZTitleFont;
641 delete fZLabelSize;
642 delete fZLabelSizeInPixels;
643 delete fZLabelColor;
644 delete fZLabelOffset;
645 delete fZLabelFont;
646 delete fZAxisColor;
647 delete fZTickLength;
648 delete fOptLogz;
649 delete fZNdivMain;
650 delete fZNdivSub;
651 delete fZNdivSubSub;
653 delete fOptTitle;
654 delete fTitleColor;
655 delete fTitleStyle;
656 delete fTitleTextColor;
657 delete fTitleFontSize;
659 delete fTitleFont;
660 delete fTitleAlign;
662 delete fTitleBorderSize;
663 delete fTitleX;
664 delete fTitleY;
665 delete fTitleW;
666 delete fTitleH;
668 delete fLegendBorderSize;
669 delete fStatColor;
670 delete fStatStyle;
671 delete fStatTextColor;
672 delete fStatFontSize;
674 delete fStatFont;
675 delete fStatX;
676 delete fStatY;
677 delete fStatW;
678 delete fStatH;
680 delete fStatBorderSize;
681 delete fOptStatName;
682 delete fOptStatEntries;
683 delete fOptStatOverflow;
684 delete fOptStatMean;
685 delete fOptStatUnderflow;
686 delete fOptStatRMS;
687 delete fOptStatSkewness;
688 delete fOptStatIntegral;
689 delete fOptStatKurtosis;
690 delete fOptStatErrors;
691 delete fStatFormatLabel;
692 delete fStatFormat;
693 delete fOptFitValues;
694 delete fOptFitErrors;
695 delete fOptFitProbability;
696 delete fOptFitChi;
697 delete fFitFormatLabel;
698 delete fFitFormat;
699 delete fHeaderPS;
700 delete fTitlePS;
701 delete fColorModelPS;
702 delete fColorModelPSRGB;
703 delete fColorModelPSCMYK;
704 delete fLineScalePS;
705 delete fPaperSizePredef;
706 delete fPaperSizeX;
707 delete fPaperSizeY;
708 delete fEditionHelp;
710 delete fEditionReset;
711 delete fEditionButtonFrame;
712 delete fHistosTab;
713 delete fAxisTab;
714 delete fEditionTab;
715 delete fEditionFrame;
716
717 delete fStatusBar;
718
719 // Delete the temporary frames and layout.
720 TObject *obj1;
721 TObject *obj2;
722
724 while (obj1) {
727 delete obj1;
728 obj1 = obj2;
729 }
730 delete fTrashListFrame;
731
733 while (obj1) {
736 delete obj1;
737 obj1 = obj2;
738 }
739 delete fTrashListLayout;
740
741 fgStyleManager = 0;
742}
743
744////////////////////////////////////////////////////////////////////////////////
745///static: return style manager
746
751
752////////////////////////////////////////////////////////////////////////////////
753/// Set up the interface. Called by the ctor or by the 'Show' method.
754
756{
757 // Build the list of available styles and select gStyle.
759
760 // Show the current object.
761 if ((gROOT->GetSelectedPad()) && (gROOT->GetSelectedPad()->GetCanvas())) {
762 DoSelectCanvas(gROOT->GetSelectedPad()->GetCanvas(),
763 gROOT->GetSelectedPad()->GetCanvas(), kButton2Down);
764 } else {
766 }
767}
768
769////////////////////////////////////////////////////////////////////////////////
770/// Called to hide the style manager.
771
773{
774 if (fgStyleManager) {
775 fgStyleManager->UnmapWindow();
776 }
777}
778
779////////////////////////////////////////////////////////////////////////////////
780/// Called to show the style manager. Static method.
781
783{
784 if (fgStyleManager) {
785 fgStyleManager->Init();
786 if (!fgStyleManager->IsMapped()) {
787 fgStyleManager->MapWindow();
788 }
789 } else {
790 TStyleManager::GetSM() = new TStyleManager(gClient->GetRoot());
791 }
792}
793
794////////////////////////////////////////////////////////////////////////////////
795/// Called to delete the style manager. Called when the ROOT session is
796/// closed via a canvas' menu.
797
799{
800 delete fgStyleManager;
801 fgStyleManager = 0;
802}
803
804////////////////////////////////////////////////////////////////////////////////
805/// Add the menu bar to the frame 'p'.
806
808{
809 fMenuBar = new TGMenuBar(p);
810
811 fMenuStyle = new TGPopupMenu(gClient->GetRoot());
812 fMenuStyle->Associate(this);
813 fMenuStyle->AddEntry("&New...", kMenuNew);
814 fMenuStyle->AddEntry("&Delete", kMenuDelete);
816 fMenuStyle->AddEntry("&Rename...", kMenuRename);
818 fImportCascade = new TGPopupMenu(gClient->GetRoot());
822 fMenuStyle->AddPopup("&Import From...", fImportCascade);
823
824 fMenuStyle->AddEntry("&Export...", kMenuExport);
826 fMenuStyle->AddEntry("&Close", kMenuExit);
829 fMenuBar->AddPopup("&Style", fMenuStyle, layout1);
830
831 fMenuHelp = new TGPopupMenu(gClient->GetRoot());
832 fMenuHelp->Associate(this);
833 fMenuHelp->AddEntry("Top &level", kMenuHelp);
835 fMenuHelp->AddEntry("&General", kMenuHelpGeneral);
838 fMenuHelp->AddEntry("&Histograms", kMenuHelpHistos);
842 fMenuHelp->AddEntry("&PS / PDF", kMenuHelpPSPDF);
846
847 p->AddFrame(fMenuBar, fLayoutExpandX);
848}
849
850////////////////////////////////////////////////////////////////////////////////
851/// Create a new style. Called via the menu bar or the tool bar.
852
854{
855 // Open a message box to allow the user to create a new style.
856 new TStyleDialog(this, fCurSelStyle, 1, 0);
857
858 // Create the list of available styles, and select:
859 // - the new style, if it has been created (Ok).
860 // - the previous selected style, if no style has been created (Cancel).
861 if (fLastChoice) BuildList();
863}
864
865////////////////////////////////////////////////////////////////////////////////
866/// Delete the current selected style from the ROOT session.
867/// Called via the menu or the tool bar.
868
870{
871 // Protection: the user is NOT allowed to delete gStyle.
872 // As a consequence, there is always at least one style in the ROOT session.
873 if (fCurSelStyle == gStyle) {
874 printf("Can not delete gStyle.\n");
875 return;
876 }
877
878 delete fCurSelStyle;
879 fCurSelStyle = 0;
880
882}
883
884////////////////////////////////////////////////////////////////////////////////
885/// Rename the current selected style. Called via the menu bar.
886
888{
889 new TStyleDialog(this, fCurSelStyle, 2, 0);
890
891 // Create the list of styles and select the previous selected style.
893}
894
895////////////////////////////////////////////////////////////////////////////////
896/// Save the current selected style in a C++ macro file. Called via the menu
897/// or the tool bar.
898
900{
901 // Create an associated macro and propose a pertinent name to the user.
902 CreateMacro();
904 newName.Form("Style_%s.C", fCurSelStyle->GetName());
905
906 // Protection: The user isn't allowed to export a style if the output
907 // file name isn't based on the "Style_*.C" mask, without spaces.
908 char* tmpFileName;
909 const char* tmpBaseName;
910 do {
912
913 // Open a dialog to ask the user to choose an output file.
914 new TGFileDialog(gClient->GetRoot(), this, kFDSave, fCurMacro);
917 else tmpBaseName = 0;
918 } while (tmpBaseName && (strstr(tmpBaseName, "Style_") != tmpBaseName)
919 && (strstr(tmpBaseName, " ") != 0));
920
921 if (tmpBaseName != 0) {
922 // Export the style.
926 }
927
929}
930
931////////////////////////////////////////////////////////////////////////////////
932/// Close the style manager. Called via the menu bar.
933
935{
936// SendCloseMessage(); // Doesn't delete the StyleManager. Hides it.
937 delete this;
938}
939
940////////////////////////////////////////////////////////////////////////////////
941/// Open an help window. Called via the menu bar or the tool bar.
942
944{
946 switch (i) {
947 case 0:
948 hd = new TRootHelpDialog(this, "Help on General Tab", 600, 400);
949 hd->SetText(gHelpSMGeneral);
950 break;
951 case 1:
952 hd = new TRootHelpDialog(this, "Help on Canvas Tab", 600, 400);
953 hd->SetText(gHelpSMCanvas);
954 break;
955 case 2:
956 hd = new TRootHelpDialog(this, "Help on Pad Tab", 600, 400);
957 hd->SetText(gHelpSMPad);
958 break;
959 case 3:
960 hd = new TRootHelpDialog(this, "Help on Histograms Tab", 600, 400);
961 hd->SetText(gHelpSMHistos);
962 break;
963 case 4:
964 hd = new TRootHelpDialog(this, "Help on Axis Tab", 600, 400);
965 hd->SetText(gHelpSMAxis);
966 break;
967 case 5:
968 hd = new TRootHelpDialog(this, "Help on Title Tab", 600, 400);
969 hd->SetText(gHelpSMTitle);
970 break;
971 case 6:
972 hd = new TRootHelpDialog(this, "Help on Stats Tab", 600, 400);
973 hd->SetText(gHelpSMStats);
974 break;
975 case 7:
976 hd = new TRootHelpDialog(this, "Help on PS / PDF Tab", 600, 400);
977 hd->SetText(gHelpSMPSPDF);
978 break;
979 default:
980 hd = new TRootHelpDialog(this, "Help on Top Level", 600, 400);
981 hd->SetText(gHelpSMTopLevel);
982 }
983 hd->Popup();
984}
985
986////////////////////////////////////////////////////////////////////////////////
987/// Create a new style (a copy of gStyle) and import the properties of the
988/// current canvas inside.
989
991{
992 if ((!fCurPad) || (!fCurObj)) return;
993
994 new TStyleDialog(this, gStyle, 3, fCurPad);
995
996 // Create the list of available style, and select:
997 // - the new style, if it has been created
998 // - the previous selected style, if no style has been created (Cancel)
999 if (fLastChoice) {
1000 BuildList();
1001
1002 // Auto export of the canvas' style.
1003 CreateMacro();
1005 newName.Form("Style_%s.C", fCurSelStyle->GetName());
1006 fCurMacro->SetFilename(newName.Data());
1008 } else {
1010 }
1011}
1012
1013////////////////////////////////////////////////////////////////////////////////
1014/// Create a TGFileInfo concerning a macro, if it doesn't exist already.
1015
1017{
1018 if (fCurMacro) delete fCurMacro;
1019 fCurMacro = new TGFileInfo();
1021 fCurMacro->SetIniDir(".");
1022 fCurMacro->SetFilename(nullptr);
1023}
1024
1025////////////////////////////////////////////////////////////////////////////////
1026/// Add the tool bar to the frame 'p'.
1027
1029{
1034
1035 fToolBar = new TGToolBar(p);
1036 fToolBarNewPic = gClient->GetPicture("sm_new.xpm");
1038 fToolBarNew->SetStyle(gClient->GetStyle());
1039 fToolBarNew->Associate(this);
1041
1042 fToolBarImportCanvasPic = gClient->GetPicture("sm_import_canvas.xpm");
1047
1048 fToolBarImportMacroPic = gClient->GetPicture("sm_import_macro.xpm");
1050 fToolBarImportMacro->SetStyle(gClient->GetStyle());
1053
1054 fToolBarExportPic = gClient->GetPicture("sm_export.xpm");
1056 fToolBarExport->SetStyle(gClient->GetStyle());
1059
1060 fToolBarDeletePic = gClient->GetPicture("sm_delete.xpm");
1062 fToolBarDelete->SetStyle(gClient->GetStyle());
1065
1066 fToolBarHelpPic = gClient->GetPicture("sm_help.xpm");
1068 fToolBarHelp->SetStyle(gClient->GetStyle());
1069 fToolBarHelp->Associate(this);
1071
1072 p->AddFrame(fToolBar, fLayoutExpandX);
1075
1076 fToolBarNew->SetToolTipText("Create a new style");
1077 fToolBarDelete->SetToolTipText("Delete the selected style");
1078 fToolBarImportCanvas->SetToolTipText("Import a style from selected canvas");
1079 fToolBarImportMacro->SetToolTipText("Import a style from a macro");
1080 fToolBarExport->SetToolTipText("Export the selected style into a macro");
1081 fToolBarHelp->SetToolTipText("Help about the top level interface");
1082}
1083
1084////////////////////////////////////////////////////////////////////////////////
1085/// Add the top level interface to the frame 'cf'. This part of the
1086/// interface will provide all enable functionalities, excluding the
1087/// edition of styles.
1088
1090{
1107 TGLayoutHints *layout9 = new TGLayoutHints(kLHintsNormal, -15, 0, -5, -10);
1109 TGLayoutHints *layout10 = new TGLayoutHints(kLHintsNormal, 15, 0, -5, -10);
1117
1124 fListLabel = new TGLabel(v11, "Available Styles:");
1125 v11->AddFrame(fListLabel);
1127 fListComboBox->Associate(this);
1128 fListComboBox->Resize(200, 22);
1129 v11->AddFrame(fListComboBox, layout1);
1130 h1->AddFrame(v11, fLayoutExpandX);
1133 fMakeDefaultPic = gClient->GetPicture("arrow_right2.xpm");
1135 fMakeDefault->SetStyle(gClient->GetStyle());
1136 fMakeDefault->Associate(this);
1137 fMakeDefault->Resize(40, 22);
1138 v12->AddFrame(fMakeDefault, layout3);
1139 h1->AddFrame(v12, layout4);
1142 fCurStylabel = new TGLabel(v13, "gStyle is set to:");
1143 v13->AddFrame(fCurStylabel);
1145 fCurStyle->Associate(this);
1147 v13->AddFrame(fCurStyle, layout1);
1148 h1->AddFrame(v13, fLayoutExpandX);
1149 topLevel->AddFrame(h1, fLayoutExpandX);
1150
1153 TGGroupFrame *gf = new TGGroupFrame(h2, "Apply on");
1157 Pixel_t red;
1158 gClient->GetColorByName("#FF0000", red);
1161 fCurPadLabel = new TGLabel(selCanvas, "Canvas:");
1162 selCanvas->AddFrame(fCurPadLabel, layout6);
1167 vf->AddFrame(selCanvas, fLayoutExpandX);
1170 fCurObjLabel = new TGLabel(selObject, "Object:");
1171 selObject->AddFrame(fCurObjLabel, layout7);
1177 vf->AddFrame(selObject, layout8);
1181 fApplyOnAll = new TGRadioButton(fApplyOnGroup, "All canvases", kTopApplyOnAll);
1182 fApplyOnAll->Associate(this);
1183 fApplyOnSel = new TGRadioButton(fApplyOnGroup, "Selected object", kTopApplyOnSel);
1184 fApplyOnSel->Associate(this);
1190 h4->AddFrame(fApplyOnGroup);
1191 fApplyOnButton = new TGTextButton(h4, "&Apply", kTopApplyOnBut);
1193 fApplyOnButton->Resize(100, 22);
1194 h4->AddFrame(fApplyOnButton, layout13);
1195 vf->AddFrame(h4, fLayoutExpandX);
1196 gf->AddFrame(vf, layout11);
1197 h2->AddFrame(gf, layout12);
1198 topLevel->AddFrame(h2, fLayoutExpandX);
1199
1202 fPreviewButton = new TGCheckButton(h3, "&Preview", kTopPreview);
1204 h3->AddFrame(fPreviewButton, layout6);
1205 fPreviewRealTime = new TGCheckButton(h3, "Run &Time Preview", kTopPreviewRealTime);
1208 h3->AddFrame(fPreviewRealTime, layout6);
1209 fMoreLess = new TGTextButton(h3, "&Close <<", kTopMoreLess);
1210 fMoreLess->Associate(this);
1211 h3->AddFrame(fMoreLess, layout5);
1212 topLevel->AddFrame(h3, fLayoutExpandX);
1213
1214 cf->AddFrame(topLevel, layout2);
1215
1216 fApplyOnButton->SetToolTipText("Apply the selected style on the selected object");
1217 fPreviewButton->SetToolTipText("Show / Hide the preview window");
1218 fPreviewRealTime->SetToolTipText("Continuous / Asynchronous update of the preview");
1219}
1220
1221////////////////////////////////////////////////////////////////////////////////
1222/// Build the list of styles which will appear in the available styles
1223/// combo box. The new style to select is mentioned. If no style has
1224/// been specified, the last entry of the list is selected.
1225
1227{
1228 // Empty the list.
1230
1231 // Build the list of all styles already created in the ROOT session.
1232 Int_t i = 1;
1233 Int_t styleID = 0;
1234 TStyle *tmpStyle = (TStyle *) (gROOT->GetListOfStyles()->First());
1235 while (tmpStyle) {
1236 if (tmpStyle == style) styleID = i;
1237 fListComboBox->AddEntry(tmpStyle->GetName(), i++);
1238 tmpStyle = (TStyle *) (gROOT->GetListOfStyles()->After(tmpStyle));
1239 }
1240
1241 // Select 'style' in the list of available styles.
1242 if (styleID == 0) styleID = i - 1;
1244 DoListSelect();
1246}
1247
1248////////////////////////////////////////////////////////////////////////////////
1249/// Update the content of the status bar: show the name of the current
1250/// selected style, its title and the macro from which it has been imported.
1251
1253{
1256
1257 if ((!strcmp(fCurSelStyle->GetName(), "Default"))
1258 || (!strcmp(fCurSelStyle->GetName(), "Plain" ))
1259 || (!strcmp(fCurSelStyle->GetName(), "Bold" ))
1260 || (!strcmp(fCurSelStyle->GetName(), "Video" ))
1261 || (!strcmp(fCurSelStyle->GetName(), "Pub" ))) {
1262 fStatusBar->SetText("ROOT style", 1);
1263 } else if (fStyleChanged) {
1264 fStatusBar->SetText("User Style _ Not Saved", 1);
1265 } else {
1266 fStatusBar->SetText("User Style", 1);
1267 }
1268}
1269
1270////////////////////////////////////////////////////////////////////////////////
1271/// Update the values of every widget entry in the editor. The new values
1272/// are loaded from the current selected style.
1273
1275{
1276 Double_t delta;
1277 Int_t year;
1278 Int_t month;
1279 Int_t day;
1282 Int_t tmp;
1283 Int_t tmp2;
1284 switch (tabNum) {
1285 case 0: // GENERAL
1297 // Nothing to do with fLineStyleEdit.
1299 if (fCurSelStyle->GetTextFont()%10 > 2) {
1302 } else {
1305 }
1309 break;
1310 case 1: // CANVAS
1319 if (fCurSelStyle->GetAttDate()->GetTextFont()%10 > 2) {
1322 } else {
1325 }
1330 fDateX->SetIntNumber((Int_t) (fCurSelStyle->GetDateX()*100 + 0.5));
1331 fDateY->SetIntNumber((Int_t) (fCurSelStyle->GetDateY()*100 + 0.5));
1332
1333 if (fCurSelStyle->GetOptDate()) {
1339// TODO Just delete when ComboBox can be grayed
1340 //fOptDateFormat->SetState(kTRUE);
1341 //ModAttDateTextFont->SetState(kTRUE);
1342 //ModAttDateTextAlign->SetState(kTRUE);
1346 } else {
1351// TODO Just delete when ComboBox can be grayed
1352 //fOptDateFormat->SetState(kFALSE);
1353 //ModAttDateTextFont->SetState(kFALSE);
1354 //ModAttDateTextAlign->SetState(kFALSE);
1358 }
1359 break;
1360 case 2: // PAD
1370 else
1374 else
1378 else
1382 else
1387 break;
1388 case 3: // HISTOS
1398 else
1408 // Nothing to do with fPaletteEdit;
1416 else
1419 fErrorX->SetIntNumber((Int_t) (fCurSelStyle->GetErrorX() * 100 + 0.5));
1420 break;
1421 case 4: // AXIS
1422 delta = fCurSelStyle->GetTimeOffset() - 788918400;
1423 year = 1995;
1424 month = 1;
1425 while (delta < 0) {
1426 year--;
1427 if (year % 4) oneYearInSecs = 3600 * 24 * 365;
1428 else oneYearInSecs = 3600 * 24 * 366;
1429 delta += oneYearInSecs;
1430 }
1431 oneYearInSecs = 3600 * 24 * 365; // because 365 days in 1995.
1432 while (delta >= oneYearInSecs) {
1433 if (year % 4) oneYearInSecs = 3600 * 24 * 365;
1434 else oneYearInSecs = 3600 * 24 * 366;
1435 delta -= oneYearInSecs;
1436 year++;
1437 }
1438 oneMonthInSecs = 3600 * 24 * 31; // because 31 days in January.
1439 while (delta >= oneMonthInSecs) {
1440 month++;
1441 delta -= oneMonthInSecs;
1442 switch (month) {
1443 case 2:
1444 if (year % 4) oneMonthInSecs = 3600 * 24 * 28;
1445 else oneMonthInSecs = 3600 * 24 * 29;
1446 break;
1447 case 3: case 5: case 7: case 8: case 10: case 12:
1448 oneMonthInSecs = 3600 * 24 * 31;
1449 break;
1450 default:
1451 oneMonthInSecs = 3600 * 24 * 30;
1452 }
1453 }
1454 day = (Int_t) delta / (3600 * 24) + 1;
1455 delta = ((Int_t) delta) % (3600 * 24);
1456 fTimeOffsetDate->SetNumber(year*10000 + month*100 + day);
1457 fTimeOffsetTime->SetNumber(delta);
1458
1461 else
1464 if (fCurSelStyle->GetTitleFont("X")%10 > 2) {
1467 } else {
1470 }
1475 if (fCurSelStyle->GetLabelFont("X")%10 > 2) {
1478 } else {
1481 }
1487 if (fCurSelStyle->GetOptLogx())
1489 else
1494 if (fCurSelStyle->GetNdivisions("X") > 0)
1496 else
1499 if (fCurSelStyle->GetTitleFont("Y")%10 > 2) {
1502 } else {
1505 }
1510 if (fCurSelStyle->GetLabelFont("Y")%10 > 2) {
1513 } else {
1516 }
1522 if (fCurSelStyle->GetOptLogy())
1524 else
1529 if (fCurSelStyle->GetNdivisions("Y") > 0)
1531 else
1534 if (fCurSelStyle->GetTitleFont("Z")%10 > 2) {
1537 } else {
1540 }
1545 if (fCurSelStyle->GetLabelFont("Z")%10 > 2) {
1548 } else {
1551 }
1557
1558 if (fCurSelStyle->GetOptLogz())
1560 else
1562
1566 if (fCurSelStyle->GetNdivisions("Z") > 0)
1568 else
1570 break;
1571 case 5: // TITLES
1576 if (fCurSelStyle->GetTitleFont()%10 > 2) {
1579 } else {
1582 }
1587 fTitleX->SetIntNumber((Int_t) (fCurSelStyle->GetTitleX() * 100 + 0.5));
1588 fTitleY->SetIntNumber((Int_t) (fCurSelStyle->GetTitleY() * 100 + 0.5));
1589 fTitleW->SetIntNumber((Int_t) (fCurSelStyle->GetTitleW() * 100 + 0.5));
1590 fTitleH->SetIntNumber((Int_t) (fCurSelStyle->GetTitleH() * 100 + 0.5));
1591
1592 if (fCurSelStyle->GetOptTitle()) {
1600// TODO Just delete when ComboBox can be grayed
1601 //fTitleFont->SetState(kTRUE);
1602 //fTitleAlign->SetState(kTRUE);
1603 //fTitleBorderSize->SetState(kTRUE);
1604 //fLegendBorderSize->SetState(kTRUE);
1609 } else {
1616// TODO Just delete when ComboBox can be grayed
1617 //fTitleFont->SetState(kFALSE);
1618 //fTitleAlign->SetState(kFALSE);
1619 //fTitleBorderSize->SetState(kFALSE);
1620 //fLegendBorderSize->SetState(kFALSE);
1625 }
1626 break;
1627 case 6: // STATS
1632 if (fCurSelStyle->GetStatFont()%10 > 2) {
1635 } else {
1638 }
1640
1646 tmp = fCurSelStyle->GetOptStat();
1647
1648 if (tmp % 10) fOptStatName->SetState(kButtonDown, kFALSE);
1650
1651 if ((tmp/10) % 10) fOptStatEntries->SetState(kButtonDown, kFALSE);
1653
1654 if ((tmp/100) % 10) fOptStatMean->SetState(kButtonDown, kFALSE);
1656
1657 if ((tmp/1000) % 10) fOptStatRMS->SetState(kButtonDown, kFALSE);
1659
1660 if ((tmp/10000) % 10) fOptStatUnderflow->SetState(kButtonDown, kFALSE);
1662
1663 if ((tmp/100000) % 10) fOptStatOverflow->SetState(kButtonDown, kFALSE);
1665
1666 if ((tmp/1000000) % 10) fOptStatIntegral->SetState(kButtonDown, kFALSE);
1668
1669 if ((tmp/10000000) % 10) fOptStatSkewness->SetState(kButtonDown, kFALSE);
1671
1672 if ((tmp/100000000) % 10) fOptStatKurtosis->SetState(kButtonDown, kFALSE);
1674
1675 if ((((tmp/100) % 10) == 2) || (((tmp/1000) % 10) == 2) ||
1676 (((tmp/10000000) % 10) == 2) || (((tmp/100000000) % 10) == 2))
1679
1682
1685
1686 if ((tmp2/10) % 10) {
1689 } else
1691
1692 if ((tmp2/100) % 10) fOptFitChi->SetState(kButtonDown, kFALSE);
1694
1697
1699 break;
1700
1701 case 7: // PS / PDF
1709 if ((papSizeX == 20) && (papSizeY == 26)) {
1714 } else if ((papSizeX == 20) && (papSizeY == 24)) {
1717 fPaperSizeX->SetNumber(papSizeX * 0.394);
1718 fPaperSizeY->SetNumber(papSizeY * 0.394);
1719 } else {
1724 }
1725 break;
1726 }
1727}
1728
1729////////////////////////////////////////////////////////////////////////////////
1730/// Connect every entry in the top level interface to the slot.
1731
1733{
1734 Connect("CloseWindow()", "TStyleManager", this, "CloseWindow()");
1735 fMenuStyle->Connect("Activated(Int_t)", "TStyleManager", this, "DoMenu(Int_t)");
1736 fMenuHelp->Connect("Activated(Int_t)", "TStyleManager", this, "DoMenu(Int_t)");
1737 fToolBarNew->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuNew));
1738 fToolBarDelete->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuDelete));
1739 fToolBarImportCanvas->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuImportCanvas));
1740 fToolBarImportMacro->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuImportMacro));
1741 fToolBarExport->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuExport));
1742 fToolBarHelp->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuHelp));
1743 fListComboBox->Connect("Selected(Int_t)", "TStyleManager", this, "DoListSelect()");
1744 fPreviewButton->Connect("Toggled(Bool_t)", "TStyleManager", this, "DoPreview(Bool_t)");
1745 fPreviewRealTime->Connect("Toggled(Bool_t)", "TStyleManager", this, "DoRealTime(Bool_t)");
1746 fMakeDefault->Connect("Clicked()", "TStyleManager", this, "DoMakeDefault()");
1747 fApplyOnGroup->Connect("Clicked(Int_t)", "TStyleManager", this, "DoApplyOnSelect(Int_t)");
1748 fApplyOnButton->Connect("Clicked()", "TStyleManager", this, "DoApplyOn()");
1749 fMoreLess->Connect("Clicked()", "TStyleManager", this, "DoMoreLess()");
1750
1751 fEditionHelp->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuHelpEditor));
1752 fEditionUpdatePreview->Connect("Clicked()", "TStyleManager", this, "DoEditionUpdatePreview()");
1753 fEditionReset->Connect("Clicked()", "TStyleManager", this, "DoImportMacro(Int_t=kFALSE)");
1754 fEditionTab->Connect("Selected(Int_t)", "TStyleManager", this, "DoChangeTab(Int_t)");
1755 fAxisTab->Connect("Selected(Int_t)", "TStyleManager", this, "DoChangeAxisTab(Int_t)");
1756
1757 // Connect signals emited when the current pad changed.
1758 TQObject::Connect("TCanvas", "Selected(TVirtualPad *, TObject *, Int_t)", "TStyleManager",
1759 this, "DoSelectCanvas(TVirtualPad *, TObject *, Int_t)");
1760 TQObject::Connect("TCanvas", "Closed()", "TStyleManager", this, "DoSelectNoCanvas()");
1761}
1762
1763////////////////////////////////////////////////////////////////////////////////
1764/// Disconnect every entry in the top level interface of the slot.
1765
1767{
1768 Disconnect("CloseWindow()");
1769 fMenuStyle->Disconnect("Activated(Int_t)");
1770 fMenuHelp->Disconnect("Activated(Int_t)");
1771 fToolBarNew->Disconnect("Clicked()");
1772 fToolBarDelete->Disconnect("Clicked()");
1773 fToolBarImportCanvas->Disconnect("Clicked()");
1774 fToolBarImportMacro->Disconnect("Clicked()");
1775 fToolBarExport->Disconnect("Clicked()");
1776 fToolBarHelp->Disconnect("Clicked()");
1777 fListComboBox->Disconnect("Selected(Int_t)");
1778 fPreviewButton->Disconnect("Toggled(Bool_t)");
1779 fMakeDefault->Disconnect("Clicked()");
1780 fApplyOnGroup->Disconnect("Clicked(Int_t)");
1781 fApplyOnButton->Disconnect("Clicked()");
1782 fMoreLess->Disconnect("Clicked()");
1783
1784 fEditionHelp->Disconnect("Clicked()");
1785 fEditionUpdatePreview->Disconnect("Clicked()");
1786 fEditionReset->Disconnect("Clicked()");
1787 fEditionTab->Disconnect("Selected(Int_t)");
1788
1789 TQObject::Disconnect("TCanvas", "Selected(TVirtualPad *, TObject *, Int_t)");
1790 TQObject::Disconnect("TCanvas", "Closed()");
1791}
1792
1793////////////////////////////////////////////////////////////////////////////////
1794/// Connect every widget entry of the editor to its specific slot.
1795
1797{
1798 if (fSigSlotConnected) return;
1800
1801 switch (tabNum) {
1802 case 0: // GENERAL
1803 fFillColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModFillColor()");
1804 fFillStyle->Connect("PatternSelected(Style_t)", "TStyleManager", this, "ModFillStyle()");
1805 fHatchesLineWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModHatchesLineWidth()");
1806 fHatchesSpacing->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModHatchesSpacing()");
1807 fMarkerColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModMarkerColor()");
1808 fMarkerStyle->Connect("MarkerSelected(Style_t)", "TStyleManager", this, "ModMarkerStyle()");
1809 fMarkerSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModMarkerSize()");
1810 fScreenFactor->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModScreenFactor()");
1811 fLineColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModLineColor()");
1812 fLineWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModLineWidth()");
1813 fLineStyle->Connect("Selected(Int_t)", "TStyleManager", this, "ModLineStyle()");
1814 fLineStyleEdit->Connect("Clicked()", "TStyleManager", this, "ModLineStyleEdit()");
1815 fTextColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModTextColor()");
1816 fTextSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTextSize()");
1817 fTextSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModTextSizeInPixels(Bool_t)");
1818 fTextFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModTextFont()");
1819 fTextAlign->Connect("Selected(Int_t)", "TStyleManager", this, "ModTextAlign()");
1820 fTextAngle->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTextAngle()");
1821 break;
1822 case 1: // CANVAS
1823 fCanvasColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModCanvasColor()");
1824 fCanvasDefX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModCanvasDefX()");
1825 fCanvasDefY->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModCanvasDefY()");
1826 fCanvasDefW->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModCanvasDefW()");
1827 fCanvasDefH->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModCanvasDefH()");
1828 fCanvasBorderMode->Connect("Clicked(Int_t)", "TStyleManager", this, "ModCanvasBorderMode()");
1829 fCanvasBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModCanvasBorderSize()");
1830 fOptDateBool->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptDateBool()");
1831 fAttDateTextColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModAttDateTextColor()");
1832 fAttDateTextSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModAttDateTextSize()");
1833 fAttDateTextSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModAttDateTextSizeInPixels(Bool_t)");
1834 fOptDateFormat->Connect("Selected(Int_t)", "TStyleManager", this, "ModOptDateFormat()");
1835 fAttDateTextFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModAttDateTextFont()");
1836 fAttDateTextAngle->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModAttDateTextAngle()");
1837 fAttDateTextAlign->Connect("Selected(Int_t)", "TStyleManager", this, "ModAttDateTextAlign()");
1838 fDateX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModDateX()");
1839 fDateY->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModDateY()");
1840 break;
1841 case 2: // PAD
1842 fPadTopMargin->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPadTopMargin()");
1843 fPadBottomMargin->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPadBottomMargin()");
1844 fPadLeftMargin->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPadLeftMargin()");
1845 fPadRightMargin->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPadRightMargin()");
1846 fPadBorderMode->Connect("Clicked(Int_t)", "TStyleManager", this, "ModPadBorderMode()");
1847 fPadBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModPadBorderSize()");
1848 fPadColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModPadColor()");
1849 fPadTickX->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModPadTickX()");
1850 fPadTickY->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModPadTickY()");
1851 fPadGridX->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModPadGridX()");
1852 fPadGridY->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModPadGridY()");
1853 fGridColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModGridColor()");
1854 fGridWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModGridWidth()");
1855 fGridStyle->Connect("Selected(Int_t)", "TStyleManager", this, "ModGridStyle()");
1856 break;
1857 case 3: // HISTOS
1858 fHistFillColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModHistFillColor()");
1859 fHistFillStyle->Connect("PatternSelected(Style_t)", "TStyleManager", this, "ModHistFillStyle()");
1860 fHistLineColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModHistLineColor()");
1861 fHistLineWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModHistLineWidth()");
1862 fHistLineStyle->Connect("Selected(Int_t)", "TStyleManager", this, "ModHistLineStyle()");
1863 fBarWidth->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModBarWidth()");
1864 fBarOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModBarOffset()");
1865 fHistMinimumZero->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModHistMinimumZero()");
1866 fPaintTextFormat->Connect("TextChanged(const char *)", "TStyleManager", this, "ModPaintTextFormat()");
1867 fNumberContours->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModNumberContours()");
1868 fLegoInnerR->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModLegoInnerR()");
1869 fFrameFillColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModFrameFillColor()");
1870 fFrameFillStyle->Connect("PatternSelected(Style_t)", "TStyleManager", this, "ModFrameFillStyle()");
1871 fFrameLineColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModFrameLineColor()");
1872 fFrameLineWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModFrameLineWidth()");
1873 fFrameLineStyle->Connect("Selected(Int_t)", "TStyleManager", this, "ModFrameLineStyle()");
1874 fPaletteEdit->Connect("Clicked()", "TStyleManager", this, "ModPaletteEdit()");
1875 fFrameBorderMode->Connect("Clicked(Int_t)", "TStyleManager", this, "ModFrameBorderMode()");
1876 fFrameBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModFrameBorderSize()");
1877 fFuncColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModFuncColor()");
1878 fFuncWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModFuncWidth()");
1879 fFuncStyle->Connect("Selected(Int_t)", "TStyleManager", this, "ModFuncStyle()");
1880 fDrawBorder->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModDrawBorder()");
1881 fEndErrorSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModEndErrorSize()");
1882 fErrorX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModErrorX()");
1883 break;
1884 case 4: // AXIS
1885 fTimeOffsetDate->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTimeOffset()");
1886 fTimeOffsetTime->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTimeOffset()");
1887 fStripDecimals->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModStripDecimals()");
1888 fApplyOnXYZ->Connect("Clicked()", "TStyleManager", this, "ModApplyOnXYZ()");
1889 fXTitleSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXTitleSize()");
1890 fXTitleSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModXTitleSizeInPixels(Bool_t)");
1891 fXTitleColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModXTitleColor()");
1892 fXTitleOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXTitleOffset()");
1893 fXTitleFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModXTitleFont()");
1894 fXLabelSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXLabelSize()");
1895 fXLabelSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModXLabelSizeInPixels(Bool_t)");
1896 fXLabelColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModXLabelColor()");
1897 fXLabelOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXLabelOffset()");
1898 fXLabelFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModXLabelFont()");
1899 fXAxisColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModXAxisColor()");
1900 fXTickLength->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXTickLength()");
1901 fOptLogx->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptLogx()");
1902 fXNdivMain->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXNdivisions()");
1903 fXNdivSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXNdivisions()");
1904 fXNdivSubSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXNdivisions()");
1905 fXNdivisionsOptimize->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModXNdivisions()");
1906 fYTitleSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYTitleSize()");
1907 fYTitleSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModYTitleSizeInPixels(Bool_t)");
1908 fYTitleColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModYTitleColor()");
1909 fYTitleOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYTitleOffset()");
1910 fYTitleFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModYTitleFont()");
1911 fYLabelSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYLabelSize()");
1912 fYLabelSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModYLabelSizeInPixels(Bool_t)");
1913 fYLabelColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModYLabelColor()");
1914 fYLabelOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYLabelOffset()");
1915 fYLabelFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModYLabelFont()");
1916 fYAxisColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModYAxisColor()");
1917 fYTickLength->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYTickLength()");
1918 fOptLogy->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptLogy()");
1919 fYNdivMain->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYNdivisions()");
1920 fYNdivSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYNdivisions()");
1921 fYNdivSubSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYNdivisions()");
1922 fYNdivisionsOptimize->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModYNdivisions()");
1923 fZTitleSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZTitleSize()");
1924 fZTitleSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModZTitleSizeInPixels(Bool_t)");
1925 fZTitleColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModZTitleColor()");
1926 fZTitleOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZTitleOffset()");
1927 fZTitleFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModZTitleFont()");
1928 fZLabelSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZLabelSize()");
1929 fZLabelSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModZLabelSizeInPixels(Bool_t)");
1930 fZLabelColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModZLabelColor()");
1931 fZLabelOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZLabelOffset()");
1932 fZLabelFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModZLabelFont()");
1933 fZAxisColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModZAxisColor()");
1934 fZTickLength->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZTickLength()");
1935 fOptLogz->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptLogz()");
1936 fZNdivMain->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZNdivisions()");
1937 fZNdivSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZNdivisions()");
1938 fZNdivSubSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZNdivisions()");
1939 fZNdivisionsOptimize->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModZNdivisions()");
1940 break;
1941 case 5: // TITLES
1942 fOptTitle->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptTitle()");
1943 fTitleColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModTitleFillColor()");
1944 fTitleStyle->Connect("PatternSelected(Style_t)", "TStyleManager", this, "ModTitleStyle()");
1945 fTitleTextColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModTitleTextColor()");
1946 fTitleFontSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTitleFontSize()");
1947 fTitleFontSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModTitleFontSizeInPixels(Bool_t)");
1948 fTitleFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModTitleFont()");
1949 fTitleAlign->Connect("Selected(Int_t)", "TStyleManager", this, "ModTitleAlign()");
1950 fTitleBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModTitleBorderSize()");
1951 fTitleX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTitleX()");
1952 fTitleY->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTitleY()");
1953 fTitleW->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTitleW()");
1954 fTitleH->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTitleH()");
1955 fLegendBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModLegendBorderSize()");
1956 break;
1957 case 6: // STATS
1958 fStatColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModStatColor(Pixel_t)");
1959 fStatStyle->Connect("PatternSelected(Style_t)", "TStyleManager", this, "ModStatStyle(Style_t)");
1960 fStatTextColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModStatTextColor(Pixel_t)");
1961 fStatFontSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModStatFontSize()");
1962 fStatFontSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModStatFontSizeInPixels(Bool_t)");
1963 fStatFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModStatFont()");
1964 fStatX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModStatX()");
1965 fStatY->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModStatY()");
1966 fStatW->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModStatW()");
1967 fStatH->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModStatH()");
1968 fStatBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModStatBorderSize()");
1969 fOptStatName->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1970 fOptStatEntries->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1971 fOptStatOverflow->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1972 fOptStatMean->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1973 fOptStatUnderflow->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1974 fOptStatRMS->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1975 fOptStatSkewness->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1976 fOptStatIntegral->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1977 fOptStatKurtosis->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1978 fOptStatErrors->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1979 fStatFormat->Connect("TextChanged(const char *)", "TStyleManager", this, "ModStatFormat(const char *)");
1980 fOptFitValues->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptFit()");
1981 fOptFitErrors->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptFit()");
1982 fOptFitProbability->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptFit()");
1983 fOptFitChi->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptFit()");
1984 fFitFormat->Connect("TextChanged(const char *)", "TStyleManager", this, "ModFitFormat(const char *)");
1985 break;
1986 case 7: // PS / PDF
1987 fHeaderPS->Connect("TextChanged(const char *)", "TStyleManager", this, "ModHeaderPS()");
1988 fTitlePS->Connect("TextChanged(const char *)", "TStyleManager", this, "ModTitlePS()");
1989 fColorModelPS->Connect("Clicked(Int_t)", "TStyleManager", this, "ModColorModelPS()");
1990 fLineScalePS->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModLineScalePS()");
1991 fPaperSizePredef->Connect("Selected(Int_t)", "TStyleManager", this, "ModPaperSizePredef()");
1992 fPaperSizeX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPaperSizeXY()");
1993 fPaperSizeY->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPaperSizeXY()");
1994 break;
1995 }
1996}
1997
1998////////////////////////////////////////////////////////////////////////////////
1999/// Disconnect every widget entry of the editor from its slot. Must be
2000/// called before UpdateEditor() to avoid recursive calls.
2001
2003{
2004 if (!fSigSlotConnected) return;
2006
2007 switch (tabNum) {
2008 case 0: // GENERAL
2009 fFillColor->Disconnect("ColorSelected(Pixel_t)");
2010 fFillStyle->Disconnect("PatternSelected(Style_t)");
2011 fHatchesLineWidth->Disconnect("Selected(Int_t)");
2012 fHatchesSpacing->Disconnect("ValueSet(Long_t)");
2013 fMarkerColor->Disconnect("ColorSelected(Pixel_t)");
2014 fMarkerStyle->Disconnect("MarkerSelected(Style_t)");
2015 fMarkerSize->Disconnect("Selected(Int_t)");
2016 fScreenFactor->Disconnect("ValueSet(Long_t)");
2017 fLineColor->Disconnect("ColorSelected(Pixel_t)");
2018 fLineWidth->Disconnect("Selected(Int_t)");
2019 fLineStyle->Disconnect("Selected(Int_t)");
2020 fLineStyleEdit->Disconnect("Clicked()");
2021 fTextColor->Disconnect("ColorSelected(Pixel_t)");
2022 fTextSize->Disconnect("ValueSet(Long_t)");
2023 fTextFont->Disconnect("Selected(Int_t)");
2024 fTextAlign->Disconnect("Selected(Int_t)");
2025 fTextAngle->Disconnect("ValueSet(Long_t)");
2026 break;
2027 case 1: // CANVAS
2028 fCanvasColor->Disconnect("ColorSelected(Pixel_t)");
2029 fCanvasDefX->Disconnect("ValueSet(Long_t)");
2030 fCanvasDefY->Disconnect("ValueSet(Long_t)");
2031 fCanvasDefW->Disconnect("ValueSet(Long_t)");
2032 fCanvasDefH->Disconnect("ValueSet(Long_t)");
2033 fCanvasBorderMode->Disconnect("Clicked(Int_t)");
2034 fCanvasBorderSize->Disconnect("Selected(Int_t)");
2035 fOptDateBool->Disconnect("Toggled(Bool_t)");
2036 fAttDateTextColor->Disconnect("ColorSelected(Pixel_t)");
2037 fAttDateTextSize->Disconnect("ValueSet(Long_t)");
2038 fOptDateFormat->Disconnect("Selected(Int_t)");
2039 fAttDateTextFont->Disconnect("Selected(Int_t)");
2040 fAttDateTextAngle->Disconnect("ValueSet(Long_t)");
2041 fAttDateTextAlign->Disconnect("Selected(Int_t)");
2042 fDateX->Disconnect("ValueSet(Long_t)");
2043 fDateY->Disconnect("ValueSet(Long_t)");
2044 break;
2045 case 2: // PAD
2046 fPadTopMargin->Disconnect("ValueSet(Long_t)");
2047 fPadBottomMargin->Disconnect("ValueSet(Long_t)");
2048 fPadLeftMargin->Disconnect("ValueSet(Long_t)");
2049 fPadRightMargin->Disconnect("ValueSet(Long_t)");
2050 fPadBorderMode->Disconnect("Clicked(Int_t)");
2051 fPadBorderSize->Disconnect("Selected(Int_t)");
2052 fPadColor->Disconnect("ColorSelected(Pixel_t)");
2053 fPadTickX->Disconnect("Toggled(Bool_t)");
2054 fPadTickY->Disconnect("Toggled(Bool_t)");
2055 fPadGridX->Disconnect("Toggled(Bool_t)");
2056 fPadGridY->Disconnect("Toggled(Bool_t)");
2057 fGridColor->Disconnect("ColorSelected(Pixel_t)");
2058 fGridWidth->Disconnect("Selected(Int_t)");
2059 fGridStyle->Disconnect("Selected(Int_t)");
2060 break;
2061 case 3: // HISTOS
2062 fHistFillColor->Disconnect("ColorSelected(Pixel_t)");
2063 fHistFillStyle->Disconnect("PatternSelected(Style_t)");
2064 fHistLineColor->Disconnect("ColorSelected(Pixel_t)");
2065 fHistLineWidth->Disconnect("Selected(Int_t)");
2066 fHistLineStyle->Disconnect("Selected(Int_t)");
2067 fBarWidth->Disconnect("ValueSet(Long_t)");
2068 fBarOffset->Disconnect("ValueSet(Long_t)");
2069 fHistMinimumZero->Disconnect("Toggled(Bool_t)");
2070 fPaintTextFormat->Disconnect("TextChanged(const char *)");
2071 fNumberContours->Disconnect("ValueSet(Long_t)");
2072 fLegoInnerR->Disconnect("ValueSet(Long_t)");
2073 fFrameFillColor->Disconnect("ColorSelected(Pixel_t)");
2074 fFrameFillStyle->Disconnect("PatternSelected(Style_t)");
2075 fFrameLineColor->Disconnect("ColorSelected(Pixel_t)");
2076 fFrameLineWidth->Disconnect("Selected(Int_t)");
2077 fFrameLineStyle->Disconnect("Selected(Int_t)");
2078 fPaletteEdit->Disconnect("Clicked()");
2079 fFrameBorderMode->Disconnect("Clicked(Int_t)");
2080 fFrameBorderSize->Disconnect("Selected(Int_t)");
2081 fFuncColor->Disconnect("ColorSelected(Pixel_t)");
2082 fFuncWidth->Disconnect("Selected(Int_t)");
2083 fFuncStyle->Disconnect("Selected(Int_t)");
2084 fDrawBorder->Disconnect("Toggled(Bool_t)");
2085 fEndErrorSize->Disconnect("ValueSet(Long_t)");
2086 fErrorX->Disconnect("ValueSet(Long_t)");
2087 break;
2088 case 4: // AXIS
2089 fTimeOffsetDate->Disconnect("ValueSet(Long_t)");
2090 fTimeOffsetTime->Disconnect("ValueSet(Long_t)");
2091 fStripDecimals->Disconnect("Toggled(Bool_t)");
2092 fApplyOnXYZ->Disconnect("Clicked()");
2093 fXTitleSize->Disconnect("ValueSet(Long_t)");
2094 fXTitleColor->Disconnect("ColorSelected(Pixel_t)");
2095 fXTitleOffset->Disconnect("ValueSet(Long_t)");
2096 fXTitleFont->Disconnect("Selected(Int_t)");
2097 fXLabelSize->Disconnect("ValueSet(Long_t)");
2098 fXLabelColor->Disconnect("ColorSelected(Pixel_t)");
2099 fXLabelOffset->Disconnect("ValueSet(Long_t)");
2100 fXLabelFont->Disconnect("Selected(Int_t)");
2101 fXAxisColor->Disconnect("ColorSelected(Pixel_t)");
2102 fXTickLength->Disconnect("ValueSet(Long_t)");
2103 fOptLogx->Disconnect("Toggled(Bool_t)");
2104 fXNdivMain->Disconnect("ValueSet(Long_t)");
2105 fXNdivSub->Disconnect("ValueSet(Long_t)");
2106 fXNdivSubSub->Disconnect("ValueSet(Long_t)");
2107 fXNdivisionsOptimize->Disconnect("Toggled(Bool_t)");
2108 fYTitleSize->Disconnect("ValueSet(Long_t)");
2109 fYTitleColor->Disconnect("ColorSelected(Pixel_t)");
2110 fYTitleOffset->Disconnect("ValueSet(Long_t)");
2111 fYTitleFont->Disconnect("Selected(Int_t)");
2112 fYLabelSize->Disconnect("ValueSet(Long_t)");
2113 fYLabelColor->Disconnect("ColorSelected(Pixel_t)");
2114 fYLabelOffset->Disconnect("ValueSet(Long_t)");
2115 fYLabelFont->Disconnect("Selected(Int_t)");
2116 fYAxisColor->Disconnect("ColorSelected(Pixel_t)");
2117 fYTickLength->Disconnect("ValueSet(Long_t)");
2118 fOptLogy->Disconnect("Toggled(Bool_t)");
2119 fYNdivMain->Disconnect("ValueSet(Long_t)");
2120 fYNdivSub->Disconnect("ValueSet(Long_t)");
2121 fYNdivSubSub->Disconnect("ValueSet(Long_t)");
2122 fYNdivisionsOptimize->Disconnect("Toggled(Bool_t)");
2123 fZTitleSize->Disconnect("ValueSet(Long_t)");
2124 fZTitleColor->Disconnect("ColorSelected(Pixel_t)");
2125 fZTitleOffset->Disconnect("ValueSet(Long_t)");
2126 fZTitleFont->Disconnect("Selected(Int_t)");
2127 fZLabelSize->Disconnect("ValueSet(Long_t)");
2128 fZLabelColor->Disconnect("ColorSelected(Pixel_t)");
2129 fZLabelOffset->Disconnect("ValueSet(Long_t)");
2130 fZLabelFont->Disconnect("Selected(Int_t)");
2131 fZAxisColor->Disconnect("ColorSelected(Pixel_t)");
2132 fZTickLength->Disconnect("ValueSet(Long_t)");
2133 fOptLogz->Disconnect("Toggled(Bool_t)");
2134 fZNdivMain->Disconnect("ValueSet(Long_t)");
2135 fZNdivSub->Disconnect("ValueSet(Long_t)");
2136 fZNdivSubSub->Disconnect("ValueSet(Long_t)");
2137 fZNdivisionsOptimize->Disconnect("Toggled(Bool_t)");
2138 break;
2139 case 5: // TITLES
2140 fOptTitle->Disconnect("Toggled(Bool_t)");
2141 fTitleColor->Disconnect("ColorSelected(Pixel_t)");
2142 fTitleStyle->Disconnect("PatternSelected(Style_t)");
2143 fTitleTextColor->Disconnect("ColorSelected(Pixel_t)");
2144 fTitleFontSize->Disconnect("ValueSet(Long_t)");
2145 fTitleFont->Disconnect("Selected(Int_t)");
2146 fTitleAlign->Disconnect("Selected(Int_t)");
2147 fTitleBorderSize->Disconnect("Selected(Int_t)");
2148 fTitleX->Disconnect("ValueSet(Long_t)");
2149 fTitleY->Disconnect("ValueSet(Long_t)");
2150 fTitleW->Disconnect("ValueSet(Long_t)");
2151 fTitleH->Disconnect("ValueSet(Long_t)");
2152 fLegendBorderSize->Disconnect("Selected(Int_t)");
2153 break;
2154 case 6: // STATS
2155 fStatColor->Disconnect("ColorSelected(Pixel_t)");
2156 fStatStyle->Disconnect("PatternSelected(Style_t)");
2157 fStatTextColor->Disconnect("ColorSelected(Pixel_t)");
2158 fStatFontSize->Disconnect("ValueSet(Long_t)");
2159 fStatFont->Disconnect("Selected(Int_t)");
2160 fStatX->Disconnect("ValueSet(Long_t)");
2161 fStatY->Disconnect("ValueSet(Long_t)");
2162 fStatW->Disconnect("ValueSet(Long_t)");
2163 fStatH->Disconnect("ValueSet(Long_t)");
2164 fStatBorderSize->Disconnect("Selected(Int_t)");
2165 fOptStatName->Disconnect("Toggled(Bool_t)");
2166 fOptStatEntries->Disconnect("Toggled(Bool_t)");
2167 fOptStatOverflow->Disconnect("Toggled(Bool_t)");
2168 fOptStatMean->Disconnect("Toggled(Bool_t)");
2169 fOptStatUnderflow->Disconnect("Toggled(Bool_t)");
2170 fOptStatRMS->Disconnect("Toggled(Bool_t)");
2171 fOptStatSkewness->Disconnect("Toggled(Bool_t)");
2172 fOptStatIntegral->Disconnect("Toggled(Bool_t)");
2173 fOptStatKurtosis->Disconnect("Toggled(Bool_t)");
2174 fOptStatErrors->Disconnect("Toggled(Bool_t)");
2175 fStatFormat->Disconnect("TextChanged(const char *)");
2176 fOptFitValues->Disconnect("Toggled(Bool_t)");
2177 fOptFitErrors->Disconnect("Toggled(Bool_t)");
2178 fOptFitProbability->Disconnect("Toggled(Bool_t)");
2179 fOptFitChi->Disconnect("Toggled(Bool_t)");
2180 fFitFormat->Disconnect("TextChanged(const char *)");
2181 break;
2182 case 7: // PS / PDF
2183 fHeaderPS->Disconnect("TextChanged(const char *)");
2184 fTitlePS->Disconnect("TextChanged(const char *)");
2185 fColorModelPS->Disconnect("Clicked(Int_t)");
2186 fLineScalePS->Disconnect("ValueSet(Long_t)");
2187 fPaperSizePredef->Disconnect("Selected(Int_t)");
2188 fPaperSizeX->Disconnect("ValueSet(Long_t)");
2189 fPaperSizeY->Disconnect("ValueSet(Long_t)");
2190 break;
2191 }
2192}
2193
2194////////////////////////////////////////////////////////////////////////////////
2195/// Called each time something is changed in the style editor. Thanks to
2196/// this method, we can know if the style differs from the original style.
2197
2199{
2201
2202 // Update the status bar.
2204
2205 // Update the preview if the real time mode is selected.
2206 if (fRealTimePreview)
2208}
2209
2210////////////////////////////////////////////////////////////////////////////////
2211/// Add the editor to the frame 'p'. It contains the tabs allowing the user
2212/// to modify every data member of the current TStyle object.
2213
2215{
2220
2223
2224 fEditionTab = new TGTab(fEditionFrame, 200, 150);
2225 fEditionTab->Associate(this);
2226 CreateTabGeneral(fEditionTab->AddTab("General"));
2229 CreateTabHistos(fEditionTab->AddTab("Histograms"));
2233 CreateTabPsPdf(fEditionTab->AddTab("PS / PDF"));
2235
2238 fEditionHelp->Associate(this);
2245 fEditionReset->Associate(this);
2248
2249 p->AddFrame(fEditionFrame, layout1);
2250
2251 fEditionHelp->SetToolTipText("Help about the current tab");
2252 fEditionUpdatePreview->SetToolTipText("Force the refresh of the preview window");
2253 fEditionReset->SetToolTipText("Reset the selected style");
2254}
2255
2256////////////////////////////////////////////////////////////////////////////////
2257/// Add the tab 'General' to the editor.
2258
2260{
2261 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 10, 21, 5, 5);
2263
2268 tab->AddFrame(h1, fLayoutExpandX);
2269
2272 AddGeneralText(h2);
2279 "Screen factor:", 0, 6, TGNumberFormat::kNESRealOne,
2282 v->AddFrame(h3, layout);
2283 h2->AddFrame(v, fLayoutExpandXY);
2284 tab->AddFrame(h2, fLayoutExpandX);
2285
2286 fScreenFactor->GetNumberEntry()->SetToolTipText("Coefficient for different screen's resolutions");
2287}
2288
2289////////////////////////////////////////////////////////////////////////////////
2290/// Add the 'Fill' group frame to the 'General' tab.
2291
2293{
2296
2297 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
2303 gf->AddFrame(h1, fLayoutExpandX);
2304 AddTitle(gf, "Hatchings");
2312 gf->AddFrame(h2, layout2);
2313 f->AddFrame(gf, fLayoutExpandXYMargin);
2314
2315// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2316// fFillColor->SetToolTipText("General fill color");
2317// fFillStyle->SetToolTipText("General fill pattern");
2318 fHatchesSpacing->GetNumberEntry()->SetToolTipText("Spacing between the hatching's lines");
2319}
2320
2321////////////////////////////////////////////////////////////////////////////////
2322/// Add the 'Line' group frame to the 'General' tab.
2323
2325{
2326 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
2332 gf->AddFrame(h, fLayoutExpandX);
2334 fLineStyleEdit = AddTextButton(gf, "Lines' Style Editor...", kGeneralLineStyleEdit);
2336 f->AddFrame(gf, fLayoutExpandXYMargin);
2337
2338// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2339// fLineColor->SetToolTipText("General line color");
2340}
2341
2342////////////////////////////////////////////////////////////////////////////////
2343/// Add the 'Text' group frame to the 'General' tab.
2344
2346{
2347 TGGroupFrame *gf = new TGGroupFrame(f, "Text");
2353 gf->AddFrame(h1, fLayoutExpandX);
2358 fTextSize = AddNumberEntry(h2, 21, 10, 0, kGeneralTextSize, "Size:", 0, 5,
2362 gf->AddFrame(h2, fLayoutExpandX);
2363 fTextAngle = AddNumberEntry(gf, 0, 0, 0, kGeneralTextAngle, "Angle:",
2367 f->AddFrame(gf, fLayoutExpandXYMargin);
2368
2369// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2370// fTextColor->SetToolTipText("General text color");
2371 fTextSizeInPixels->SetToolTipText("Set the text size in pixels if selected, otherwise - in % of pad.");
2372 fTextSize->GetNumberEntry()->SetToolTipText("General text size (in pixels or in % of pad)");
2373 fTextAngle->GetNumberEntry()->SetToolTipText("General text angle");
2374}
2375
2376////////////////////////////////////////////////////////////////////////////////
2377/// Add the 'Marker' group frame to the 'General' tab.
2378
2380{
2381 TGGroupFrame *gf = new TGGroupFrame(f, "Marker");
2388 gf->AddFrame(h, fLayoutExpandX);
2389 f->AddFrame(gf, fLayoutExpandXMargin);
2390
2391// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2392// fMarkerColor->SetToolTipText("Marker color");
2393// fMarkerStyle->SetToolTipText("Marker shape");
2394}
2395
2396////////////////////////////////////////////////////////////////////////////////
2397/// Add the tab 'Canvas' to the editor.
2398
2415
2416////////////////////////////////////////////////////////////////////////////////
2417/// Add the 'Fill' group frame to the 'Canvas' tab.
2418
2420{
2421 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
2426 gf->AddFrame(h, fLayoutExpandX);
2427 f->AddFrame(gf, fLayoutExpandXMargin);
2428
2429// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2430// fCanvasColor->SetToolTipText("Color used to fill canvases");
2431}
2432
2433////////////////////////////////////////////////////////////////////////////////
2434/// Add the 'Geometry' group frame to the 'Canvas' tab.
2435
2437{
2438 TGGroupFrame *gf = new TGGroupFrame(f, "Geometry");
2442 fCanvasDefX = AddNumberEntry(h1, 0, 9, 0, kCanvasDefX, "X:",
2446 fCanvasDefY = AddNumberEntry(h1, 7, 8, 0, kCanvasDefY, "Y:",
2450 gf->AddFrame(h1, fLayoutExpandX);
2451
2454 fCanvasDefW = AddNumberEntry(h2, 0, 7, 0, kCanvasDefW, "W:",
2458 fCanvasDefH = AddNumberEntry(h2, 7, 8, 0, kCanvasDefH, "H:",
2462 gf->AddFrame(h2, fLayoutExpandX);
2463 f->AddFrame(gf, fLayoutExpandXMargin);
2464
2465 fCanvasDefX->GetNumberEntry()->SetToolTipText("Canvases' default abscissa");
2466 fCanvasDefY->GetNumberEntry()->SetToolTipText("Canvases' default ordinate");
2467 fCanvasDefW->GetNumberEntry()->SetToolTipText("Canvases' default width");
2468 fCanvasDefH->GetNumberEntry()->SetToolTipText("Canvases' default height");
2469}
2470
2471////////////////////////////////////////////////////////////////////////////////
2472/// Add the 'Border' group frame to the 'Canvas' tab.
2473
2479
2480////////////////////////////////////////////////////////////////////////////////
2481/// Add the 'Date' group frame to the 'Canvas' tab.
2482
2484{
2487
2488 TGGroupFrame *gf = new TGGroupFrame(f, "Date");
2494 gf->AddFrame(h1, fLayoutExpandX);
2498 fAttDateTextSize = AddNumberEntry(h2, 22, 10, 0, kCanvasAttDateTextSize, "Size:", 0, 5,
2502 gf->AddFrame(h2, fLayoutExpandX);
2507 "Angle:", 0, 6, TGNumberFormat::kNESInteger,
2510 AddTitle(gf, "Position");
2513 fDateX = AddNumberEntry(h3, 0, 0, 0, kCanvasDateX, "X (% of Pad):",
2517 fDateY = AddNumberEntry(h3, 0, 0, 0, kCanvasDateY, "Y (% of Pad):",
2521 gf->AddFrame(h3, layout2);
2522 f->AddFrame(gf, fLayoutExpandXYMargin);
2523
2524 fOptDateBool->SetToolTipText("Show / Hide the date in canvases");
2525// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2526// fAttDateTextColor->SetToolTipText("Color of the date text");
2527 fAttDateTextSizeInPixels->SetToolTipText("Set the date text size in pixels if selected, otherwise - in % of pad");
2528 fAttDateTextSize->GetNumberEntry()->SetToolTipText("Date text size (in pixels or in % of pad)");
2529 fAttDateTextAngle->GetNumberEntry()->SetToolTipText("Date text angle");
2530 fDateX->GetNumberEntry()->SetToolTipText("Date abscissa in percent of pad");
2531 fDateY->GetNumberEntry()->SetToolTipText("Date ordinate in percent of pad");
2532}
2533
2534////////////////////////////////////////////////////////////////////////////////
2535/// Add the tab 'Pad' to the editor.
2536
2554
2555////////////////////////////////////////////////////////////////////////////////
2556/// Add the 'Margin' group frame to the 'Pad' tab.
2557
2559{
2560 TGGroupFrame *gf = new TGGroupFrame(f, "Margin (% of Pad)");
2564 fPadLeftMargin = AddNumberEntry(h1, 0, 5, 0, kPadLeftMargin, "Left:",
2568 fPadRightMargin = AddNumberEntry(h1, 0, 0, 0, kPadRightMargin, "Right:",
2572 gf->AddFrame(h1, fLayoutExpandXY);
2575 fPadTopMargin = AddNumberEntry(h2, 0, 5, 0, kPadTopMargin, "Top:",
2579 fPadBottomMargin = AddNumberEntry(h2, 0, 0, 0, kPadBottomMargin, "Bottom:",
2583 gf->AddFrame(h2, fLayoutExpandXY);
2584 f->AddFrame(gf, fLayoutExpandXYMargin);
2585
2586 fPadLeftMargin->GetNumberEntry()->SetToolTipText("Pads' left margin");
2587 fPadRightMargin->GetNumberEntry()->SetToolTipText("Pads' right margin");
2588 fPadTopMargin->GetNumberEntry()->SetToolTipText("Pads' top margin");
2589 fPadBottomMargin->GetNumberEntry()->SetToolTipText("Pads' bottom margin");
2590}
2591
2592////////////////////////////////////////////////////////////////////////////////
2593/// Add the 'Border' group frame to the 'Pad' tab.
2594
2600
2601////////////////////////////////////////////////////////////////////////////////
2602/// Add the 'Fill' group frame to the 'Pad' tab.
2603
2605{
2606 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
2611 gf->AddFrame(h, fLayoutExpandX);
2612 f->AddFrame(gf, fLayoutExpandXYMargin);
2613
2614// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2615// fPadColor->SetToolTipText("Color used to fill pads");
2616}
2617
2618////////////////////////////////////////////////////////////////////////////////
2619/// Add the 'Ticks' group frame to the 'Pad' tab.
2620
2622{
2623 TGGroupFrame *gf = new TGGroupFrame(f, "Ticks");
2629 fPadTickX = AddCheckButton(h1, "Along X", kPadTickX);
2630 h->AddFrame(h1, fLayoutExpandX);
2633 fPadTickY = AddCheckButton(h2, "Along Y", kPadTickY);
2634 h->AddFrame(h2, fLayoutExpandX);
2635 gf->AddFrame(h, fLayoutExpandX);
2636 f->AddFrame(gf, fLayoutExpandXYMargin);
2637
2638 fPadTickX->SetToolTipText("Show / Hide the ticks along X");
2639 fPadTickY->SetToolTipText("Show / Hide the ticks along Y");
2640}
2641
2642////////////////////////////////////////////////////////////////////////////////
2643/// Add the 'Grid' group frame to the 'Pad' tab.
2644
2646{
2647 TGGroupFrame *gf = new TGGroupFrame(f, "Grid");
2653 fPadGridX = AddCheckButton(h10, "Along X", kPadGridX);
2654 h1->AddFrame(h10, fLayoutExpandX);
2657 fPadGridY = AddCheckButton(h20, "Along Y", kPadGridY);
2658 h1->AddFrame(h20, fLayoutExpandX);
2659 gf->AddFrame(h1, fLayoutExpandX);
2664 gf->AddFrame(h2, fLayoutExpandX);
2666 f->AddFrame(gf, fLayoutExpandXYMargin);
2667
2668// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2669// fGridColor->SetToolTipText("Line color for the grid");
2670 fPadGridX->SetToolTipText("Show / Hide the grid along X");
2671 fPadGridY->SetToolTipText("Show / Hide the grid along Y");
2672}
2673
2674////////////////////////////////////////////////////////////////////////////////
2675/// Add the tab 'Histos' to the editor.
2676
2686
2687////////////////////////////////////////////////////////////////////////////////
2688/// Add the sub-tab 'Histos' to the tab 'Histos'.
2689
2710
2711////////////////////////////////////////////////////////////////////////////////
2712/// Add the 'Fill' group frame to the 'Histos - Histos' tab.
2713
2715{
2716 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
2722 gf->AddFrame(h1, fLayoutExpandX);
2723 f->AddFrame(gf, fLayoutExpandXYMargin);
2724
2725// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2726// fHistFillColor->SetToolTipText("Color used to fill histograms");
2727// fHistFillStyle->SetToolTipText("Pattern used to fill histograms");
2728}
2729
2730////////////////////////////////////////////////////////////////////////////////
2731/// Add the 'Line' group frame to the 'Histos - Histos' tab.
2732
2734{
2735 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
2741 gf->AddFrame(h, fLayoutExpandX);
2743 f->AddFrame(gf, fLayoutExpandXYMargin);
2744
2745// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2746// fHistLineColor->SetToolTipText("Color used for histograms' lines");
2747}
2748
2749////////////////////////////////////////////////////////////////////////////////
2750/// Add the 'Bar' group frame to the 'Histos - Histos' tab.
2751
2772
2773////////////////////////////////////////////////////////////////////////////////
2774/// Add the 'Contours' group frame to the 'Histos - Histos' tab.
2775
2788
2789////////////////////////////////////////////////////////////////////////////////
2790/// Add the 'Axis' group frame to the 'Histos - Histos' tab.
2791
2793{
2794 TGGroupFrame *gf = new TGGroupFrame(f, "Axis");
2798 f->AddFrame(gf, fLayoutExpandXYMargin);
2799
2800 fHistMinimumZero->SetToolTipText("Set to zero / Compute the minimum of axis range");
2801 fPaintTextFormat->SetToolTipText("Paint format of the axis labels in histograms");
2802}
2803
2804////////////////////////////////////////////////////////////////////////////////
2805/// Add the '3D Cylindrical' group frame to the 'Histos - Histos' tab.
2806
2808{
2809 TGGroupFrame *gf = new TGGroupFrame(f, "3D Cylindrical (%)");
2811 fLegoInnerR = AddNumberEntry(gf, 0, 0, 0, kHistLegoInnerR, "Inner radius:",
2815 f->AddFrame(gf, fLayoutExpandXYMargin);
2816
2817 fLegoInnerR->GetNumberEntry()->SetToolTipText("Percent of radius allocated to the tube");
2818}
2819
2820////////////////////////////////////////////////////////////////////////////////
2821/// Add the sub-tab 'Frames' to the tab 'Histos'.
2822
2849
2850////////////////////////////////////////////////////////////////////////////////
2851/// Add the 'Fill' group frame to the 'Histos - Frames' tab.
2852
2854{
2855 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
2861 gf->AddFrame(h1, fLayoutExpandX);
2862 f->AddFrame(gf, fLayoutExpandXMargin);
2863
2864// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2865// fFrameFillColor->SetToolTipText("Color used to fill frames");
2866// fFrameFillStyle->SetToolTipText("Pattern used to fill frames");
2867}
2868
2869////////////////////////////////////////////////////////////////////////////////
2870/// Add the 'Line' group frame to the 'Histos - Frames' tab.
2871
2873{
2874 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
2880 gf->AddFrame(h, fLayoutExpandX);
2882 f->AddFrame(gf, fLayoutExpandXYMargin);
2883
2884// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2885// fFrameLineColor->SetToolTipText("Color of lines in frames");
2886}
2887
2888////////////////////////////////////////////////////////////////////////////////
2889/// Add the 'Border' group frame to the 'Histos - Frames' tab.
2890
2896
2897////////////////////////////////////////////////////////////////////////////////
2898/// Add the sub-tab 'Graphs' to the tab 'Histos'.
2899
2909
2910////////////////////////////////////////////////////////////////////////////////
2911/// Add the 'Line' group frame to the 'Histos - Graphs' tab.
2912
2914{
2915 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
2921 gf->AddFrame(h, fLayoutExpandX);
2923 f->AddFrame(gf, fLayoutExpandXMargin);
2924
2925// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2926// fFuncColor->SetToolTipText("Color of curves in graphs");
2927}
2928
2929////////////////////////////////////////////////////////////////////////////////
2930/// Add the 'Draw Border' check button to the 'Histos - Graphs' tab.
2931
2933{
2934 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 10, 21, 5, 5);
2936
2939 fDrawBorder = AddCheckButton(h, "Draw Border (for Filled Function)", kGraphsDrawBorder);
2940 f->AddFrame(h, layout);
2941
2942 fDrawBorder->SetToolTipText("Show / Hide the border of filled functions");
2943}
2944
2945////////////////////////////////////////////////////////////////////////////////
2946/// Add the 'Errors' group frame to the 'Histos - Graphs' tab.
2947
2949{
2950 TGGroupFrame *gf = new TGGroupFrame(f, "Errors");
2953 "End error size:", 0, 4, TGNumberFormat::kNESRealOne,
2956 fErrorX = AddNumberEntry(gf, 0, 0, 0, kGraphsErrorX, "Error X (% of bin):",
2960 f->AddFrame(gf, fLayoutExpandXMargin);
2961
2962 fEndErrorSize->GetNumberEntry()->SetToolTipText("Size of lines drawn at the end of error bars");
2963 fErrorX->GetNumberEntry()->SetToolTipText("Percent of the bin width to use for errors along X");
2964}
2965
2966////////////////////////////////////////////////////////////////////////////////
2967/// Add the tab 'Axis' to the editor.
2968
2970{
2972 new TGLayoutHints(kLHintsNormal, 10, 13, 3);
2974
2977
2980 fStripDecimals = AddCheckButton(h3, "Decimal labels' part", kAxisStripDecimals, 0, 8);
2981 TGVerticalFrame *space = new TGVerticalFrame(h3);
2982 fTrashListFrame->AddFirst(space);
2983 h3->AddFrame(space, fLayoutExpandXY);
2984 fApplyOnXYZ = AddTextButton(h3, "Apply on XYZ", kAxisApplyOnXYZ);
2985 h->AddFrame(h3, layout);
2986
2987 TGGroupFrame *gf = new TGGroupFrame(h, "Date/Time Offset");
2999 gf->AddFrame(h2, fLayoutExpandX);
3000 h->AddFrame(gf, fLayoutExpandXMargin);
3001 tab->AddFrame(h, fLayoutExpandX);
3002
3003 fAxisTab = new TGTab(tab);
3004 fAxisTab->Associate(this);
3005 CreateTabAxisX(fAxisTab->AddTab("X axis"));
3006 CreateTabAxisY(fAxisTab->AddTab("Y axis"));
3007 CreateTabAxisZ(fAxisTab->AddTab("Z axis"));
3008 tab->AddFrame(fAxisTab, fLayoutExpandXY);
3009
3010 fStripDecimals->SetToolTipText("Draw / Hide the decimal part of labels");
3011 fApplyOnXYZ->SetToolTipText("Apply settings of the currently selected axis on XYZ");
3012 fTimeOffsetDate->GetNumberEntry()->SetToolTipText("Date offset for axis (dd/mm/yyyy)");
3013 fTimeOffsetTime->GetNumberEntry()->SetToolTipText("Time offset for axis (hh/mm/ss)");
3014}
3015
3016////////////////////////////////////////////////////////////////////////////////
3017/// Add the sub-tab 'X Axis' to the tab 'Axis'.
3018
3033
3034////////////////////////////////////////////////////////////////////////////////
3035/// Add the 'Line' group frame to the 'Axis - X Axis' tab.
3036
3038{
3041
3042 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
3049 fXTickLength = AddNumberEntry(h2, 3, 8, 0, kAxisXTickLength, "Ticks:",
3053 h->AddFrame(h2, layout);
3054 gf->AddFrame(h, fLayoutExpandX);
3055 fOptLogx = AddCheckButton(gf, "Logarithmic scale", kAxisOptLogx);
3056 f->AddFrame(gf, fLayoutExpandXYMargin);
3057
3058// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3059// fXAxisColor->SetToolTipText("Color of axis' line");
3060 fXTickLength->GetNumberEntry()->SetToolTipText("Set the ticks' length");
3061 fOptLogx->SetToolTipText("Draw logarithmic scale");
3062}
3063
3064////////////////////////////////////////////////////////////////////////////////
3065/// Add the 'Title' group frame to the 'Axis - X Axis' tab.
3066
3068{
3069 TGGroupFrame *gf = new TGGroupFrame(f, "Title");
3075 gf->AddFrame(h1, fLayoutExpandX);
3079 fXTitleSize = AddNumberEntry(h2, 21, 8, 0, kAxisXTitleSize, "Size:", 0, 5,
3083 gf->AddFrame(h2, fLayoutExpandX);
3084 fXTitleOffset = AddNumberEntry(gf, 68, 8, 0, kAxisXTitleOffset, "Offset:",
3088 f->AddFrame(gf, fLayoutExpandXMargin);
3089
3090// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3091// fXTitleColor->SetToolTipText("Color of axis' title");
3092 fXTitleSizeInPixels->SetToolTipText("Set the title size in pixels if selected, otherwise - in % of pad");
3093 fXTitleSize->GetNumberEntry()->SetToolTipText("Title size (in pixels or in % of pad)");
3094 fXTitleOffset->GetNumberEntry()->SetToolTipText("Offset between axis and title");
3095}
3096
3097////////////////////////////////////////////////////////////////////////////////
3098/// Add the 'Divisions' group frame to the 'Axis - X Axis' tab.
3099
3101{
3102 TGGroupFrame *gf = new TGGroupFrame(f, "Divisions");
3104
3111 fXNdivSub = AddNumberEntry(h1, 0, 18, 0, kAxisXNdivSub, "",
3115 fXNdivMain = AddNumberEntry(h1, 0, 18, 0, kAxisXNdivMain, "",
3119 gf->AddFrame(h1, fLayoutExpandX);
3120
3124 gf->AddFrame(h2, fLayoutExpandX);
3125 f->AddFrame(gf, fLayoutExpandXMargin);
3126
3127 fXNdivMain->GetNumberEntry()->SetToolTipText("Primary axis divisions");
3128 fXNdivSub->GetNumberEntry()->SetToolTipText("Secondary axis divisions");
3129 fXNdivSubSub->GetNumberEntry()->SetToolTipText("Tertiary axis divisions");
3130 fXNdivisionsOptimize->SetToolTipText("Optimize the number of axis divisions if selected");
3131}
3132
3133////////////////////////////////////////////////////////////////////////////////
3134/// Add the 'Labels' group frame to the 'Axis - X Axis' tab.
3135
3137{
3138 TGGroupFrame *gf = new TGGroupFrame(f, "Labels");
3144 gf->AddFrame(h1, fLayoutExpandX);
3148 fXLabelSize = AddNumberEntry(h2, 22, 8, 0, kAxisXLabelSize, "Size:", 0, 5,
3152 gf->AddFrame(h2, fLayoutExpandX);
3153 fXLabelOffset = AddNumberEntry(gf, 69, 8, 0, kAxisXTitleOffset, "Offset:",
3157 f->AddFrame(gf, fLayoutExpandXMargin);
3158
3159// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3160// fXLabelColor->SetToolTipText("Color of axis' labels");
3161 fXLabelSizeInPixels->SetToolTipText("Set the labels size in pixels if selected, otherwise - in % of pad");
3162 fXLabelSize->GetNumberEntry()->SetToolTipText("Label size (in pixels or in % of pad)");
3163 fXLabelOffset->GetNumberEntry()->SetToolTipText("Offset between axis and labels");
3164}
3165
3166////////////////////////////////////////////////////////////////////////////////
3167/// Add the sub-tab 'Y Axis' to the tab 'Axis'.
3168
3183
3184////////////////////////////////////////////////////////////////////////////////
3185/// Add the 'Line' group frame to the 'Axis - Y Axis' tab.
3186
3188{
3191
3192 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
3199 fYTickLength = AddNumberEntry(h2, 3, 8, 0, kAxisYTickLength, "Ticks:",
3203 h->AddFrame(h2, layout);
3204 gf->AddFrame(h, fLayoutExpandX);
3205 fOptLogy = AddCheckButton(gf, "Logarithmic scale", kAxisOptLogy);
3206 f->AddFrame(gf, fLayoutExpandXYMargin);
3207
3208// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3209// fYAxisColor->SetToolTipText("Color of axis' line");
3210 fYTickLength->GetNumberEntry()->SetToolTipText("Set the ticks' length");
3211 fOptLogy->SetToolTipText("Draw logarithmic scale");
3212}
3213
3214////////////////////////////////////////////////////////////////////////////////
3215/// Add the 'Title' group frame to the 'Axis - Y Axis' tab.
3216
3218{
3219 TGGroupFrame *gf = new TGGroupFrame(f, "Title");
3225 gf->AddFrame(h1, fLayoutExpandX);
3229 fYTitleSize = AddNumberEntry(h2, 21, 8, 0, kAxisYTitleSize, "Size:", 0, 5,
3233 gf->AddFrame(h2, fLayoutExpandX);
3234 fYTitleOffset = AddNumberEntry(gf, 68, 8, 0, kAxisYTitleOffset, "Offset:",
3238 f->AddFrame(gf, fLayoutExpandXMargin);
3239
3240// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3241// fYTitleColor->SetToolTipText("Color of axis' title");
3242 fYTitleSizeInPixels->SetToolTipText("Set the title size in pixels if selected, otherwise - in % of pad");
3243 fYTitleSize->GetNumberEntry()->SetToolTipText("Title size (in pixels or in % of pad)");
3244 fYTitleOffset->GetNumberEntry()->SetToolTipText("Offset between axis and title");
3245}
3246
3247////////////////////////////////////////////////////////////////////////////////
3248/// Add the 'Divisions' group frame to the 'Axis - Y Axis' tab.
3249
3251{
3252 TGGroupFrame *gf = new TGGroupFrame(f, "Divisions");
3260 fYNdivSub = AddNumberEntry(h1, 0, 18, 0, kAxisYNdivSub, "",
3264 fYNdivMain = AddNumberEntry(h1, 0, 18, 0, kAxisYNdivMain, "",
3268 gf->AddFrame(h1, fLayoutExpandX);
3269
3273 gf->AddFrame(h2, fLayoutExpandX);
3274 f->AddFrame(gf, fLayoutExpandXMargin);
3275
3276 fYNdivMain->GetNumberEntry()->SetToolTipText("Primary axis divisions");
3277 fYNdivSub->GetNumberEntry()->SetToolTipText("Secondary axis divisions");
3278 fYNdivSubSub->GetNumberEntry()->SetToolTipText("Tertiary axis divisions");
3279 fYNdivisionsOptimize->SetToolTipText("Optimize the number of axis divisions");
3280}
3281
3282////////////////////////////////////////////////////////////////////////////////
3283/// Add the 'Labels' group frame to the 'Axis - Y Axis' tab.
3284
3286{
3287 TGGroupFrame *gf = new TGGroupFrame(f, "Labels");
3293 gf->AddFrame(h1, fLayoutExpandX);
3294
3298 fYLabelSize = AddNumberEntry(h2, 22, 8, 0, kAxisYLabelSize, "Size:", 0, 5,
3302 gf->AddFrame(h2, fLayoutExpandX);
3303 fYLabelOffset = AddNumberEntry(gf, 69, 8, 0, kAxisYTitleOffset, "Offset:",
3307 f->AddFrame(gf, fLayoutExpandXMargin);
3308
3309// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3310// fYLabelColor->SetToolTipText("Color of axis' labels");
3311 fYLabelSizeInPixels->SetToolTipText("Set the labels size in pixels if selected, otherwise - in % of pad");
3312 fYLabelSize->GetNumberEntry()->SetToolTipText("Label size (in pixels or in % of pad)");
3313 fYLabelOffset->GetNumberEntry()->SetToolTipText("Offset between axis and labels");
3314}
3315
3316////////////////////////////////////////////////////////////////////////////////
3317/// Add the sub-tab 'Z Axis' to the tab 'Axis'.
3318
3333
3334////////////////////////////////////////////////////////////////////////////////
3335/// Add the 'Line' group frame to the 'Axis - Z Axis' tab.
3336
3338{
3341
3342 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
3349 fZTickLength = AddNumberEntry(h2, 3, 8, 0, kAxisZTickLength, "Ticks:",
3353 h->AddFrame(h2, layout);
3354 gf->AddFrame(h, fLayoutExpandX);
3355 fOptLogz = AddCheckButton(gf, "Logarithmic scale", kAxisOptLogz);
3356 f->AddFrame(gf, fLayoutExpandXYMargin);
3357
3358// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3359// fZAxisColor->SetToolTipText("Color of axis' line");
3360 fZTickLength->GetNumberEntry()->SetToolTipText("Set the ticks' length");
3361 fOptLogz->SetToolTipText("Draw logarithmic scale");
3362}
3363
3364////////////////////////////////////////////////////////////////////////////////
3365/// Add the 'Title' group frame to the 'Axis - Z Axis' tab.
3366
3368{
3369 TGGroupFrame *gf = new TGGroupFrame(f, "Title");
3375 gf->AddFrame(h1, fLayoutExpandX);
3376
3380 fZTitleSize = AddNumberEntry(h2, 21, 8, 0, kAxisZTitleSize, "Size:", 0, 5,
3384 gf->AddFrame(h2, fLayoutExpandX);
3385 fZTitleOffset = AddNumberEntry(gf, 68, 8, 0, kAxisZTitleOffset, "Offset:",
3389 f->AddFrame(gf, fLayoutExpandXMargin);
3390
3391// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3392// fZTitleColor->SetToolTipText("Color of axis' title");
3393 fZTitleSizeInPixels->SetToolTipText("Set the title size in pixels if selected, otherwise - in % of pad");
3394 fZTitleSize->GetNumberEntry()->SetToolTipText("Title size (in pixels or in % of pad)");
3395 fZTitleOffset->GetNumberEntry()->SetToolTipText("Offset between axis and title");
3396}
3397
3398////////////////////////////////////////////////////////////////////////////////
3399/// Add the 'Divisions' group frame to the 'Axis - Z Axis' tab.
3400
3402{
3403 TGGroupFrame *gf = new TGGroupFrame(f, "Divisions");
3411 fZNdivSub = AddNumberEntry(h1, 0, 18, 0, kAxisZNdivSub, "",
3415 fZNdivMain = AddNumberEntry(h1, 0, 18, 0, kAxisZNdivMain, "",
3419 gf->AddFrame(h1, fLayoutExpandX);
3420
3424 gf->AddFrame(h2, fLayoutExpandX);
3425 f->AddFrame(gf, fLayoutExpandXMargin);
3426
3427 fZNdivMain->GetNumberEntry()->SetToolTipText("Primary axis divisions");
3428 fZNdivSub->GetNumberEntry()->SetToolTipText("Secondary axis divisions");
3429 fZNdivSubSub->GetNumberEntry()->SetToolTipText("Tertiary axis divisions");
3430 fZNdivisionsOptimize->SetToolTipText("Optimize the number of axis divisions");
3431}
3432
3433////////////////////////////////////////////////////////////////////////////////
3434/// Add the 'Labels' group frame to the 'Axis - Z Axis' tab.
3435
3437{
3438 TGGroupFrame *gf = new TGGroupFrame(f, "Labels");
3444 gf->AddFrame(h1, fLayoutExpandX);
3445
3449 fZLabelSize = AddNumberEntry(h2, 22, 8, 0, kAxisZLabelSize, "Size:", 0, 5,
3453 gf->AddFrame(h2, fLayoutExpandX);
3454 fZLabelOffset = AddNumberEntry(gf, 69, 8, 0, kAxisZTitleOffset, "Offset:",
3458 f->AddFrame(gf, fLayoutExpandXMargin);
3459
3460// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3461// fZLabelColor->SetToolTipText("Color of axis' labels");
3462 fZLabelSizeInPixels->SetToolTipText("Set the labels size in pixels if selected, otherwise - in % of pad");
3463 fZLabelSize->GetNumberEntry()->SetToolTipText("Label size (in pixels or in % of pad)");
3464 fZLabelOffset->GetNumberEntry()->SetToolTipText("Offset between axis and labels");
3465}
3466
3467////////////////////////////////////////////////////////////////////////////////
3468/// Add the tab 'Title' to the editor.
3469
3471{
3472 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 10, 20, 5, 5);
3474
3477 fOptTitle = AddCheckButton(h1, "Show title", kTitleOptTitle);
3478 tab->AddFrame(h1, layout);
3479
3486 h2->AddFrame(v1, fLayoutExpandXY);
3491 h2->AddFrame(v2, fLayoutExpandXY);
3492 tab->AddFrame(h2, fLayoutExpandX);
3493
3494 fOptTitle->SetToolTipText("Show / Hide the title pave");
3495}
3496
3497////////////////////////////////////////////////////////////////////////////////
3498/// Add the 'Fill' group frame to the 'Title' tab.
3499
3501{
3502 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
3508 gf->AddFrame(h1, fLayoutExpandX);
3509 f->AddFrame(gf, fLayoutExpandXMargin);
3510
3511// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3512// fTitleColor->SetToolTipText("Color used to fill the title pave");
3513// fTitleStyle->SetToolTipText("Pattern used to fill the title pave");
3514}
3515
3516////////////////////////////////////////////////////////////////////////////////
3517/// Add the 'Shadow' group frame to the 'Title' tab.
3518
3545
3546////////////////////////////////////////////////////////////////////////////////
3547/// Add the 'Text' group frame to the 'Title' tab.
3548
3550{
3551 TGGroupFrame *gf = new TGGroupFrame(f, "Text");
3557 gf->AddFrame(h1, fLayoutExpandX);
3562 fTitleFontSize = AddNumberEntry(h2, 21, 10, 0, kTitleFontSize, "Size:", 0, 5,
3566 gf->AddFrame(h2, fLayoutExpandX);
3567 f->AddFrame(gf, fLayoutExpandXYMargin);
3568
3569// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3570// fTitleTextColor->SetToolTipText("Color of the title's text");
3571 fTitleFontSizeInPixels->SetToolTipText("Set the title's text size in pixels if selected, otherwise - in % of pad");
3572 fTitleFontSize->GetNumberEntry()->SetToolTipText("Title's text size (in pixels or in % of pad)");
3573}
3574
3575////////////////////////////////////////////////////////////////////////////////
3576/// Add the 'Geometry' group frame to the 'Title' tab.
3577
3579{
3580 TGGroupFrame *gf = new TGGroupFrame(f, "Geometry (% of Pad)");
3584 fTitleX = AddNumberEntry(h1, 0, 8, 0, kTitleX, "X:",
3588 fTitleY = AddNumberEntry(h1, 8, 8, 0, kTitleY, "Y:",
3592 gf->AddFrame(h1, fLayoutExpandXY);
3595 fTitleW = AddNumberEntry(h2, 0, 6, 0, kTitleW, "W:",
3599 fTitleH = AddNumberEntry(h2, 8, 8, 0, kTitleH, "H:",
3603 gf->AddFrame(h2, fLayoutExpandXY);
3604 f->AddFrame(gf, fLayoutExpandXYMargin);
3605
3606 fTitleX->GetNumberEntry()->SetToolTipText("Title' default abscissa");
3607 fTitleY->GetNumberEntry()->SetToolTipText("Title' default ordinate");
3608 fTitleW->GetNumberEntry()->SetToolTipText("Title' default width");
3609 fTitleH->GetNumberEntry()->SetToolTipText("Title' default height");
3610}
3611
3612////////////////////////////////////////////////////////////////////////////////
3613/// Add the tab 'Stats' to the editor.
3614
3646
3647////////////////////////////////////////////////////////////////////////////////
3648/// Add the 'Fill' group frame to the 'Stats' tab.
3649
3651{
3652 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
3658 gf->AddFrame(h, fLayoutExpandX);
3659 f->AddFrame(gf, fLayoutExpandXMargin);
3660
3661// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3662// fStatColor->SetToolTipText("Color used to fill the stats pave");
3663// fStatStyle->SetToolTipText("Pattern used to fill the stats pave");
3664}
3665
3666////////////////////////////////////////////////////////////////////////////////
3667/// Add the 'Text' group frame to the 'Stats' tab.
3668
3670{
3671 TGGroupFrame *gf = new TGGroupFrame(f, "Text");
3677 gf->AddFrame(h1, fLayoutExpandX);
3681 fStatFontSize = AddNumberEntry(h2, 21, 10, 0, kStatFontSize, "Size:", 0, 5,
3685 gf->AddFrame(h2, fLayoutExpandX);
3686 f->AddFrame(gf, fLayoutExpandXYMargin);
3687
3688// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3689// fStatTextColor->SetToolTipText("Color of the stats's text");
3690 fStatFontSizeInPixels->SetToolTipText("Set the stats's text size in pixels if selected, otherwise - in % of pad");
3691 fStatFontSize->GetNumberEntry()->SetToolTipText("Stats's text size (in pixels or in % of pad)");
3692}
3693
3694////////////////////////////////////////////////////////////////////////////////
3695/// Add the 'Geometry' group frame to the 'Stats' tab.
3696
3698{
3699 TGGroupFrame *gf = new TGGroupFrame(f, "Geometry");
3701
3704 fStatX = AddNumberEntry(h1, 0, 7, 0, kStatX, "X:",
3708 fStatY = AddNumberEntry(h1, 8, 7, 0, kStatY, "Y:",
3712 gf->AddFrame(h1, fLayoutExpandXY);
3713
3716 fStatW = AddNumberEntry(h2, 0, 5, 0, kStatW, "W:",
3720 fStatH = AddNumberEntry(h2, 8, 7, 0, kStatH, "H:",
3724 gf->AddFrame(h2, fLayoutExpandXY);
3725 f->AddFrame(gf, fLayoutExpandXYMargin);
3726
3727 fStatX->GetNumberEntry()->SetToolTipText("X position of top right corner of stat box.");
3728 fStatY->GetNumberEntry()->SetToolTipText("Y position of top right corner of stat box.");
3729 fStatW->GetNumberEntry()->SetToolTipText("Width of stat box.");
3730 fStatH->GetNumberEntry()->SetToolTipText("Height of stat box.");
3731}
3732
3733////////////////////////////////////////////////////////////////////////////////
3734/// Add the 'Stat Options' group frame to the 'Stats' tab.
3735
3737{
3740
3741 TGGroupFrame *gf = new TGGroupFrame(f, "Stat Options");
3752 h->AddFrame(v1, fLayoutExpandXY);
3760 h->AddFrame(v2, fLayoutExpandXY);
3761 gf->AddFrame(h, fLayoutExpandX);
3762
3767 fStatFormatLabel = new TGLabel(h3, "Paint format:");
3768 h3->AddFrame(fStatFormatLabel, layout);
3769 h2->AddFrame(h3, fLayoutExpandX);
3771 gf->AddFrame(h2, fLayoutExpandX);
3772 f->AddFrame(gf, fLayoutExpandXYMargin);
3773
3774 fOptStatName->SetToolTipText("Show / Hide the histogram name");
3775 fOptStatOverflow->SetToolTipText("Show / Hide the number of overflows");
3776 fOptStatUnderflow->SetToolTipText("Show / Hide the number of underflows");
3777 fOptStatSkewness->SetToolTipText("Show / Hide the skewness");
3778 fOptStatKurtosis->SetToolTipText("Show / Hide the kurtosis");
3779 fOptStatEntries->SetToolTipText("Show / Hide the number of entries");
3780 fOptStatMean->SetToolTipText("Show / Hide the mean value");
3781 fOptStatRMS->SetToolTipText("Show / Hide root-mean-square (RMS)");
3782 fOptStatIntegral->SetToolTipText("Show / Hide the integral of bins");
3783 fOptStatErrors->SetToolTipText("Show / Hide the errors");
3784 fStatFormat->SetToolTipText("Paint format of stat options");
3785}
3786
3787////////////////////////////////////////////////////////////////////////////////
3788/// Add the 'Fit Options' group frame to the 'Stats' tab.
3789
3791{
3794
3795 TGGroupFrame *gf = new TGGroupFrame(f, "Fit Options");
3802 fOptFitProbability = AddCheckButton(v1, "Probability",
3804 h->AddFrame(v1, fLayoutExpandXY);
3809 h->AddFrame(v2, fLayoutExpandXY);
3810 gf->AddFrame(h, fLayoutExpandX);
3815 fFitFormatLabel = new TGLabel(h3, "Paint format:");
3816 h3->AddFrame(fFitFormatLabel, layout);
3817 h2->AddFrame(h3, fLayoutExpandX);
3819 gf->AddFrame(h2, fLayoutExpandX);
3820 f->AddFrame(gf, fLayoutExpandXMargin);
3821
3822 fOptFitValues->SetToolTipText("Show / Hide the parameter name and value");
3823 fOptFitProbability->SetToolTipText("Show / Hide probability)");
3824 fOptFitErrors->SetToolTipText("Show / Hide the errors");
3825 fOptFitChi->SetToolTipText("Show / Hide Chisquare");
3826 fFitFormat->SetToolTipText("Paint format of fit options");
3827}
3828
3829////////////////////////////////////////////////////////////////////////////////
3830/// Add the tab 'PS / PDF' to the editor.
3831
3846
3847////////////////////////////////////////////////////////////////////////////////
3848/// Add the 'Header' group frame to the 'PS / PDF' tab.
3849
3851{
3852 TGGroupFrame *gf = new TGGroupFrame(f, "Header");
3855 f->AddFrame(gf, fLayoutExpandXMargin);
3856
3857 fHeaderPS->SetToolTipText("PostScript header");
3858}
3859
3860////////////////////////////////////////////////////////////////////////////////
3861/// Add the 'Title' group frame to the 'PS / PDF' tab.
3862
3864{
3865 TGGroupFrame *gf = new TGGroupFrame(f, "Title");
3868 f->AddFrame(gf, fLayoutExpandXMargin);
3869
3870 fTitlePS->SetToolTipText("PostScript title");
3871}
3872
3873////////////////////////////////////////////////////////////////////////////////
3874/// Add the 'Color Model' group frame to the 'PS / PDF' tab.
3875
3894
3895////////////////////////////////////////////////////////////////////////////////
3896/// Add the 'Paper Size' group frame to the 'PS / PDF' tab.
3897
3916
3917////////////////////////////////////////////////////////////////////////////////
3918/// Add the 'Line scale' number entry to the 'PS / PDF' tab.
3919
3921{
3922 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 10, 20, 5, 5);
3924
3927 fLineScalePS = AddNumberEntry(gf, 0, 0, 0, kPSPDFLineScalePS, "Line scale:",
3931 f->AddFrame(gf, layout);
3932
3933 fLineScalePS->GetNumberEntry()->SetToolTipText("Line scale factor when drawing lines on PostScript");
3934}
3935
3936////////////////////////////////////////////////////////////////////////////////
3937/// Add a title to the frame f.
3938
3940{
3945
3948
3949 TGLabel *lab = new TGLabel(h, s);
3951 h->AddFrame(lab);
3952
3955 h->AddFrame(line, layout1);
3956
3957 f->AddFrame(h, layout2);
3958}
3959
3960////////////////////////////////////////////////////////////////////////////////
3961/// Add a color entry to the frame f.
3962
3964{
3965 TGLayoutHints *layout = new TGLayoutHints(kLHintsBottom, 0, 5, 3, 3);
3967
3968 TGColorSelect *cs = new TGColorSelect(f, 0, id);
3969 cs->Associate(this);
3970 f->AddFrame(cs, layout);
3971 return cs;
3972}
3973
3974////////////////////////////////////////////////////////////////////////////////
3975/// Add a fill style entry to the frame f.
3976
3978 Int_t id)
3979{
3980 TGLayoutHints *layout = new TGLayoutHints(kLHintsBottom, 0, 0, 3, 3);
3982
3984 gps->Associate(this);
3985 f->AddFrame(gps, layout);
3986 return gps;
3987}
3988
3989////////////////////////////////////////////////////////////////////////////////
3990/// Add a marker style entry to the frame f.
3991
3993 Int_t id)
3994{
3997
3998 TGedMarkerSelect *gms = new TGedMarkerSelect(f, 0, id);
3999 gms->Associate(this);
4000 f->AddFrame(gms, layout);
4001 return gms;
4002}
4003
4004////////////////////////////////////////////////////////////////////////////////
4005/// Add a marker size entry to the frame f.
4006
4008{
4009 char a[10];
4010 TGComboBox *cb = new TGComboBox(f, id);
4011 cb->Associate(this);
4012 for (Int_t i = 1; i <= 15; i++) {
4013 snprintf(a, 10, "%.1f", 0.2 * i);
4014 cb->AddEntry(a, i);
4015 }
4016 cb->Resize(1, 22);
4017 f->AddFrame(cb, fLayoutExpandXCenterYMargin);
4018 return cb;
4019}
4020
4021////////////////////////////////////////////////////////////////////////////////
4022/// Add a number entry to the frame f. A caption can be added.
4023
4025 Int_t e2, Int_t e3, Int_t id, const char *s, Double_t init, Int_t digits,
4028{
4031 if (strlen(s)) {
4032 TGLabel *lab = new TGLabel(h, s);
4036 h->AddFrame(lab, layout);
4037 }
4038 TGNumberEntry *ne = new TGNumberEntry(h, init, digits, id,
4039 nfS, nfA, nfL, min, max);
4040 ne->Associate(this);
4041 if ((e1 == 0) && (e2 == 0) && (e3 == 0)) {
4044 h->AddFrame(ne, layout1);
4045 } else {
4048 h->AddFrame(ne, layout2);
4049 }
4050 if (strlen(s)) {
4052 new TGLayoutHints(kLHintsExpandX | kLHintsCenterY, 0, 2, 3, 3);
4054 f->AddFrame(h, layout3);
4055 } else {
4057 new TGLayoutHints(kLHintsNormal | kLHintsCenterY, 0, 2, 3, 3);
4059 f->AddFrame(h, layout4);
4060 }
4061 return ne;
4062}
4063
4064////////////////////////////////////////////////////////////////////////////////
4065/// Add a line width entry to the frame f.
4066
4068 Int_t id)
4069{
4072
4076 lwcb->Associate(this);
4077 lwcb->Resize(1, 22);
4078 h->AddFrame(lwcb, fLayoutExpandX);
4079 f->AddFrame(h, layout);
4080 return lwcb;
4081}
4082
4083////////////////////////////////////////////////////////////////////////////////
4084/// Add a line style entry to the frame f.
4085
4087 Int_t id)
4088{
4090 lscb->Associate(this);
4091 lscb->Resize(1, 22);
4093 return lscb;
4094}
4095
4096////////////////////////////////////////////////////////////////////////////////
4097/// Add a text button to the frame f.
4098
4100 const char *s, Int_t id)
4101{
4104
4105 TGTextButton *tb = new TGTextButton(f, s, id);
4106 tb->Associate(this);
4107 f->AddFrame(tb, layout);
4108 return tb;
4109}
4110
4111////////////////////////////////////////////////////////////////////////////////
4112/// Add a font type combo box to the frame f.
4113
4115 Int_t id)
4116{
4118 ftcb->Associate(this);
4119 ftcb->Resize(1, 22);
4121 return ftcb;
4122}
4123
4124////////////////////////////////////////////////////////////////////////////////
4125/// Add a text align combo box to the frame f.
4126
4128{
4129 TGComboBox *cb = new TGComboBox(f, id);
4130 cb->Associate(this);
4131 cb->AddEntry("11 Bottom, Left", 11);
4132 cb->AddEntry("21 Bottom, Middle", 21);
4133 cb->AddEntry("31 Bottom, Right", 31);
4134 cb->AddEntry("12 Middle, Left", 12);
4135 cb->AddEntry("22 Middle, Middle", 22);
4136 cb->AddEntry("32 Middle, Right", 32);
4137 cb->AddEntry("13 Top, Left", 13);
4138 cb->AddEntry("23 Top, Middle", 23);
4139 cb->AddEntry("33 Top, Right", 33);
4140 cb->Resize(1, 22);
4141 f->AddFrame(cb, fLayoutExpandXCenterYMargin);
4142 return cb;
4143}
4144
4145////////////////////////////////////////////////////////////////////////////////
4146/// Add a border mode button group to the frame f.
4147
4150{
4151 TGButtonGroup *bg = new TGButtonGroup(f, "Border");
4152 TGRadioButton *sunk = new TGRadioButton(bg, "Sunken", id1);
4153 sunk->Associate(this);
4155 TGRadioButton *none = new TGRadioButton(bg, "None" , id2);
4156 none->Associate(this);
4158 TGRadioButton *rais = new TGRadioButton(bg, "Raised", id3);
4159 rais->Associate(this);
4161 bg->Show();
4162 f->AddFrame(bg, fLayoutExpandXYMargin);
4163 return bg;
4164}
4165
4166////////////////////////////////////////////////////////////////////////////////
4167/// Add a date format combo box to the frame f.
4168
4170{
4171 TGComboBox *cb = new TGComboBox(f, id);
4172 cb->Associate(this);
4173 cb->AddEntry("Wed Sep 25 17:10:35 2002", 1);
4174 cb->AddEntry("2002-09-25", 2);
4175 cb->AddEntry("2002-09-25 17:10:35", 3);
4176 cb->Resize(1, 22);
4177 cb->GetListBox()->Resize(cb->GetListBox()->GetDefaultSize().fWidth, 55);
4178 f->AddFrame(cb, fLayoutExpandXCenterYMargin);
4179 return cb;
4180}
4181
4182////////////////////////////////////////////////////////////////////////////////
4183/// Add a check button to the frame f.
4184
4186 Int_t id, Int_t e1, Int_t e2)
4187{
4190
4193 TGCheckButton *cb = new TGCheckButton(h, s, id);
4194 cb->Associate(this);
4195 h->AddFrame(cb, layout);
4196 f->AddFrame(h);
4197 return cb;
4198}
4199
4200////////////////////////////////////////////////////////////////////////////////
4201/// Add a text entry to the frame f. A caption can be added.
4202
4204 const char *s, Int_t id)
4205{
4208 if (strlen(s)) {
4209 TGLabel *lab = new TGLabel(h, s);
4213 h->AddFrame(lab, layout1);
4214 }
4215 TGTextEntry *te = new TGTextEntry(h, "", id);
4216 te->Associate(this);
4217 te->Resize(57, 22);
4218 if (strlen(s)) {
4221 h->AddFrame(te, layout2);
4222 } else
4223 h->AddFrame(te, fLayoutExpandX);
4225 new TGLayoutHints(kLHintsExpandX | kLHintsCenterY, 0, 2, 3, 3);
4227 f->AddFrame(h, layout3);
4228 return te;
4229}
4230
4231////////////////////////////////////////////////////////////////////////////////
4232/// Add a prefered paper size combo box to the frame f.
4233
4235{
4236 TGComboBox *cb = new TGComboBox(f, id);
4237 cb->Associate(this);
4238 cb->AddEntry("Custom size (cm)", 1);
4239 cb->AddEntry("Custom size (inch)", 2);
4240 cb->AddEntry("A4 (cm)", 3);
4241 cb->AddEntry("US Letter (inch)", 4);
4242 cb->AddEntry("US Letter (cm)", 4);
4243 cb->Resize(1, 22);
4244 cb->GetListBox()->Resize(cb->GetListBox()->GetDefaultSize().fWidth, 70);
4245 f->AddFrame(cb, fLayoutExpandXCenterYMargin);
4246 return cb;
4247}
4248
4249////////////////////////////////////////////////////////////////////////////////
4250/// Slot called when an item of the menu is selected.
4251
4253{
4254 switch (menuID) {
4255 case kMenuNew: DoNew(); break;
4256 case kMenuDelete: DoDelete(); break;
4257 case kMenuRename: DoRename(); break;
4258 case kMenuImportCanvas: DoImportCanvas(); break;
4259 case kMenuImportMacro: DoImportMacro(kTRUE); break;
4260 case kMenuExport: DoExport(); break;
4261 case kMenuExit: DoExit(); break;
4262 case kMenuHelp: DoHelp(42); break;
4263 case kMenuHelpEditor: DoHelp(fCurTabNum); break;
4264 case kMenuHelpGeneral: DoHelp(0); break;
4265 case kMenuHelpCanvas: DoHelp(1); break;
4266 case kMenuHelpPad: DoHelp(2); break;
4267 case kMenuHelpHistos: DoHelp(3); break;
4268 case kMenuHelpAxis: DoHelp(4); break;
4269 case kMenuHelpTitle: DoHelp(5); break;
4270 case kMenuHelpStats: DoHelp(6); break;
4271 case kMenuHelpPSPDF: DoHelp(7); break;
4272 }
4273}
4274
4275////////////////////////////////////////////////////////////////////////////////
4276/// Slot called to import a style from a C++ macro file. If create=kTRUE,
4277/// a new style is created. Otherwise, the current style is reseted.
4278
4280{
4281 // Import a style from a macro.
4282 // If create = kTRUE, a new style is created.
4283 // Otherwise, the selected style is:
4284 // - reseted with the macro's values.
4285 // - recreated (if it is one of the 5 basic styles).
4286
4287 if ((!create) && (!strcmp(fCurSelStyle->GetName(), "Default"))) {
4289 gStyle->Reset("Default");
4290 else {
4291 delete gROOT->GetStyle("Default");
4292 new TStyle("Default", "Default Style");
4293 }
4294 } else if ((!create) && (!strcmp(fCurSelStyle->GetName(), "Plain"))) {
4296 gStyle->Reset("Plain");
4297 else {
4298 delete gROOT->GetStyle("Plain");
4299 new TStyle("Plain", "Plain Style (no colors/fill areas)");
4300 }
4301 } else if ((!create) && (!strcmp(fCurSelStyle->GetName(), "Bold"))) {
4303 gStyle->Reset("Bold");
4304 else {
4305 delete gROOT->GetStyle("Bold");
4306 new TStyle("Bold", "Bold Style");
4307 }
4308 } else if ((!create) && (!strcmp(fCurSelStyle->GetName(), "Video"))) {
4310 gStyle->Reset("Video");
4311 else {
4312 delete gROOT->GetStyle("Video");
4313 new TStyle("Video", "Style for video presentation histograms");
4314 }
4315 } else if ((!create) && (!strcmp(fCurSelStyle->GetName(), "Pub"))) {
4317 gStyle->Reset("Pub");
4318 else {
4319 delete gROOT->GetStyle("Pub");
4320 new TStyle("Pub", "Style for Publications");
4321 }
4322 } else {
4323 CreateMacro();
4324 if (!create) {
4326 newName.Form("Style_%s.C", fCurSelStyle->GetName());
4327 fCurMacro->SetFilename(newName.Data());
4328 }
4329 new TGFileDialog(gClient->GetRoot(), this, kFDOpen, fCurMacro);
4330 if (fCurMacro->fFilename) {
4331 gROOT->ProcessLine(Form(".x %s", fCurMacro->fFilename));
4333 }
4334 }
4335
4336 BuildList();
4337}
4338
4339////////////////////////////////////////////////////////////////////////////////
4340/// Slot called when the user select an item in the available styles' list.
4341/// Update the preview, the editor, the status bar. The current selected
4342/// style is changed.
4343
4345{
4346 // Select the new style and update the state of the style manager.
4348 GetSelectedEntry())->GetText()->GetString());
4349
4351
4352 // Update the status bar.
4354
4355 // Update the editor (if opened).
4356 if (fMoreAndNotLess) {
4360 }
4361
4362 // Update the preview, if it exists and is visible.
4365
4366 // Refresh the tooltip of the fMakeDefault's button.
4368 newTip.Form("'%s'", fCurSelStyle->GetName());
4369 newTip += " become current style";
4371
4372 // Refresh.
4375}
4376
4377////////////////////////////////////////////////////////////////////////////////
4378/// Slot called when the user click on the run time update check button.
4379/// If b=kTRUE, the user asks for a real time preview.
4380
4392
4393////////////////////////////////////////////////////////////////////////////////
4394/// Slot called when the user click on the preview check button. If b=kTRUE,
4395/// the user asks for a preview, otherwise they want to close it.
4396
4398{
4399 if (b) {
4401 if (fPreviewWindow) {
4404 } else {
4405 if (fCurPad && fCurObj) {
4406 TQObject::Disconnect("TCanvas", "Closed()");
4408 TQObject::Connect("TCanvas", "Closed()", "TStyleManager", this, "DoSelectNoCanvas()");
4409 }
4410 }
4411 if (fPreviewWindow)
4412 fPreviewWindow->Connect("CloseWindow()", "TStyleManager", this, "DoPreviewClosed()");
4414 if (fRealTimePreview) {
4417 } else {
4420 }
4421 } else DoPreviewClosed();
4422}
4423
4424////////////////////////////////////////////////////////////////////////////////
4425/// Slot called to close the preview, via the preview check button, or
4426/// when the preview window is closed via the window manager.
4427
4436
4437////////////////////////////////////////////////////////////////////////////////
4438/// Slot called to make the current selected style (in the ComboBox)
4439/// become gStyle.
4440
4442{
4443 gROOT->SetStyle(fCurSelStyle->GetName());
4445}
4446
4447////////////////////////////////////////////////////////////////////////////////
4448/// Slot called to choose on which object(s) the 'Apply' button will
4449/// have an effect.
4450
4455
4456////////////////////////////////////////////////////////////////////////////////
4457/// Slot called when the user clicks on the 'Apply' button. Apply the
4458/// current selected style to the specified object(s)
4459
4461{
4462 TStyle *tmp = gStyle;
4464
4465 if (fAllAndNotCurrent) {
4466 // Apply on all canvases, excluding the preview.
4467 TCanvas *tmpCanvas = (TCanvas *) (gROOT->GetListOfCanvases()->First());
4468 while (tmpCanvas) {
4470 tmpCanvas->UseCurrentStyle();
4471 tmpCanvas->Modified();
4472 tmpCanvas->Update();
4473 }
4474 tmpCanvas = (TCanvas *) (gROOT->GetListOfCanvases()->After(tmpCanvas));
4475 }
4476 } else
4477 if (fCurPad && fCurObj) {
4478 // Apply on selected object and refresh all canvases containing the object.
4480 TCanvas *tmpCanvas = (TCanvas *) (gROOT->GetListOfCanvases()->First());
4481 while (tmpCanvas) {
4483 && ((tmpCanvas == fCurObj) || tmpCanvas->FindObject(fCurObj))) {
4484 tmpCanvas->Modified();
4485 tmpCanvas->Update();
4486 }
4487 tmpCanvas = (TCanvas *) (gROOT->GetListOfCanvases()->After(tmpCanvas));
4488 }
4489 }
4490
4491 gStyle = tmp;
4492}
4493
4494////////////////////////////////////////////////////////////////////////////////
4495/// Slot called when the user try to show or hide the editor part of the
4496/// style manager.
4497
4499{
4501 if (fMoreAndNotLess) {
4502 // Redraw the tabs.
4507 fMoreLess->SetText("&Close <<");
4509
4510 // Update Editor's values.
4514 fMoreLess->SetToolTipText("Close the editor");
4515 } else {
4516 // Hide the tabs.
4520 fMoreLess->SetText("&Edit >>");
4523 fMoreLess->SetToolTipText("Open the editor");
4524 }
4525}
4526
4527////////////////////////////////////////////////////////////////////////////////
4528/// Slot called when the user clicks on the 'Update preview' button.
4529
4531{
4532 if ((!fCurPad) || (!fCurObj)) return;
4533
4534 if (fPreviewWindow) {
4535 TQObject::Disconnect("TCanvas", "Closed()");
4537 TQObject::Connect("TCanvas", "Closed()", "TStyleManager", this, "DoSelectNoCanvas()");
4538 }
4539}
4540
4541////////////////////////////////////////////////////////////////////////////////
4542/// Slot called when the user changes the current tab.
4543
4545{
4546 // Disconnect the signal/slots communication mechanism from the previous
4547 // tab and connect them onto the new one.
4549 fCurTabNum = i;
4552}
4553
4554////////////////////////////////////////////////////////////////////////////////
4555/// Slot called when the user changes the current axis tab.
4556
4561
4562////////////////////////////////////////////////////////////////////////////////
4563/// Slot called when the user close a TCanvas. Update the labels and the
4564/// pointers to the current pad and the current object.
4565
4583
4584////////////////////////////////////////////////////////////////////////////////
4585/// Slot called when the user clicks on a TCanvas or on any object inside
4586/// a TCanvas. Update the pointers to the current pad and the current object.
4587
4589{
4590 if (mouseButton != kButton2Down) return;
4591
4592 if (!pad || !obj) {
4594 return;
4595 }
4596
4597 // Disable the selection of the preview.
4598 if (fPreviewWindow && (pad->GetCanvas() == fPreviewWindow->GetMainCanvas()))
4599 return;
4600
4601 // Did the user select the same canvas as before ?
4602 Bool_t samePad = (fCurPad && (pad->GetCanvas() == fCurPad->GetCanvas()));
4603
4604 fCurPad = pad;
4605 fCurObj = obj;
4607
4608 if ((!samePad) && preview) DoPreview(kFALSE);
4609
4610 // Update the information' label about the selected objects.
4611 TString sPad;
4612 if (fCurPad->GetName() && strlen(fCurPad->GetName()))
4613 sPad.Append(fCurPad->GetName());
4614 else
4615 sPad.Append("[no name]");
4616 sPad.Append(" - '");
4617 if (fCurPad->GetTitle() && strlen(fCurPad->GetTitle()))
4618 sPad.Append(fCurPad->GetTitle());
4619 else
4620 sPad.Append("[no title]");
4621 sPad.Append("'::");
4622 sPad.Append(fCurPad->ClassName());
4624 TString sObj;
4625 if (strlen(fCurObj->GetName()))
4626 sObj.Append(fCurObj->GetName());
4627 else
4628 sObj.Append("[no name]");
4629 sObj.Append("::");
4630 sObj.Append(fCurObj->ClassName());
4632
4633 if (!samePad) {
4637 if (preview) {
4639 } else {
4643 }
4644 }
4645}
4646
4647////////////////////////////////////////////////////////////////////////////////
4648/// Slot called to close the style manager via the window manager.
4649
4651{
4652 Hide();
4653}
4654
4655////////////////////////////////////////////////////////////////////////////////
4656/// Slot called whenever the fill color is modified by the user.
4657
4663
4664////////////////////////////////////////////////////////////////////////////////
4665/// Slot called whenever the fill style is modified by the user.
4666
4672
4673////////////////////////////////////////////////////////////////////////////////
4674/// Slot called whenever the hatches line width is modified by the user.
4675
4681
4682////////////////////////////////////////////////////////////////////////////////
4683/// Slot called whenever the hatches spacing is modified by the user.
4684
4690
4691////////////////////////////////////////////////////////////////////////////////
4692/// Slot called whenever the marker color is modified by the user.
4693
4699
4700////////////////////////////////////////////////////////////////////////////////
4701/// Slot called whenever the marker style is modified by the user.
4702
4708
4709////////////////////////////////////////////////////////////////////////////////
4710/// Slot called whenever the marker size is modified by the user.
4711
4717
4718////////////////////////////////////////////////////////////////////////////////
4719/// Slot called whenever the screen factor is modified by the user.
4720
4726
4727////////////////////////////////////////////////////////////////////////////////
4728/// Slot called whenever the line color is modified by the user.
4729
4735
4736////////////////////////////////////////////////////////////////////////////////
4737/// Slot called whenever the line width is modified by the user.
4738
4744
4745////////////////////////////////////////////////////////////////////////////////
4746/// Slot called whenever the line style is modified by the user.
4747
4753
4754////////////////////////////////////////////////////////////////////////////////
4755/// Slot called whenever the line style editor is opened by the user.
4756
4758{
4759 // TODO Open a LineStyle editor
4760}
4761
4762////////////////////////////////////////////////////////////////////////////////
4763/// Slot called whenever the text color is modified by the user.
4764
4770
4771////////////////////////////////////////////////////////////////////////////////
4772/// Slot called whenever the text size is modified by the user.
4773
4779
4780////////////////////////////////////////////////////////////////////////////////
4781/// Slot called whenever the text size mode is modified by the user.
4782
4806
4807////////////////////////////////////////////////////////////////////////////////
4808/// Slot called whenever the text font is modified by the user.
4809
4811{
4812 Int_t tmp = fCurSelStyle->GetTextFont() % 10;
4814 DoEditor();
4815}
4816
4817////////////////////////////////////////////////////////////////////////////////
4818/// Slot called whenever the text align is modified by the user.
4819
4825
4826////////////////////////////////////////////////////////////////////////////////
4827/// Slot called whenever the text angle is modified by the user.
4828
4834
4835////////////////////////////////////////////////////////////////////////////////
4836/// Slot called whenever the canvas color is modified by the user.
4837
4843
4844////////////////////////////////////////////////////////////////////////////////
4845/// Slot called whenever the canvas default abscissa is modified by the user.
4846
4852
4853////////////////////////////////////////////////////////////////////////////////
4854/// Slot called whenever the canvas default ordinate is modified by the user.
4855
4861
4862////////////////////////////////////////////////////////////////////////////////
4863/// Slot called whenever the canvas default width is modified by the user.
4864
4870
4871////////////////////////////////////////////////////////////////////////////////
4872/// Slot called whenever the canvas default height is modified by the user.
4873
4879
4880////////////////////////////////////////////////////////////////////////////////
4881/// Slot called whenever the canvas border mode is modified by the user.
4882
4884{
4886 TGButton *but = 0;
4887 while ((but = fCanvasBorderMode->Find(i)) && !but->IsDown())
4888 i++;
4890 DoEditor();
4891}
4892
4893////////////////////////////////////////////////////////////////////////////////
4894/// Slot called whenever the canvas border size is modified by the user.
4895
4901
4902////////////////////////////////////////////////////////////////////////////////
4903/// Slot called whenever the OptDate boolean is modified by the user.
4904
4916
4917////////////////////////////////////////////////////////////////////////////////
4918/// Slot called whenever the date text color is modified by the user.
4919
4921{
4922 // To modify this entry, the user must have check 'Show'
4924 DoEditor();
4925}
4926
4927////////////////////////////////////////////////////////////////////////////////
4928/// Slot called whenever the date text size is modified by the user.
4929
4935
4936////////////////////////////////////////////////////////////////////////////////
4937/// Slot called whenever the date text size mode is modified by the user.
4938
4963
4964////////////////////////////////////////////////////////////////////////////////
4965/// Slot called whenever the date text format is modified by the user.
4966
4974
4975////////////////////////////////////////////////////////////////////////////////
4976/// Slot called whenever the date text font is modified by the user.
4977
4985
4986////////////////////////////////////////////////////////////////////////////////
4987/// Slot called whenever the date text align is modified by the user.
4988
4994
4995////////////////////////////////////////////////////////////////////////////////
4996/// Slot called whenever the date text angle is modified by the user.
4997
5003
5004////////////////////////////////////////////////////////////////////////////////
5005/// Slot called whenever the date abscissa is modified by the user.
5006
5008{
5010 DoEditor();
5011}
5012
5013////////////////////////////////////////////////////////////////////////////////
5014/// Slot called whenever the date ordinate is modified by the user.
5015
5017{
5019 DoEditor();
5020}
5021
5022////////////////////////////////////////////////////////////////////////////////
5023/// Slot called whenever the pad left margin is modified by the user.
5024
5030
5031////////////////////////////////////////////////////////////////////////////////
5032/// Slot called whenever the pad right margin is modified by the user.
5033
5039
5040////////////////////////////////////////////////////////////////////////////////
5041/// Slot called whenever the pad top margin is modified by the user.
5042
5048
5049////////////////////////////////////////////////////////////////////////////////
5050/// Slot called whenever the pad bottom margin is modified by the user.
5051
5057
5058////////////////////////////////////////////////////////////////////////////////
5059/// Slot called whenever the pad border mode is modified by the user.
5060
5062{
5064 TGButton *but = 0;
5065 while ((but = fPadBorderMode->Find(i)) && !but->IsDown())
5066 i++;
5068 DoEditor();
5069}
5070
5071////////////////////////////////////////////////////////////////////////////////
5072/// Slot called whenever the pad border size is modified by the user.
5073
5079
5080////////////////////////////////////////////////////////////////////////////////
5081/// Slot called whenever the pad color is modified by the user.
5082
5088
5089////////////////////////////////////////////////////////////////////////////////
5090/// Slot called whenever the pad tick X boolean is modified by the user.
5091
5097
5098////////////////////////////////////////////////////////////////////////////////
5099/// Slot called whenever the pad tick Y boolean is modified by the user.
5100
5106
5107////////////////////////////////////////////////////////////////////////////////
5108/// Slot called whenever the pad grid X boolean is modified by the user.
5109
5115
5116////////////////////////////////////////////////////////////////////////////////
5117/// Slot called whenever the pad grid Y boolean is modified by the user.
5118
5124
5125////////////////////////////////////////////////////////////////////////////////
5126/// Slot called whenever the grid line color is modified by the user.
5127
5133
5134////////////////////////////////////////////////////////////////////////////////
5135/// Slot called whenever the grid line width is modified by the user.
5136
5142
5143////////////////////////////////////////////////////////////////////////////////
5144/// Slot called whenever the grid line style is modified by the user.
5145
5151
5152////////////////////////////////////////////////////////////////////////////////
5153/// Slot called whenever the histos fill color is modified by the user.
5154
5160
5161////////////////////////////////////////////////////////////////////////////////
5162/// Slot called whenever the histos fill style is modified by the user.
5163
5169
5170////////////////////////////////////////////////////////////////////////////////
5171/// Slot called whenever the histos line color is modified by the user.
5172
5178
5179////////////////////////////////////////////////////////////////////////////////
5180/// Slot called whenever the histos line width is modified by the user.
5181
5187
5188////////////////////////////////////////////////////////////////////////////////
5189/// Slot called whenever the histos line style is modified by the user.
5190
5196
5197////////////////////////////////////////////////////////////////////////////////
5198/// Slot called whenever the histos bar width is modified by the user.
5199
5205
5206////////////////////////////////////////////////////////////////////////////////
5207/// Slot called whenever the histos bar offset is modified by the user.
5208
5214
5215////////////////////////////////////////////////////////////////////////////////
5216/// Slot called whenever the histos minimum zero boolean is modified
5217/// by the user.
5218
5224
5225////////////////////////////////////////////////////////////////////////////////
5226/// Slot called whenever the paint text format is modified by the user.
5227
5233
5234////////////////////////////////////////////////////////////////////////////////
5235/// Slot called whenever the number of contours is modified by the user.
5236
5242
5243////////////////////////////////////////////////////////////////////////////////
5244/// Slot called whenever the lego inner radius is modified by the user.
5245
5251
5252////////////////////////////////////////////////////////////////////////////////
5253/// Slot called whenever the frame fill color is modified by the user.
5254
5260
5261////////////////////////////////////////////////////////////////////////////////
5262/// Slot called whenever the frame fill style is modified by the user.
5263
5269
5270////////////////////////////////////////////////////////////////////////////////
5271/// Slot called whenever the frame line color is modified by the user.
5272
5278
5279////////////////////////////////////////////////////////////////////////////////
5280/// Slot called whenever the frame line width is modified by the user.
5281
5287
5288////////////////////////////////////////////////////////////////////////////////
5289/// Slot called whenever the frame line style is modified by the user.
5290
5296
5297////////////////////////////////////////////////////////////////////////////////
5298/// Slot called whenever the palette editor is opened by the user.
5299
5301{
5302 // TODO Open a palette editor
5303}
5304
5305////////////////////////////////////////////////////////////////////////////////
5306/// Slot called whenever the frame border mode is modified by the user.
5307
5309{
5311 TGButton *but = 0;
5312 while ((but = fFrameBorderMode->Find(i)) && !but->IsDown())
5313 i++;
5315 DoEditor();
5316}
5317
5318////////////////////////////////////////////////////////////////////////////////
5319/// Slot called whenever the frame border size is modified by the user.
5320
5326
5327////////////////////////////////////////////////////////////////////////////////
5328/// Slot called whenever the function line color is modified by the user.
5329
5335
5336////////////////////////////////////////////////////////////////////////////////
5337/// Slot called whenever the function line width is modified by the user.
5338
5344
5345////////////////////////////////////////////////////////////////////////////////
5346/// Slot called whenever the function line style is modified by the user.
5347
5353
5354////////////////////////////////////////////////////////////////////////////////
5355/// Slot called whenever the draw border boolean is modified by the user.
5356
5362
5363////////////////////////////////////////////////////////////////////////////////
5364/// Slot called whenever the end error size is modified by the user.
5365
5371
5372////////////////////////////////////////////////////////////////////////////////
5373/// Slot called whenever the error along X is modified by the user.
5374
5376{
5378 DoEditor();
5379}
5380
5381////////////////////////////////////////////////////////////////////////////////
5382/// Slot called whenever the time offset is modified by the user.
5383
5385{
5386 Double_t offset = 0;
5387 Int_t year = ((Int_t) fTimeOffsetDate->GetNumber())/10000;
5388 Int_t month = (((Int_t) fTimeOffsetDate->GetNumber())/100) % 100;
5389 Int_t day = ((Int_t) fTimeOffsetDate->GetNumber()) % 100;
5390
5391 while (day > 1) {
5392 day--;
5393 offset += 3600 * 24;
5394 }
5395
5397 while (month > 1) {
5398 month--;
5399 switch (month) {
5400 case 2:
5401 if (year % 4) oneMonthInSecs = 3600 * 24 * 28;
5402 else oneMonthInSecs = 3600 * 24 * 29;
5403 break;
5404 case 1: case 3: case 5: case 7: case 8: case 10: case 12:
5405 oneMonthInSecs = 3600 * 24 * 31;
5406 break;
5407 default:
5408 oneMonthInSecs = 3600 * 24 * 30;
5409 }
5411 }
5412
5414 while (year < 1995) {
5415 if (year % 4) oneYearInSecs = 3600 * 24 * 365;
5416 else oneYearInSecs = 3600 * 24 * 366;
5418 year++;
5419 }
5420 while (year > 1995) {
5421 year--;
5422 if (year % 4) oneYearInSecs = 3600 * 24 * 365;
5423 else oneYearInSecs = 3600 * 24 * 366;
5425 }
5426
5427 offset += 788918400 + fTimeOffsetTime->GetNumber();
5428
5430 DoEditor();
5431}
5432
5433////////////////////////////////////////////////////////////////////////////////
5434/// Slot called whenever the strip decimal boolean is modified by the user.
5435
5441
5442////////////////////////////////////////////////////////////////////////////////
5443/// Slot called whenever the apply on XYZ button is clicked. The settings of
5444/// the current selected axis pad are applyed on all axis.
5445/// NB: The logarithmic scale option isn't modified by this method.
5446
5448{
5449 switch (fCurTabAxisNum) {
5450 case 0: // X axis
5462 break;
5463 case 1: // Y axis
5475 break;
5476
5477 case 2: // Z axis
5489 break;
5490 }
5491
5495 DoEditor();
5496}
5497
5498////////////////////////////////////////////////////////////////////////////////
5499/// Slot called whenever the X axis title size is modified by the user.
5500
5506
5507////////////////////////////////////////////////////////////////////////////////
5508/// Slot called whenever the X axis title size mode is modified by the user.
5509
5533
5534////////////////////////////////////////////////////////////////////////////////
5535/// Slot called whenever the X axis title color is modified by the user.
5536
5542
5543////////////////////////////////////////////////////////////////////////////////
5544/// Slot called whenever the X axis title offset is modified by the user.
5545
5551
5552////////////////////////////////////////////////////////////////////////////////
5553/// Slot called whenever the X axis title font is modified by the user.
5554
5561
5562////////////////////////////////////////////////////////////////////////////////
5563/// Slot called whenever the X axis label size is modified by the user.
5564
5570
5571////////////////////////////////////////////////////////////////////////////////
5572/// Slot called whenever the X axis label size mode is modified by the user.
5573
5597
5598////////////////////////////////////////////////////////////////////////////////
5599/// Slot called whenever the X axis label color is modified by the user.
5600
5606
5607////////////////////////////////////////////////////////////////////////////////
5608/// Slot called whenever the X axis label offset is modified by the user.
5609
5615
5616////////////////////////////////////////////////////////////////////////////////
5617/// Slot called whenever the X axis label font is modified by the user.
5618
5625
5626////////////////////////////////////////////////////////////////////////////////
5627/// Slot called whenever the X axis color is modified by the user.
5628
5634
5635////////////////////////////////////////////////////////////////////////////////
5636/// Slot called whenever the X axis tick length is modified by the user.
5637
5643
5644////////////////////////////////////////////////////////////////////////////////
5645/// Slot called whenever the X axis log scale boolean is modified
5646/// by the user.
5647
5653
5654////////////////////////////////////////////////////////////////////////////////
5655/// Slot called whenever the X axis Number of divisions is modified
5656/// by the user.
5657
5659{
5660 Int_t sgn = -1;
5661 if (fXNdivisionsOptimize->IsDown()) sgn = 1;
5663 + 100 * fXNdivSub->GetIntNumber()
5664 + 10000 * fXNdivSubSub->GetIntNumber()), "X");
5665 DoEditor();
5666}
5667
5668////////////////////////////////////////////////////////////////////////////////
5669/// Slot called whenever the Y axis title size is modified by the user.
5670
5676
5677////////////////////////////////////////////////////////////////////////////////
5678/// Slot called whenever the Y axis title size mode is modified by the user.
5679
5703
5704////////////////////////////////////////////////////////////////////////////////
5705/// Slot called whenever the Y axis title color is modified by the user.
5706
5712
5713////////////////////////////////////////////////////////////////////////////////
5714/// Slot called whenever the Y axis title offset is modified by the user.
5715
5721
5722////////////////////////////////////////////////////////////////////////////////
5723/// Slot called whenever the Y axis title font is modified by the user.
5724
5731
5732////////////////////////////////////////////////////////////////////////////////
5733/// Slot called whenever the Y axis label size is modified by the user.
5734
5740
5741////////////////////////////////////////////////////////////////////////////////
5742/// Slot called whenever the Y axis label size mode is modified by the user.
5743
5767
5768////////////////////////////////////////////////////////////////////////////////
5769/// Slot called whenever the Y axis label color is modified by the user.
5770
5776
5777////////////////////////////////////////////////////////////////////////////////
5778/// Slot called whenever the Y axis label offset is modified by the user.
5779
5785
5786////////////////////////////////////////////////////////////////////////////////
5787/// Slot called whenever the Y axis label font is modified by the user.
5788
5795
5796////////////////////////////////////////////////////////////////////////////////
5797/// Slot called whenever the Y axis color is modified by the user.
5798
5804
5805////////////////////////////////////////////////////////////////////////////////
5806/// Slot called whenever the Y axis tick length is modified by the user.
5807
5813
5814////////////////////////////////////////////////////////////////////////////////
5815/// Slot called whenever the Y axis log scale boolean is modified by the user.
5816
5822
5823////////////////////////////////////////////////////////////////////////////////
5824/// Slot called whenever the Y axis Number of divisions is modified
5825/// by the user.
5826
5828{
5829 Int_t sgn = -1;
5830 if (fYNdivisionsOptimize->IsDown()) sgn = 1;
5832 + 100 * fYNdivSub->GetIntNumber()
5833 + 10000 * fYNdivSubSub->GetIntNumber()), "Y");
5834 DoEditor();
5835}
5836
5837////////////////////////////////////////////////////////////////////////////////
5838/// Slot called whenever the Z axis title size is modified by the user.
5839
5845
5846////////////////////////////////////////////////////////////////////////////////
5847/// Slot called whenever the Z axis title size mode is modified by the user.
5848
5872
5873////////////////////////////////////////////////////////////////////////////////
5874/// Slot called whenever the Z axis title color is modified by the user.
5875
5881
5882////////////////////////////////////////////////////////////////////////////////
5883/// Slot called whenever the Z axis title offset is modified by the user.
5884
5890
5891////////////////////////////////////////////////////////////////////////////////
5892/// Slot called whenever the Z axis title font is modified by the user.
5893
5900
5901////////////////////////////////////////////////////////////////////////////////
5902/// Slot called whenever the Z axis label size is modified by the user.
5903
5909
5910////////////////////////////////////////////////////////////////////////////////
5911/// Slot called whenever the Z axis Label size mode is modified by the user.
5912
5936
5937////////////////////////////////////////////////////////////////////////////////
5938/// Slot called whenever the Z axis label color is modified by the user.
5939
5945
5946////////////////////////////////////////////////////////////////////////////////
5947/// Slot called whenever the Z axis label offset is modified by the user.
5948
5954
5955////////////////////////////////////////////////////////////////////////////////
5956/// Slot called whenever the Z axis label font is modified by the user.
5957
5964
5965////////////////////////////////////////////////////////////////////////////////
5966/// Slot called whenever the Z axis color is modified by the user.
5967
5973
5974////////////////////////////////////////////////////////////////////////////////
5975/// Slot called whenever the Z axis tick length is modified by the user.
5976
5982
5983////////////////////////////////////////////////////////////////////////////////
5984/// Slot called whenever the Z axis log scale boolean is modified by the user.
5985
5991
5992////////////////////////////////////////////////////////////////////////////////
5993/// Slot called whenever the Z axis Number of divisions is modified
5994/// by the user.
5995
5997{
5998 Int_t sgn = -1;
5999 if (fZNdivisionsOptimize->IsDown()) sgn = 1;
6001 + 100 * fZNdivSub->GetIntNumber()
6002 + 10000 * fZNdivSubSub->GetIntNumber()), "Z");
6003 DoEditor();
6004}
6005
6006////////////////////////////////////////////////////////////////////////////////
6007/// Slot called whenever the OptTitle boolean is modified by the user.
6008
6017
6018////////////////////////////////////////////////////////////////////////////////
6019/// Slot called whenever the title fill color is modified by the user.
6020
6026
6027////////////////////////////////////////////////////////////////////////////////
6028/// Slot called whenever the title fill style is modified by the user.
6029
6035
6036////////////////////////////////////////////////////////////////////////////////
6037/// Slot called whenever the title text color is modified by the user.
6038
6044
6045////////////////////////////////////////////////////////////////////////////////
6046/// Slot called whenever the text size is modified by the user.
6047
6053
6054////////////////////////////////////////////////////////////////////////////////
6055/// Slot called whenever the text size mode is modified by the user.
6056
6080
6081////////////////////////////////////////////////////////////////////////////////
6082/// Slot called whenever the title text font is modified by the user.
6083
6085{
6086 Int_t tmp = fCurSelStyle->GetTitleFont() % 10;
6088 DoEditor();
6089}
6090
6091////////////////////////////////////////////////////////////////////////////////
6092/// Slot called whenever the title text align is modified by the user.
6093
6099
6100////////////////////////////////////////////////////////////////////////////////
6101/// Slot called whenever the title border size is modified by the user.
6102
6108
6109////////////////////////////////////////////////////////////////////////////////
6110/// Slot called whenever the legend border size is modified by the user.
6111
6117
6118////////////////////////////////////////////////////////////////////////////////
6119/// Slot called whenever the title abscissa is modified by the user.
6120
6126
6127////////////////////////////////////////////////////////////////////////////////
6128/// Slot called whenever the title ordinate is modified by the user.
6129
6135
6136////////////////////////////////////////////////////////////////////////////////
6137/// Slot called whenever the title width is modified by the user.
6138
6144
6145////////////////////////////////////////////////////////////////////////////////
6146/// Slot called whenever the title height is modified by the user.
6147
6153
6154////////////////////////////////////////////////////////////////////////////////
6155/// Slot called whenever the stats fill color is modified by the user.
6156
6162
6163////////////////////////////////////////////////////////////////////////////////
6164/// Slot called whenever the stats fill style is modified by the user.
6165
6167{
6168 fCurSelStyle->SetStatStyle(pattern);
6169 DoEditor();
6170}
6171
6172////////////////////////////////////////////////////////////////////////////////
6173/// Slot called whenever the stats text color is modified by the user.
6174
6180
6181////////////////////////////////////////////////////////////////////////////////
6182/// Slot called whenever the text size is modified by the user.
6183
6189
6190////////////////////////////////////////////////////////////////////////////////
6191/// Slot called whenever the text size mode is modified by the user.
6192
6218
6219////////////////////////////////////////////////////////////////////////////////
6220/// Slot called whenever the stats text font is modified by the user.
6221
6223{
6224 Int_t tmp = fCurSelStyle->GetStatFont() % 10;
6226 DoEditor();
6227}
6228
6229////////////////////////////////////////////////////////////////////////////////
6230/// Slot called whenever the stats abscissa is modified by the user.
6231
6237
6238////////////////////////////////////////////////////////////////////////////////
6239/// Slot called whenever the stats ordinate is modified by the user.
6240
6246
6247////////////////////////////////////////////////////////////////////////////////
6248/// Slot called whenever the stats width is modified by the user.
6249
6255
6256////////////////////////////////////////////////////////////////////////////////
6257/// Slot called whenever the stats height is modified by the user.
6258
6264
6265////////////////////////////////////////////////////////////////////////////////
6266/// Slot called whenever the stats border size is modified by the user.
6267
6273
6274////////////////////////////////////////////////////////////////////////////////
6275/// Slot called whenever one of the stats options is modified by the user.
6276
6278{
6279 Int_t stat = 0;
6280 if (fOptStatName->IsDown()) stat +=1;
6281 if (fOptStatEntries->IsDown()) stat +=10;
6282 if (fOptStatMean->IsDown()) stat +=100;
6283 if (fOptStatRMS->IsDown()) stat +=1000;
6284 if (fOptStatUnderflow->IsDown()) stat +=10000;
6285 if (fOptStatOverflow->IsDown()) stat +=100000;
6286 if (fOptStatIntegral->IsDown()) stat +=1000000;
6287 if (fOptStatSkewness->IsDown()) stat +=10000000;
6288 if (fOptStatKurtosis->IsDown()) stat +=100000000;
6289 if (fOptStatErrors->IsDown()) {
6290 if (fOptStatMean->IsDown()) stat +=100;
6291 if (fOptStatRMS->IsDown()) stat +=1000;
6292 if (fOptStatSkewness->IsDown()) stat +=10000000;
6293 if (fOptStatKurtosis->IsDown()) stat +=100000000;
6294 }
6295 if (stat == 1) stat = 1000000001;
6296 fCurSelStyle->SetOptStat(stat);
6297 DoEditor();
6298}
6299
6300////////////////////////////////////////////////////////////////////////////////
6301/// Slot called whenever the stats paint format is modified by the user.
6302
6308
6309////////////////////////////////////////////////////////////////////////////////
6310/// Slot called whenever one of the fit options is modified by the user.
6311
6313{
6314 Int_t fit = 0;
6315 if (fOptFitValues->IsDown()) fit +=1;
6316 if (fOptFitErrors->IsDown()) fit +=10;
6317 if (fOptFitChi->IsDown()) fit +=100;
6318 if (fOptFitProbability->IsDown()) fit +=1000;
6319 if (fit == 1) fit = 10001;
6320 fCurSelStyle->SetOptFit(fit);
6321 DoEditor();
6322}
6323
6324////////////////////////////////////////////////////////////////////////////////
6325/// Slot called whenever the fit paint format is modified by the user.
6326
6332
6333////////////////////////////////////////////////////////////////////////////////
6334/// Slot called whenever the PS header is modified by the user.
6335
6341
6342////////////////////////////////////////////////////////////////////////////////
6343/// Slot called whenever the PS title is modified by the user.
6344
6350
6351////////////////////////////////////////////////////////////////////////////////
6352/// Slot called whenever the PS color model is modified by the user.
6353
6355{
6357 TGButton *but = 0;
6358 while ((but = fColorModelPS->Find(i)) && !but->IsDown()) i++;
6360 DoEditor();
6361}
6362
6363////////////////////////////////////////////////////////////////////////////////
6364/// Slot called whenever the PS line scale is modified by the user.
6365
6371
6372////////////////////////////////////////////////////////////////////////////////
6373/// Slot called whenever the PS paper size is modified by the user.
6374
6376{
6380
6381 if (fPaperSizePredef->GetSelected() == 1) {
6382 if (!fPaperSizeEnCm) {
6386 }
6387 } else if (fPaperSizePredef->GetSelected() == 2) {
6388 if (fPaperSizeEnCm) {
6390 fPaperSizeX->SetNumber(papSizeX * 0.394);
6391 fPaperSizeY->SetNumber(papSizeY * 0.394);
6392 }
6393 } else if (fPaperSizePredef->GetSelected() == 3) {
6397 fCurSelStyle->SetPaperSize(20, 26);
6398 } else if (fPaperSizePredef->GetSelected() == 4) {
6400 fPaperSizeX->SetNumber(20 * 0.394);
6401 fPaperSizeY->SetNumber(24 * 0.394);
6402 fCurSelStyle->SetPaperSize(20, 24);
6403 }
6404 DoEditor();
6405}
6406
6407////////////////////////////////////////////////////////////////////////////////
6408/// Slot called whenever the PS paper size is modified by the user.
6409
6411{
6412 if (fPaperSizeEnCm) {
6416 } else {
6418 fPaperSizeY->GetNumber() * 2.54);
6420 }
6421 DoEditor();
6422}
@ 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
Definition RtypesCore.h:82
int Int_t
Definition RtypesCore.h:45
float Float_t
Definition RtypesCore.h:57
constexpr Bool_t kFALSE
Definition RtypesCore.h:94
constexpr Bool_t kTRUE
Definition RtypesCore.h:93
#define ClassImp(name)
Definition Rtypes.h:374
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:406
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
Definition TString.cxx:2489
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:1540
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:2441
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:1924
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:445
virtual void SetStyle(UInt_t newstyle)
Set the button style (modern or classic).
Definition TGButton.cxx:271
virtual void SetEnabled(Bool_t e=kTRUE)
Set enabled or disabled state of button.
Definition TGButton.cxx:459
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:287
TGDimension GetDefaultSize() const override
std::cout << fWidth << "x" << fHeight << std::endl;
Definition TGFrame.h:316
virtual void SetLayoutManager(TGLayoutManager *l)
Set the layout manager for the composite frame.
Definition TGFrame.cxx:1000
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr)
Add frame to the composite frame using the specified layout hints.
Definition TGFrame.cxx:1117
void MapSubwindows() override
Map all sub windows that are part of the composite frame.
Definition TGFrame.cxx:1164
virtual void ShowFrame(TGFrame *f)
Show sub frame.
Definition TGFrame.cxx:1204
void SetCleanup(Int_t mode=kLocalCleanup) override
Turn on automatic cleanup of child frames in dtor.
Definition TGFrame.cxx:1072
void ChangeOptions(UInt_t options) override
Change composite frame options. Options is an OR of the EFrameTypes.
Definition TGFrame.cxx:1043
virtual void HideFrame(TGFrame *f)
Hide sub frame.
Definition TGFrame.cxx:1190
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:629
void Resize(UInt_t w=0, UInt_t h=0) override
Resize the frame.
Definition TGFrame.cxx:605
void MapWindow() override
map window
Definition TGFrame.h:204
void UnmapWindow() override
unmap window
Definition TGFrame.h:206
UInt_t GetHeight() const
Definition TGFrame.h:225
A composite frame with a border and a title.
Definition TGFrame.h:522
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:385
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:397
void SetWindowName(const char *name=nullptr) override
Set window name. This is typically done via the window manager.
Definition TGFrame.cxx:1788
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:418
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:1152
virtual void DisableEntry(Int_t id)
Disable entry (disabled entries appear in a sunken relieve).
Definition TGMenu.cxx:1724
virtual void EnableEntry(Int_t id)
Enable entry. By default entries are enabled.
Definition TGMenu.cxx:1705
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:1060
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:990
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:376
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:644
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:374
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:152
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:295
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:328
void Add(TObject *obj) override
Definition TList.h:81
TObject * Remove(TObject *obj) override
Remove object from the list.
Definition TList.cxx:820
TObject * First() const override
Return the first object in the list. Returns 0 when list is empty.
Definition TList.cxx:657
void AddFirst(TObject *obj) override
Add object at the beginning of the list.
Definition TList.cxx:98
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:456
virtual const char * ClassName() const
Returns name of class to which the object belongs.
Definition TObject.cxx:225
virtual void UseCurrentStyle()
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyl...
Definition TObject.cxx:834
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot.
Definition TQObject.cxx:869
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:139
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:2378
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:1111
void SetAxisColor(Color_t color=1, Option_t *axis="X")
Set color to draw the axis line and tick marks.
Definition TStyle.cxx:1325
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:1642
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:1079
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:1206
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:1342
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:1147
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:1777
Float_t GetPadRightMargin() const
Definition TStyle.h:216
Float_t GetTickLength(Option_t *axis="X") const
Return tick length.
Definition TStyle.cxx:1194
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:1998
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:1242
Float_t GetLegoInnerR() const
Definition TStyle.h:242
Style_t GetLabelFont(Option_t *axis="X") const
Return label font.
Definition TStyle.cxx:1123
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:1548
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:1230
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:1218
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:1364
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:1800
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:1277
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:1135
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:1756
void SetNumberContours(Int_t number=20)
Set the default number of contour levels when drawing 2-d plots.
Definition TStyle.cxx:1502
void SetLabelFont(Style_t font=62, Option_t *axis="X")
Set font number used to draw axis labels.
Definition TStyle.cxx:1415
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:1915
void SetTitlePS(const char *pstitle)
Define a string to be used in the %Title of the Postscript files.
Definition TStyle.cxx:1385
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:1290
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:1928
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:1431
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:1819
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:1706
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:1737
void SetNdivisions(Int_t n=510, Option_t *axis="X")
Set the number of divisions to draw an axis.
Definition TStyle.cxx:1311
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:1185
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:696
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:1395
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:1446
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:1595
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:1091
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:1063
virtual const char * BaseName(const char *pathname)
Base name of a file name. Base name of /user/root is root.
Definition TSystem.cxx:934
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
Short_t Max(Short_t a, Short_t b)
Returns the largest of a and b.
Definition TMathBase.h:250
Short_t Min(Short_t a, Short_t b)
Returns the smallest of a and b.
Definition TMathBase.h:198
Short_t Abs(Short_t d)
Returns the absolute value of parameter Short_t d.
Definition TMathBase.h:123