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 };
434 fStatusBar->SetParts(parts, 3);
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
723 obj1 = fTrashListFrame->First();
724 while (obj1) {
725 obj2 = fTrashListFrame->After(obj1);
726 fTrashListFrame->Remove(obj1);
727 delete obj1;
728 obj1 = obj2;
729 }
730 delete fTrashListFrame;
731
732 obj1 = fTrashListLayout->First();
733 while (obj1) {
734 obj2 = fTrashListLayout->After(obj1);
736 delete obj1;
737 obj1 = obj2;
738 }
739 delete fTrashListLayout;
740
741 fgStyleManager = 0;
742}
743
744////////////////////////////////////////////////////////////////////////////////
745///static: return style manager
746
748{
749 return fgStyleManager;
750}
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) {
776 }
777}
778
779////////////////////////////////////////////////////////////////////////////////
780/// Called to show the style manager. Static method.
781
783{
784 if (fgStyleManager) {
786 if (!fgStyleManager->IsMapped()) {
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);
828 fTrashListLayout->Add(layout1);
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);
844 fTrashListLayout->Add(layout2);
845 fMenuBar->AddPopup("&Help", fMenuHelp, layout2);
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();
903 TString newName;
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 {
911 fCurMacro->SetFilename(newName.Data());
912
913 // Open a dialog to ask the user to choose an output file.
914 new TGFileDialog(gClient->GetRoot(), this, kFDSave, fCurMacro);
915 tmpFileName = fCurMacro->fFilename;
916 if (tmpFileName) tmpBaseName = gSystem->BaseName(tmpFileName);
917 else tmpBaseName = 0;
918 } while (tmpBaseName && (strstr(tmpBaseName, "Style_") != tmpBaseName)
919 && (strstr(tmpBaseName, " ") != 0));
920
921 if (tmpBaseName != 0) {
922 // Export the style.
924 fCurMacro->SetFilename(tmpBaseName);
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{
945 TRootHelpDialog *hd;
946 switch (i) {
947 case 0:
948 hd = new TRootHelpDialog(this, "Help on General Tab", 600, 400);
950 break;
951 case 1:
952 hd = new TRootHelpDialog(this, "Help on Canvas Tab", 600, 400);
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);
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);
970 break;
971 case 6:
972 hd = new TRootHelpDialog(this, "Help on Stats Tab", 600, 400);
974 break;
975 case 7:
976 hd = new TRootHelpDialog(this, "Help on PS / PDF Tab", 600, 400);
978 break;
979 default:
980 hd = new TRootHelpDialog(this, "Help on Top Level", 600, 400);
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();
1004 TString newName;
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{
1030 TGLayoutHints *layout1 = new TGLayoutHints(kLHintsNormal, 3);
1031 fTrashListLayout->Add(layout1);
1032 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsNormal, 6);
1033 fTrashListLayout->Add(layout2);
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());
1058 fToolBar->AddFrame(fToolBarExport, layout1);
1059
1060 fToolBarDeletePic = gClient->GetPicture("sm_delete.xpm");
1062 fToolBarDelete->SetStyle(gClient->GetStyle());
1064 fToolBar->AddFrame(fToolBarDelete, layout2);
1065
1066 fToolBarHelpPic = gClient->GetPicture("sm_help.xpm");
1068 fToolBarHelp->SetStyle(gClient->GetStyle());
1069 fToolBarHelp->Associate(this);
1070 fToolBar->AddFrame(fToolBarHelp, layout2);
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{
1091 TGLayoutHints *layout1 = new TGLayoutHints(kLHintsExpandX, 0, 0, 2, 2);
1092 fTrashListLayout->Add(layout1);
1093 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 10, 10, 10, 15);
1094 fTrashListLayout->Add(layout2);
1095 TGLayoutHints *layout3 = new TGLayoutHints(kLHintsNormal, 0, 0, 18);
1096 fTrashListLayout->Add(layout3);
1097 TGLayoutHints *layout4 = new TGLayoutHints(kLHintsNormal, 10, 10);
1098 fTrashListLayout->Add(layout4);
1099 TGLayoutHints *layout5 = new TGLayoutHints(kLHintsExpandX, 125);
1100 fTrashListLayout->Add(layout5);
1101 TGLayoutHints *layout6 = new TGLayoutHints(kLHintsNormal, 0, 10, 3);
1102 fTrashListLayout->Add(layout6);
1103 TGLayoutHints *layout7 = new TGLayoutHints(kLHintsNormal, 0, 16, 3);
1104 fTrashListLayout->Add(layout7);
1105 TGLayoutHints *layout8 = new TGLayoutHints(kLHintsExpandX, 0, 0, 10);
1106 fTrashListLayout->Add(layout8);
1107 TGLayoutHints *layout9 = new TGLayoutHints(kLHintsNormal, -15, 0, -5, -10);
1108 fTrashListLayout->Add(layout9);
1109 TGLayoutHints *layout10 = new TGLayoutHints(kLHintsNormal, 15, 0, -5, -10);
1110 fTrashListLayout->Add(layout10);
1111 TGLayoutHints *layout11 = new TGLayoutHints(kLHintsExpandX, 0, 0, 15);
1112 fTrashListLayout->Add(layout11);
1113 TGLayoutHints *layout12 = new TGLayoutHints(kLHintsExpandX, 0, 0, 10, 5);
1114 fTrashListLayout->Add(layout12);
1115 TGLayoutHints *layout13 = new TGLayoutHints(kLHintsExpandX, 20, 0, 7);
1116 fTrashListLayout->Add(layout13);
1117
1118 TGVerticalFrame *topLevel = new TGVerticalFrame(cf);
1119 fTrashListFrame->AddFirst(topLevel);
1120 TGHorizontalFrame *h1 = new TGHorizontalFrame(topLevel);
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);
1144 fCurStyle = new TGTextEntry(v13, "", kTopCurStyle);
1145 fCurStyle->Associate(this);
1147 v13->AddFrame(fCurStyle, layout1);
1148 h1->AddFrame(v13, fLayoutExpandX);
1149 topLevel->AddFrame(h1, fLayoutExpandX);
1150
1151 TGHorizontalFrame *h2 = new TGHorizontalFrame(topLevel);
1153 TGGroupFrame *gf = new TGGroupFrame(h2, "Apply on");
1155 TGVerticalFrame *vf = new TGVerticalFrame(gf);
1157 Pixel_t red;
1158 gClient->GetColorByName("#FF0000", red);
1159 TGHorizontalFrame *selCanvas = new TGHorizontalFrame(vf);
1160 fTrashListFrame->AddFirst(selCanvas);
1161 fCurPadLabel = new TGLabel(selCanvas, "Canvas:");
1162 selCanvas->AddFrame(fCurPadLabel, layout6);
1163 fCurPadTextEntry = new TGTextEntry(selCanvas, "", kTopCurPad);
1167 vf->AddFrame(selCanvas, fLayoutExpandX);
1168 TGHorizontalFrame *selObject = new TGHorizontalFrame(vf);
1169 fTrashListFrame->AddFirst(selObject);
1170 fCurObjLabel = new TGLabel(selObject, "Object:");
1171 selObject->AddFrame(fCurObjLabel, layout7);
1172 fCurObjTextEntry = new TGTextEntry(selObject, "", kTopCurObj);
1177 vf->AddFrame(selObject, layout8);
1180 fApplyOnGroup = new TGHButtonGroup(h4);
1181 fApplyOnAll = new TGRadioButton(fApplyOnGroup, "All canvases", kTopApplyOnAll);
1182 fApplyOnAll->Associate(this);
1183 fApplyOnSel = new TGRadioButton(fApplyOnGroup, "Selected object", kTopApplyOnSel);
1184 fApplyOnSel->Associate(this);
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
1200 TGHorizontalFrame *h3 = new TGHorizontalFrame(topLevel);
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;
1243 fListComboBox->Select(styleID);
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;
1280 Int_t oneYearInSecs;
1281 Int_t oneMonthInSecs;
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
1681 tmp2 = fCurSelStyle->GetOptFit();
1682
1683 if (tmp2 % 10) fOptFitValues->SetState(kButtonDown, kFALSE);
1685
1686 if ((tmp2/10) % 10) {
1689 } else
1691
1692 if ((tmp2/100) % 10) fOptFitChi->SetState(kButtonDown, kFALSE);
1694
1695 if ((tmp2/1000) % 10) fOptFitProbability->SetState(kButtonDown, kFALSE);
1697
1699 break;
1700
1701 case 7: // PS / PDF
1706 Float_t papSizeX;
1707 Float_t papSizeY;
1708 fCurSelStyle->GetPaperSize(papSizeX, papSizeY);
1709 if ((papSizeX == 20) && (papSizeY == 26)) {
1712 fPaperSizeX->SetNumber(papSizeX);
1713 fPaperSizeY->SetNumber(papSizeY);
1714 } else if ((papSizeX == 20) && (papSizeY == 24)) {
1717 fPaperSizeX->SetNumber(papSizeX * 0.394);
1718 fPaperSizeY->SetNumber(papSizeY * 0.394);
1719 } else {
1722 fPaperSizeX->SetNumber(papSizeX);
1723 fPaperSizeY->SetNumber(papSizeY);
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{
2216 TGLayoutHints *layout1 = new TGLayoutHints(kLHintsExpandX, 8, 8, 5, 5);
2217 fTrashListLayout->Add(layout1);
2218 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsExpandX, 10, 10);
2219 fTrashListLayout->Add(layout2);
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);
2262 fTrashListLayout->Add(layout);
2263
2268 tab->AddFrame(h1, fLayoutExpandX);
2269
2270 TGHorizontalFrame *h2 = new TGHorizontalFrame(tab);
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{
2294 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsExpandX, 5, 0, 5, 5);
2295 fTrashListLayout->Add(layout2);
2296
2297 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
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");
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");
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");
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
2400{
2408 h->AddFrame(v1, fLayoutExpandXY);
2412 h->AddFrame(v2, fLayoutExpandXY);
2413 tab->AddFrame(h, fLayoutExpandX);
2414}
2415
2416////////////////////////////////////////////////////////////////////////////////
2417/// Add the 'Fill' group frame to the 'Canvas' tab.
2418
2420{
2421 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
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:",
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
2475{
2478}
2479
2480////////////////////////////////////////////////////////////////////////////////
2481/// Add the 'Date' group frame to the 'Canvas' tab.
2482
2484{
2485 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsExpandX, 10);
2486 fTrashListLayout->Add(layout2);
2487
2488 TGGroupFrame *gf = new TGGroupFrame(f, "Date");
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");
2511 TGVerticalFrame *h3 = new TGVerticalFrame(gf);
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
2538{
2544 AddPadFill(v);
2545 AddPadTicks(v);
2546 h1->AddFrame(v, fLayoutExpandXY);
2547 tab->AddFrame(h1, fLayoutExpandX);
2548 TGHorizontalFrame *h2 = new TGHorizontalFrame(tab);
2550 AddPadBorder(h2);
2551 AddPadGrid(h2);
2552 tab->AddFrame(h2, fLayoutExpandX);
2553}
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:",
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
2596{
2599}
2600
2601////////////////////////////////////////////////////////////////////////////////
2602/// Add the 'Fill' group frame to the 'Pad' tab.
2603
2605{
2606 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
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);
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);
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
2678{
2679 fHistosTab = new TGTab(tab, 1, 1);
2680 fHistosTab->Associate(this);
2685}
2686
2687////////////////////////////////////////////////////////////////////////////////
2688/// Add the sub-tab 'Histos' to the tab 'Histos'.
2689
2691{
2696 tab->AddFrame(h1, fLayoutExpandX);
2697
2698 TGHorizontalFrame *h2 = new TGHorizontalFrame(tab);
2702 tab->AddFrame(h2, fLayoutExpandX);
2703
2704 TGHorizontalFrame *h3 = new TGHorizontalFrame(tab);
2708 tab->AddFrame(h3, fLayoutExpandX);
2709}
2710
2711////////////////////////////////////////////////////////////////////////////////
2712/// Add the 'Fill' group frame to the 'Histos - Histos' tab.
2713
2715{
2716 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
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");
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
2753{
2754 TGGroupFrame *gf = new TGGroupFrame(f, "Bar");
2758 fBarWidth = AddNumberEntry(h, 0, 5, 0, kHistBarWidth, "W:",
2762 fBarOffset = AddNumberEntry(h, 8, 5, 0, kHistBarOffset, "O:",
2767 f->AddFrame(gf, fLayoutExpandXYMargin);
2768
2769 fBarWidth->GetNumberEntry()->SetToolTipText("Width of bars");
2770 fBarOffset->GetNumberEntry()->SetToolTipText("Offset of bars");
2771}
2772
2773////////////////////////////////////////////////////////////////////////////////
2774/// Add the 'Contours' group frame to the 'Histos - Histos' tab.
2775
2777{
2778 TGGroupFrame *gf = new TGGroupFrame(f, "Contours");
2780 fNumberContours = AddNumberEntry(gf, 0, 0, 0, kHistNumberContours, "Number:",
2784 f->AddFrame(gf, fLayoutExpandXYMargin);
2785
2786 fNumberContours->GetNumberEntry()->SetToolTipText("Number of level lines to draw");
2787}
2788
2789////////////////////////////////////////////////////////////////////////////////
2790/// Add the 'Axis' group frame to the 'Histos - Histos' tab.
2791
2793{
2794 TGGroupFrame *gf = new TGGroupFrame(f, "Axis");
2796 fHistMinimumZero = AddCheckButton(gf, "Minimum zero", kHistMinimumZero);
2797 fPaintTextFormat = AddTextEntry(gf, "Paint format:", kHistPaintTextFormat);
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
2824{
2825 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 10, 10, 0, 13);
2826 fTrashListLayout->Add(layout);
2827
2830
2835 h1->AddFrame(v1, fLayoutExpandXY);
2836
2842 fPaletteEdit = AddTextButton(h2, "Palette Editor...", kFramePaletteEdit);
2844 v2->AddFrame(h2, layout);
2845 h1->AddFrame(v2, fLayoutExpandXY);
2846
2847 tab->AddFrame(h1, fLayoutExpandX);
2848}
2849
2850////////////////////////////////////////////////////////////////////////////////
2851/// Add the 'Fill' group frame to the 'Histos - Frames' tab.
2852
2854{
2855 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
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");
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
2892{
2895}
2896
2897////////////////////////////////////////////////////////////////////////////////
2898/// Add the sub-tab 'Graphs' to the tab 'Histos'.
2899
2901{
2906 tab->AddFrame(h, fLayoutExpandX);
2908}
2909
2910////////////////////////////////////////////////////////////////////////////////
2911/// Add the 'Line' group frame to the 'Histos - Graphs' tab.
2912
2914{
2915 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
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);
2935 fTrashListLayout->Add(layout);
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{
2971 TGLayoutHints *layout =
2972 new TGLayoutHints(kLHintsNormal, 10, 13, 3);
2973 fTrashListLayout->Add(layout);
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"));
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
3020{
3025 tab->AddFrame(h1, fLayoutExpandX);
3026
3027 TGHorizontalFrame *h2 = new TGHorizontalFrame(tab);
3029 AddAxisXTitle(h2);
3030 AddAxisXLabels(h2);
3031 tab->AddFrame(h2, fLayoutExpandX);
3032}
3033
3034////////////////////////////////////////////////////////////////////////////////
3035/// Add the 'Line' group frame to the 'Axis - X Axis' tab.
3036
3038{
3039 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 20);
3040 fTrashListLayout->Add(layout);
3041
3042 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
3049 fXTickLength = AddNumberEntry(h2, 3, 8, 0, kAxisXTickLength, "Ticks:",
3053 h->AddFrame(h2, layout);
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");
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, "",
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");
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
3170{
3175 tab->AddFrame(h1, fLayoutExpandX);
3176
3177 TGHorizontalFrame *h2 = new TGHorizontalFrame(tab);
3179 AddAxisYTitle(h2);
3180 AddAxisYLabels(h2);
3181 tab->AddFrame(h2, fLayoutExpandX);
3182}
3183
3184////////////////////////////////////////////////////////////////////////////////
3185/// Add the 'Line' group frame to the 'Axis - Y Axis' tab.
3186
3188{
3189 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 20);
3190 fTrashListLayout->Add(layout);
3191
3192 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
3199 fYTickLength = AddNumberEntry(h2, 3, 8, 0, kAxisYTickLength, "Ticks:",
3203 h->AddFrame(h2, layout);
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");
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, "",
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");
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
3320{
3325 tab->AddFrame(h1, fLayoutExpandX);
3326
3327 TGHorizontalFrame *h2 = new TGHorizontalFrame(tab);
3329 AddAxisZTitle(h2);
3330 AddAxisZLabels(h2);
3331 tab->AddFrame(h2, fLayoutExpandX);
3332}
3333
3334////////////////////////////////////////////////////////////////////////////////
3335/// Add the 'Line' group frame to the 'Axis - Z Axis' tab.
3336
3338{
3339 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 20);
3340 fTrashListLayout->Add(layout);
3341
3342 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
3349 fZTickLength = AddNumberEntry(h2, 3, 8, 0, kAxisZTickLength, "Ticks:",
3353 h->AddFrame(h2, layout);
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");
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, "",
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");
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);
3473 fTrashListLayout->Add(layout);
3474
3477 fOptTitle = AddCheckButton(h1, "Show title", kTitleOptTitle);
3478 tab->AddFrame(h1, layout);
3479
3480 TGHorizontalFrame *h2 = new TGHorizontalFrame(tab);
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");
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
3520{
3521 TGLayoutHints *layout1 = new TGLayoutHints(kLHintsNormal, 0, 24, 6);
3522 fTrashListLayout->Add(layout1);
3523 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsNormal, 0, 5, 6);
3524 fTrashListLayout->Add(layout2);
3525 TGLayoutHints *layout3 = new TGLayoutHints(kLHintsExpandX, 0, 0, 3, 3);
3526 fTrashListLayout->Add(layout3);
3527
3528 TGGroupFrame *gf = new TGGroupFrame(f, "Shadow");
3532 fTitleBorderSizeLabel = new TGLabel(h1, "Title's:");
3533 h1->AddFrame(fTitleBorderSizeLabel, layout1);
3535 gf->AddFrame(h1, layout3);
3536
3539 fLegendBorderSizeLabel = new TGLabel(h2, "Legend's:");
3540 h2->AddFrame(fLegendBorderSizeLabel, layout2);
3542 gf->AddFrame(h2, layout3);
3543 f->AddFrame(gf, fLayoutExpandXMargin);
3544}
3545
3546////////////////////////////////////////////////////////////////////////////////
3547/// Add the 'Text' group frame to the 'Title' tab.
3548
3550{
3551 TGGroupFrame *gf = new TGGroupFrame(f, "Text");
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:",
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
3616{
3617 TGLayoutHints *layout1 = new TGLayoutHints(kLHintsNormal, 0, 5, 6);
3618 fTrashListLayout->Add(layout1);
3619 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsExpandX, 10, 21, 5, 5);
3620 fTrashListLayout->Add(layout2);
3621
3624
3630 fStatBorderSizeLabel = new TGLabel(h2, "Stats' shadow:");
3631 h2->AddFrame(fStatBorderSizeLabel, layout1);
3633 v1->AddFrame(h2, layout2);
3636 h1->AddFrame(v1, fLayoutExpandXY);
3637
3641 AddStatsFit(v2);
3642 h1->AddFrame(v2, fLayoutExpandXY);
3643
3644 tab->AddFrame(h1, fLayoutExpandX);
3645}
3646
3647////////////////////////////////////////////////////////////////////////////////
3648/// Add the 'Fill' group frame to the 'Stats' tab.
3649
3651{
3652 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
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");
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:",
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{
3738 TGLayoutHints *layout = new TGLayoutHints(kLHintsNormal, 0, 0, 5);
3739 fTrashListLayout->Add(layout);
3740
3741 TGGroupFrame *gf = new TGGroupFrame(f, "Stat Options");
3752 h->AddFrame(v1, fLayoutExpandXY);
3760 h->AddFrame(v2, fLayoutExpandXY);
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{
3792 TGLayoutHints *layout = new TGLayoutHints(kLHintsNormal, 0, 0, 5);
3793 fTrashListLayout->Add(layout);
3794
3795 TGGroupFrame *gf = new TGGroupFrame(f, "Fit Options");
3802 fOptFitProbability = AddCheckButton(v1, "Probability",
3804 h->AddFrame(v1, fLayoutExpandXY);
3809 h->AddFrame(v2, fLayoutExpandXY);
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
3833{
3834 AddPsPdfHeader(tab);
3835 AddPsPdfTitle(tab);
3843 h->AddFrame(v, fLayoutExpandXY);
3844 tab->AddFrame(h, fLayoutExpandX);
3845}
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
3877{
3878 fColorModelPS = new TGButtonGroup(f, "Color Model",
3880
3889 TGLayoutHints *layout2 =
3890 new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 5, 5, 5, 12);
3891 fTrashListLayout->Add(layout2);
3892 f->AddFrame(fColorModelPS, layout2);
3893}
3894
3895////////////////////////////////////////////////////////////////////////////////
3896/// Add the 'Paper Size' group frame to the 'PS / PDF' tab.
3897
3899{
3900 TGGroupFrame *gf = new TGGroupFrame(f, "Paper Size");
3903 fPaperSizeX = AddNumberEntry(gf, 0, 0, 0, kPSPDFPaperSizeX, "Width:",
3907 fPaperSizeY = AddNumberEntry(gf, 0, 0, 0, kPSPDFPaperSizeY, "Height:",
3911 f->AddFrame(gf, fLayoutExpandXMargin);
3912
3913 fPaperSizeX->GetNumberEntry()->SetToolTipText("Width of the printing area");
3914 fPaperSizeY->GetNumberEntry()->SetToolTipText("Height of the printing area");
3915}
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);
3923 fTrashListLayout->Add(layout);
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{
3941 TGLayoutHints *layout1 = new TGLayoutHints(kLHintsExpandX, 5, 0, 7);
3942 fTrashListLayout->Add(layout1);
3943 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsExpandX, 0, 0, 6, 6);
3944 fTrashListLayout->Add(layout2);
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);
3966 fTrashListLayout->Add(layout);
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);
3981 fTrashListLayout->Add(layout);
3982
3983 TGedPatternSelect *gps = new TGedPatternSelect(f, 0, id);
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{
3995 TGLayoutHints *layout = new TGLayoutHints(kLHintsCenterY, 0, 5, 3, 3);
3996 fTrashListLayout->Add(layout);
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);
4034 TGLayoutHints *layout = new TGLayoutHints(kLHintsNormal, e1, 0, 3);
4035 fTrashListLayout->Add(layout);
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)) {
4043 fTrashListLayout->Add(layout1);
4044 h->AddFrame(ne, layout1);
4045 } else {
4046 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsNormal, e2, e3);
4047 fTrashListLayout->Add(layout2);
4048 h->AddFrame(ne, layout2);
4049 }
4050 if (strlen(s)) {
4051 TGLayoutHints *layout3 =
4052 new TGLayoutHints(kLHintsExpandX | kLHintsCenterY, 0, 2, 3, 3);
4053 fTrashListLayout->Add(layout3);
4054 f->AddFrame(h, layout3);
4055 } else {
4056 TGLayoutHints *layout4 =
4057 new TGLayoutHints(kLHintsNormal | kLHintsCenterY, 0, 2, 3, 3);
4058 fTrashListLayout->Add(layout4);
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{
4070 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 0, 0, 3, 3);
4071 fTrashListLayout->Add(layout);
4072
4075 TGLineWidthComboBox *lwcb = new TGLineWidthComboBox(h, id);
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{
4089 TGLineStyleComboBox *lscb = new TGLineStyleComboBox(f, id);
4090 lscb->Associate(this);
4091 lscb->Resize(1, 22);
4092 f->AddFrame(lscb, fLayoutExpandXCenterYMargin);
4093 return lscb;
4094}
4095
4096////////////////////////////////////////////////////////////////////////////////
4097/// Add a text button to the frame f.
4098
4100 const char *s, Int_t id)
4101{
4102 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 0, 0, 3, 3);
4103 fTrashListLayout->Add(layout);
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{
4117 TGFontTypeComboBox *ftcb = new TGFontTypeComboBox(f, id);
4118 ftcb->Associate(this);
4119 ftcb->Resize(1, 22);
4120 f->AddFrame(ftcb, fLayoutExpandXCenterYMargin);
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
4149 Int_t id1, Int_t id2, Int_t id3)
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{
4188 TGLayoutHints *layout = new TGLayoutHints(kLHintsNormal, 0, e1, 4, e2);
4189 fTrashListLayout->Add(layout);
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);
4211 TGLayoutHints *layout1 = new TGLayoutHints(kLHintsNormal, 0, 0, 3);
4212 fTrashListLayout->Add(layout1);
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)) {
4219 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsRight, 20);
4220 fTrashListLayout->Add(layout2);
4221 h->AddFrame(te, layout2);
4222 } else
4223 h->AddFrame(te, fLayoutExpandX);
4224 TGLayoutHints *layout3 =
4225 new TGLayoutHints(kLHintsExpandX | kLHintsCenterY, 0, 2, 3, 3);
4226 fTrashListLayout->Add(layout3);
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"))) {
4288 if ((!strcmp(fCurSelStyle->GetName(),gStyle->GetName())))
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"))) {
4295 if ((!strcmp(fCurSelStyle->GetName(),gStyle->GetName())))
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"))) {
4302 if ((!strcmp(fCurSelStyle->GetName(),gStyle->GetName())))
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"))) {
4309 if ((!strcmp(fCurSelStyle->GetName(),gStyle->GetName())))
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"))) {
4316 if ((!strcmp(fCurSelStyle->GetName(),gStyle->GetName())))
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) {
4325 TString newName;
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.
4367 TString newTip;
4368 newTip.Form("'%s'", fCurSelStyle->GetName());
4369 newTip += " become current style";
4370 fMakeDefault->SetToolTipText(newTip.Data());
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
4382{
4383 if (b) {
4387 } else {
4390 }
4391}
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
4429{
4430 fPreviewWindow->Disconnect("CloseWindow()");
4435}
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
4452{
4454}
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) {
4469 if ((!fPreviewWindow) || (tmpCanvas != fPreviewWindow->GetMainCanvas())) {
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) {
4482 if (((!fPreviewWindow) || (tmpCanvas != fPreviewWindow->GetMainCanvas()))
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
4558{
4559 fCurTabAxisNum = i;
4560}
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
4567{
4568 fCurPad = 0;
4569 fCurObj = 0;
4570
4573
4574 fCurPadTextEntry->SetText("No pad selected");
4575 fCurObjTextEntry->SetText("No object selected");
4582}
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.
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;
4606 Bool_t preview = (fPreviewWindow && fPreviewWindow->IsMapped());
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
4659{
4661 DoEditor();
4662}
4663
4664////////////////////////////////////////////////////////////////////////////////
4665/// Slot called whenever the fill style is modified by the user.
4666
4668{
4670 DoEditor();
4671}
4672
4673////////////////////////////////////////////////////////////////////////////////
4674/// Slot called whenever the hatches line width is modified by the user.
4675
4677{
4679 DoEditor();
4680}
4681
4682////////////////////////////////////////////////////////////////////////////////
4683/// Slot called whenever the hatches spacing is modified by the user.
4684
4686{
4688 DoEditor();
4689}
4690
4691////////////////////////////////////////////////////////////////////////////////
4692/// Slot called whenever the marker color is modified by the user.
4693
4695{
4697 DoEditor();
4698}
4699
4700////////////////////////////////////////////////////////////////////////////////
4701/// Slot called whenever the marker style is modified by the user.
4702
4704{
4706 DoEditor();
4707}
4708
4709////////////////////////////////////////////////////////////////////////////////
4710/// Slot called whenever the marker size is modified by the user.
4711
4713{
4715 DoEditor();
4716}
4717
4718////////////////////////////////////////////////////////////////////////////////
4719/// Slot called whenever the screen factor is modified by the user.
4720
4722{
4724 DoEditor();
4725}
4726
4727////////////////////////////////////////////////////////////////////////////////
4728/// Slot called whenever the line color is modified by the user.
4729
4731{
4733 DoEditor();
4734}
4735
4736////////////////////////////////////////////////////////////////////////////////
4737/// Slot called whenever the line width is modified by the user.
4738
4740{
4742 DoEditor();
4743}
4744
4745////////////////////////////////////////////////////////////////////////////////
4746/// Slot called whenever the line style is modified by the user.
4747
4749{
4751 DoEditor();
4752}
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
4766{
4768 DoEditor();
4769}
4770
4771////////////////////////////////////////////////////////////////////////////////
4772/// Slot called whenever the text size is modified by the user.
4773
4775{
4777 DoEditor();
4778}
4779
4780////////////////////////////////////////////////////////////////////////////////
4781/// Slot called whenever the text size mode is modified by the user.
4782
4784{
4785 Int_t tmp = fCurSelStyle->GetTextFont() / 10;
4786 Int_t mod = fCurSelStyle->GetTextFont() % 10;
4788 if (b) {
4789 fCurSelStyle->SetTextFont(tmp * 10 + 3);
4793 if (mod == 2)
4795 } else {
4796 fCurSelStyle->SetTextFont(tmp * 10 + 2);
4800 if (mod == 3)
4802 }
4804 DoEditor();
4805}
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
4821{
4823 DoEditor();
4824}
4825
4826////////////////////////////////////////////////////////////////////////////////
4827/// Slot called whenever the text angle is modified by the user.
4828
4830{
4832 DoEditor();
4833}
4834
4835////////////////////////////////////////////////////////////////////////////////
4836/// Slot called whenever the canvas color is modified by the user.
4837
4839{
4841 DoEditor();
4842}
4843
4844////////////////////////////////////////////////////////////////////////////////
4845/// Slot called whenever the canvas default abscissa is modified by the user.
4846
4848{
4850 DoEditor();
4851}
4852
4853////////////////////////////////////////////////////////////////////////////////
4854/// Slot called whenever the canvas default ordinate is modified by the user.
4855
4857{
4859 DoEditor();
4860}
4861
4862////////////////////////////////////////////////////////////////////////////////
4863/// Slot called whenever the canvas default width is modified by the user.
4864
4866{
4868 DoEditor();
4869}
4870
4871////////////////////////////////////////////////////////////////////////////////
4872/// Slot called whenever the canvas default height is modified by the user.
4873
4875{
4877 DoEditor();
4878}
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
4897{
4899 DoEditor();
4900}
4901
4902////////////////////////////////////////////////////////////////////////////////
4903/// Slot called whenever the OptDate boolean is modified by the user.
4904
4906{
4907 if (fOptDateBool->IsDown())
4909 else
4914 DoEditor();
4915}
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
4931{
4933 DoEditor();
4934}
4935
4936////////////////////////////////////////////////////////////////////////////////
4937/// Slot called whenever the date text size mode is modified by the user.
4938
4940{
4941 Int_t tmp = fCurSelStyle->GetAttDate()->GetTextFont() / 10;
4942 Int_t mod = fCurSelStyle->GetAttDate()->GetTextFont() % 10;
4944
4945 if (b) {
4946 fCurSelStyle->GetAttDate()->SetTextFont(tmp * 10 + 3);
4950 if (mod == 2)
4952 } else {
4953 fCurSelStyle->GetAttDate()->SetTextFont(tmp * 10 + 2);
4957 if (mod == 3)
4959 }
4961 DoEditor();
4962}
4963
4964////////////////////////////////////////////////////////////////////////////////
4965/// Slot called whenever the date text format is modified by the user.
4966
4968{
4969 Int_t formatPrec = fCurSelStyle->GetOptDate() % 10;
4971 + formatPrec);
4972 DoEditor();
4973}
4974
4975////////////////////////////////////////////////////////////////////////////////
4976/// Slot called whenever the date text font is modified by the user.
4977
4979{
4980 Int_t fontPrec = fCurSelStyle->GetAttDate()->GetTextFont() % 10;
4982 + fontPrec);
4983 DoEditor();
4984}
4985
4986////////////////////////////////////////////////////////////////////////////////
4987/// Slot called whenever the date text align is modified by the user.
4988
4990{
4992 DoEditor();
4993}
4994
4995////////////////////////////////////////////////////////////////////////////////
4996/// Slot called whenever the date text angle is modified by the user.
4997
4999{
5001 DoEditor();
5002}
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
5026{
5028 DoEditor();
5029}
5030
5031////////////////////////////////////////////////////////////////////////////////
5032/// Slot called whenever the pad right margin is modified by the user.
5033
5035{
5037 DoEditor();
5038}
5039
5040////////////////////////////////////////////////////////////////////////////////
5041/// Slot called whenever the pad top margin is modified by the user.
5042
5044{
5046 DoEditor();
5047}
5048
5049////////////////////////////////////////////////////////////////////////////////
5050/// Slot called whenever the pad bottom margin is modified by the user.
5051
5053{
5055 DoEditor();
5056}
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
5075{
5077 DoEditor();
5078}
5079
5080////////////////////////////////////////////////////////////////////////////////
5081/// Slot called whenever the pad color is modified by the user.
5082
5084{
5086 DoEditor();
5087}
5088
5089////////////////////////////////////////////////////////////////////////////////
5090/// Slot called whenever the pad tick X boolean is modified by the user.
5091
5093{
5095 DoEditor();
5096}
5097
5098////////////////////////////////////////////////////////////////////////////////
5099/// Slot called whenever the pad tick Y boolean is modified by the user.
5100
5102{
5104 DoEditor();
5105}
5106
5107////////////////////////////////////////////////////////////////////////////////
5108/// Slot called whenever the pad grid X boolean is modified by the user.
5109
5111{
5113 DoEditor();
5114}
5115
5116////////////////////////////////////////////////////////////////////////////////
5117/// Slot called whenever the pad grid Y boolean is modified by the user.
5118
5120{
5122 DoEditor();
5123}
5124
5125////////////////////////////////////////////////////////////////////////////////
5126/// Slot called whenever the grid line color is modified by the user.
5127
5129{
5131 DoEditor();
5132}
5133
5134////////////////////////////////////////////////////////////////////////////////
5135/// Slot called whenever the grid line width is modified by the user.
5136
5138{
5140 DoEditor();
5141}
5142
5143////////////////////////////////////////////////////////////////////////////////
5144/// Slot called whenever the grid line style is modified by the user.
5145
5147{
5149 DoEditor();
5150}
5151
5152////////////////////////////////////////////////////////////////////////////////
5153/// Slot called whenever the histos fill color is modified by the user.
5154
5156{
5158 DoEditor();
5159}
5160
5161////////////////////////////////////////////////////////////////////////////////
5162/// Slot called whenever the histos fill style is modified by the user.
5163
5165{
5167 DoEditor();
5168}
5169
5170////////////////////////////////////////////////////////////////////////////////
5171/// Slot called whenever the histos line color is modified by the user.
5172
5174{
5176 DoEditor();
5177}
5178
5179////////////////////////////////////////////////////////////////////////////////
5180/// Slot called whenever the histos line width is modified by the user.
5181
5183{
5185 DoEditor();
5186}
5187
5188////////////////////////////////////////////////////////////////////////////////
5189/// Slot called whenever the histos line style is modified by the user.
5190
5192{
5194 DoEditor();
5195}
5196
5197////////////////////////////////////////////////////////////////////////////////
5198/// Slot called whenever the histos bar width is modified by the user.
5199
5201{
5203 DoEditor();
5204}
5205
5206////////////////////////////////////////////////////////////////////////////////
5207/// Slot called whenever the histos bar offset is modified by the user.
5208
5210{
5212 DoEditor();
5213}
5214
5215////////////////////////////////////////////////////////////////////////////////
5216/// Slot called whenever the histos minimum zero boolean is modified
5217/// by the user.
5218
5220{
5222 DoEditor();
5223}
5224
5225////////////////////////////////////////////////////////////////////////////////
5226/// Slot called whenever the paint text format is modified by the user.
5227
5229{
5231 DoEditor();
5232}
5233
5234////////////////////////////////////////////////////////////////////////////////
5235/// Slot called whenever the number of contours is modified by the user.
5236
5238{
5240 DoEditor();
5241}
5242
5243////////////////////////////////////////////////////////////////////////////////
5244/// Slot called whenever the lego inner radius is modified by the user.
5245
5247{
5249 DoEditor();
5250}
5251
5252////////////////////////////////////////////////////////////////////////////////
5253/// Slot called whenever the frame fill color is modified by the user.
5254
5256{
5258 DoEditor();
5259}
5260
5261////////////////////////////////////////////////////////////////////////////////
5262/// Slot called whenever the frame fill style is modified by the user.
5263
5265{
5267 DoEditor();
5268}
5269
5270////////////////////////////////////////////////////////////////////////////////
5271/// Slot called whenever the frame line color is modified by the user.
5272
5274{
5276 DoEditor();
5277}
5278
5279////////////////////////////////////////////////////////////////////////////////
5280/// Slot called whenever the frame line width is modified by the user.
5281
5283{
5285 DoEditor();
5286}
5287
5288////////////////////////////////////////////////////////////////////////////////
5289/// Slot called whenever the frame line style is modified by the user.
5290
5292{
5294 DoEditor();
5295}
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
5322{
5324 DoEditor();
5325}
5326
5327////////////////////////////////////////////////////////////////////////////////
5328/// Slot called whenever the function line color is modified by the user.
5329
5331{
5333 DoEditor();
5334}
5335
5336////////////////////////////////////////////////////////////////////////////////
5337/// Slot called whenever the function line width is modified by the user.
5338
5340{
5342 DoEditor();
5343}
5344
5345////////////////////////////////////////////////////////////////////////////////
5346/// Slot called whenever the function line style is modified by the user.
5347
5349{
5351 DoEditor();
5352}
5353
5354////////////////////////////////////////////////////////////////////////////////
5355/// Slot called whenever the draw border boolean is modified by the user.
5356
5358{
5360 DoEditor();
5361}
5362
5363////////////////////////////////////////////////////////////////////////////////
5364/// Slot called whenever the end error size is modified by the user.
5365
5367{
5369 DoEditor();
5370}
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
5396 Int_t oneMonthInSecs;
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 }
5410 offset += oneMonthInSecs;
5411 }
5412
5413 Int_t oneYearInSecs;
5414 while (year < 1995) {
5415 if (year % 4) oneYearInSecs = 3600 * 24 * 365;
5416 else oneYearInSecs = 3600 * 24 * 366;
5417 offset -= oneYearInSecs;
5418 year++;
5419 }
5420 while (year > 1995) {
5421 year--;
5422 if (year % 4) oneYearInSecs = 3600 * 24 * 365;
5423 else oneYearInSecs = 3600 * 24 * 366;
5424 offset += oneYearInSecs;
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
5437{
5439 DoEditor();
5440}
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
5502{
5504 DoEditor();
5505}
5506
5507////////////////////////////////////////////////////////////////////////////////
5508/// Slot called whenever the X axis title size mode is modified by the user.
5509
5511{
5512 Int_t tmp = fCurSelStyle->GetTitleFont("X") / 10;
5513 Int_t mod = fCurSelStyle->GetTitleFont("X") % 10;
5515 if (b) {
5516 fCurSelStyle->SetTitleFont(tmp * 10 + 3, "X");
5520 if (mod == 2)
5522 } else {
5523 fCurSelStyle->SetTitleFont(tmp * 10 + 2, "X");
5527 if (mod == 3)
5529 }
5531 DoEditor();
5532}
5533
5534////////////////////////////////////////////////////////////////////////////////
5535/// Slot called whenever the X axis title color is modified by the user.
5536
5538{
5540 DoEditor();
5541}
5542
5543////////////////////////////////////////////////////////////////////////////////
5544/// Slot called whenever the X axis title offset is modified by the user.
5545
5547{
5549 DoEditor();
5550}
5551
5552////////////////////////////////////////////////////////////////////////////////
5553/// Slot called whenever the X axis title font is modified by the user.
5554
5556{
5557 Int_t fontPrec = fCurSelStyle->GetTitleFont("X") % 10;
5558 fCurSelStyle->SetTitleFont(fXTitleFont->GetSelected() * 10 + fontPrec, "X");
5559 DoEditor();
5560}
5561
5562////////////////////////////////////////////////////////////////////////////////
5563/// Slot called whenever the X axis label size is modified by the user.
5564
5566{
5568 DoEditor();
5569}
5570
5571////////////////////////////////////////////////////////////////////////////////
5572/// Slot called whenever the X axis label size mode is modified by the user.
5573
5575{
5576 Int_t tmp = fCurSelStyle->GetLabelFont("X") / 10;
5577 Int_t mod = fCurSelStyle->GetLabelFont("X") % 10;
5579 if (b) {
5580 fCurSelStyle->SetLabelFont(tmp * 10 + 3, "X");
5584 if (mod == 2)
5586 } else {
5587 fCurSelStyle->SetLabelFont(tmp * 10 + 2, "X");
5591 if (mod == 3)
5593 }
5595 DoEditor();
5596}
5597
5598////////////////////////////////////////////////////////////////////////////////
5599/// Slot called whenever the X axis label color is modified by the user.
5600
5602{
5604 DoEditor();
5605}
5606
5607////////////////////////////////////////////////////////////////////////////////
5608/// Slot called whenever the X axis label offset is modified by the user.
5609
5611{
5613 DoEditor();
5614}
5615
5616////////////////////////////////////////////////////////////////////////////////
5617/// Slot called whenever the X axis label font is modified by the user.
5618
5620{
5621 Int_t fontPrec = fCurSelStyle->GetLabelFont("X") % 10;
5622 fCurSelStyle->SetLabelFont(fXLabelFont->GetSelected() * 10 + fontPrec, "X");
5623 DoEditor();
5624}
5625
5626////////////////////////////////////////////////////////////////////////////////
5627/// Slot called whenever the X axis color is modified by the user.
5628
5630{
5632 DoEditor();
5633}
5634
5635////////////////////////////////////////////////////////////////////////////////
5636/// Slot called whenever the X axis tick length is modified by the user.
5637
5639{
5641 DoEditor();
5642}
5643
5644////////////////////////////////////////////////////////////////////////////////
5645/// Slot called whenever the X axis log scale boolean is modified
5646/// by the user.
5647
5649{
5651 DoEditor();
5652}
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
5672{
5674 DoEditor();
5675}
5676
5677////////////////////////////////////////////////////////////////////////////////
5678/// Slot called whenever the Y axis title size mode is modified by the user.
5679
5681{
5682 Int_t tmp = fCurSelStyle->GetTitleFont("Y") / 10;
5683 Int_t mod = fCurSelStyle->GetTitleFont("Y") % 10;
5685 if (b) {
5686 fCurSelStyle->SetTitleFont(tmp * 10 + 3, "Y");
5690 if (mod == 2)
5692 } else {
5693 fCurSelStyle->SetTitleFont(tmp * 10 + 2, "Y");
5697 if (mod == 3)
5699 }
5701 DoEditor();
5702}
5703
5704////////////////////////////////////////////////////////////////////////////////
5705/// Slot called whenever the Y axis title color is modified by the user.
5706
5708{
5710 DoEditor();
5711}
5712
5713////////////////////////////////////////////////////////////////////////////////
5714/// Slot called whenever the Y axis title offset is modified by the user.
5715
5717{
5719 DoEditor();
5720}
5721
5722////////////////////////////////////////////////////////////////////////////////
5723/// Slot called whenever the Y axis title font is modified by the user.
5724
5726{
5727 Int_t fontPrec = fCurSelStyle->GetTitleFont("Y") % 10;
5728 fCurSelStyle->SetTitleFont(fYTitleFont->GetSelected() * 10 + fontPrec, "Y");
5729 DoEditor();
5730}
5731
5732////////////////////////////////////////////////////////////////////////////////
5733/// Slot called whenever the Y axis label size is modified by the user.
5734
5736{
5738 DoEditor();
5739}
5740
5741////////////////////////////////////////////////////////////////////////////////
5742/// Slot called whenever the Y axis label size mode is modified by the user.
5743
5745{
5746 Int_t tmp = fCurSelStyle->GetLabelFont("Y") / 10;
5747 Int_t mod = fCurSelStyle->GetLabelFont("Y") % 10;
5749 if (b) {
5750 fCurSelStyle->SetLabelFont(tmp * 10 + 3, "Y");
5754 if (mod == 2)
5756 } else {
5757 fCurSelStyle->SetLabelFont(tmp * 10 + 2, "Y");
5761 if (mod == 3)
5763 }
5765 DoEditor();
5766}
5767
5768////////////////////////////////////////////////////////////////////////////////
5769/// Slot called whenever the Y axis label color is modified by the user.
5770
5772{
5774 DoEditor();
5775}
5776
5777////////////////////////////////////////////////////////////////////////////////
5778/// Slot called whenever the Y axis label offset is modified by the user.
5779
5781{
5783 DoEditor();
5784}
5785
5786////////////////////////////////////////////////////////////////////////////////
5787/// Slot called whenever the Y axis label font is modified by the user.
5788
5790{
5791 Int_t fontPrec = fCurSelStyle->GetLabelFont("Y") % 10;
5792 fCurSelStyle->SetLabelFont(fYLabelFont->GetSelected() * 10 + fontPrec, "Y");
5793 DoEditor();
5794}
5795
5796////////////////////////////////////////////////////////////////////////////////
5797/// Slot called whenever the Y axis color is modified by the user.
5798
5800{
5802 DoEditor();
5803}
5804
5805////////////////////////////////////////////////////////////////////////////////
5806/// Slot called whenever the Y axis tick length is modified by the user.
5807
5809{
5811 DoEditor();
5812}
5813
5814////////////////////////////////////////////////////////////////////////////////
5815/// Slot called whenever the Y axis log scale boolean is modified by the user.
5816
5818{
5820 DoEditor();
5821}
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
5841{
5843 DoEditor();
5844}
5845
5846////////////////////////////////////////////////////////////////////////////////
5847/// Slot called whenever the Z axis title size mode is modified by the user.
5848
5850{
5851 Int_t tmp = fCurSelStyle->GetTitleFont("Z") / 10;
5852 Int_t mod = fCurSelStyle->GetTitleFont("Z") % 10;
5854 if (b) {
5855 fCurSelStyle->SetTitleFont(tmp * 10 + 3, "Z");
5859 if (mod == 2)
5861 } else {
5862 fCurSelStyle->SetTitleFont(tmp * 10 + 2, "Z");
5866 if (mod == 3)
5868 }
5870 DoEditor();
5871}
5872
5873////////////////////////////////////////////////////////////////////////////////
5874/// Slot called whenever the Z axis title color is modified by the user.
5875
5877{
5879 DoEditor();
5880}
5881
5882////////////////////////////////////////////////////////////////////////////////
5883/// Slot called whenever the Z axis title offset is modified by the user.
5884
5886{
5888 DoEditor();
5889}
5890
5891////////////////////////////////////////////////////////////////////////////////
5892/// Slot called whenever the Z axis title font is modified by the user.
5893
5895{
5896 Int_t fontPrec = fCurSelStyle->GetTitleFont("Z") % 10;
5897 fCurSelStyle->SetTitleFont(fZTitleFont->GetSelected() * 10 + fontPrec, "Z");
5898 DoEditor();
5899}
5900
5901////////////////////////////////////////////////////////////////////////////////
5902/// Slot called whenever the Z axis label size is modified by the user.
5903
5905{
5907 DoEditor();
5908}
5909
5910////////////////////////////////////////////////////////////////////////////////
5911/// Slot called whenever the Z axis Label size mode is modified by the user.
5912
5914{
5915 Int_t tmp = fCurSelStyle->GetLabelFont("Z") / 10;
5916 Int_t mod = fCurSelStyle->GetLabelFont("Z") % 10;
5918 if (b) {
5919 fCurSelStyle->SetLabelFont(tmp * 10 + 3, "Z");
5923 if (mod == 2)
5925 } else {
5926 fCurSelStyle->SetLabelFont(tmp * 10 + 2, "Z");
5930 if (mod == 3)
5932 }
5934 DoEditor();
5935}
5936
5937////////////////////////////////////////////////////////////////////////////////
5938/// Slot called whenever the Z axis label color is modified by the user.
5939
5941{
5943 DoEditor();
5944}
5945
5946////////////////////////////////////////////////////////////////////////////////
5947/// Slot called whenever the Z axis label offset is modified by the user.
5948
5950{
5952 DoEditor();
5953}
5954
5955////////////////////////////////////////////////////////////////////////////////
5956/// Slot called whenever the Z axis label font is modified by the user.
5957
5959{
5960 Int_t fontPrec = fCurSelStyle->GetLabelFont("Z") % 10;
5961 fCurSelStyle->SetLabelFont(fZLabelFont->GetSelected() * 10 + fontPrec, "Z");
5962 DoEditor();
5963}
5964
5965////////////////////////////////////////////////////////////////////////////////
5966/// Slot called whenever the Z axis color is modified by the user.
5967
5969{
5971 DoEditor();
5972}
5973
5974////////////////////////////////////////////////////////////////////////////////
5975/// Slot called whenever the Z axis tick length is modified by the user.
5976
5978{
5980 DoEditor();
5981}
5982
5983////////////////////////////////////////////////////////////////////////////////
5984/// Slot called whenever the Z axis log scale boolean is modified by the user.
5985
5987{
5989 DoEditor();
5990}
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
6010{
6015 DoEditor();
6016}
6017
6018////////////////////////////////////////////////////////////////////////////////
6019/// Slot called whenever the title fill color is modified by the user.
6020
6022{
6024 DoEditor();
6025}
6026
6027////////////////////////////////////////////////////////////////////////////////
6028/// Slot called whenever the title fill style is modified by the user.
6029
6031{
6033 DoEditor();
6034}
6035
6036////////////////////////////////////////////////////////////////////////////////
6037/// Slot called whenever the title text color is modified by the user.
6038
6040{
6042 DoEditor();
6043}
6044
6045////////////////////////////////////////////////////////////////////////////////
6046/// Slot called whenever the text size is modified by the user.
6047
6049{
6051 DoEditor();
6052}
6053
6054////////////////////////////////////////////////////////////////////////////////
6055/// Slot called whenever the text size mode is modified by the user.
6056
6058{
6059 Int_t tmp = fCurSelStyle->GetTitleFont() / 10;
6060 Int_t mod = fCurSelStyle->GetTitleFont() % 10;
6062 if (b) {
6063 fCurSelStyle->SetTitleFont(tmp * 10 + 3);
6067 if (mod == 2)
6069 } else {
6070 fCurSelStyle->SetTitleFont(tmp * 10 + 2);
6074 if (mod == 3)
6076 }
6078 DoEditor();
6079}
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
6095{
6097 DoEditor();
6098}
6099
6100////////////////////////////////////////////////////////////////////////////////
6101/// Slot called whenever the title border size is modified by the user.
6102
6104{
6106 DoEditor();
6107}
6108
6109////////////////////////////////////////////////////////////////////////////////
6110/// Slot called whenever the legend border size is modified by the user.
6111
6113{
6115 DoEditor();
6116}
6117
6118////////////////////////////////////////////////////////////////////////////////
6119/// Slot called whenever the title abscissa is modified by the user.
6120
6122{
6124 DoEditor();
6125}
6126
6127////////////////////////////////////////////////////////////////////////////////
6128/// Slot called whenever the title ordinate is modified by the user.
6129
6131{
6133 DoEditor();
6134}
6135
6136////////////////////////////////////////////////////////////////////////////////
6137/// Slot called whenever the title width is modified by the user.
6138
6140{
6142 DoEditor();
6143}
6144
6145////////////////////////////////////////////////////////////////////////////////
6146/// Slot called whenever the title height is modified by the user.
6147
6149{
6151 DoEditor();
6152}
6153
6154////////////////////////////////////////////////////////////////////////////////
6155/// Slot called whenever the stats fill color is modified by the user.
6156
6158{
6160 DoEditor();
6161}
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
6176{
6178 DoEditor();
6179}
6180
6181////////////////////////////////////////////////////////////////////////////////
6182/// Slot called whenever the text size is modified by the user.
6183
6185{
6187 DoEditor();
6188}
6189
6190////////////////////////////////////////////////////////////////////////////////
6191/// Slot called whenever the text size mode is modified by the user.
6192
6194{
6195 Int_t tmp = fCurSelStyle->GetStatFont() / 10;
6196 Int_t mod = fCurSelStyle->GetStatFont() % 10;
6198 if (b) {
6199 fCurSelStyle->SetStatFont(tmp * 10 + 3);
6203 if (mod == 2)
6206 } else {
6207 fCurSelStyle->SetStatFont(tmp * 10 + 2);
6211 if (mod == 3)
6214 }
6216 DoEditor();
6217}
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
6233{
6235 DoEditor();
6236}
6237
6238////////////////////////////////////////////////////////////////////////////////
6239/// Slot called whenever the stats ordinate is modified by the user.
6240
6242{
6244 DoEditor();
6245}
6246
6247////////////////////////////////////////////////////////////////////////////////
6248/// Slot called whenever the stats width is modified by the user.
6249
6251{
6253 DoEditor();
6254}
6255
6256////////////////////////////////////////////////////////////////////////////////
6257/// Slot called whenever the stats height is modified by the user.
6258
6260{
6262 DoEditor();
6263}
6264
6265////////////////////////////////////////////////////////////////////////////////
6266/// Slot called whenever the stats border size is modified by the user.
6267
6269{
6271 DoEditor();
6272}
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
6303void TStyleManager::ModStatFormat(const char *sformat)
6304{
6305 fCurSelStyle->SetStatFormat(sformat);
6306 DoEditor();
6307}
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
6327void TStyleManager::ModFitFormat(const char *fitformat)
6328{
6329 fCurSelStyle->SetFitFormat(fitformat);
6330 DoEditor();
6331}
6332
6333////////////////////////////////////////////////////////////////////////////////
6334/// Slot called whenever the PS header is modified by the user.
6335
6337{
6339 DoEditor();
6340}
6341
6342////////////////////////////////////////////////////////////////////////////////
6343/// Slot called whenever the PS title is modified by the user.
6344
6346{
6348 DoEditor();
6349}
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
6367{
6369 DoEditor();
6370}
6371
6372////////////////////////////////////////////////////////////////////////////////
6373/// Slot called whenever the PS paper size is modified by the user.
6374
6376{
6377 Float_t papSizeX;
6378 Float_t papSizeY;
6379 fCurSelStyle->GetPaperSize(papSizeX, papSizeY);
6380
6381 if (fPaperSizePredef->GetSelected() == 1) {
6382 if (!fPaperSizeEnCm) {
6384 fPaperSizeX->SetNumber(papSizeX);
6385 fPaperSizeY->SetNumber(papSizeY);
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
virtual RooAbsTestStatistic * create(const char *name, const char *title, RooAbsReal &real, RooAbsData &data, const RooArgSet &projDeps, Configuration const &cfg)=0
short Style_t
Definition RtypesCore.h:89
int Int_t
Definition RtypesCore.h:45
float Float_t
Definition RtypesCore.h:57
constexpr Bool_t kFALSE
Definition RtypesCore.h:101
constexpr Bool_t kTRUE
Definition RtypesCore.h:100
#define ClassImp(name)
Definition Rtypes.h:377
@ kButtonDown
Definition TGButton.h:54
@ kButtonUp
Definition TGButton.h:53
#define gClient
Definition TGClient.h:156
@ 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:433
R__EXTERN TSystem * gSystem
Definition TSystem.h:555
#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:30
virtual Style_t GetFillStyle() const
Return the fill area style.
Definition TAttFill.h:31
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
Definition TAttFill.h:37
virtual void SetFillStyle(Style_t fstyle)
Set the fill area style.
Definition TAttFill.h:39
virtual Color_t GetLineColor() const
Return the line color.
Definition TAttLine.h:33
virtual void SetLineStyle(Style_t lstyle)
Set the line style.
Definition TAttLine.h:42
virtual Width_t GetLineWidth() const
Return the line width.
Definition TAttLine.h:35
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
Definition TAttLine.h:43
virtual void SetLineColor(Color_t lcolor)
Set the line color.
Definition TAttLine.h:40
virtual Style_t GetLineStyle() const
Return the line style.
Definition TAttLine.h:34
virtual Style_t GetMarkerStyle() const
Return the marker style.
Definition TAttMarker.h:32
virtual void SetMarkerColor(Color_t mcolor=1)
Set the marker color.
Definition TAttMarker.h:38
virtual Color_t GetMarkerColor() const
Return the marker color.
Definition TAttMarker.h:31
virtual Size_t GetMarkerSize() const
Return the marker size.
Definition TAttMarker.h:33
virtual void SetMarkerStyle(Style_t mstyle=1)
Set the marker style.
Definition TAttMarker.h:40
virtual void SetMarkerSize(Size_t msize=1)
Set the marker size.
Definition TAttMarker.h:45
virtual Float_t GetTextSize() const
Return the text size.
Definition TAttText.h:36
virtual void SetTextAlign(Short_t align=11)
Set the text alignment.
Definition TAttText.h:42
virtual Short_t GetTextAlign() const
Return the text alignment.
Definition TAttText.h:32
virtual Font_t GetTextFont() const
Return the text font.
Definition TAttText.h:35
virtual Color_t GetTextColor() const
Return the text color.
Definition TAttText.h:34
virtual void SetTextAngle(Float_t tangle=0)
Set the text angle.
Definition TAttText.h:43
virtual Float_t GetTextAngle() const
Return the text angle.
Definition TAttText.h:33
virtual void SetTextColor(Color_t tcolor=1)
Set the text color.
Definition TAttText.h:44
virtual void SetTextFont(Font_t tfont=62)
Set the text font.
Definition TAttText.h:46
virtual void SetTextSize(Float_t tsize=1)
Set the text size.
Definition TAttText.h:47
The Canvas class.
Definition TCanvas.h:23
void UseCurrentStyle() override
Force a copy of current style for all objects in canvas.
Definition TCanvas.cxx:1183
void Update() override
Update canvas pad buffers.
Definition TCanvas.cxx:2483
static ULong_t Number2Pixel(Int_t ci)
Static method that given a color index number, returns the corresponding pixel value.
Definition TColor.cxx:2320
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:1839
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
virtual Bool_t IsDown() const
Definition TGButton.cxx:301
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
UInt_t fWidth
Definition TGDimension.h:20
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
TGDimension GetDefaultSize() const override
Return default size of listbox widget.
void Resize(UInt_t w, UInt_t h) override
Resize the listbox widget.
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)
void Associate(const TGWindow *w) override
Make w the window that will receive the generated messages.
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
Pixmap_t GetPicture() const
Definition TGPicture.h:54
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:47
const char * GetTitle() const override
Returns title of object.
Definition TNamed.h:48
Mother of all ROOT objects.
Definition TObject.h:41
virtual const char * GetName() const
Returns name of object.
Definition TObject.cxx:439
virtual const char * ClassName() const
Returns name of class to which the object belongs.
Definition TObject.cxx:207
virtual void UseCurrentStyle()
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyl...
Definition TObject.cxx:801
void Modified(Bool_t flag=true) override
Mark pad modified Will be repainted when TCanvas::Update() will be called next time.
Definition TPad.cxx:7255
TObject * FindObject(const char *name) const override
Search if object named name is inside this pad or in pads inside this pad.
Definition TPad.cxx:2604
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).
void SetText(const char *helpText)
Set help text from helpText buffer in TGTextView.
void Popup()
Show help dialog.
Basic string class.
Definition TString.h:139
const char * Data() const
Definition TString.h:376
TString & Append(const char *cs)
Definition TString.h:572
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
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
Definition TString.cxx:2356
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:267
Int_t GetOptLogy() const
Definition TStyle.h:246
Color_t GetGridColor() const
Definition TStyle.h:220
Int_t GetOptStat() const
Definition TStyle.h:243
Color_t GetLabelColor(Option_t *axis="X") const
Return the label color number in the axis.
Definition TStyle.cxx:1105
void SetAxisColor(Color_t color=1, Option_t *axis="X")
Set color to draw the axis line and tick marks.
Definition TStyle.cxx:1319
void SetPadBorderMode(Int_t mode=1)
Definition TStyle.h:354
void SetOptTitle(Int_t tit=1)
Definition TStyle.h:332
void SetFrameLineColor(Color_t color=1)
Definition TStyle.h:370
void SetPadTopMargin(Float_t margin=0.1)
Definition TStyle.h:356
Color_t GetStatTextColor() const
Definition TStyle.h:256
void SetTitleX(Float_t x=0)
Definition TStyle.h:410
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:1636
void SetHistFillColor(Color_t color=1)
Definition TStyle.h:376
void SetLegoInnerR(Float_t rad=0.5)
Definition TStyle.h:314
void SetOptLogx(Int_t logx=1)
Definition TStyle.h:327
void SetDateX(Float_t x=0.01)
Definition TStyle.h:335
void SetStatFormat(const char *format="6.4g")
Definition TStyle.h:393
void SetPadBottomMargin(Float_t margin=0.1)
Definition TStyle.h:355
Float_t GetTitleX() const
Definition TStyle.h:278
void SetPaintTextFormat(const char *format="g")
Definition TStyle.h:383
Int_t GetOptTitle() const
Definition TStyle.h:244
void SetCanvasBorderSize(Width_t size=1)
Definition TStyle.h:342
Float_t GetScreenFactor() const
Definition TStyle.h:254
void SetCanvasDefX(Int_t topx=10)
Definition TStyle.h:346
Color_t GetHistLineColor() const
Definition TStyle.h:231
Int_t GetNdivisions(Option_t *axis="X") const
Return number of divisions.
Definition TStyle.cxx:1073
void SetFrameFillColor(Color_t color=1)
Definition TStyle.h:369
Int_t GetPadTickX() const
Definition TStyle.h:215
Color_t GetTitleColor(Option_t *axis="X") const
Return title color.
Definition TStyle.cxx:1200
Color_t GetFrameLineColor() const
Definition TStyle.h:224
Style_t GetGridStyle() const
Definition TStyle.h:221
void SetStatFont(Style_t font=62)
Definition TStyle.h:391
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:1336
Float_t GetStatFontSize() const
Definition TStyle.h:259
Float_t GetBarOffset() const
Definition TStyle.h:181
Float_t GetStatX() const
Definition TStyle.h:262
Float_t GetLabelSize(Option_t *axis="X") const
Return label size.
Definition TStyle.cxx:1141
void SetStatStyle(Style_t style=1001)
Definition TStyle.h:389
Color_t GetPadColor() const
Definition TStyle.h:206
void SetHistLineStyle(Style_t styl=0)
Definition TStyle.h:379
void SetPadRightMargin(Float_t margin=0.1)
Definition TStyle.h:358
Style_t GetHistFillStyle() const
Definition TStyle.h:232
void SetCanvasColor(Color_t color=19)
Definition TStyle.h:341
void SetTitleFont(Style_t font=62, Option_t *axis="X")
Definition TStyle.cxx:1771
Float_t GetPadRightMargin() const
Definition TStyle.h:212
Float_t GetTickLength(Option_t *axis="X") const
Return tick length.
Definition TStyle.cxx:1188
void SetCanvasDefH(Int_t h=500)
Definition TStyle.h:344
void SetTitleBorderSize(Width_t size=2)
Definition TStyle.h:405
void SaveSource(const char *filename, Option_t *option=nullptr)
Save the current style in a C++ macro file.
Definition TStyle.cxx:1965
Style_t GetFrameFillStyle() const
Definition TStyle.h:225
void SetStatTextColor(Color_t color=1)
Definition TStyle.h:388
void SetStatX(Float_t x=0)
Definition TStyle.h:394
Float_t GetTitleSize(Option_t *axis="X") const
Return title size.
Definition TStyle.cxx:1236
Float_t GetLegoInnerR() const
Definition TStyle.h:238
Style_t GetLabelFont(Option_t *axis="X") const
Return label font.
Definition TStyle.cxx:1117
void SetCanvasBorderMode(Int_t mode=1)
Definition TStyle.h:343
Float_t GetTitleY() const
Definition TStyle.h:279
void SetOptDate(Int_t datefl=1)
If optdate is non null, the current date/time will be printed in the canvas.
Definition TStyle.cxx:1542
void SetFrameFillStyle(Style_t styl=0)
Definition TStyle.h:371
Float_t GetDateX() const
Definition TStyle.h:196
void SetCanvasDefW(Int_t w=700)
Definition TStyle.h:345
void SetDateY(Float_t y=0.01)
Definition TStyle.h:336
Float_t GetTitleOffset(Option_t *axis="X") const
Return title offset.
Definition TStyle.cxx:1224
Color_t GetHistFillColor() const
Definition TStyle.h:230
void SetFrameBorderMode(Int_t mode=1)
Definition TStyle.h:375
Style_t GetTitleFont(Option_t *axis="X") const
Return title font.
Definition TStyle.cxx:1212
void SetFuncColor(Color_t color=1)
Definition TStyle.h:364
Bool_t GetHistMinimumZero() const
Definition TStyle.h:235
void SetHeaderPS(const char *header)
Define a string to be inserted in the Postscript header.
Definition TStyle.cxx:1358
Float_t GetStatY() const
Definition TStyle.h:263
void SetPadTickY(Int_t ticky)
Definition TStyle.h:362
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:1794
Color_t GetTitleFillColor() const
Definition TStyle.h:269
Int_t GetCanvasDefH() const
Definition TStyle.h:190
void SetColorModelPS(Int_t c=0)
Define the color model used by TPostScript and TPDF (RGB or CMYK).
Definition TStyle.cxx:1271
Style_t GetTitleStyle() const
Definition TStyle.h:271
void SetPadTickX(Int_t tickx)
Definition TStyle.h:361
Float_t GetLabelOffset(Option_t *axis="X") const
Return label offset.
Definition TStyle.cxx:1129
Int_t GetCanvasDefX() const
Definition TStyle.h:192
Int_t GetOptDate() const
Definition TStyle.h:240
Bool_t GetPadGridY() const
Definition TStyle.h:214
Color_t GetStatColor() const
Definition TStyle.h:255
void SetPadGridX(Bool_t gridx)
Definition TStyle.h:359
void SetTitleTextColor(Color_t color=1)
Definition TStyle.h:402
Float_t GetPadLeftMargin() const
Definition TStyle.h:211
Double_t GetHatchesSpacing() const
Definition TStyle.h:200
Width_t GetLegendBorderSize() const
Definition TStyle.h:201
void SetStatBorderSize(Width_t size=2)
Definition TStyle.h:390
Float_t GetBarWidth() const
Definition TStyle.h:182
void SetGridColor(Color_t color=0)
Definition TStyle.h:367
Int_t GetColorModelPS() const
Definition TStyle.h:195
void SetGridStyle(Style_t style=3)
Definition TStyle.h:366
void SetErrorX(Float_t errorx=0.5)
Definition TStyle.h:338
Int_t GetCanvasDefY() const
Definition TStyle.h:193
void SetTitleColor(Color_t color=1, Option_t *axis="X")
Definition TStyle.cxx:1750
void SetNumberContours(Int_t number=20)
Set the default number of contour levels when drawing 2-d plots.
Definition TStyle.cxx:1496
void SetLabelFont(Style_t font=62, Option_t *axis="X")
Set font number used to draw axis labels.
Definition TStyle.cxx:1409
void SetTitleFontSize(Float_t size=0)
Definition TStyle.h:404
void SetDrawBorder(Int_t drawborder=1)
Definition TStyle.h:340
Width_t GetFrameBorderSize() const
Definition TStyle.h:228
void SetTimeOffset(Double_t toffset)
Change the time offset for time plotting.
Definition TStyle.cxx:1909
void SetTitlePS(const char *pstitle)
Define a string to be used in the %Title of the Postscript files.
Definition TStyle.cxx:1379
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:1284
Bool_t GetPadGridX() const
Definition TStyle.h:213
Float_t GetStatH() const
Definition TStyle.h:265
void SetPadLeftMargin(Float_t margin=0.1)
Definition TStyle.h:357
void SetStatH(Float_t h=0.1)
Definition TStyle.h:397
void SetPadGridY(Bool_t gridy)
Definition TStyle.h:360
void SetOptLogy(Int_t logy=1)
Definition TStyle.h:328
Width_t GetGridWidth() const
Definition TStyle.h:222
Color_t GetFuncColor() const
Definition TStyle.h:217
void SetLegendBorderSize(Width_t size=4)
Definition TStyle.h:348
TAttText * GetAttDate()
Definition TStyle.h:167
Int_t GetPadTickY() const
Definition TStyle.h:216
Width_t GetPadBorderSize() const
Definition TStyle.h:207
void SetStripDecimals(Bool_t strip=kTRUE)
Set option to strip decimals when drawing axis labels.
Definition TStyle.cxx:1922
Width_t GetTitleBorderSize() const
Definition TStyle.h:273
void SetHistLineColor(Color_t color=1)
Definition TStyle.h:377
void SetLabelOffset(Float_t offset=0.005, Option_t *axis="X")
Set offset between axis and axis labels.
Definition TStyle.cxx:1425
void SetFitFormat(const char *format="5.4g")
Definition TStyle.h:299
Float_t GetErrorX() const
Definition TStyle.h:185
void SetCanvasDefY(Int_t topy=10)
Definition TStyle.h:347
void SetTitleSize(Float_t size=0.02, Option_t *axis="X")
Definition TStyle.cxx:1813
void SetTitleFillColor(Color_t color=1)
Definition TStyle.h:401
Color_t GetCanvasColor() const
Definition TStyle.h:187
void SetTitleAlign(Int_t a=13)
Definition TStyle.h:400
void SetBarOffset(Float_t baroff=0.5)
Definition TStyle.h:333
void SetPaperSize(EPaperSize size)
Set paper size for PostScript output.
Definition TStyle.cxx:1700
Float_t GetEndErrorSize() const
Definition TStyle.h:184
Float_t GetPadBottomMargin() const
Definition TStyle.h:209
void SetFrameLineWidth(Width_t width=1)
Definition TStyle.h:373
void SetTickLength(Float_t length=0.03, Option_t *axis="X")
Set the tick marks length for an axis.
Definition TStyle.cxx:1731
void SetNdivisions(Int_t n=510, Option_t *axis="X")
Set the number of divisions to draw an axis.
Definition TStyle.cxx:1305
Width_t GetFuncWidth() const
Definition TStyle.h:219
void SetFuncWidth(Width_t width=4)
Definition TStyle.h:365
Int_t GetDrawBorder() const
Definition TStyle.h:183
void SetOptLogz(Int_t logz=1)
Definition TStyle.h:329
const char * GetTitlePS() const
Definition TStyle.h:283
Int_t GetCanvasDefW() const
Definition TStyle.h:191
void SetFrameBorderSize(Width_t size=1)
Definition TStyle.h:374
Width_t GetStatBorderSize() const
Definition TStyle.h:257
void GetPaperSize(Float_t &xsize, Float_t &ysize) const
Set paper size for PostScript output.
Definition TStyle.cxx:1179
Int_t GetStripDecimals() const
Definition TStyle.h:266
void SetTitleW(Float_t w=0)
Definition TStyle.h:412
Style_t GetHistLineStyle() const
Definition TStyle.h:233
void SetTitleStyle(Style_t style=1001)
Definition TStyle.h:403
void SetStatFontSize(Float_t size=0)
Definition TStyle.h:392
void SetStatColor(Color_t color=19)
Definition TStyle.h:387
void SetPadColor(Color_t color=19)
Definition TStyle.h:352
void SetStatW(Float_t w=0.19)
Definition TStyle.h:396
void SetHatchesSpacing(Double_t h)
Definition TStyle.h:302
void SetTitleH(Float_t h=0)
Definition TStyle.h:413
virtual void Reset(Option_t *option="")
Reset.
Definition TStyle.cxx:694
Color_t GetTitleTextColor() const
Definition TStyle.h:270
void SetBarWidth(Float_t barwidth=0.5)
Definition TStyle.h:334
void SetStatY(Float_t y=0)
Definition TStyle.h:395
Int_t GetOptLogx() const
Definition TStyle.h:245
Float_t GetTitleH() const
Definition TStyle.h:281
Style_t GetStatStyle() const
Definition TStyle.h:260
void SetTitleY(Float_t y=0.985)
Definition TStyle.h:411
void SetHistFillStyle(Style_t styl=0)
Definition TStyle.h:378
Width_t GetHistLineWidth() const
Definition TStyle.h:234
Style_t GetFrameLineStyle() const
Definition TStyle.h:226
Float_t GetStatW() const
Definition TStyle.h:264
Float_t GetDateY() const
Definition TStyle.h:197
const char * GetFitFormat() const
Definition TStyle.h:198
void SetScreenFactor(Float_t factor=1)
Definition TStyle.h:315
void SetHatchesLineWidth(Int_t l)
Definition TStyle.h:301
Int_t GetCanvasBorderMode() const
Definition TStyle.h:189
Int_t GetPadBorderMode() const
Definition TStyle.h:208
void SetGridWidth(Width_t width=1)
Definition TStyle.h:368
const char * GetHeaderPS() const
Definition TStyle.h:282
const char * GetStatFormat() const
Definition TStyle.h:261
void SetFuncStyle(Style_t style=1)
Definition TStyle.h:363
Width_t GetCanvasBorderSize() const
Definition TStyle.h:188
Int_t GetOptFit() const
Definition TStyle.h:242
Int_t GetNumberContours() const
Definition TStyle.h:239
void SetHistLineWidth(Width_t width=1)
Definition TStyle.h:380
const char * GetPaintTextFormat() const
Definition TStyle.h:248
Float_t GetLineScalePS() const
Definition TStyle.h:287
void SetLabelColor(Color_t color=1, Option_t *axis="X")
Set axis labels color.
Definition TStyle.cxx:1389
Style_t GetStatFont() const
Definition TStyle.h:258
void SetLabelSize(Float_t size=0.04, Option_t *axis="X")
Set size of axis labels.
Definition TStyle.cxx:1440
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:1589
Int_t GetOptLogz() const
Definition TStyle.h:247
void SetPadBorderSize(Width_t size=1)
Definition TStyle.h:353
Style_t GetFuncStyle() const
Definition TStyle.h:218
Float_t GetTitleFontSize() const
Definition TStyle.h:272
void SetFrameLineStyle(Style_t styl=0)
Definition TStyle.h:372
Int_t GetHatchesLineWidth() const
Definition TStyle.h:199
Int_t GetTitleAlign() const
Definition TStyle.h:268
Color_t GetAxisColor(Option_t *axis="X") const
Return the axis color number in the axis.
Definition TStyle.cxx:1085
Int_t GetFrameBorderMode() const
Definition TStyle.h:229
Float_t GetPadTopMargin() const
Definition TStyle.h:210
void SetLineScalePS(Float_t scale=3)
Definition TStyle.h:306
Width_t GetFrameLineWidth() const
Definition TStyle.h:227
Color_t GetFrameFillColor() const
Definition TStyle.h:223
Float_t GetTitleW() const
Definition TStyle.h:280
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