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// //
14// TStyleManager //
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//Begin_Html
29/*
30<img src="gif/StyleManager.gif">
31*/
32//End_Html
33// //
34// The combo box 'Available Styles' contains the list of available //
35// styles for the current ROOT session and shows the currently //
36// selected one. The field on the right shows the setting of the gStyle.//
37// You can set the global variable gStyle to the selected style by //
38// clicking on the button in the middle. //
39// The group frame 'Apply on' displays information for the currently //
40// selected canvas and object in the ROOT session. This selection might //
41// be changed by clicking on another object with the middle mouse //
42// button. You have a choice to apply a style on the selected object or //
43// on all available canvases. //
44// WARNING: You cannot undo the changes after applying the style! If //
45// you are not sure of that action, it may be better to see a preview //
46// of what you are going to apply. //
47// If the check button 'Preview' is selected, a preview of the selected //
48// canvas according to the selected style will be shown. The selection //
49// of the next check button 'Run Time Preview' will apply updates of //
50// the preview any time a value of the selected style is changed. For //
51// drawings that take a time it is better to disable this option. //
52// //
53// Create a new style: //
54// A new style can be created via the Style menu/New... or the toolbar. //
55// A clone of the selected style will be used as a base of the new //
56// style. All its values can be modified via the style editor later. //
57// The dialog that appears will ask for the name and description of the //
58// new style. //
59// //
60// Import a style (from a macro): //
61// A style macro can be imported at any time. The new imported style in //
62// the ROOT session will become the selected one. //
63// //
64// Import a style (from a canvas): //
65// You can do that selecting the Style menu/Import from.../Canvas or //
66// the corresponding Tool bar button. A new style will be created in the//
67// ROOT session and will become the selected one. This style is a clone //
68// of the gStyle with modified values as they are set in the currently //
69// selected canvas. You can import a style from any canvas and apply it //
70// later on some objects. //
71// //
72// Export a style (in a C++ macro file): //
73// To store a style longer than for the current ROOT session you can //
74// save it in a C++ macro file. This can be done via the menu or the //
75// tool bar button. There is a naming convention for the style macros: //
76// the name must be 'Style_*.C', where * can be replaced by anything //
77// you want. //
78// //
79// Delete a style: //
80// The selected style can be deleted from the list when you use the //
81// Style menu/Delete or the corresponding tool bar button. The selected //
82// style is removed from the list of all available styles for the //
83// current ROOT session. WARRNING: it will be lost if you didn't saved //
84// it in a C++ macro file before its deletion. Also, you cannot delete //
85// the selected style if it is set to gStyle. A message 'Can not delete //
86// gStyle' will be displayed on the CINT prompt. //
87// //
88//Begin_Html
89/*
90<img src="gif/StyleEditor.gif">
91*/
92//End_Html
93// //
94// Editor's buttons: //
95// Open / close the style editor: //
96// The button 'Edit >>' opens the style editor and its label changes to //
97// 'Close <<'. For all details of what can be changed and how please see//
98// the provided Help. //
99// //
100// Reset a style (to a previously saved state): //
101// When the editor is opened, the 'Reset' button allows you to reset //
102// the values of the selected style for editing. Doing that you cancel //
103// all changes made since the last time you saved that style in a macro.//
104// If the selected style is one of the five ROOT styles (Plain, Bold, //
105// Video, Pub or Default), it will be recreated. //
106// //
107// Update the preview: //
108// The button 'Update Preview' is available when a preview is shown and //
109// the run time option is not selected. This button allows you to //
110// refresh the preview any time you want to see how the style you edit //
111// looks like. //
112// //
113// Help button: //
114// Provides a help of the currently selected tab. //
115// //
116//////////////////////////////////////////////////////////////////////////
117
118#include "TStyleManager.h"
119#include "TStyleDialog.h"
120#include "TStylePreview.h"
121#include "HelpSMText.h"
122
123#include <TCanvas.h>
124#include <TColor.h>
125#include <TG3DLine.h>
126#include <TGButton.h>
127#include <TGButtonGroup.h>
128#include <TGColorSelect.h>
129#include <TGComboBox.h>
130#include <TGedMarkerSelect.h>
131#include <TGedPatternSelect.h>
132#include <TGFileDialog.h>
133#include <TGLabel.h>
134#include <TGLayout.h>
135#include <TGMenu.h>
136#include <TGNumberEntry.h>
137#include <TGResourcePool.h>
138#include <TGStatusBar.h>
139#include <TGTab.h>
140#include <TGToolBar.h>
141#include <TROOT.h>
142#include <snprintf.h>
143#include <TRootHelpDialog.h>
144#include <TStyle.h>
145#include <TSystem.h>
146#include <TVirtualPad.h>
147#include <TVirtualX.h>
148
150
152
171
178
190
194
213
233
250
262
273
280
285
303
321
339
354
382
393
394const char *kFiletypes[] = { "ROOT macros", "Style_*.C",
395 0, 0 };
396
397////////////////////////////////////////////////////////////////////////////////
398/// Constructor. Create the main window of the style manager.
399
401{
402 SetWindowName("Style Manager");
404
405 // Initialization: no selected style, no preview, no signal/slots,
406 // no selected object, no current macro file.
407 fCurSelStyle = 0;
408 fCurMacro = 0;
409 fCurPad = 0;
410 fCurObj = 0;
411 fPreviewWindow = 0;
413 fCurTabNum = 0;
414 fCurTabAxisNum = 0;
418
419 // Create the trash lists to have an effective deletion of every object.
420 fTrashListLayout = new TList();
421 fTrashListFrame = new TList();
422
423 // To avoid to create a lot a copies of the often used layouts.
434
435 // Build the graphical interface.
436 AddMenus(this);
437 AddToolbar(this);
439 AddEdition(this);
440
441 // Add status bar.
442 fStatusBar = new TGStatusBar(this, 50, 10, kVerticalFrame);
443 Int_t parts[] = { 20, 30, 50 };
444 fStatusBar->SetParts(parts, 3);
447
448 // Initialize the layout algorithm and map the main frame.
451 MapWindow();
452
453 // Ensure the editor will be visible (not out of the screen's range) when
454 // the user will press the 'More' button, if they didn't move the window.
455 Int_t x, y;
456 UInt_t w, h;
457 gVirtualX->GetWindowSize(GetId(), x, y, w, h);
458 fSMWidth = w;
459 fSMHeight = h;
460 if (fSMWidth < 467) fSMWidth = 467;
461 if (fSMHeight < 708) fSMHeight = 708;
462 Window_t win;
463 gVirtualX->TranslateCoordinates(GetId(), GetParent()->GetId(), 0, 0, x, y, win);
464 x -= 6;
465 y -= 21;
466 MoveResize(x, TMath::Max(TMath::Min(y, (Int_t) (gClient->GetDisplayHeight() - h)), 0), w, h);
467
468 // Only the top level interface is shown, at the begining.
469 DoMoreLess();
470
471 // Connect all widgets (excluding editor).
472 ConnectAll();
473
474 Init();
475}
476
477////////////////////////////////////////////////////////////////////////////////
478/// Destructor.
479
481{
482 // Disconnect all widgets
485
486 if (fPreviewWindow) {
488 delete fPreviewWindow;
489 }
490
491 // Delete every graphical data member,
492 // excluding fPreviewWindow and fLayout[..].
493 gClient->FreePicture(fToolBarNewPic);
494 gClient->FreePicture(fToolBarDeletePic);
495 gClient->FreePicture(fToolBarImportCanvasPic);
496 gClient->FreePicture(fToolBarImportMacroPic);
497 gClient->FreePicture(fToolBarExportPic);
498 gClient->FreePicture(fToolBarHelpPic);
499 gClient->FreePicture(fMakeDefaultPic);
500
501 delete fImportCascade;
502 delete fMenuStyle;
503 delete fMenuHelp;
504 delete fMenuBar;
505
506 delete fToolBar;
507 delete fToolBarNew;
508 delete fToolBarDelete;
510 delete fToolBarImportMacro;
511 delete fToolBarExport;
512 delete fToolBarHelp;
513 delete fHorizontal3DLine;
514
515 delete fListLabel;
516 delete fListComboBox;
517 delete fCurMacro;
518 delete fCurStylabel;
519 delete fCurStyle;
520 delete fCurPadLabel;
521 delete fCurPadTextEntry;
522 delete fCurObjLabel;
523 delete fCurObjTextEntry;
524 delete fPreviewButton;
525 delete fPreviewRealTime;
526 delete fMakeDefault;
527
528 delete fApplyOnGroup;
529 delete fApplyOnAll;
530 delete fApplyOnSel;
531 delete fApplyOnButton;
532 delete fMoreLess;
533
534 delete fFillColor;
535 delete fFillStyle;
536 delete fHatchesLineWidth;
537 delete fHatchesSpacing;
538 delete fTextColor;
539 delete fTextSize;
540 delete fTextSizeInPixels;
541 delete fTextFont;
542 delete fTextAlign;
543 delete fTextAngle;
544 delete fLineColor;
545 delete fLineWidth;
546 delete fLineStyle;
547 delete fLineStyleEdit;
548 delete fMarkerColor;
549 delete fMarkerStyle;
550 delete fMarkerSize;
551 delete fScreenFactor;
552 delete fCanvasColor;
553 delete fCanvasDefX;
554 delete fCanvasDefY;
555 delete fCanvasDefW;
556 delete fCanvasDefH;
557 delete fCanvasBorderMode;
558 delete fCanvasBorderSize;
559 delete fOptDateBool;
560 delete fAttDateTextColor;
561 delete fAttDateTextSize;
563 delete fOptDateFormat;
564 delete fAttDateTextFont;
565 delete fAttDateTextAngle;
566 delete fAttDateTextAlign;
567 delete fDateX;
568 delete fDateY;
569 delete fPadLeftMargin;
570 delete fPadRightMargin;
571 delete fPadTopMargin;
572 delete fPadBottomMargin;
573 delete fPadBorderMode;
574 delete fPadBorderSize;
575 delete fPadColor;
576 delete fPadTickX;
577 delete fPadTickY;
578 delete fPadGridX;
579 delete fPadGridY;
580 delete fGridColor;
581 delete fGridWidth;
582 delete fGridStyle;
583 delete fHistFillColor;
584 delete fHistFillStyle;
585 delete fHistLineColor;
586 delete fHistLineWidth;
587 delete fHistLineStyle;
588 delete fBarWidth;
589 delete fBarOffset;
590 delete fHistMinimumZero;
591 delete fPaintTextFormat;
592 delete fNumberContours;
593 delete fLegoInnerR;
594 delete fFrameFillColor;
595 delete fFrameFillStyle;
596 delete fFrameLineColor;
597 delete fFrameLineWidth;
598 delete fFrameLineStyle;
599 delete fPaletteEdit;
600 delete fFrameBorderMode;
601 delete fFrameBorderSize;
602 delete fFuncColor;
603 delete fFuncWidth;
604 delete fFuncStyle;
605 delete fDrawBorder;
606 delete fEndErrorSize;
607 delete fErrorX;
608 delete fTimeOffsetDate;
609 delete fTimeOffsetTime;
610 delete fStripDecimals;
611 delete fApplyOnXYZ;
612 delete fXTitleSize;
613 delete fXTitleSizeInPixels;
614 delete fXTitleColor;
615 delete fXTitleOffset;
616 delete fXTitleFont;
617 delete fXLabelSize;
618 delete fXLabelSizeInPixels;
619 delete fXLabelColor;
620 delete fXLabelOffset;
621 delete fXLabelFont;
622 delete fXAxisColor;
623 delete fXTickLength;
624 delete fOptLogx;
625 delete fXNdivMain;
626 delete fXNdivSub;
627 delete fXNdivSubSub;
629 delete fYTitleSize;
630 delete fYTitleSizeInPixels;
631 delete fYTitleColor;
632 delete fYTitleOffset;
633 delete fYTitleFont;
634 delete fYLabelSize;
635 delete fYLabelSizeInPixels;
636 delete fYLabelColor;
637 delete fYLabelOffset;
638 delete fYLabelFont;
639 delete fYAxisColor;
640 delete fYTickLength;
641 delete fOptLogy;
642 delete fYNdivMain;
643 delete fYNdivSub;
644 delete fYNdivSubSub;
646 delete fZTitleSize;
647 delete fZTitleSizeInPixels;
648 delete fZTitleColor;
649 delete fZTitleOffset;
650 delete fZTitleFont;
651 delete fZLabelSize;
652 delete fZLabelSizeInPixels;
653 delete fZLabelColor;
654 delete fZLabelOffset;
655 delete fZLabelFont;
656 delete fZAxisColor;
657 delete fZTickLength;
658 delete fOptLogz;
659 delete fZNdivMain;
660 delete fZNdivSub;
661 delete fZNdivSubSub;
663 delete fOptTitle;
664 delete fTitleColor;
665 delete fTitleStyle;
666 delete fTitleTextColor;
667 delete fTitleFontSize;
669 delete fTitleFont;
670 delete fTitleAlign;
672 delete fTitleBorderSize;
673 delete fTitleX;
674 delete fTitleY;
675 delete fTitleW;
676 delete fTitleH;
678 delete fLegendBorderSize;
679 delete fStatColor;
680 delete fStatStyle;
681 delete fStatTextColor;
682 delete fStatFontSize;
684 delete fStatFont;
685 delete fStatX;
686 delete fStatY;
687 delete fStatW;
688 delete fStatH;
690 delete fStatBorderSize;
691 delete fOptStatName;
692 delete fOptStatEntries;
693 delete fOptStatOverflow;
694 delete fOptStatMean;
695 delete fOptStatUnderflow;
696 delete fOptStatRMS;
697 delete fOptStatSkewness;
698 delete fOptStatIntegral;
699 delete fOptStatKurtosis;
700 delete fOptStatErrors;
701 delete fStatFormatLabel;
702 delete fStatFormat;
703 delete fOptFitValues;
704 delete fOptFitErrors;
705 delete fOptFitProbability;
706 delete fOptFitChi;
707 delete fFitFormatLabel;
708 delete fFitFormat;
709 delete fHeaderPS;
710 delete fTitlePS;
711 delete fColorModelPS;
712 delete fColorModelPSRGB;
713 delete fColorModelPSCMYK;
714 delete fLineScalePS;
715 delete fPaperSizePredef;
716 delete fPaperSizeX;
717 delete fPaperSizeY;
718 delete fEditionHelp;
720 delete fEditionReset;
721 delete fEditionButtonFrame;
722 delete fHistosTab;
723 delete fAxisTab;
724 delete fEditionTab;
725 delete fEditionFrame;
726
727 delete fStatusBar;
728
729 // Delete the temporary frames and layout.
730 TObject *obj1;
731 TObject *obj2;
732
733 obj1 = fTrashListFrame->First();
734 while (obj1) {
735 obj2 = fTrashListFrame->After(obj1);
736 fTrashListFrame->Remove(obj1);
737 delete obj1;
738 obj1 = obj2;
739 }
740 delete fTrashListFrame;
741
742 obj1 = fTrashListLayout->First();
743 while (obj1) {
744 obj2 = fTrashListLayout->After(obj1);
746 delete obj1;
747 obj1 = obj2;
748 }
749 delete fTrashListLayout;
750
751 fgStyleManager = 0;
752}
753
754////////////////////////////////////////////////////////////////////////////////
755///static: return style manager
756
758{
759 return fgStyleManager;
760}
761
762////////////////////////////////////////////////////////////////////////////////
763/// Set up the interface. Called by the ctor or by the 'Show' method.
764
766{
767 // Build the list of available styles and select gStyle.
769
770 // Show the current object.
771 if ((gROOT->GetSelectedPad()) && (gROOT->GetSelectedPad()->GetCanvas())) {
772 DoSelectCanvas(gROOT->GetSelectedPad()->GetCanvas(),
773 gROOT->GetSelectedPad()->GetCanvas(), kButton2Down);
774 } else {
776 }
777}
778
779////////////////////////////////////////////////////////////////////////////////
780/// Called to hide the style manager.
781
783{
784 if (fgStyleManager) {
786 }
787}
788
789////////////////////////////////////////////////////////////////////////////////
790/// Called to show the style manager. Static method.
791
793{
794 if (fgStyleManager) {
796 if (!fgStyleManager->IsMapped()) {
798 }
799 } else {
800 TStyleManager::GetSM() = new TStyleManager(gClient->GetRoot());
801 }
802}
803
804////////////////////////////////////////////////////////////////////////////////
805/// Called to delete the style manager. Called when the ROOT session is
806/// closed via a canvas' menu.
807
809{
810 delete fgStyleManager;
811 fgStyleManager = 0;
812}
813
814////////////////////////////////////////////////////////////////////////////////
815/// Add the menu bar to the frame 'p'.
816
818{
819 fMenuBar = new TGMenuBar(p);
820
821 fMenuStyle = new TGPopupMenu(gClient->GetRoot());
822 fMenuStyle->Associate(this);
823 fMenuStyle->AddEntry("&New...", kMenuNew);
824 fMenuStyle->AddEntry("&Delete", kMenuDelete);
826 fMenuStyle->AddEntry("&Rename...", kMenuRename);
828 fImportCascade = new TGPopupMenu(gClient->GetRoot());
832 fMenuStyle->AddPopup("&Import From...", fImportCascade);
833
834 fMenuStyle->AddEntry("&Export...", kMenuExport);
836 fMenuStyle->AddEntry("&Close", kMenuExit);
838 fTrashListLayout->Add(layout1);
839 fMenuBar->AddPopup("&Style", fMenuStyle, layout1);
840
841 fMenuHelp = new TGPopupMenu(gClient->GetRoot());
842 fMenuHelp->Associate(this);
843 fMenuHelp->AddEntry("Top &level", kMenuHelp);
845 fMenuHelp->AddEntry("&General", kMenuHelpGeneral);
848 fMenuHelp->AddEntry("&Histograms", kMenuHelpHistos);
852 fMenuHelp->AddEntry("&PS / PDF", kMenuHelpPSPDF);
854 fTrashListLayout->Add(layout2);
855 fMenuBar->AddPopup("&Help", fMenuHelp, layout2);
856
858}
859
860////////////////////////////////////////////////////////////////////////////////
861/// Create a new style. Called via the menu bar or the tool bar.
862
864{
865 // Open a message box to allow the user to create a new style.
866 new TStyleDialog(this, fCurSelStyle, 1, 0);
867
868 // Create the list of available styles, and select:
869 // - the new style, if it has been created (Ok).
870 // - the previous selected style, if no style has been created (Cancel).
871 if (fLastChoice) BuildList();
873}
874
875////////////////////////////////////////////////////////////////////////////////
876/// Delete the current selected style from the ROOT session.
877/// Called via the menu or the tool bar.
878
880{
881 // Protection: the user is NOT allowed to delete gStyle.
882 // As a consequence, there is always at least one style in the ROOT session.
883 if (fCurSelStyle == gStyle) {
884 printf("Can not delete gStyle.\n");
885 return;
886 }
887
888 delete fCurSelStyle;
889 fCurSelStyle = 0;
890
892}
893
894////////////////////////////////////////////////////////////////////////////////
895/// Rename the current selected style. Called via the menu bar.
896
898{
899 new TStyleDialog(this, fCurSelStyle, 2, 0);
900
901 // Create the list of styles and select the previous selected style.
903}
904
905////////////////////////////////////////////////////////////////////////////////
906/// Save the current selected style in a C++ macro file. Called via the menu
907/// or the tool bar.
908
910{
911 // Create an associated macro and propose a pertinent name to the user.
912 CreateMacro();
913 TString newName;
914 newName.Form("Style_%s.C", fCurSelStyle->GetName());
915
916 // Protection: The user isn't allowed to export a style if the output
917 // file name isn't based on the "Style_*.C" mask, without spaces.
918 char* tmpFileName;
919 const char* tmpBaseName;
920 do {
921 fCurMacro->SetFilename(newName.Data());
922
923 // Open a dialog to ask the user to choose an output file.
924 new TGFileDialog(gClient->GetRoot(), this, kFDSave, fCurMacro);
925 tmpFileName = fCurMacro->fFilename;
926 if (tmpFileName) tmpBaseName = gSystem->BaseName(tmpFileName);
927 else tmpBaseName = 0;
928 } while (tmpBaseName && (strstr(tmpBaseName, "Style_") != tmpBaseName)
929 && (strstr(tmpBaseName, " ") != 0));
930
931 if (tmpBaseName != 0) {
932 // Export the style.
934 fCurMacro->SetFilename(tmpBaseName);
936 }
937
939}
940
941////////////////////////////////////////////////////////////////////////////////
942/// Close the style manager. Called via the menu bar.
943
945{
946// SendCloseMessage(); // Doesn't delete the StyleManager. Hides it.
947 delete this;
948}
949
950////////////////////////////////////////////////////////////////////////////////
951/// Open an help window. Called via the menu bar or the tool bar.
952
954{
955 TRootHelpDialog *hd;
956 switch (i) {
957 case 0:
958 hd = new TRootHelpDialog(this, "Help on General Tab", 600, 400);
960 break;
961 case 1:
962 hd = new TRootHelpDialog(this, "Help on Canvas Tab", 600, 400);
964 break;
965 case 2:
966 hd = new TRootHelpDialog(this, "Help on Pad Tab", 600, 400);
967 hd->SetText(gHelpSMPad);
968 break;
969 case 3:
970 hd = new TRootHelpDialog(this, "Help on Histograms Tab", 600, 400);
972 break;
973 case 4:
974 hd = new TRootHelpDialog(this, "Help on Axis Tab", 600, 400);
975 hd->SetText(gHelpSMAxis);
976 break;
977 case 5:
978 hd = new TRootHelpDialog(this, "Help on Title Tab", 600, 400);
980 break;
981 case 6:
982 hd = new TRootHelpDialog(this, "Help on Stats Tab", 600, 400);
984 break;
985 case 7:
986 hd = new TRootHelpDialog(this, "Help on PS / PDF Tab", 600, 400);
988 break;
989 default:
990 hd = new TRootHelpDialog(this, "Help on Top Level", 600, 400);
992 }
993 hd->Popup();
994}
995
996////////////////////////////////////////////////////////////////////////////////
997/// Create a new style (a copy of gStyle) and import the properties of the
998/// current canvas inside.
999
1001{
1002 if ((!fCurPad) || (!fCurObj)) return;
1003
1004 new TStyleDialog(this, gStyle, 3, fCurPad);
1005
1006 // Create the list of available style, and select:
1007 // - the new style, if it has been created
1008 // - the previous selected style, if no style has been created (Cancel)
1009 if (fLastChoice) {
1010 BuildList();
1011
1012 // Auto export of the canvas' style.
1013 CreateMacro();
1014 TString newName;
1015 newName.Form("Style_%s.C", fCurSelStyle->GetName());
1016 fCurMacro->SetFilename(newName.Data());
1018 } else {
1020 }
1021}
1022
1023////////////////////////////////////////////////////////////////////////////////
1024/// Create a TGFileInfo concerning a macro, if it doesn't exist already.
1025
1027{
1028 if (fCurMacro) delete fCurMacro;
1029 fCurMacro = new TGFileInfo();
1031 fCurMacro->SetIniDir(".");
1032 fCurMacro->SetFilename(nullptr);
1033}
1034
1035////////////////////////////////////////////////////////////////////////////////
1036/// Add the tool bar to the frame 'p'.
1037
1039{
1040 TGLayoutHints *layout1 = new TGLayoutHints(kLHintsNormal, 3);
1041 fTrashListLayout->Add(layout1);
1042 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsNormal, 6);
1043 fTrashListLayout->Add(layout2);
1044
1045 fToolBar = new TGToolBar(p);
1046 fToolBarNewPic = gClient->GetPicture("sm_new.xpm");
1048 fToolBarNew->SetStyle(gClient->GetStyle());
1049 fToolBarNew->Associate(this);
1051
1052 fToolBarImportCanvasPic = gClient->GetPicture("sm_import_canvas.xpm");
1057
1058 fToolBarImportMacroPic = gClient->GetPicture("sm_import_macro.xpm");
1060 fToolBarImportMacro->SetStyle(gClient->GetStyle());
1063
1064 fToolBarExportPic = gClient->GetPicture("sm_export.xpm");
1066 fToolBarExport->SetStyle(gClient->GetStyle());
1068 fToolBar->AddFrame(fToolBarExport, layout1);
1069
1070 fToolBarDeletePic = gClient->GetPicture("sm_delete.xpm");
1072 fToolBarDelete->SetStyle(gClient->GetStyle());
1074 fToolBar->AddFrame(fToolBarDelete, layout2);
1075
1076 fToolBarHelpPic = gClient->GetPicture("sm_help.xpm");
1078 fToolBarHelp->SetStyle(gClient->GetStyle());
1079 fToolBarHelp->Associate(this);
1080 fToolBar->AddFrame(fToolBarHelp, layout2);
1081
1085
1086 fToolBarNew->SetToolTipText("Create a new style");
1087 fToolBarDelete->SetToolTipText("Delete the selected style");
1088 fToolBarImportCanvas->SetToolTipText("Import a style from selected canvas");
1089 fToolBarImportMacro->SetToolTipText("Import a style from a macro");
1090 fToolBarExport->SetToolTipText("Export the selected style into a macro");
1091 fToolBarHelp->SetToolTipText("Help about the top level interface");
1092}
1093
1094////////////////////////////////////////////////////////////////////////////////
1095/// Add the top level interface to the frame 'cf'. This part of the
1096/// interface will provide all enable functionalities, excluding the
1097/// edition of styles.
1098
1100{
1101 TGLayoutHints *layout1 = new TGLayoutHints(kLHintsExpandX, 0, 0, 2, 2);
1102 fTrashListLayout->Add(layout1);
1103 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 10, 10, 10, 15);
1104 fTrashListLayout->Add(layout2);
1105 TGLayoutHints *layout3 = new TGLayoutHints(kLHintsNormal, 0, 0, 18);
1106 fTrashListLayout->Add(layout3);
1107 TGLayoutHints *layout4 = new TGLayoutHints(kLHintsNormal, 10, 10);
1108 fTrashListLayout->Add(layout4);
1109 TGLayoutHints *layout5 = new TGLayoutHints(kLHintsExpandX, 125);
1110 fTrashListLayout->Add(layout5);
1111 TGLayoutHints *layout6 = new TGLayoutHints(kLHintsNormal, 0, 10, 3);
1112 fTrashListLayout->Add(layout6);
1113 TGLayoutHints *layout7 = new TGLayoutHints(kLHintsNormal, 0, 16, 3);
1114 fTrashListLayout->Add(layout7);
1115 TGLayoutHints *layout8 = new TGLayoutHints(kLHintsExpandX, 0, 0, 10);
1116 fTrashListLayout->Add(layout8);
1117 TGLayoutHints *layout9 = new TGLayoutHints(kLHintsNormal, -15, 0, -5, -10);
1118 fTrashListLayout->Add(layout9);
1119 TGLayoutHints *layout10 = new TGLayoutHints(kLHintsNormal, 15, 0, -5, -10);
1120 fTrashListLayout->Add(layout10);
1121 TGLayoutHints *layout11 = new TGLayoutHints(kLHintsExpandX, 0, 0, 15);
1122 fTrashListLayout->Add(layout11);
1123 TGLayoutHints *layout12 = new TGLayoutHints(kLHintsExpandX, 0, 0, 10, 5);
1124 fTrashListLayout->Add(layout12);
1125 TGLayoutHints *layout13 = new TGLayoutHints(kLHintsExpandX, 20, 0, 7);
1126 fTrashListLayout->Add(layout13);
1127
1128 TGVerticalFrame *topLevel = new TGVerticalFrame(cf);
1129 fTrashListFrame->AddFirst(topLevel);
1130 TGHorizontalFrame *h1 = new TGHorizontalFrame(topLevel);
1134 fListLabel = new TGLabel(v11, "Available Styles:");
1135 v11->AddFrame(fListLabel);
1137 fListComboBox->Associate(this);
1138 fListComboBox->Resize(200, 22);
1139 v11->AddFrame(fListComboBox, layout1);
1140 h1->AddFrame(v11, fLayoutExpandX);
1143 fMakeDefaultPic = gClient->GetPicture("arrow_right2.xpm");
1145 fMakeDefault->SetStyle(gClient->GetStyle());
1146 fMakeDefault->Associate(this);
1147 fMakeDefault->Resize(40, 22);
1148 v12->AddFrame(fMakeDefault, layout3);
1149 h1->AddFrame(v12, layout4);
1152 fCurStylabel = new TGLabel(v13, "gStyle is set to:");
1153 v13->AddFrame(fCurStylabel);
1154 fCurStyle = new TGTextEntry(v13, "", kTopCurStyle);
1155 fCurStyle->Associate(this);
1157 v13->AddFrame(fCurStyle, layout1);
1158 h1->AddFrame(v13, fLayoutExpandX);
1159 topLevel->AddFrame(h1, fLayoutExpandX);
1160
1161 TGHorizontalFrame *h2 = new TGHorizontalFrame(topLevel);
1163 TGGroupFrame *gf = new TGGroupFrame(h2, "Apply on");
1165 TGVerticalFrame *vf = new TGVerticalFrame(gf);
1167 Pixel_t red;
1168 gClient->GetColorByName("#FF0000", red);
1169 TGHorizontalFrame *selCanvas = new TGHorizontalFrame(vf);
1170 fTrashListFrame->AddFirst(selCanvas);
1171 fCurPadLabel = new TGLabel(selCanvas, "Canvas:");
1172 selCanvas->AddFrame(fCurPadLabel, layout6);
1173 fCurPadTextEntry = new TGTextEntry(selCanvas, "", kTopCurPad);
1177 vf->AddFrame(selCanvas, fLayoutExpandX);
1178 TGHorizontalFrame *selObject = new TGHorizontalFrame(vf);
1179 fTrashListFrame->AddFirst(selObject);
1180 fCurObjLabel = new TGLabel(selObject, "Object:");
1181 selObject->AddFrame(fCurObjLabel, layout7);
1182 fCurObjTextEntry = new TGTextEntry(selObject, "", kTopCurObj);
1187 vf->AddFrame(selObject, layout8);
1190 fApplyOnGroup = new TGHButtonGroup(h4);
1191 fApplyOnAll = new TGRadioButton(fApplyOnGroup, "All canvases", kTopApplyOnAll);
1192 fApplyOnAll->Associate(this);
1193 fApplyOnSel = new TGRadioButton(fApplyOnGroup, "Selected object", kTopApplyOnSel);
1194 fApplyOnSel->Associate(this);
1201 fApplyOnButton = new TGTextButton(h4, "&Apply", kTopApplyOnBut);
1203 fApplyOnButton->Resize(100, 22);
1204 h4->AddFrame(fApplyOnButton, layout13);
1205 vf->AddFrame(h4, fLayoutExpandX);
1206 gf->AddFrame(vf, layout11);
1207 h2->AddFrame(gf, layout12);
1208 topLevel->AddFrame(h2, fLayoutExpandX);
1209
1210 TGHorizontalFrame *h3 = new TGHorizontalFrame(topLevel);
1212 fPreviewButton = new TGCheckButton(h3, "&Preview", kTopPreview);
1214 h3->AddFrame(fPreviewButton, layout6);
1215 fPreviewRealTime = new TGCheckButton(h3, "Run &Time Preview", kTopPreviewRealTime);
1218 h3->AddFrame(fPreviewRealTime, layout6);
1219 fMoreLess = new TGTextButton(h3, "&Close <<", kTopMoreLess);
1220 fMoreLess->Associate(this);
1221 h3->AddFrame(fMoreLess, layout5);
1222 topLevel->AddFrame(h3, fLayoutExpandX);
1223
1224 cf->AddFrame(topLevel, layout2);
1225
1226 fApplyOnButton->SetToolTipText("Apply the selected style on the selected object");
1227 fPreviewButton->SetToolTipText("Show / Hide the preview window");
1228 fPreviewRealTime->SetToolTipText("Continuous / Asynchronous update of the preview");
1229}
1230
1231////////////////////////////////////////////////////////////////////////////////
1232/// Build the list of styles which will appear in the available styles
1233/// combo box. The new style to select is mentioned. If no style has
1234/// been specified, the last entry of the list is selected.
1235
1237{
1238 // Empty the list.
1240
1241 // Build the list of all styles already created in the ROOT session.
1242 Int_t i = 1;
1243 Int_t styleID = 0;
1244 TStyle *tmpStyle = (TStyle *) (gROOT->GetListOfStyles()->First());
1245 while (tmpStyle) {
1246 if (tmpStyle == style) styleID = i;
1247 fListComboBox->AddEntry(tmpStyle->GetName(), i++);
1248 tmpStyle = (TStyle *) (gROOT->GetListOfStyles()->After(tmpStyle));
1249 }
1250
1251 // Select 'style' in the list of available styles.
1252 if (styleID == 0) styleID = i - 1;
1253 fListComboBox->Select(styleID);
1254 DoListSelect();
1256}
1257
1258////////////////////////////////////////////////////////////////////////////////
1259/// Update the content of the status bar: show the name of the current
1260/// selected style, its title and the macro from which it has been imported.
1261
1263{
1266
1267 if ((!strcmp(fCurSelStyle->GetName(), "Default"))
1268 || (!strcmp(fCurSelStyle->GetName(), "Plain" ))
1269 || (!strcmp(fCurSelStyle->GetName(), "Bold" ))
1270 || (!strcmp(fCurSelStyle->GetName(), "Video" ))
1271 || (!strcmp(fCurSelStyle->GetName(), "Pub" ))) {
1272 fStatusBar->SetText("ROOT style", 1);
1273 } else if (fStyleChanged) {
1274 fStatusBar->SetText("User Style _ Not Saved", 1);
1275 } else {
1276 fStatusBar->SetText("User Style", 1);
1277 }
1278}
1279
1280////////////////////////////////////////////////////////////////////////////////
1281/// Update the values of every widget entry in the editor. The new values
1282/// are loaded from the current selected style.
1283
1285{
1286 Double_t delta;
1287 Int_t year;
1288 Int_t month;
1289 Int_t day;
1290 Int_t oneYearInSecs;
1291 Int_t oneMonthInSecs;
1292 Int_t tmp;
1293 Int_t tmp2;
1294 switch (tabNum) {
1295 case 0: // GENERAL
1307 // Nothing to do with fLineStyleEdit.
1309 if (fCurSelStyle->GetTextFont()%10 > 2) {
1312 } else {
1315 }
1319 break;
1320 case 1: // CANVAS
1329 if (fCurSelStyle->GetAttDate()->GetTextFont()%10 > 2) {
1332 } else {
1335 }
1340 fDateX->SetIntNumber((Int_t) (fCurSelStyle->GetDateX()*100 + 0.5));
1341 fDateY->SetIntNumber((Int_t) (fCurSelStyle->GetDateY()*100 + 0.5));
1342
1343 if (fCurSelStyle->GetOptDate()) {
1349// TODO Just delete when ComboBox can be grayed
1350 //fOptDateFormat->SetState(kTRUE);
1351 //ModAttDateTextFont->SetState(kTRUE);
1352 //ModAttDateTextAlign->SetState(kTRUE);
1356 } else {
1361// TODO Just delete when ComboBox can be grayed
1362 //fOptDateFormat->SetState(kFALSE);
1363 //ModAttDateTextFont->SetState(kFALSE);
1364 //ModAttDateTextAlign->SetState(kFALSE);
1368 }
1369 break;
1370 case 2: // PAD
1380 else
1384 else
1388 else
1392 else
1397 break;
1398 case 3: // HISTOS
1408 else
1418 // Nothing to do with fPaletteEdit;
1426 else
1429 fErrorX->SetIntNumber((Int_t) (fCurSelStyle->GetErrorX() * 100 + 0.5));
1430 break;
1431 case 4: // AXIS
1432 delta = fCurSelStyle->GetTimeOffset() - 788918400;
1433 year = 1995;
1434 month = 1;
1435 day = 1;
1436 while (delta < 0) {
1437 year--;
1438 if (year % 4) oneYearInSecs = 3600 * 24 * 365;
1439 else oneYearInSecs = 3600 * 24 * 366;
1440 delta += oneYearInSecs;
1441 }
1442 oneYearInSecs = 3600 * 24 * 365; // because 365 days in 1995.
1443 while (delta >= oneYearInSecs) {
1444 if (year % 4) oneYearInSecs = 3600 * 24 * 365;
1445 else oneYearInSecs = 3600 * 24 * 366;
1446 delta -= oneYearInSecs;
1447 year++;
1448 }
1449 oneMonthInSecs = 3600 * 24 * 31; // because 31 days in January.
1450 while (delta >= oneMonthInSecs) {
1451 month++;
1452 delta -= oneMonthInSecs;
1453 switch (month) {
1454 case 2:
1455 if (year % 4) oneMonthInSecs = 3600 * 24 * 28;
1456 else oneMonthInSecs = 3600 * 24 * 29;
1457 break;
1458 case 3: case 5: case 7: case 8: case 10: case 12:
1459 oneMonthInSecs = 3600 * 24 * 31;
1460 break;
1461 default:
1462 oneMonthInSecs = 3600 * 24 * 30;
1463 }
1464 }
1465 day = (Int_t) delta / (3600 * 24) + 1;
1466 delta = ((Int_t) delta) % (3600 * 24);
1467 fTimeOffsetDate->SetNumber(year*10000 + month*100 + day);
1468 fTimeOffsetTime->SetNumber(delta);
1469
1472 else
1475 if (fCurSelStyle->GetTitleFont("X")%10 > 2) {
1478 } else {
1481 }
1486 if (fCurSelStyle->GetLabelFont("X")%10 > 2) {
1489 } else {
1492 }
1498 if (fCurSelStyle->GetOptLogx())
1500 else
1505 if (fCurSelStyle->GetNdivisions("X") > 0)
1507 else
1510 if (fCurSelStyle->GetTitleFont("Y")%10 > 2) {
1513 } else {
1516 }
1521 if (fCurSelStyle->GetLabelFont("Y")%10 > 2) {
1524 } else {
1527 }
1533 if (fCurSelStyle->GetOptLogy())
1535 else
1540 if (fCurSelStyle->GetNdivisions("Y") > 0)
1542 else
1545 if (fCurSelStyle->GetTitleFont("Z")%10 > 2) {
1548 } else {
1551 }
1556 if (fCurSelStyle->GetLabelFont("Z")%10 > 2) {
1559 } else {
1562 }
1568
1569 if (fCurSelStyle->GetOptLogz())
1571 else
1573
1577 if (fCurSelStyle->GetNdivisions("Z") > 0)
1579 else
1581 break;
1582 case 5: // TITLES
1587 if (fCurSelStyle->GetTitleFont()%10 > 2) {
1590 } else {
1593 }
1598 fTitleX->SetIntNumber((Int_t) (fCurSelStyle->GetTitleX() * 100 + 0.5));
1599 fTitleY->SetIntNumber((Int_t) (fCurSelStyle->GetTitleY() * 100 + 0.5));
1600 fTitleW->SetIntNumber((Int_t) (fCurSelStyle->GetTitleW() * 100 + 0.5));
1601 fTitleH->SetIntNumber((Int_t) (fCurSelStyle->GetTitleH() * 100 + 0.5));
1602
1603 if (fCurSelStyle->GetOptTitle()) {
1611// TODO Just delete when ComboBox can be grayed
1612 //fTitleFont->SetState(kTRUE);
1613 //fTitleAlign->SetState(kTRUE);
1614 //fTitleBorderSize->SetState(kTRUE);
1615 //fLegendBorderSize->SetState(kTRUE);
1620 } else {
1627// TODO Just delete when ComboBox can be grayed
1628 //fTitleFont->SetState(kFALSE);
1629 //fTitleAlign->SetState(kFALSE);
1630 //fTitleBorderSize->SetState(kFALSE);
1631 //fLegendBorderSize->SetState(kFALSE);
1636 }
1637 break;
1638 case 6: // STATS
1643 if (fCurSelStyle->GetStatFont()%10 > 2) {
1646 } else {
1649 }
1651
1657 tmp = fCurSelStyle->GetOptStat();
1658
1659 if (tmp % 10) fOptStatName->SetState(kButtonDown, kFALSE);
1661
1662 if ((tmp/10) % 10) fOptStatEntries->SetState(kButtonDown, kFALSE);
1664
1665 if ((tmp/100) % 10) fOptStatMean->SetState(kButtonDown, kFALSE);
1667
1668 if ((tmp/1000) % 10) fOptStatRMS->SetState(kButtonDown, kFALSE);
1670
1671 if ((tmp/10000) % 10) fOptStatUnderflow->SetState(kButtonDown, kFALSE);
1673
1674 if ((tmp/100000) % 10) fOptStatOverflow->SetState(kButtonDown, kFALSE);
1676
1677 if ((tmp/1000000) % 10) fOptStatIntegral->SetState(kButtonDown, kFALSE);
1679
1680 if ((tmp/10000000) % 10) fOptStatSkewness->SetState(kButtonDown, kFALSE);
1682
1683 if ((tmp/100000000) % 10) fOptStatKurtosis->SetState(kButtonDown, kFALSE);
1685
1686 if ((((tmp/100) % 10) == 2) || (((tmp/1000) % 10) == 2) ||
1687 (((tmp/10000000) % 10) == 2) || (((tmp/100000000) % 10) == 2))
1690
1692 tmp2 = fCurSelStyle->GetOptFit();
1693
1694 if (tmp2 % 10) fOptFitValues->SetState(kButtonDown, kFALSE);
1696
1697 if ((tmp2/10) % 10) {
1700 } else
1702
1703 if ((tmp2/100) % 10) fOptFitChi->SetState(kButtonDown, kFALSE);
1705
1706 if ((tmp2/1000) % 10) fOptFitProbability->SetState(kButtonDown, kFALSE);
1708
1710 break;
1711
1712 case 7: // PS / PDF
1717 Float_t papSizeX;
1718 Float_t papSizeY;
1719 fCurSelStyle->GetPaperSize(papSizeX, papSizeY);
1720 if ((papSizeX == 20) && (papSizeY == 26)) {
1723 fPaperSizeX->SetNumber(papSizeX);
1724 fPaperSizeY->SetNumber(papSizeY);
1725 } else if ((papSizeX == 20) && (papSizeY == 24)) {
1728 fPaperSizeX->SetNumber(papSizeX * 0.394);
1729 fPaperSizeY->SetNumber(papSizeY * 0.394);
1730 } else {
1733 fPaperSizeX->SetNumber(papSizeX);
1734 fPaperSizeY->SetNumber(papSizeY);
1735 }
1736 break;
1737 }
1738}
1739
1740////////////////////////////////////////////////////////////////////////////////
1741/// Connect every entry in the top level interface to the slot.
1742
1744{
1745 Connect("CloseWindow()", "TStyleManager", this, "CloseWindow()");
1746 fMenuStyle->Connect("Activated(Int_t)", "TStyleManager", this, "DoMenu(Int_t)");
1747 fMenuHelp->Connect("Activated(Int_t)", "TStyleManager", this, "DoMenu(Int_t)");
1748 fToolBarNew->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuNew));
1749 fToolBarDelete->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuDelete));
1750 fToolBarImportCanvas->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuImportCanvas));
1751 fToolBarImportMacro->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuImportMacro));
1752 fToolBarExport->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuExport));
1753 fToolBarHelp->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuHelp));
1754 fListComboBox->Connect("Selected(Int_t)", "TStyleManager", this, "DoListSelect()");
1755 fPreviewButton->Connect("Toggled(Bool_t)", "TStyleManager", this, "DoPreview(Bool_t)");
1756 fPreviewRealTime->Connect("Toggled(Bool_t)", "TStyleManager", this, "DoRealTime(Bool_t)");
1757 fMakeDefault->Connect("Clicked()", "TStyleManager", this, "DoMakeDefault()");
1758 fApplyOnGroup->Connect("Clicked(Int_t)", "TStyleManager", this, "DoApplyOnSelect(Int_t)");
1759 fApplyOnButton->Connect("Clicked()", "TStyleManager", this, "DoApplyOn()");
1760 fMoreLess->Connect("Clicked()", "TStyleManager", this, "DoMoreLess()");
1761
1762 fEditionHelp->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuHelpEditor));
1763 fEditionUpdatePreview->Connect("Clicked()", "TStyleManager", this, "DoEditionUpdatePreview()");
1764 fEditionReset->Connect("Clicked()", "TStyleManager", this, "DoImportMacro(Int_t=kFALSE)");
1765 fEditionTab->Connect("Selected(Int_t)", "TStyleManager", this, "DoChangeTab(Int_t)");
1766 fAxisTab->Connect("Selected(Int_t)", "TStyleManager", this, "DoChangeAxisTab(Int_t)");
1767
1768 // Connect signals emited when the current pad changed.
1769 TQObject::Connect("TCanvas", "Selected(TVirtualPad *, TObject *, Int_t)", "TStyleManager",
1770 this, "DoSelectCanvas(TVirtualPad *, TObject *, Int_t)");
1771 TQObject::Connect("TCanvas", "Closed()", "TStyleManager", this, "DoSelectNoCanvas()");
1772}
1773
1774////////////////////////////////////////////////////////////////////////////////
1775/// Disconnect every entry in the top level interface of the slot.
1776
1778{
1779 Disconnect("CloseWindow()");
1780 fMenuStyle->Disconnect("Activated(Int_t)");
1781 fMenuHelp->Disconnect("Activated(Int_t)");
1782 fToolBarNew->Disconnect("Clicked()");
1783 fToolBarDelete->Disconnect("Clicked()");
1784 fToolBarImportCanvas->Disconnect("Clicked()");
1785 fToolBarImportMacro->Disconnect("Clicked()");
1786 fToolBarExport->Disconnect("Clicked()");
1787 fToolBarHelp->Disconnect("Clicked()");
1788 fListComboBox->Disconnect("Selected(Int_t)");
1789 fPreviewButton->Disconnect("Toggled(Bool_t)");
1790 fMakeDefault->Disconnect("Clicked()");
1791 fApplyOnGroup->Disconnect("Clicked(Int_t)");
1792 fApplyOnButton->Disconnect("Clicked()");
1793 fMoreLess->Disconnect("Clicked()");
1794
1795 fEditionHelp->Disconnect("Clicked()");
1796 fEditionUpdatePreview->Disconnect("Clicked()");
1797 fEditionReset->Disconnect("Clicked()");
1798 fEditionTab->Disconnect("Selected(Int_t)");
1799
1800 TQObject::Disconnect("TCanvas", "Selected(TVirtualPad *, TObject *, Int_t)");
1801 TQObject::Disconnect("TCanvas", "Closed()");
1802}
1803
1804////////////////////////////////////////////////////////////////////////////////
1805/// Connect every widget entry of the editor to its specific slot.
1806
1808{
1809 if (fSigSlotConnected) return;
1811
1812 switch (tabNum) {
1813 case 0: // GENERAL
1814 fFillColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModFillColor()");
1815 fFillStyle->Connect("PatternSelected(Style_t)", "TStyleManager", this, "ModFillStyle()");
1816 fHatchesLineWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModHatchesLineWidth()");
1817 fHatchesSpacing->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModHatchesSpacing()");
1818 fMarkerColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModMarkerColor()");
1819 fMarkerStyle->Connect("MarkerSelected(Style_t)", "TStyleManager", this, "ModMarkerStyle()");
1820 fMarkerSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModMarkerSize()");
1821 fScreenFactor->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModScreenFactor()");
1822 fLineColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModLineColor()");
1823 fLineWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModLineWidth()");
1824 fLineStyle->Connect("Selected(Int_t)", "TStyleManager", this, "ModLineStyle()");
1825 fLineStyleEdit->Connect("Clicked()", "TStyleManager", this, "ModLineStyleEdit()");
1826 fTextColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModTextColor()");
1827 fTextSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTextSize()");
1828 fTextSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModTextSizeInPixels(Bool_t)");
1829 fTextFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModTextFont()");
1830 fTextAlign->Connect("Selected(Int_t)", "TStyleManager", this, "ModTextAlign()");
1831 fTextAngle->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTextAngle()");
1832 break;
1833 case 1: // CANVAS
1834 fCanvasColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModCanvasColor()");
1835 fCanvasDefX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModCanvasDefX()");
1836 fCanvasDefY->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModCanvasDefY()");
1837 fCanvasDefW->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModCanvasDefW()");
1838 fCanvasDefH->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModCanvasDefH()");
1839 fCanvasBorderMode->Connect("Clicked(Int_t)", "TStyleManager", this, "ModCanvasBorderMode()");
1840 fCanvasBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModCanvasBorderSize()");
1841 fOptDateBool->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptDateBool()");
1842 fAttDateTextColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModAttDateTextColor()");
1843 fAttDateTextSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModAttDateTextSize()");
1844 fAttDateTextSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModAttDateTextSizeInPixels(Bool_t)");
1845 fOptDateFormat->Connect("Selected(Int_t)", "TStyleManager", this, "ModOptDateFormat()");
1846 fAttDateTextFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModAttDateTextFont()");
1847 fAttDateTextAngle->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModAttDateTextAngle()");
1848 fAttDateTextAlign->Connect("Selected(Int_t)", "TStyleManager", this, "ModAttDateTextAlign()");
1849 fDateX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModDateX()");
1850 fDateY->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModDateY()");
1851 break;
1852 case 2: // PAD
1853 fPadTopMargin->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPadTopMargin()");
1854 fPadBottomMargin->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPadBottomMargin()");
1855 fPadLeftMargin->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPadLeftMargin()");
1856 fPadRightMargin->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPadRightMargin()");
1857 fPadBorderMode->Connect("Clicked(Int_t)", "TStyleManager", this, "ModPadBorderMode()");
1858 fPadBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModPadBorderSize()");
1859 fPadColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModPadColor()");
1860 fPadTickX->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModPadTickX()");
1861 fPadTickY->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModPadTickY()");
1862 fPadGridX->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModPadGridX()");
1863 fPadGridY->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModPadGridY()");
1864 fGridColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModGridColor()");
1865 fGridWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModGridWidth()");
1866 fGridStyle->Connect("Selected(Int_t)", "TStyleManager", this, "ModGridStyle()");
1867 break;
1868 case 3: // HISTOS
1869 fHistFillColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModHistFillColor()");
1870 fHistFillStyle->Connect("PatternSelected(Style_t)", "TStyleManager", this, "ModHistFillStyle()");
1871 fHistLineColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModHistLineColor()");
1872 fHistLineWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModHistLineWidth()");
1873 fHistLineStyle->Connect("Selected(Int_t)", "TStyleManager", this, "ModHistLineStyle()");
1874 fBarWidth->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModBarWidth()");
1875 fBarOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModBarOffset()");
1876 fHistMinimumZero->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModHistMinimumZero()");
1877 fPaintTextFormat->Connect("TextChanged(const char *)", "TStyleManager", this, "ModPaintTextFormat()");
1878 fNumberContours->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModNumberContours()");
1879 fLegoInnerR->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModLegoInnerR()");
1880 fFrameFillColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModFrameFillColor()");
1881 fFrameFillStyle->Connect("PatternSelected(Style_t)", "TStyleManager", this, "ModFrameFillStyle()");
1882 fFrameLineColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModFrameLineColor()");
1883 fFrameLineWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModFrameLineWidth()");
1884 fFrameLineStyle->Connect("Selected(Int_t)", "TStyleManager", this, "ModFrameLineStyle()");
1885 fPaletteEdit->Connect("Clicked()", "TStyleManager", this, "ModPaletteEdit()");
1886 fFrameBorderMode->Connect("Clicked(Int_t)", "TStyleManager", this, "ModFrameBorderMode()");
1887 fFrameBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModFrameBorderSize()");
1888 fFuncColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModFuncColor()");
1889 fFuncWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModFuncWidth()");
1890 fFuncStyle->Connect("Selected(Int_t)", "TStyleManager", this, "ModFuncStyle()");
1891 fDrawBorder->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModDrawBorder()");
1892 fEndErrorSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModEndErrorSize()");
1893 fErrorX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModErrorX()");
1894 break;
1895 case 4: // AXIS
1896 fTimeOffsetDate->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTimeOffset()");
1897 fTimeOffsetTime->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTimeOffset()");
1898 fStripDecimals->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModStripDecimals()");
1899 fApplyOnXYZ->Connect("Clicked()", "TStyleManager", this, "ModApplyOnXYZ()");
1900 fXTitleSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXTitleSize()");
1901 fXTitleSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModXTitleSizeInPixels(Bool_t)");
1902 fXTitleColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModXTitleColor()");
1903 fXTitleOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXTitleOffset()");
1904 fXTitleFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModXTitleFont()");
1905 fXLabelSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXLabelSize()");
1906 fXLabelSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModXLabelSizeInPixels(Bool_t)");
1907 fXLabelColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModXLabelColor()");
1908 fXLabelOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXLabelOffset()");
1909 fXLabelFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModXLabelFont()");
1910 fXAxisColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModXAxisColor()");
1911 fXTickLength->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXTickLength()");
1912 fOptLogx->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptLogx()");
1913 fXNdivMain->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXNdivisions()");
1914 fXNdivSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXNdivisions()");
1915 fXNdivSubSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXNdivisions()");
1916 fXNdivisionsOptimize->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModXNdivisions()");
1917 fYTitleSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYTitleSize()");
1918 fYTitleSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModYTitleSizeInPixels(Bool_t)");
1919 fYTitleColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModYTitleColor()");
1920 fYTitleOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYTitleOffset()");
1921 fYTitleFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModYTitleFont()");
1922 fYLabelSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYLabelSize()");
1923 fYLabelSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModYLabelSizeInPixels(Bool_t)");
1924 fYLabelColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModYLabelColor()");
1925 fYLabelOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYLabelOffset()");
1926 fYLabelFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModYLabelFont()");
1927 fYAxisColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModYAxisColor()");
1928 fYTickLength->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYTickLength()");
1929 fOptLogy->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptLogy()");
1930 fYNdivMain->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYNdivisions()");
1931 fYNdivSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYNdivisions()");
1932 fYNdivSubSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYNdivisions()");
1933 fYNdivisionsOptimize->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModYNdivisions()");
1934 fZTitleSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZTitleSize()");
1935 fZTitleSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModZTitleSizeInPixels(Bool_t)");
1936 fZTitleColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModZTitleColor()");
1937 fZTitleOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZTitleOffset()");
1938 fZTitleFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModZTitleFont()");
1939 fZLabelSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZLabelSize()");
1940 fZLabelSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModZLabelSizeInPixels(Bool_t)");
1941 fZLabelColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModZLabelColor()");
1942 fZLabelOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZLabelOffset()");
1943 fZLabelFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModZLabelFont()");
1944 fZAxisColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModZAxisColor()");
1945 fZTickLength->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZTickLength()");
1946 fOptLogz->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptLogz()");
1947 fZNdivMain->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZNdivisions()");
1948 fZNdivSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZNdivisions()");
1949 fZNdivSubSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZNdivisions()");
1950 fZNdivisionsOptimize->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModZNdivisions()");
1951 break;
1952 case 5: // TITLES
1953 fOptTitle->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptTitle()");
1954 fTitleColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModTitleFillColor()");
1955 fTitleStyle->Connect("PatternSelected(Style_t)", "TStyleManager", this, "ModTitleStyle()");
1956 fTitleTextColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModTitleTextColor()");
1957 fTitleFontSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTitleFontSize()");
1958 fTitleFontSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModTitleFontSizeInPixels(Bool_t)");
1959 fTitleFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModTitleFont()");
1960 fTitleAlign->Connect("Selected(Int_t)", "TStyleManager", this, "ModTitleAlign()");
1961 fTitleBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModTitleBorderSize()");
1962 fTitleX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTitleX()");
1963 fTitleY->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTitleY()");
1964 fTitleW->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTitleW()");
1965 fTitleH->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTitleH()");
1966 fLegendBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModLegendBorderSize()");
1967 break;
1968 case 6: // STATS
1969 fStatColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModStatColor(Pixel_t)");
1970 fStatStyle->Connect("PatternSelected(Style_t)", "TStyleManager", this, "ModStatStyle(Style_t)");
1971 fStatTextColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModStatTextColor(Pixel_t)");
1972 fStatFontSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModStatFontSize()");
1973 fStatFontSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModStatFontSizeInPixels(Bool_t)");
1974 fStatFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModStatFont()");
1975 fStatX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModStatX()");
1976 fStatY->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModStatY()");
1977 fStatW->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModStatW()");
1978 fStatH->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModStatH()");
1979 fStatBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModStatBorderSize()");
1980 fOptStatName->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1981 fOptStatEntries->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1982 fOptStatOverflow->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1983 fOptStatMean->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1984 fOptStatUnderflow->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1985 fOptStatRMS->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1986 fOptStatSkewness->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1987 fOptStatIntegral->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1988 fOptStatKurtosis->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1989 fOptStatErrors->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1990 fStatFormat->Connect("TextChanged(const char *)", "TStyleManager", this, "ModStatFormat(const char *)");
1991 fOptFitValues->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptFit()");
1992 fOptFitErrors->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptFit()");
1993 fOptFitProbability->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptFit()");
1994 fOptFitChi->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptFit()");
1995 fFitFormat->Connect("TextChanged(const char *)", "TStyleManager", this, "ModFitFormat(const char *)");
1996 break;
1997 case 7: // PS / PDF
1998 fHeaderPS->Connect("TextChanged(const char *)", "TStyleManager", this, "ModHeaderPS()");
1999 fTitlePS->Connect("TextChanged(const char *)", "TStyleManager", this, "ModTitlePS()");
2000 fColorModelPS->Connect("Clicked(Int_t)", "TStyleManager", this, "ModColorModelPS()");
2001 fLineScalePS->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModLineScalePS()");
2002 fPaperSizePredef->Connect("Selected(Int_t)", "TStyleManager", this, "ModPaperSizePredef()");
2003 fPaperSizeX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPaperSizeXY()");
2004 fPaperSizeY->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPaperSizeXY()");
2005 break;
2006 }
2007}
2008
2009////////////////////////////////////////////////////////////////////////////////
2010/// Disconnect every widget entry of the editor from its slot. Must be
2011/// called before UpdateEditor() to avoid recursive calls.
2012
2014{
2015 if (!fSigSlotConnected) return;
2017
2018 switch (tabNum) {
2019 case 0: // GENERAL
2020 fFillColor->Disconnect("ColorSelected(Pixel_t)");
2021 fFillStyle->Disconnect("PatternSelected(Style_t)");
2022 fHatchesLineWidth->Disconnect("Selected(Int_t)");
2023 fHatchesSpacing->Disconnect("ValueSet(Long_t)");
2024 fMarkerColor->Disconnect("ColorSelected(Pixel_t)");
2025 fMarkerStyle->Disconnect("MarkerSelected(Style_t)");
2026 fMarkerSize->Disconnect("Selected(Int_t)");
2027 fScreenFactor->Disconnect("ValueSet(Long_t)");
2028 fLineColor->Disconnect("ColorSelected(Pixel_t)");
2029 fLineWidth->Disconnect("Selected(Int_t)");
2030 fLineStyle->Disconnect("Selected(Int_t)");
2031 fLineStyleEdit->Disconnect("Clicked()");
2032 fTextColor->Disconnect("ColorSelected(Pixel_t)");
2033 fTextSize->Disconnect("ValueSet(Long_t)");
2034 fTextFont->Disconnect("Selected(Int_t)");
2035 fTextAlign->Disconnect("Selected(Int_t)");
2036 fTextAngle->Disconnect("ValueSet(Long_t)");
2037 break;
2038 case 1: // CANVAS
2039 fCanvasColor->Disconnect("ColorSelected(Pixel_t)");
2040 fCanvasDefX->Disconnect("ValueSet(Long_t)");
2041 fCanvasDefY->Disconnect("ValueSet(Long_t)");
2042 fCanvasDefW->Disconnect("ValueSet(Long_t)");
2043 fCanvasDefH->Disconnect("ValueSet(Long_t)");
2044 fCanvasBorderMode->Disconnect("Clicked(Int_t)");
2045 fCanvasBorderSize->Disconnect("Selected(Int_t)");
2046 fOptDateBool->Disconnect("Toggled(Bool_t)");
2047 fAttDateTextColor->Disconnect("ColorSelected(Pixel_t)");
2048 fAttDateTextSize->Disconnect("ValueSet(Long_t)");
2049 fOptDateFormat->Disconnect("Selected(Int_t)");
2050 fAttDateTextFont->Disconnect("Selected(Int_t)");
2051 fAttDateTextAngle->Disconnect("ValueSet(Long_t)");
2052 fAttDateTextAlign->Disconnect("Selected(Int_t)");
2053 fDateX->Disconnect("ValueSet(Long_t)");
2054 fDateY->Disconnect("ValueSet(Long_t)");
2055 break;
2056 case 2: // PAD
2057 fPadTopMargin->Disconnect("ValueSet(Long_t)");
2058 fPadBottomMargin->Disconnect("ValueSet(Long_t)");
2059 fPadLeftMargin->Disconnect("ValueSet(Long_t)");
2060 fPadRightMargin->Disconnect("ValueSet(Long_t)");
2061 fPadBorderMode->Disconnect("Clicked(Int_t)");
2062 fPadBorderSize->Disconnect("Selected(Int_t)");
2063 fPadColor->Disconnect("ColorSelected(Pixel_t)");
2064 fPadTickX->Disconnect("Toggled(Bool_t)");
2065 fPadTickY->Disconnect("Toggled(Bool_t)");
2066 fPadGridX->Disconnect("Toggled(Bool_t)");
2067 fPadGridY->Disconnect("Toggled(Bool_t)");
2068 fGridColor->Disconnect("ColorSelected(Pixel_t)");
2069 fGridWidth->Disconnect("Selected(Int_t)");
2070 fGridStyle->Disconnect("Selected(Int_t)");
2071 break;
2072 case 3: // HISTOS
2073 fHistFillColor->Disconnect("ColorSelected(Pixel_t)");
2074 fHistFillStyle->Disconnect("PatternSelected(Style_t)");
2075 fHistLineColor->Disconnect("ColorSelected(Pixel_t)");
2076 fHistLineWidth->Disconnect("Selected(Int_t)");
2077 fHistLineStyle->Disconnect("Selected(Int_t)");
2078 fBarWidth->Disconnect("ValueSet(Long_t)");
2079 fBarOffset->Disconnect("ValueSet(Long_t)");
2080 fHistMinimumZero->Disconnect("Toggled(Bool_t)");
2081 fPaintTextFormat->Disconnect("TextChanged(const char *)");
2082 fNumberContours->Disconnect("ValueSet(Long_t)");
2083 fLegoInnerR->Disconnect("ValueSet(Long_t)");
2084 fFrameFillColor->Disconnect("ColorSelected(Pixel_t)");
2085 fFrameFillStyle->Disconnect("PatternSelected(Style_t)");
2086 fFrameLineColor->Disconnect("ColorSelected(Pixel_t)");
2087 fFrameLineWidth->Disconnect("Selected(Int_t)");
2088 fFrameLineStyle->Disconnect("Selected(Int_t)");
2089 fPaletteEdit->Disconnect("Clicked()");
2090 fFrameBorderMode->Disconnect("Clicked(Int_t)");
2091 fFrameBorderSize->Disconnect("Selected(Int_t)");
2092 fFuncColor->Disconnect("ColorSelected(Pixel_t)");
2093 fFuncWidth->Disconnect("Selected(Int_t)");
2094 fFuncStyle->Disconnect("Selected(Int_t)");
2095 fDrawBorder->Disconnect("Toggled(Bool_t)");
2096 fEndErrorSize->Disconnect("ValueSet(Long_t)");
2097 fErrorX->Disconnect("ValueSet(Long_t)");
2098 break;
2099 case 4: // AXIS
2100 fTimeOffsetDate->Disconnect("ValueSet(Long_t)");
2101 fTimeOffsetTime->Disconnect("ValueSet(Long_t)");
2102 fStripDecimals->Disconnect("Toggled(Bool_t)");
2103 fApplyOnXYZ->Disconnect("Clicked()");
2104 fXTitleSize->Disconnect("ValueSet(Long_t)");
2105 fXTitleColor->Disconnect("ColorSelected(Pixel_t)");
2106 fXTitleOffset->Disconnect("ValueSet(Long_t)");
2107 fXTitleFont->Disconnect("Selected(Int_t)");
2108 fXLabelSize->Disconnect("ValueSet(Long_t)");
2109 fXLabelColor->Disconnect("ColorSelected(Pixel_t)");
2110 fXLabelOffset->Disconnect("ValueSet(Long_t)");
2111 fXLabelFont->Disconnect("Selected(Int_t)");
2112 fXAxisColor->Disconnect("ColorSelected(Pixel_t)");
2113 fXTickLength->Disconnect("ValueSet(Long_t)");
2114 fOptLogx->Disconnect("Toggled(Bool_t)");
2115 fXNdivMain->Disconnect("ValueSet(Long_t)");
2116 fXNdivSub->Disconnect("ValueSet(Long_t)");
2117 fXNdivSubSub->Disconnect("ValueSet(Long_t)");
2118 fXNdivisionsOptimize->Disconnect("Toggled(Bool_t)");
2119 fYTitleSize->Disconnect("ValueSet(Long_t)");
2120 fYTitleColor->Disconnect("ColorSelected(Pixel_t)");
2121 fYTitleOffset->Disconnect("ValueSet(Long_t)");
2122 fYTitleFont->Disconnect("Selected(Int_t)");
2123 fYLabelSize->Disconnect("ValueSet(Long_t)");
2124 fYLabelColor->Disconnect("ColorSelected(Pixel_t)");
2125 fYLabelOffset->Disconnect("ValueSet(Long_t)");
2126 fYLabelFont->Disconnect("Selected(Int_t)");
2127 fYAxisColor->Disconnect("ColorSelected(Pixel_t)");
2128 fYTickLength->Disconnect("ValueSet(Long_t)");
2129 fOptLogy->Disconnect("Toggled(Bool_t)");
2130 fYNdivMain->Disconnect("ValueSet(Long_t)");
2131 fYNdivSub->Disconnect("ValueSet(Long_t)");
2132 fYNdivSubSub->Disconnect("ValueSet(Long_t)");
2133 fYNdivisionsOptimize->Disconnect("Toggled(Bool_t)");
2134 fZTitleSize->Disconnect("ValueSet(Long_t)");
2135 fZTitleColor->Disconnect("ColorSelected(Pixel_t)");
2136 fZTitleOffset->Disconnect("ValueSet(Long_t)");
2137 fZTitleFont->Disconnect("Selected(Int_t)");
2138 fZLabelSize->Disconnect("ValueSet(Long_t)");
2139 fZLabelColor->Disconnect("ColorSelected(Pixel_t)");
2140 fZLabelOffset->Disconnect("ValueSet(Long_t)");
2141 fZLabelFont->Disconnect("Selected(Int_t)");
2142 fZAxisColor->Disconnect("ColorSelected(Pixel_t)");
2143 fZTickLength->Disconnect("ValueSet(Long_t)");
2144 fOptLogz->Disconnect("Toggled(Bool_t)");
2145 fZNdivMain->Disconnect("ValueSet(Long_t)");
2146 fZNdivSub->Disconnect("ValueSet(Long_t)");
2147 fZNdivSubSub->Disconnect("ValueSet(Long_t)");
2148 fZNdivisionsOptimize->Disconnect("Toggled(Bool_t)");
2149 break;
2150 case 5: // TITLES
2151 fOptTitle->Disconnect("Toggled(Bool_t)");
2152 fTitleColor->Disconnect("ColorSelected(Pixel_t)");
2153 fTitleStyle->Disconnect("PatternSelected(Style_t)");
2154 fTitleTextColor->Disconnect("ColorSelected(Pixel_t)");
2155 fTitleFontSize->Disconnect("ValueSet(Long_t)");
2156 fTitleFont->Disconnect("Selected(Int_t)");
2157 fTitleAlign->Disconnect("Selected(Int_t)");
2158 fTitleBorderSize->Disconnect("Selected(Int_t)");
2159 fTitleX->Disconnect("ValueSet(Long_t)");
2160 fTitleY->Disconnect("ValueSet(Long_t)");
2161 fTitleW->Disconnect("ValueSet(Long_t)");
2162 fTitleH->Disconnect("ValueSet(Long_t)");
2163 fLegendBorderSize->Disconnect("Selected(Int_t)");
2164 break;
2165 case 6: // STATS
2166 fStatColor->Disconnect("ColorSelected(Pixel_t)");
2167 fStatStyle->Disconnect("PatternSelected(Style_t)");
2168 fStatTextColor->Disconnect("ColorSelected(Pixel_t)");
2169 fStatFontSize->Disconnect("ValueSet(Long_t)");
2170 fStatFont->Disconnect("Selected(Int_t)");
2171 fStatX->Disconnect("ValueSet(Long_t)");
2172 fStatY->Disconnect("ValueSet(Long_t)");
2173 fStatW->Disconnect("ValueSet(Long_t)");
2174 fStatH->Disconnect("ValueSet(Long_t)");
2175 fStatBorderSize->Disconnect("Selected(Int_t)");
2176 fOptStatName->Disconnect("Toggled(Bool_t)");
2177 fOptStatEntries->Disconnect("Toggled(Bool_t)");
2178 fOptStatOverflow->Disconnect("Toggled(Bool_t)");
2179 fOptStatMean->Disconnect("Toggled(Bool_t)");
2180 fOptStatUnderflow->Disconnect("Toggled(Bool_t)");
2181 fOptStatRMS->Disconnect("Toggled(Bool_t)");
2182 fOptStatSkewness->Disconnect("Toggled(Bool_t)");
2183 fOptStatIntegral->Disconnect("Toggled(Bool_t)");
2184 fOptStatKurtosis->Disconnect("Toggled(Bool_t)");
2185 fOptStatErrors->Disconnect("Toggled(Bool_t)");
2186 fStatFormat->Disconnect("TextChanged(const char *)");
2187 fOptFitValues->Disconnect("Toggled(Bool_t)");
2188 fOptFitErrors->Disconnect("Toggled(Bool_t)");
2189 fOptFitProbability->Disconnect("Toggled(Bool_t)");
2190 fOptFitChi->Disconnect("Toggled(Bool_t)");
2191 fFitFormat->Disconnect("TextChanged(const char *)");
2192 break;
2193 case 7: // PS / PDF
2194 fHeaderPS->Disconnect("TextChanged(const char *)");
2195 fTitlePS->Disconnect("TextChanged(const char *)");
2196 fColorModelPS->Disconnect("Clicked(Int_t)");
2197 fLineScalePS->Disconnect("ValueSet(Long_t)");
2198 fPaperSizePredef->Disconnect("Selected(Int_t)");
2199 fPaperSizeX->Disconnect("ValueSet(Long_t)");
2200 fPaperSizeY->Disconnect("ValueSet(Long_t)");
2201 break;
2202 }
2203}
2204
2205////////////////////////////////////////////////////////////////////////////////
2206/// Called each time something is changed in the style editor. Thanks to
2207/// this method, we can know if the style differs from the original style.
2208
2210{
2212
2213 // Update the status bar.
2215
2216 // Update the preview if the real time mode is selected.
2217 if (fRealTimePreview)
2219}
2220
2221////////////////////////////////////////////////////////////////////////////////
2222/// Add the editor to the frame 'p'. It contains the tabs allowing the user
2223/// to modify every data member of the current TStyle object.
2224
2226{
2227 TGLayoutHints *layout1 = new TGLayoutHints(kLHintsExpandX, 8, 8, 5, 5);
2228 fTrashListLayout->Add(layout1);
2229 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsExpandX, 10, 10);
2230 fTrashListLayout->Add(layout2);
2231
2234
2235 fEditionTab = new TGTab(fEditionFrame, 200, 150);
2236 fEditionTab->Associate(this);
2237 CreateTabGeneral(fEditionTab->AddTab("General"));
2240 CreateTabHistos(fEditionTab->AddTab("Histograms"));
2244 CreateTabPsPdf(fEditionTab->AddTab("PS / PDF"));
2246
2249 fEditionHelp->Associate(this);
2256 fEditionReset->Associate(this);
2259
2260 p->AddFrame(fEditionFrame, layout1);
2261
2262 fEditionHelp->SetToolTipText("Help about the current tab");
2263 fEditionUpdatePreview->SetToolTipText("Force the refresh of the preview window");
2264 fEditionReset->SetToolTipText("Reset the selected style");
2265}
2266
2267////////////////////////////////////////////////////////////////////////////////
2268/// Add the tab 'General' to the editor.
2269
2271{
2272 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 10, 21, 5, 5);
2273 fTrashListLayout->Add(layout);
2274
2279 tab->AddFrame(h1, fLayoutExpandX);
2280
2281 TGHorizontalFrame *h2 = new TGHorizontalFrame(tab);
2283 AddGeneralText(h2);
2290 "Screen factor:", 0, 6, TGNumberFormat::kNESRealOne,
2293 v->AddFrame(h3, layout);
2295 tab->AddFrame(h2, fLayoutExpandX);
2296
2297 fScreenFactor->GetNumberEntry()->SetToolTipText("Coefficient for different screen's resolutions");
2298}
2299
2300////////////////////////////////////////////////////////////////////////////////
2301/// Add the 'Fill' group frame to the 'General' tab.
2302
2304{
2305 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsExpandX, 5, 0, 5, 5);
2306 fTrashListLayout->Add(layout2);
2307
2308 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
2315 AddTitle(gf, "Hatchings");
2323 gf->AddFrame(h2, layout2);
2324 f->AddFrame(gf, fLayoutExpandXYMargin);
2325
2326// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2327// fFillColor->SetToolTipText("General fill color");
2328// fFillStyle->SetToolTipText("General fill pattern");
2329 fHatchesSpacing->GetNumberEntry()->SetToolTipText("Spacing between the hatching's lines");
2330}
2331
2332////////////////////////////////////////////////////////////////////////////////
2333/// Add the 'Line' group frame to the 'General' tab.
2334
2336{
2337 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
2345 fLineStyleEdit = AddTextButton(gf, "Lines' Style Editor...", kGeneralLineStyleEdit);
2347 f->AddFrame(gf, fLayoutExpandXYMargin);
2348
2349// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2350// fLineColor->SetToolTipText("General line color");
2351}
2352
2353////////////////////////////////////////////////////////////////////////////////
2354/// Add the 'Text' group frame to the 'General' tab.
2355
2357{
2358 TGGroupFrame *gf = new TGGroupFrame(f, "Text");
2369 fTextSize = AddNumberEntry(h2, 21, 10, 0, kGeneralTextSize, "Size:", 0, 5,
2373 gf->AddFrame(h2, fLayoutExpandX);
2374 fTextAngle = AddNumberEntry(gf, 0, 0, 0, kGeneralTextAngle, "Angle:",
2378 f->AddFrame(gf, fLayoutExpandXYMargin);
2379
2380// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2381// fTextColor->SetToolTipText("General text color");
2382 fTextSizeInPixels->SetToolTipText("Set the text size in pixels if selected, otherwise - in % of pad.");
2383 fTextSize->GetNumberEntry()->SetToolTipText("General text size (in pixels or in % of pad)");
2384 fTextAngle->GetNumberEntry()->SetToolTipText("General text angle");
2385}
2386
2387////////////////////////////////////////////////////////////////////////////////
2388/// Add the 'Marker' group frame to the 'General' tab.
2389
2391{
2392 TGGroupFrame *gf = new TGGroupFrame(f, "Marker");
2400 f->AddFrame(gf, fLayoutExpandXMargin);
2401
2402// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2403// fMarkerColor->SetToolTipText("Marker color");
2404// fMarkerStyle->SetToolTipText("Marker shape");
2405}
2406
2407////////////////////////////////////////////////////////////////////////////////
2408/// Add the tab 'Canvas' to the editor.
2409
2411{
2419 h->AddFrame(v1, fLayoutExpandXY);
2423 h->AddFrame(v2, fLayoutExpandXY);
2424 tab->AddFrame(h, fLayoutExpandX);
2425}
2426
2427////////////////////////////////////////////////////////////////////////////////
2428/// Add the 'Fill' group frame to the 'Canvas' tab.
2429
2431{
2432 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
2438 f->AddFrame(gf, fLayoutExpandXMargin);
2439
2440// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2441// fCanvasColor->SetToolTipText("Color used to fill canvases");
2442}
2443
2444////////////////////////////////////////////////////////////////////////////////
2445/// Add the 'Geometry' group frame to the 'Canvas' tab.
2446
2448{
2449 TGGroupFrame *gf = new TGGroupFrame(f, "Geometry");
2453 fCanvasDefX = AddNumberEntry(h1, 0, 9, 0, kCanvasDefX, "X:",
2457 fCanvasDefY = AddNumberEntry(h1, 7, 8, 0, kCanvasDefY, "Y:",
2462
2465 fCanvasDefW = AddNumberEntry(h2, 0, 7, 0, kCanvasDefW, "W:",
2469 fCanvasDefH = AddNumberEntry(h2, 7, 8, 0, kCanvasDefH, "H:",
2473 gf->AddFrame(h2, fLayoutExpandX);
2474 f->AddFrame(gf, fLayoutExpandXMargin);
2475
2476 fCanvasDefX->GetNumberEntry()->SetToolTipText("Canvases' default abscissa");
2477 fCanvasDefY->GetNumberEntry()->SetToolTipText("Canvases' default ordinate");
2478 fCanvasDefW->GetNumberEntry()->SetToolTipText("Canvases' default width");
2479 fCanvasDefH->GetNumberEntry()->SetToolTipText("Canvases' default height");
2480}
2481
2482////////////////////////////////////////////////////////////////////////////////
2483/// Add the 'Border' group frame to the 'Canvas' tab.
2484
2486{
2489}
2490
2491////////////////////////////////////////////////////////////////////////////////
2492/// Add the 'Date' group frame to the 'Canvas' tab.
2493
2495{
2496 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsExpandX, 10);
2497 fTrashListLayout->Add(layout2);
2498
2499 TGGroupFrame *gf = new TGGroupFrame(f, "Date");
2509 fAttDateTextSize = AddNumberEntry(h2, 22, 10, 0, kCanvasAttDateTextSize, "Size:", 0, 5,
2513 gf->AddFrame(h2, fLayoutExpandX);
2518 "Angle:", 0, 6, TGNumberFormat::kNESInteger,
2521 AddTitle(gf, "Position");
2522 TGVerticalFrame *h3 = new TGVerticalFrame(gf);
2524 fDateX = AddNumberEntry(h3, 0, 0, 0, kCanvasDateX, "X (% of Pad):",
2528 fDateY = AddNumberEntry(h3, 0, 0, 0, kCanvasDateY, "Y (% of Pad):",
2532 gf->AddFrame(h3, layout2);
2533 f->AddFrame(gf, fLayoutExpandXYMargin);
2534
2535 fOptDateBool->SetToolTipText("Show / Hide the date in canvases");
2536// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2537// fAttDateTextColor->SetToolTipText("Color of the date text");
2538 fAttDateTextSizeInPixels->SetToolTipText("Set the date text size in pixels if selected, otherwise - in % of pad");
2539 fAttDateTextSize->GetNumberEntry()->SetToolTipText("Date text size (in pixels or in % of pad)");
2540 fAttDateTextAngle->GetNumberEntry()->SetToolTipText("Date text angle");
2541 fDateX->GetNumberEntry()->SetToolTipText("Date abscissa in percent of pad");
2542 fDateY->GetNumberEntry()->SetToolTipText("Date ordinate in percent of pad");
2543}
2544
2545////////////////////////////////////////////////////////////////////////////////
2546/// Add the tab 'Pad' to the editor.
2547
2549{
2555 AddPadFill(v);
2556 AddPadTicks(v);
2557 h1->AddFrame(v, fLayoutExpandXY);
2558 tab->AddFrame(h1, fLayoutExpandX);
2559 TGHorizontalFrame *h2 = new TGHorizontalFrame(tab);
2561 AddPadBorder(h2);
2562 AddPadGrid(h2);
2563 tab->AddFrame(h2, fLayoutExpandX);
2564}
2565
2566////////////////////////////////////////////////////////////////////////////////
2567/// Add the 'Margin' group frame to the 'Pad' tab.
2568
2570{
2571 TGGroupFrame *gf = new TGGroupFrame(f, "Margin (% of Pad)");
2575 fPadLeftMargin = AddNumberEntry(h1, 0, 5, 0, kPadLeftMargin, "Left:",
2579 fPadRightMargin = AddNumberEntry(h1, 0, 0, 0, kPadRightMargin, "Right:",
2586 fPadTopMargin = AddNumberEntry(h2, 0, 5, 0, kPadTopMargin, "Top:",
2590 fPadBottomMargin = AddNumberEntry(h2, 0, 0, 0, kPadBottomMargin, "Bottom:",
2594 gf->AddFrame(h2, fLayoutExpandXY);
2595 f->AddFrame(gf, fLayoutExpandXYMargin);
2596
2597 fPadLeftMargin->GetNumberEntry()->SetToolTipText("Pads' left margin");
2598 fPadRightMargin->GetNumberEntry()->SetToolTipText("Pads' right margin");
2599 fPadTopMargin->GetNumberEntry()->SetToolTipText("Pads' top margin");
2600 fPadBottomMargin->GetNumberEntry()->SetToolTipText("Pads' bottom margin");
2601}
2602
2603////////////////////////////////////////////////////////////////////////////////
2604/// Add the 'Border' group frame to the 'Pad' tab.
2605
2607{
2610}
2611
2612////////////////////////////////////////////////////////////////////////////////
2613/// Add the 'Fill' group frame to the 'Pad' tab.
2614
2616{
2617 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
2623 f->AddFrame(gf, fLayoutExpandXYMargin);
2624
2625// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2626// fPadColor->SetToolTipText("Color used to fill pads");
2627}
2628
2629////////////////////////////////////////////////////////////////////////////////
2630/// Add the 'Ticks' group frame to the 'Pad' tab.
2631
2633{
2634 TGGroupFrame *gf = new TGGroupFrame(f, "Ticks");
2640 fPadTickX = AddCheckButton(h1, "Along X", kPadTickX);
2641 h->AddFrame(h1, fLayoutExpandX);
2644 fPadTickY = AddCheckButton(h2, "Along Y", kPadTickY);
2645 h->AddFrame(h2, fLayoutExpandX);
2647 f->AddFrame(gf, fLayoutExpandXYMargin);
2648
2649 fPadTickX->SetToolTipText("Show / Hide the ticks along X");
2650 fPadTickY->SetToolTipText("Show / Hide the ticks along Y");
2651}
2652
2653////////////////////////////////////////////////////////////////////////////////
2654/// Add the 'Grid' group frame to the 'Pad' tab.
2655
2657{
2658 TGGroupFrame *gf = new TGGroupFrame(f, "Grid");
2664 fPadGridX = AddCheckButton(h10, "Along X", kPadGridX);
2665 h1->AddFrame(h10, fLayoutExpandX);
2668 fPadGridY = AddCheckButton(h20, "Along Y", kPadGridY);
2669 h1->AddFrame(h20, fLayoutExpandX);
2675 gf->AddFrame(h2, fLayoutExpandX);
2677 f->AddFrame(gf, fLayoutExpandXYMargin);
2678
2679// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2680// fGridColor->SetToolTipText("Line color for the grid");
2681 fPadGridX->SetToolTipText("Show / Hide the grid along X");
2682 fPadGridY->SetToolTipText("Show / Hide the grid along Y");
2683}
2684
2685////////////////////////////////////////////////////////////////////////////////
2686/// Add the tab 'Histos' to the editor.
2687
2689{
2690 fHistosTab = new TGTab(tab, 1, 1);
2691 fHistosTab->Associate(this);
2696}
2697
2698////////////////////////////////////////////////////////////////////////////////
2699/// Add the sub-tab 'Histos' to the tab 'Histos'.
2700
2702{
2707 tab->AddFrame(h1, fLayoutExpandX);
2708
2709 TGHorizontalFrame *h2 = new TGHorizontalFrame(tab);
2713 tab->AddFrame(h2, fLayoutExpandX);
2714
2715 TGHorizontalFrame *h3 = new TGHorizontalFrame(tab);
2719 tab->AddFrame(h3, fLayoutExpandX);
2720}
2721
2722////////////////////////////////////////////////////////////////////////////////
2723/// Add the 'Fill' group frame to the 'Histos - Histos' tab.
2724
2726{
2727 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
2734 f->AddFrame(gf, fLayoutExpandXYMargin);
2735
2736// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2737// fHistFillColor->SetToolTipText("Color used to fill histograms");
2738// fHistFillStyle->SetToolTipText("Pattern used to fill histograms");
2739}
2740
2741////////////////////////////////////////////////////////////////////////////////
2742/// Add the 'Line' group frame to the 'Histos - Histos' tab.
2743
2745{
2746 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
2754 f->AddFrame(gf, fLayoutExpandXYMargin);
2755
2756// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2757// fHistLineColor->SetToolTipText("Color used for histograms' lines");
2758}
2759
2760////////////////////////////////////////////////////////////////////////////////
2761/// Add the 'Bar' group frame to the 'Histos - Histos' tab.
2762
2764{
2765 TGGroupFrame *gf = new TGGroupFrame(f, "Bar");
2769 fBarWidth = AddNumberEntry(h, 0, 5, 0, kHistBarWidth, "W:",
2773 fBarOffset = AddNumberEntry(h, 8, 5, 0, kHistBarOffset, "O:",
2778 f->AddFrame(gf, fLayoutExpandXYMargin);
2779
2780 fBarWidth->GetNumberEntry()->SetToolTipText("Width of bars");
2781 fBarOffset->GetNumberEntry()->SetToolTipText("Offset of bars");
2782}
2783
2784////////////////////////////////////////////////////////////////////////////////
2785/// Add the 'Contours' group frame to the 'Histos - Histos' tab.
2786
2788{
2789 TGGroupFrame *gf = new TGGroupFrame(f, "Contours");
2791 fNumberContours = AddNumberEntry(gf, 0, 0, 0, kHistNumberContours, "Number:",
2795 f->AddFrame(gf, fLayoutExpandXYMargin);
2796
2797 fNumberContours->GetNumberEntry()->SetToolTipText("Number of level lines to draw");
2798}
2799
2800////////////////////////////////////////////////////////////////////////////////
2801/// Add the 'Axis' group frame to the 'Histos - Histos' tab.
2802
2804{
2805 TGGroupFrame *gf = new TGGroupFrame(f, "Axis");
2807 fHistMinimumZero = AddCheckButton(gf, "Minimum zero", kHistMinimumZero);
2808 fPaintTextFormat = AddTextEntry(gf, "Paint format:", kHistPaintTextFormat);
2809 f->AddFrame(gf, fLayoutExpandXYMargin);
2810
2811 fHistMinimumZero->SetToolTipText("Set to zero / Compute the minimum of axis range");
2812 fPaintTextFormat->SetToolTipText("Paint format of the axis labels in histograms");
2813}
2814
2815////////////////////////////////////////////////////////////////////////////////
2816/// Add the '3D Cylindrical' group frame to the 'Histos - Histos' tab.
2817
2819{
2820 TGGroupFrame *gf = new TGGroupFrame(f, "3D Cylindrical (%)");
2822 fLegoInnerR = AddNumberEntry(gf, 0, 0, 0, kHistLegoInnerR, "Inner radius:",
2826 f->AddFrame(gf, fLayoutExpandXYMargin);
2827
2828 fLegoInnerR->GetNumberEntry()->SetToolTipText("Percent of radius allocated to the tube");
2829}
2830
2831////////////////////////////////////////////////////////////////////////////////
2832/// Add the sub-tab 'Frames' to the tab 'Histos'.
2833
2835{
2836 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 10, 10, 0, 13);
2837 fTrashListLayout->Add(layout);
2838
2841
2846 h1->AddFrame(v1, fLayoutExpandXY);
2847
2853 fPaletteEdit = AddTextButton(h2, "Palette Editor...", kFramePaletteEdit);
2855 v2->AddFrame(h2, layout);
2856 h1->AddFrame(v2, fLayoutExpandXY);
2857
2858 tab->AddFrame(h1, fLayoutExpandX);
2859}
2860
2861////////////////////////////////////////////////////////////////////////////////
2862/// Add the 'Fill' group frame to the 'Histos - Frames' tab.
2863
2865{
2866 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
2873 f->AddFrame(gf, fLayoutExpandXMargin);
2874
2875// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2876// fFrameFillColor->SetToolTipText("Color used to fill frames");
2877// fFrameFillStyle->SetToolTipText("Pattern used to fill frames");
2878}
2879
2880////////////////////////////////////////////////////////////////////////////////
2881/// Add the 'Line' group frame to the 'Histos - Frames' tab.
2882
2884{
2885 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
2893 f->AddFrame(gf, fLayoutExpandXYMargin);
2894
2895// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2896// fFrameLineColor->SetToolTipText("Color of lines in frames");
2897}
2898
2899////////////////////////////////////////////////////////////////////////////////
2900/// Add the 'Border' group frame to the 'Histos - Frames' tab.
2901
2903{
2906}
2907
2908////////////////////////////////////////////////////////////////////////////////
2909/// Add the sub-tab 'Graphs' to the tab 'Histos'.
2910
2912{
2917 tab->AddFrame(h, fLayoutExpandX);
2919}
2920
2921////////////////////////////////////////////////////////////////////////////////
2922/// Add the 'Line' group frame to the 'Histos - Graphs' tab.
2923
2925{
2926 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
2934 f->AddFrame(gf, fLayoutExpandXMargin);
2935
2936// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2937// fFuncColor->SetToolTipText("Color of curves in graphs");
2938}
2939
2940////////////////////////////////////////////////////////////////////////////////
2941/// Add the 'Draw Border' check button to the 'Histos - Graphs' tab.
2942
2944{
2945 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 10, 21, 5, 5);
2946 fTrashListLayout->Add(layout);
2947
2950 fDrawBorder = AddCheckButton(h, "Draw Border (for Filled Function)", kGraphsDrawBorder);
2951 f->AddFrame(h, layout);
2952
2953 fDrawBorder->SetToolTipText("Show / Hide the border of filled functions");
2954}
2955
2956////////////////////////////////////////////////////////////////////////////////
2957/// Add the 'Errors' group frame to the 'Histos - Graphs' tab.
2958
2960{
2961 TGGroupFrame *gf = new TGGroupFrame(f, "Errors");
2964 "End error size:", 0, 4, TGNumberFormat::kNESRealOne,
2967 fErrorX = AddNumberEntry(gf, 0, 0, 0, kGraphsErrorX, "Error X (% of bin):",
2971 f->AddFrame(gf, fLayoutExpandXMargin);
2972
2973 fEndErrorSize->GetNumberEntry()->SetToolTipText("Size of lines drawn at the end of error bars");
2974 fErrorX->GetNumberEntry()->SetToolTipText("Percent of the bin width to use for errors along X");
2975}
2976
2977////////////////////////////////////////////////////////////////////////////////
2978/// Add the tab 'Axis' to the editor.
2979
2981{
2982 TGLayoutHints *layout =
2983 new TGLayoutHints(kLHintsNormal, 10, 13, 3);
2984 fTrashListLayout->Add(layout);
2985
2988
2991 fStripDecimals = AddCheckButton(h3, "Decimal labels' part", kAxisStripDecimals, 0, 8);
2992 TGVerticalFrame *space = new TGVerticalFrame(h3);
2993 fTrashListFrame->AddFirst(space);
2994 h3->AddFrame(space, fLayoutExpandXY);
2995 fApplyOnXYZ = AddTextButton(h3, "Apply on XYZ", kAxisApplyOnXYZ);
2996 h->AddFrame(h3, layout);
2997
2998 TGGroupFrame *gf = new TGGroupFrame(h, "Date/Time Offset");
3010 gf->AddFrame(h2, fLayoutExpandX);
3011 h->AddFrame(gf, fLayoutExpandXMargin);
3012 tab->AddFrame(h, fLayoutExpandX);
3013
3014 fAxisTab = new TGTab(tab);
3015 fAxisTab->Associate(this);
3016 CreateTabAxisX(fAxisTab->AddTab("X axis"));
3017 CreateTabAxisY(fAxisTab->AddTab("Y axis"));
3018 CreateTabAxisZ(fAxisTab->AddTab("Z axis"));
3020
3021 fStripDecimals->SetToolTipText("Draw / Hide the decimal part of labels");
3022 fApplyOnXYZ->SetToolTipText("Apply settings of the currently selected axis on XYZ");
3023 fTimeOffsetDate->GetNumberEntry()->SetToolTipText("Date offset for axis (dd/mm/yyyy)");
3024 fTimeOffsetTime->GetNumberEntry()->SetToolTipText("Time offset for axis (hh/mm/ss)");
3025}
3026
3027////////////////////////////////////////////////////////////////////////////////
3028/// Add the sub-tab 'X Axis' to the tab 'Axis'.
3029
3031{
3036 tab->AddFrame(h1, fLayoutExpandX);
3037
3038 TGHorizontalFrame *h2 = new TGHorizontalFrame(tab);
3040 AddAxisXTitle(h2);
3041 AddAxisXLabels(h2);
3042 tab->AddFrame(h2, fLayoutExpandX);
3043}
3044
3045////////////////////////////////////////////////////////////////////////////////
3046/// Add the 'Line' group frame to the 'Axis - X Axis' tab.
3047
3049{
3050 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 20);
3051 fTrashListLayout->Add(layout);
3052
3053 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
3060 fXTickLength = AddNumberEntry(h2, 3, 8, 0, kAxisXTickLength, "Ticks:",
3064 h->AddFrame(h2, layout);
3066 fOptLogx = AddCheckButton(gf, "Logarithmic scale", kAxisOptLogx);
3067 f->AddFrame(gf, fLayoutExpandXYMargin);
3068
3069// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3070// fXAxisColor->SetToolTipText("Color of axis' line");
3071 fXTickLength->GetNumberEntry()->SetToolTipText("Set the ticks' length");
3072 fOptLogx->SetToolTipText("Draw logarithmic scale");
3073}
3074
3075////////////////////////////////////////////////////////////////////////////////
3076/// Add the 'Title' group frame to the 'Axis - X Axis' tab.
3077
3079{
3080 TGGroupFrame *gf = new TGGroupFrame(f, "Title");
3090 fXTitleSize = AddNumberEntry(h2, 21, 8, 0, kAxisXTitleSize, "Size:", 0, 5,
3094 gf->AddFrame(h2, fLayoutExpandX);
3095 fXTitleOffset = AddNumberEntry(gf, 68, 8, 0, kAxisXTitleOffset, "Offset:",
3099 f->AddFrame(gf, fLayoutExpandXMargin);
3100
3101// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3102// fXTitleColor->SetToolTipText("Color of axis' title");
3103 fXTitleSizeInPixels->SetToolTipText("Set the title size in pixels if selected, otherwise - in % of pad");
3104 fXTitleSize->GetNumberEntry()->SetToolTipText("Title size (in pixels or in % of pad)");
3105 fXTitleOffset->GetNumberEntry()->SetToolTipText("Offset between axis and title");
3106}
3107
3108////////////////////////////////////////////////////////////////////////////////
3109/// Add the 'Divisions' group frame to the 'Axis - X Axis' tab.
3110
3112{
3113 TGGroupFrame *gf = new TGGroupFrame(f, "Divisions");
3115
3122 fXNdivSub = AddNumberEntry(h1, 0, 18, 0, kAxisXNdivSub, "",
3126 fXNdivMain = AddNumberEntry(h1, 0, 18, 0, kAxisXNdivMain, "",
3131
3135 gf->AddFrame(h2, fLayoutExpandX);
3136 f->AddFrame(gf, fLayoutExpandXMargin);
3137
3138 fXNdivMain->GetNumberEntry()->SetToolTipText("Primary axis divisions");
3139 fXNdivSub->GetNumberEntry()->SetToolTipText("Secondary axis divisions");
3140 fXNdivSubSub->GetNumberEntry()->SetToolTipText("Tertiary axis divisions");
3141 fXNdivisionsOptimize->SetToolTipText("Optimize the number of axis divisions if selected");
3142}
3143
3144////////////////////////////////////////////////////////////////////////////////
3145/// Add the 'Labels' group frame to the 'Axis - X Axis' tab.
3146
3148{
3149 TGGroupFrame *gf = new TGGroupFrame(f, "Labels");
3159 fXLabelSize = AddNumberEntry(h2, 22, 8, 0, kAxisXLabelSize, "Size:", 0, 5,
3163 gf->AddFrame(h2, fLayoutExpandX);
3164 fXLabelOffset = AddNumberEntry(gf, 69, 8, 0, kAxisXTitleOffset, "Offset:",
3168 f->AddFrame(gf, fLayoutExpandXMargin);
3169
3170// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3171// fXLabelColor->SetToolTipText("Color of axis' labels");
3172 fXLabelSizeInPixels->SetToolTipText("Set the labels size in pixels if selected, otherwise - in % of pad");
3173 fXLabelSize->GetNumberEntry()->SetToolTipText("Label size (in pixels or in % of pad)");
3174 fXLabelOffset->GetNumberEntry()->SetToolTipText("Offset between axis and labels");
3175}
3176
3177////////////////////////////////////////////////////////////////////////////////
3178/// Add the sub-tab 'Y Axis' to the tab 'Axis'.
3179
3181{
3186 tab->AddFrame(h1, fLayoutExpandX);
3187
3188 TGHorizontalFrame *h2 = new TGHorizontalFrame(tab);
3190 AddAxisYTitle(h2);
3191 AddAxisYLabels(h2);
3192 tab->AddFrame(h2, fLayoutExpandX);
3193}
3194
3195////////////////////////////////////////////////////////////////////////////////
3196/// Add the 'Line' group frame to the 'Axis - Y Axis' tab.
3197
3199{
3200 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 20);
3201 fTrashListLayout->Add(layout);
3202
3203 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
3210 fYTickLength = AddNumberEntry(h2, 3, 8, 0, kAxisYTickLength, "Ticks:",
3214 h->AddFrame(h2, layout);
3216 fOptLogy = AddCheckButton(gf, "Logarithmic scale", kAxisOptLogy);
3217 f->AddFrame(gf, fLayoutExpandXYMargin);
3218
3219// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3220// fYAxisColor->SetToolTipText("Color of axis' line");
3221 fYTickLength->GetNumberEntry()->SetToolTipText("Set the ticks' length");
3222 fOptLogy->SetToolTipText("Draw logarithmic scale");
3223}
3224
3225////////////////////////////////////////////////////////////////////////////////
3226/// Add the 'Title' group frame to the 'Axis - Y Axis' tab.
3227
3229{
3230 TGGroupFrame *gf = new TGGroupFrame(f, "Title");
3240 fYTitleSize = AddNumberEntry(h2, 21, 8, 0, kAxisYTitleSize, "Size:", 0, 5,
3244 gf->AddFrame(h2, fLayoutExpandX);
3245 fYTitleOffset = AddNumberEntry(gf, 68, 8, 0, kAxisYTitleOffset, "Offset:",
3249 f->AddFrame(gf, fLayoutExpandXMargin);
3250
3251// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3252// fYTitleColor->SetToolTipText("Color of axis' title");
3253 fYTitleSizeInPixels->SetToolTipText("Set the title size in pixels if selected, otherwise - in % of pad");
3254 fYTitleSize->GetNumberEntry()->SetToolTipText("Title size (in pixels or in % of pad)");
3255 fYTitleOffset->GetNumberEntry()->SetToolTipText("Offset between axis and title");
3256}
3257
3258////////////////////////////////////////////////////////////////////////////////
3259/// Add the 'Divisions' group frame to the 'Axis - Y Axis' tab.
3260
3262{
3263 TGGroupFrame *gf = new TGGroupFrame(f, "Divisions");
3271 fYNdivSub = AddNumberEntry(h1, 0, 18, 0, kAxisYNdivSub, "",
3275 fYNdivMain = AddNumberEntry(h1, 0, 18, 0, kAxisYNdivMain, "",
3280
3284 gf->AddFrame(h2, fLayoutExpandX);
3285 f->AddFrame(gf, fLayoutExpandXMargin);
3286
3287 fYNdivMain->GetNumberEntry()->SetToolTipText("Primary axis divisions");
3288 fYNdivSub->GetNumberEntry()->SetToolTipText("Secondary axis divisions");
3289 fYNdivSubSub->GetNumberEntry()->SetToolTipText("Tertiary axis divisions");
3290 fYNdivisionsOptimize->SetToolTipText("Optimize the number of axis divisions");
3291}
3292
3293////////////////////////////////////////////////////////////////////////////////
3294/// Add the 'Labels' group frame to the 'Axis - Y Axis' tab.
3295
3297{
3298 TGGroupFrame *gf = new TGGroupFrame(f, "Labels");
3305
3309 fYLabelSize = AddNumberEntry(h2, 22, 8, 0, kAxisYLabelSize, "Size:", 0, 5,
3313 gf->AddFrame(h2, fLayoutExpandX);
3314 fYLabelOffset = AddNumberEntry(gf, 69, 8, 0, kAxisYTitleOffset, "Offset:",
3318 f->AddFrame(gf, fLayoutExpandXMargin);
3319
3320// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3321// fYLabelColor->SetToolTipText("Color of axis' labels");
3322 fYLabelSizeInPixels->SetToolTipText("Set the labels size in pixels if selected, otherwise - in % of pad");
3323 fYLabelSize->GetNumberEntry()->SetToolTipText("Label size (in pixels or in % of pad)");
3324 fYLabelOffset->GetNumberEntry()->SetToolTipText("Offset between axis and labels");
3325}
3326
3327////////////////////////////////////////////////////////////////////////////////
3328/// Add the sub-tab 'Z Axis' to the tab 'Axis'.
3329
3331{
3336 tab->AddFrame(h1, fLayoutExpandX);
3337
3338 TGHorizontalFrame *h2 = new TGHorizontalFrame(tab);
3340 AddAxisZTitle(h2);
3341 AddAxisZLabels(h2);
3342 tab->AddFrame(h2, fLayoutExpandX);
3343}
3344
3345////////////////////////////////////////////////////////////////////////////////
3346/// Add the 'Line' group frame to the 'Axis - Z Axis' tab.
3347
3349{
3350 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 20);
3351 fTrashListLayout->Add(layout);
3352
3353 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
3360 fZTickLength = AddNumberEntry(h2, 3, 8, 0, kAxisZTickLength, "Ticks:",
3364 h->AddFrame(h2, layout);
3366 fOptLogz = AddCheckButton(gf, "Logarithmic scale", kAxisOptLogz);
3367 f->AddFrame(gf, fLayoutExpandXYMargin);
3368
3369// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3370// fZAxisColor->SetToolTipText("Color of axis' line");
3371 fZTickLength->GetNumberEntry()->SetToolTipText("Set the ticks' length");
3372 fOptLogz->SetToolTipText("Draw logarithmic scale");
3373}
3374
3375////////////////////////////////////////////////////////////////////////////////
3376/// Add the 'Title' group frame to the 'Axis - Z Axis' tab.
3377
3379{
3380 TGGroupFrame *gf = new TGGroupFrame(f, "Title");
3387
3391 fZTitleSize = AddNumberEntry(h2, 21, 8, 0, kAxisZTitleSize, "Size:", 0, 5,
3395 gf->AddFrame(h2, fLayoutExpandX);
3396 fZTitleOffset = AddNumberEntry(gf, 68, 8, 0, kAxisZTitleOffset, "Offset:",
3400 f->AddFrame(gf, fLayoutExpandXMargin);
3401
3402// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3403// fZTitleColor->SetToolTipText("Color of axis' title");
3404 fZTitleSizeInPixels->SetToolTipText("Set the title size in pixels if selected, otherwise - in % of pad");
3405 fZTitleSize->GetNumberEntry()->SetToolTipText("Title size (in pixels or in % of pad)");
3406 fZTitleOffset->GetNumberEntry()->SetToolTipText("Offset between axis and title");
3407}
3408
3409////////////////////////////////////////////////////////////////////////////////
3410/// Add the 'Divisions' group frame to the 'Axis - Z Axis' tab.
3411
3413{
3414 TGGroupFrame *gf = new TGGroupFrame(f, "Divisions");
3422 fZNdivSub = AddNumberEntry(h1, 0, 18, 0, kAxisZNdivSub, "",
3426 fZNdivMain = AddNumberEntry(h1, 0, 18, 0, kAxisZNdivMain, "",
3431
3435 gf->AddFrame(h2, fLayoutExpandX);
3436 f->AddFrame(gf, fLayoutExpandXMargin);
3437
3438 fZNdivMain->GetNumberEntry()->SetToolTipText("Primary axis divisions");
3439 fZNdivSub->GetNumberEntry()->SetToolTipText("Secondary axis divisions");
3440 fZNdivSubSub->GetNumberEntry()->SetToolTipText("Tertiary axis divisions");
3441 fZNdivisionsOptimize->SetToolTipText("Optimize the number of axis divisions");
3442}
3443
3444////////////////////////////////////////////////////////////////////////////////
3445/// Add the 'Labels' group frame to the 'Axis - Z Axis' tab.
3446
3448{
3449 TGGroupFrame *gf = new TGGroupFrame(f, "Labels");
3456
3460 fZLabelSize = AddNumberEntry(h2, 22, 8, 0, kAxisZLabelSize, "Size:", 0, 5,
3464 gf->AddFrame(h2, fLayoutExpandX);
3465 fZLabelOffset = AddNumberEntry(gf, 69, 8, 0, kAxisZTitleOffset, "Offset:",
3469 f->AddFrame(gf, fLayoutExpandXMargin);
3470
3471// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3472// fZLabelColor->SetToolTipText("Color of axis' labels");
3473 fZLabelSizeInPixels->SetToolTipText("Set the labels size in pixels if selected, otherwise - in % of pad");
3474 fZLabelSize->GetNumberEntry()->SetToolTipText("Label size (in pixels or in % of pad)");
3475 fZLabelOffset->GetNumberEntry()->SetToolTipText("Offset between axis and labels");
3476}
3477
3478////////////////////////////////////////////////////////////////////////////////
3479/// Add the tab 'Title' to the editor.
3480
3482{
3483 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 10, 20, 5, 5);
3484 fTrashListLayout->Add(layout);
3485
3488 fOptTitle = AddCheckButton(h1, "Show title", kTitleOptTitle);
3489 tab->AddFrame(h1, layout);
3490
3491 TGHorizontalFrame *h2 = new TGHorizontalFrame(tab);
3503 tab->AddFrame(h2, fLayoutExpandX);
3504
3505 fOptTitle->SetToolTipText("Show / Hide the title pave");
3506}
3507
3508////////////////////////////////////////////////////////////////////////////////
3509/// Add the 'Fill' group frame to the 'Title' tab.
3510
3512{
3513 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
3520 f->AddFrame(gf, fLayoutExpandXMargin);
3521
3522// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3523// fTitleColor->SetToolTipText("Color used to fill the title pave");
3524// fTitleStyle->SetToolTipText("Pattern used to fill the title pave");
3525}
3526
3527////////////////////////////////////////////////////////////////////////////////
3528/// Add the 'Shadow' group frame to the 'Title' tab.
3529
3531{
3532 TGLayoutHints *layout1 = new TGLayoutHints(kLHintsNormal, 0, 24, 6);
3533 fTrashListLayout->Add(layout1);
3534 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsNormal, 0, 5, 6);
3535 fTrashListLayout->Add(layout2);
3536 TGLayoutHints *layout3 = new TGLayoutHints(kLHintsExpandX, 0, 0, 3, 3);
3537 fTrashListLayout->Add(layout3);
3538
3539 TGGroupFrame *gf = new TGGroupFrame(f, "Shadow");
3543 fTitleBorderSizeLabel = new TGLabel(h1, "Title's:");
3544 h1->AddFrame(fTitleBorderSizeLabel, layout1);
3546 gf->AddFrame(h1, layout3);
3547
3550 fLegendBorderSizeLabel = new TGLabel(h2, "Legend's:");
3551 h2->AddFrame(fLegendBorderSizeLabel, layout2);
3553 gf->AddFrame(h2, layout3);
3554 f->AddFrame(gf, fLayoutExpandXMargin);
3555}
3556
3557////////////////////////////////////////////////////////////////////////////////
3558/// Add the 'Text' group frame to the 'Title' tab.
3559
3561{
3562 TGGroupFrame *gf = new TGGroupFrame(f, "Text");
3573 fTitleFontSize = AddNumberEntry(h2, 21, 10, 0, kTitleFontSize, "Size:", 0, 5,
3577 gf->AddFrame(h2, fLayoutExpandX);
3578 f->AddFrame(gf, fLayoutExpandXYMargin);
3579
3580// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3581// fTitleTextColor->SetToolTipText("Color of the title's text");
3582 fTitleFontSizeInPixels->SetToolTipText("Set the title's text size in pixels if selected, otherwise - in % of pad");
3583 fTitleFontSize->GetNumberEntry()->SetToolTipText("Title's text size (in pixels or in % of pad)");
3584}
3585
3586////////////////////////////////////////////////////////////////////////////////
3587/// Add the 'Geometry' group frame to the 'Title' tab.
3588
3590{
3591 TGGroupFrame *gf = new TGGroupFrame(f, "Geometry (% of Pad)");
3595 fTitleX = AddNumberEntry(h1, 0, 8, 0, kTitleX, "X:",
3599 fTitleY = AddNumberEntry(h1, 8, 8, 0, kTitleY, "Y:",
3606 fTitleW = AddNumberEntry(h2, 0, 6, 0, kTitleW, "W:",
3610 fTitleH = AddNumberEntry(h2, 8, 8, 0, kTitleH, "H:",
3614 gf->AddFrame(h2, fLayoutExpandXY);
3615 f->AddFrame(gf, fLayoutExpandXYMargin);
3616
3617 fTitleX->GetNumberEntry()->SetToolTipText("Title' default abscissa");
3618 fTitleY->GetNumberEntry()->SetToolTipText("Title' default ordinate");
3619 fTitleW->GetNumberEntry()->SetToolTipText("Title' default width");
3620 fTitleH->GetNumberEntry()->SetToolTipText("Title' default height");
3621}
3622
3623////////////////////////////////////////////////////////////////////////////////
3624/// Add the tab 'Stats' to the editor.
3625
3627{
3628 TGLayoutHints *layout1 = new TGLayoutHints(kLHintsNormal, 0, 5, 6);
3629 fTrashListLayout->Add(layout1);
3630 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsExpandX, 10, 21, 5, 5);
3631 fTrashListLayout->Add(layout2);
3632
3635
3641 fStatBorderSizeLabel = new TGLabel(h2, "Stats' shadow:");
3642 h2->AddFrame(fStatBorderSizeLabel, layout1);
3644 v1->AddFrame(h2, layout2);
3647 h1->AddFrame(v1, fLayoutExpandXY);
3648
3652 AddStatsFit(v2);
3653 h1->AddFrame(v2, fLayoutExpandXY);
3654
3655 tab->AddFrame(h1, fLayoutExpandX);
3656}
3657
3658////////////////////////////////////////////////////////////////////////////////
3659/// Add the 'Fill' group frame to the 'Stats' tab.
3660
3662{
3663 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
3670 f->AddFrame(gf, fLayoutExpandXMargin);
3671
3672// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3673// fStatColor->SetToolTipText("Color used to fill the stats pave");
3674// fStatStyle->SetToolTipText("Pattern used to fill the stats pave");
3675}
3676
3677////////////////////////////////////////////////////////////////////////////////
3678/// Add the 'Text' group frame to the 'Stats' tab.
3679
3681{
3682 TGGroupFrame *gf = new TGGroupFrame(f, "Text");
3692 fStatFontSize = AddNumberEntry(h2, 21, 10, 0, kStatFontSize, "Size:", 0, 5,
3696 gf->AddFrame(h2, fLayoutExpandX);
3697 f->AddFrame(gf, fLayoutExpandXYMargin);
3698
3699// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3700// fStatTextColor->SetToolTipText("Color of the stats's text");
3701 fStatFontSizeInPixels->SetToolTipText("Set the stats's text size in pixels if selected, otherwise - in % of pad");
3702 fStatFontSize->GetNumberEntry()->SetToolTipText("Stats's text size (in pixels or in % of pad)");
3703}
3704
3705////////////////////////////////////////////////////////////////////////////////
3706/// Add the 'Geometry' group frame to the 'Stats' tab.
3707
3709{
3710 TGGroupFrame *gf = new TGGroupFrame(f, "Geometry");
3712
3715 fStatX = AddNumberEntry(h1, 0, 7, 0, kStatX, "X:",
3719 fStatY = AddNumberEntry(h1, 8, 7, 0, kStatY, "Y:",
3724
3727 fStatW = AddNumberEntry(h2, 0, 5, 0, kStatW, "W:",
3731 fStatH = AddNumberEntry(h2, 8, 7, 0, kStatH, "H:",
3735 gf->AddFrame(h2, fLayoutExpandXY);
3736 f->AddFrame(gf, fLayoutExpandXYMargin);
3737
3738 fStatX->GetNumberEntry()->SetToolTipText("X position of top right corner of stat box.");
3739 fStatY->GetNumberEntry()->SetToolTipText("Y position of top right corner of stat box.");
3740 fStatW->GetNumberEntry()->SetToolTipText("Width of stat box.");
3741 fStatH->GetNumberEntry()->SetToolTipText("Height of stat box.");
3742}
3743
3744////////////////////////////////////////////////////////////////////////////////
3745/// Add the 'Stat Options' group frame to the 'Stats' tab.
3746
3748{
3749 TGLayoutHints *layout = new TGLayoutHints(kLHintsNormal, 0, 0, 5);
3750 fTrashListLayout->Add(layout);
3751
3752 TGGroupFrame *gf = new TGGroupFrame(f, "Stat Options");
3763 h->AddFrame(v1, fLayoutExpandXY);
3771 h->AddFrame(v2, fLayoutExpandXY);
3773
3778 fStatFormatLabel = new TGLabel(h3, "Paint format:");
3779 h3->AddFrame(fStatFormatLabel, layout);
3780 h2->AddFrame(h3, fLayoutExpandX);
3782 gf->AddFrame(h2, fLayoutExpandX);
3783 f->AddFrame(gf, fLayoutExpandXYMargin);
3784
3785 fOptStatName->SetToolTipText("Show / Hide the histogram name");
3786 fOptStatOverflow->SetToolTipText("Show / Hide the number of overflows");
3787 fOptStatUnderflow->SetToolTipText("Show / Hide the number of underflows");
3788 fOptStatSkewness->SetToolTipText("Show / Hide the skewness");
3789 fOptStatKurtosis->SetToolTipText("Show / Hide the kurtosis");
3790 fOptStatEntries->SetToolTipText("Show / Hide the number of entries");
3791 fOptStatMean->SetToolTipText("Show / Hide the mean value");
3792 fOptStatRMS->SetToolTipText("Show / Hide root-mean-square (RMS)");
3793 fOptStatIntegral->SetToolTipText("Show / Hide the integral of bins");
3794 fOptStatErrors->SetToolTipText("Show / Hide the errors");
3795 fStatFormat->SetToolTipText("Paint format of stat options");
3796}
3797
3798////////////////////////////////////////////////////////////////////////////////
3799/// Add the 'Fit Options' group frame to the 'Stats' tab.
3800
3802{
3803 TGLayoutHints *layout = new TGLayoutHints(kLHintsNormal, 0, 0, 5);
3804 fTrashListLayout->Add(layout);
3805
3806 TGGroupFrame *gf = new TGGroupFrame(f, "Fit Options");
3813 fOptFitProbability = AddCheckButton(v1, "Probability",
3815 h->AddFrame(v1, fLayoutExpandXY);
3820 h->AddFrame(v2, fLayoutExpandXY);
3826 fFitFormatLabel = new TGLabel(h3, "Paint format:");
3827 h3->AddFrame(fFitFormatLabel, layout);
3828 h2->AddFrame(h3, fLayoutExpandX);
3830 gf->AddFrame(h2, fLayoutExpandX);
3831 f->AddFrame(gf, fLayoutExpandXMargin);
3832
3833 fOptFitValues->SetToolTipText("Show / Hide the parameter name and value");
3834 fOptFitProbability->SetToolTipText("Show / Hide probability)");
3835 fOptFitErrors->SetToolTipText("Show / Hide the errors");
3836 fOptFitChi->SetToolTipText("Show / Hide Chisquare");
3837 fFitFormat->SetToolTipText("Paint format of fit options");
3838}
3839
3840////////////////////////////////////////////////////////////////////////////////
3841/// Add the tab 'PS / PDF' to the editor.
3842
3844{
3845 AddPsPdfHeader(tab);
3846 AddPsPdfTitle(tab);
3854 h->AddFrame(v, fLayoutExpandXY);
3855 tab->AddFrame(h, fLayoutExpandX);
3856}
3857
3858////////////////////////////////////////////////////////////////////////////////
3859/// Add the 'Header' group frame to the 'PS / PDF' tab.
3860
3862{
3863 TGGroupFrame *gf = new TGGroupFrame(f, "Header");
3866 f->AddFrame(gf, fLayoutExpandXMargin);
3867
3868 fHeaderPS->SetToolTipText("PostScript header");
3869}
3870
3871////////////////////////////////////////////////////////////////////////////////
3872/// Add the 'Title' group frame to the 'PS / PDF' tab.
3873
3875{
3876 TGGroupFrame *gf = new TGGroupFrame(f, "Title");
3879 f->AddFrame(gf, fLayoutExpandXMargin);
3880
3881 fTitlePS->SetToolTipText("PostScript title");
3882}
3883
3884////////////////////////////////////////////////////////////////////////////////
3885/// Add the 'Color Model' group frame to the 'PS / PDF' tab.
3886
3888{
3889 fColorModelPS = new TGButtonGroup(f, "Color Model",
3891
3900 TGLayoutHints *layout2 =
3901 new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 5, 5, 5, 12);
3902 fTrashListLayout->Add(layout2);
3903 f->AddFrame(fColorModelPS, layout2);
3904}
3905
3906////////////////////////////////////////////////////////////////////////////////
3907/// Add the 'Paper Size' group frame to the 'PS / PDF' tab.
3908
3910{
3911 TGGroupFrame *gf = new TGGroupFrame(f, "Paper Size");
3914 fPaperSizeX = AddNumberEntry(gf, 0, 0, 0, kPSPDFPaperSizeX, "Width:",
3918 fPaperSizeY = AddNumberEntry(gf, 0, 0, 0, kPSPDFPaperSizeY, "Height:",
3922 f->AddFrame(gf, fLayoutExpandXMargin);
3923
3924 fPaperSizeX->GetNumberEntry()->SetToolTipText("Width of the printing area");
3925 fPaperSizeY->GetNumberEntry()->SetToolTipText("Height of the printing area");
3926}
3927
3928////////////////////////////////////////////////////////////////////////////////
3929/// Add the 'Line scale' number entry to the 'PS / PDF' tab.
3930
3932{
3933 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 10, 20, 5, 5);
3934 fTrashListLayout->Add(layout);
3935
3938 fLineScalePS = AddNumberEntry(gf, 0, 0, 0, kPSPDFLineScalePS, "Line scale:",
3942 f->AddFrame(gf, layout);
3943
3944 fLineScalePS->GetNumberEntry()->SetToolTipText("Line scale factor when drawing lines on PostScript");
3945}
3946
3947////////////////////////////////////////////////////////////////////////////////
3948/// Add a title to the frame f.
3949
3951{
3952 TGLayoutHints *layout1 = new TGLayoutHints(kLHintsExpandX, 5, 0, 7);
3953 fTrashListLayout->Add(layout1);
3954 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsExpandX, 0, 0, 6, 6);
3955 fTrashListLayout->Add(layout2);
3956
3959
3960 TGLabel *lab = new TGLabel(h, s);
3962 h->AddFrame(lab);
3963
3966 h->AddFrame(line, layout1);
3967
3968 f->AddFrame(h, layout2);
3969}
3970
3971////////////////////////////////////////////////////////////////////////////////
3972/// Add a color entry to the frame f.
3973
3975{
3976 TGLayoutHints *layout = new TGLayoutHints(kLHintsBottom, 0, 5, 3, 3);
3977 fTrashListLayout->Add(layout);
3978
3979 TGColorSelect *cs = new TGColorSelect(f, 0, id);
3980 cs->Associate(this);
3981 f->AddFrame(cs, layout);
3982 return cs;
3983}
3984
3985////////////////////////////////////////////////////////////////////////////////
3986/// Add a fill style entry to the frame f.
3987
3989 Int_t id)
3990{
3991 TGLayoutHints *layout = new TGLayoutHints(kLHintsBottom, 0, 0, 3, 3);
3992 fTrashListLayout->Add(layout);
3993
3994 TGedPatternSelect *gps = new TGedPatternSelect(f, 0, id);
3995 gps->Associate(this);
3996 f->AddFrame(gps, layout);
3997 return gps;
3998}
3999
4000////////////////////////////////////////////////////////////////////////////////
4001/// Add a marker style entry to the frame f.
4002
4004 Int_t id)
4005{
4006 TGLayoutHints *layout = new TGLayoutHints(kLHintsCenterY, 0, 5, 3, 3);
4007 fTrashListLayout->Add(layout);
4008
4009 TGedMarkerSelect *gms = new TGedMarkerSelect(f, 0, id);
4010 gms->Associate(this);
4011 f->AddFrame(gms, layout);
4012 return gms;
4013}
4014
4015////////////////////////////////////////////////////////////////////////////////
4016/// Add a marker size entry to the frame f.
4017
4019{
4020 char a[10];
4021 TGComboBox *cb = new TGComboBox(f, id);
4022 cb->Associate(this);
4023 for (Int_t i = 1; i <= 15; i++) {
4024 snprintf(a, 10, "%.1f", 0.2 * i);
4025 cb->AddEntry(a, i);
4026 }
4027 cb->Resize(1, 22);
4028 f->AddFrame(cb, fLayoutExpandXCenterYMargin);
4029 return cb;
4030}
4031
4032////////////////////////////////////////////////////////////////////////////////
4033/// Add a number entry to the frame f. A caption can be added.
4034
4036 Int_t e2, Int_t e3, Int_t id, const char *s, Double_t init, Int_t digits,
4039{
4042 if (strlen(s)) {
4043 TGLabel *lab = new TGLabel(h, s);
4045 TGLayoutHints *layout = new TGLayoutHints(kLHintsNormal, e1, 0, 3);
4046 fTrashListLayout->Add(layout);
4047 h->AddFrame(lab, layout);
4048 }
4049 TGNumberEntry *ne = new TGNumberEntry(h, init, digits, id,
4050 nfS, nfA, nfL, min, max);
4051 ne->Associate(this);
4052 if ((e1 == 0) && (e2 == 0) && (e3 == 0)) {
4054 fTrashListLayout->Add(layout1);
4055 h->AddFrame(ne, layout1);
4056 } else {
4057 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsNormal, e2, e3);
4058 fTrashListLayout->Add(layout2);
4059 h->AddFrame(ne, layout2);
4060 }
4061 if (strlen(s)) {
4062 TGLayoutHints *layout3 =
4063 new TGLayoutHints(kLHintsExpandX | kLHintsCenterY, 0, 2, 3, 3);
4064 fTrashListLayout->Add(layout3);
4065 f->AddFrame(h, layout3);
4066 } else {
4067 TGLayoutHints *layout4 =
4068 new TGLayoutHints(kLHintsNormal | kLHintsCenterY, 0, 2, 3, 3);
4069 fTrashListLayout->Add(layout4);
4070 f->AddFrame(h, layout4);
4071 }
4072 return ne;
4073}
4074
4075////////////////////////////////////////////////////////////////////////////////
4076/// Add a line width entry to the frame f.
4077
4079 Int_t id)
4080{
4081 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 0, 0, 3, 3);
4082 fTrashListLayout->Add(layout);
4083
4086 TGLineWidthComboBox *lwcb = new TGLineWidthComboBox(h, id);
4087 lwcb->Associate(this);
4088 lwcb->Resize(1, 22);
4089 h->AddFrame(lwcb, fLayoutExpandX);
4090 f->AddFrame(h, layout);
4091 return lwcb;
4092}
4093
4094////////////////////////////////////////////////////////////////////////////////
4095/// Add a line style entry to the frame f.
4096
4098 Int_t id)
4099{
4100 TGLineStyleComboBox *lscb = new TGLineStyleComboBox(f, id);
4101 lscb->Associate(this);
4102 lscb->Resize(1, 22);
4103 f->AddFrame(lscb, fLayoutExpandXCenterYMargin);
4104 return lscb;
4105}
4106
4107////////////////////////////////////////////////////////////////////////////////
4108/// Add a text button to the frame f.
4109
4111 const char *s, Int_t id)
4112{
4113 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 0, 0, 3, 3);
4114 fTrashListLayout->Add(layout);
4115
4116 TGTextButton *tb = new TGTextButton(f, s, id);
4117 tb->Associate(this);
4118 f->AddFrame(tb, layout);
4119 return tb;
4120}
4121
4122////////////////////////////////////////////////////////////////////////////////
4123/// Add a font type combo box to the frame f.
4124
4126 Int_t id)
4127{
4128 TGFontTypeComboBox *ftcb = new TGFontTypeComboBox(f, id);
4129 ftcb->Associate(this);
4130 ftcb->Resize(1, 22);
4131 f->AddFrame(ftcb, fLayoutExpandXCenterYMargin);
4132 return ftcb;
4133}
4134
4135////////////////////////////////////////////////////////////////////////////////
4136/// Add a text align combo box to the frame f.
4137
4139{
4140 TGComboBox *cb = new TGComboBox(f, id);
4141 cb->Associate(this);
4142 cb->AddEntry("11 Bottom, Left", 11);
4143 cb->AddEntry("21 Bottom, Middle", 21);
4144 cb->AddEntry("31 Bottom, Right", 31);
4145 cb->AddEntry("12 Middle, Left", 12);
4146 cb->AddEntry("22 Middle, Middle", 22);
4147 cb->AddEntry("32 Middle, Right", 32);
4148 cb->AddEntry("13 Top, Left", 13);
4149 cb->AddEntry("23 Top, Middle", 23);
4150 cb->AddEntry("33 Top, Right", 33);
4151 cb->Resize(1, 22);
4152 f->AddFrame(cb, fLayoutExpandXCenterYMargin);
4153 return cb;
4154}
4155
4156////////////////////////////////////////////////////////////////////////////////
4157/// Add a border mode button group to the frame f.
4158
4160 Int_t id1, Int_t id2, Int_t id3)
4161{
4162 TGButtonGroup *bg = new TGButtonGroup(f, "Border");
4163 TGRadioButton *sunk = new TGRadioButton(bg, "Sunken", id1);
4164 sunk->Associate(this);
4166 TGRadioButton *none = new TGRadioButton(bg, "None" , id2);
4167 none->Associate(this);
4169 TGRadioButton *rais = new TGRadioButton(bg, "Raised", id3);
4170 rais->Associate(this);
4172 bg->Show();
4173 f->AddFrame(bg, fLayoutExpandXYMargin);
4174 return bg;
4175}
4176
4177////////////////////////////////////////////////////////////////////////////////
4178/// Add a date format combo box to the frame f.
4179
4181{
4182 TGComboBox *cb = new TGComboBox(f, id);
4183 cb->Associate(this);
4184 cb->AddEntry("Wed Sep 25 17:10:35 2002", 1);
4185 cb->AddEntry("2002-09-25", 2);
4186 cb->AddEntry("2002-09-25 17:10:35", 3);
4187 cb->Resize(1, 22);
4188 cb->GetListBox()->Resize(cb->GetListBox()->GetDefaultSize().fWidth, 55);
4189 f->AddFrame(cb, fLayoutExpandXCenterYMargin);
4190 return cb;
4191}
4192
4193////////////////////////////////////////////////////////////////////////////////
4194/// Add a check button to the frame f.
4195
4197 Int_t id, Int_t e1, Int_t e2)
4198{
4199 TGLayoutHints *layout = new TGLayoutHints(kLHintsNormal, 0, e1, 4, e2);
4200 fTrashListLayout->Add(layout);
4201
4204 TGCheckButton *cb = new TGCheckButton(h, s, id);
4205 cb->Associate(this);
4206 h->AddFrame(cb, layout);
4207 f->AddFrame(h);
4208 return cb;
4209}
4210
4211////////////////////////////////////////////////////////////////////////////////
4212/// Add a text entry to the frame f. A caption can be added.
4213
4215 const char *s, Int_t id)
4216{
4219 if (strlen(s)) {
4220 TGLabel *lab = new TGLabel(h, s);
4222 TGLayoutHints *layout1 = new TGLayoutHints(kLHintsNormal, 0, 0, 3);
4223 fTrashListLayout->Add(layout1);
4224 h->AddFrame(lab, layout1);
4225 }
4226 TGTextEntry *te = new TGTextEntry(h, "", id);
4227 te->Associate(this);
4228 te->Resize(57, 22);
4229 if (strlen(s)) {
4230 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsRight, 20);
4231 fTrashListLayout->Add(layout2);
4232 h->AddFrame(te, layout2);
4233 } else
4234 h->AddFrame(te, fLayoutExpandX);
4235 TGLayoutHints *layout3 =
4236 new TGLayoutHints(kLHintsExpandX | kLHintsCenterY, 0, 2, 3, 3);
4237 fTrashListLayout->Add(layout3);
4238 f->AddFrame(h, layout3);
4239 return te;
4240}
4241
4242////////////////////////////////////////////////////////////////////////////////
4243/// Add a prefered paper size combo box to the frame f.
4244
4246{
4247 TGComboBox *cb = new TGComboBox(f, id);
4248 cb->Associate(this);
4249 cb->AddEntry("Custom size (cm)", 1);
4250 cb->AddEntry("Custom size (inch)", 2);
4251 cb->AddEntry("A4 (cm)", 3);
4252 cb->AddEntry("US Letter (inch)", 4);
4253 cb->AddEntry("US Letter (cm)", 4);
4254 cb->Resize(1, 22);
4255 cb->GetListBox()->Resize(cb->GetListBox()->GetDefaultSize().fWidth, 70);
4256 f->AddFrame(cb, fLayoutExpandXCenterYMargin);
4257 return cb;
4258}
4259
4260////////////////////////////////////////////////////////////////////////////////
4261/// Slot called when an item of the menu is selected.
4262
4264{
4265 switch (menuID) {
4266 case kMenuNew: DoNew(); break;
4267 case kMenuDelete: DoDelete(); break;
4268 case kMenuRename: DoRename(); break;
4269 case kMenuImportCanvas: DoImportCanvas(); break;
4270 case kMenuImportMacro: DoImportMacro(kTRUE); break;
4271 case kMenuExport: DoExport(); break;
4272 case kMenuExit: DoExit(); break;
4273 case kMenuHelp: DoHelp(42); break;
4274 case kMenuHelpEditor: DoHelp(fCurTabNum); break;
4275 case kMenuHelpGeneral: DoHelp(0); break;
4276 case kMenuHelpCanvas: DoHelp(1); break;
4277 case kMenuHelpPad: DoHelp(2); break;
4278 case kMenuHelpHistos: DoHelp(3); break;
4279 case kMenuHelpAxis: DoHelp(4); break;
4280 case kMenuHelpTitle: DoHelp(5); break;
4281 case kMenuHelpStats: DoHelp(6); break;
4282 case kMenuHelpPSPDF: DoHelp(7); break;
4283 }
4284}
4285
4286////////////////////////////////////////////////////////////////////////////////
4287/// Slot called to import a style from a C++ macro file. If create=kTRUE,
4288/// a new style is created. Otherwise, the current style is reseted.
4289
4291{
4292 // Import a style from a macro.
4293 // If create = kTRUE, a new style is created.
4294 // Otherwise, the selected style is:
4295 // - reseted with the macro's values.
4296 // - recreated (if it is one of the 5 basic styles).
4297
4298 if ((!create) && (!strcmp(fCurSelStyle->GetName(), "Default"))) {
4299 if ((!strcmp(fCurSelStyle->GetName(),gStyle->GetName())))
4300 gStyle->Reset("Default");
4301 else {
4302 delete gROOT->GetStyle("Default");
4303 new TStyle("Default", "Default Style");
4304 }
4305 } else if ((!create) && (!strcmp(fCurSelStyle->GetName(), "Plain"))) {
4306 if ((!strcmp(fCurSelStyle->GetName(),gStyle->GetName())))
4307 gStyle->Reset("Plain");
4308 else {
4309 delete gROOT->GetStyle("Plain");
4310 new TStyle("Plain", "Plain Style (no colors/fill areas)");
4311 }
4312 } else if ((!create) && (!strcmp(fCurSelStyle->GetName(), "Bold"))) {
4313 if ((!strcmp(fCurSelStyle->GetName(),gStyle->GetName())))
4314 gStyle->Reset("Bold");
4315 else {
4316 delete gROOT->GetStyle("Bold");
4317 new TStyle("Bold", "Bold Style");
4318 }
4319 } else if ((!create) && (!strcmp(fCurSelStyle->GetName(), "Video"))) {
4320 if ((!strcmp(fCurSelStyle->GetName(),gStyle->GetName())))
4321 gStyle->Reset("Video");
4322 else {
4323 delete gROOT->GetStyle("Video");
4324 new TStyle("Video", "Style for video presentation histograms");
4325 }
4326 } else if ((!create) && (!strcmp(fCurSelStyle->GetName(), "Pub"))) {
4327 if ((!strcmp(fCurSelStyle->GetName(),gStyle->GetName())))
4328 gStyle->Reset("Pub");
4329 else {
4330 delete gROOT->GetStyle("Pub");
4331 new TStyle("Pub", "Style for Publications");
4332 }
4333 } else {
4334 CreateMacro();
4335 if (!create) {
4336 TString newName;
4337 newName.Form("Style_%s.C", fCurSelStyle->GetName());
4338 fCurMacro->SetFilename(newName.Data());
4339 }
4340 new TGFileDialog(gClient->GetRoot(), this, kFDOpen, fCurMacro);
4341 if (fCurMacro->fFilename) {
4342 gROOT->ProcessLine(Form(".x %s", fCurMacro->fFilename));
4344 }
4345 }
4346
4347 BuildList();
4348}
4349
4350////////////////////////////////////////////////////////////////////////////////
4351/// Slot called when the user select an item in the available styles' list.
4352/// Update the preview, the editor, the status bar. The current selected
4353/// style is changed.
4354
4356{
4357 // Select the new style and update the state of the style manager.
4359 GetSelectedEntry())->GetText()->GetString());
4360
4362
4363 // Update the status bar.
4365
4366 // Update the editor (if opened).
4367 if (fMoreAndNotLess) {
4371 }
4372
4373 // Update the preview, if it exists and is visible.
4376
4377 // Refresh the tooltip of the fMakeDefault's button.
4378 TString newTip;
4379 newTip.Form("'%s'", fCurSelStyle->GetName());
4380 newTip += " become current style";
4381 fMakeDefault->SetToolTipText(newTip.Data());
4382
4383 // Refresh.
4386}
4387
4388////////////////////////////////////////////////////////////////////////////////
4389/// Slot called when the user click on the run time update check button.
4390/// If b=kTRUE, the user asks for a real time preview.
4391
4393{
4394 if (b) {
4398 } else {
4401 }
4402}
4403
4404////////////////////////////////////////////////////////////////////////////////
4405/// Slot called when the user click on the preview check button. If b=kTRUE,
4406/// the user asks for a preview, otherwise they want to close it.
4407
4409{
4410 if (b) {
4412 if (fPreviewWindow) {
4415 } else {
4416 if (fCurPad && fCurObj) {
4417 TQObject::Disconnect("TCanvas", "Closed()");
4419 TQObject::Connect("TCanvas", "Closed()", "TStyleManager", this, "DoSelectNoCanvas()");
4420 }
4421 }
4422 fPreviewWindow->Connect("CloseWindow()", "TStyleManager", this, "DoPreviewClosed()");
4424 if (fRealTimePreview) {
4427 } else {
4430 }
4431 } else DoPreviewClosed();
4432}
4433
4434////////////////////////////////////////////////////////////////////////////////
4435/// Slot called to close the preview, via the preview check button, or
4436/// when the preview window is closed via the window manager.
4437
4439{
4440 fPreviewWindow->Disconnect("CloseWindow()");
4445}
4446
4447////////////////////////////////////////////////////////////////////////////////
4448/// Slot called to make the current selected style (in the ComboBox)
4449/// become gStyle.
4450
4452{
4453 gROOT->SetStyle(fCurSelStyle->GetName());
4455}
4456
4457////////////////////////////////////////////////////////////////////////////////
4458/// Slot called to choose on which object(s) the 'Apply' button will
4459/// have an effect.
4460
4462{
4464}
4465
4466////////////////////////////////////////////////////////////////////////////////
4467/// Slot called when the user clicks on the 'Apply' button. Apply the
4468/// current selected style to the specified object(s)
4469
4471{
4472 TStyle *tmp = gStyle;
4474
4475 if (fAllAndNotCurrent) {
4476 // Apply on all canvases, excluding the preview.
4477 TCanvas *tmpCanvas = (TCanvas *) (gROOT->GetListOfCanvases()->First());
4478 while (tmpCanvas) {
4479 if ((!fPreviewWindow) || (tmpCanvas != fPreviewWindow->GetMainCanvas())) {
4480 tmpCanvas->UseCurrentStyle();
4481 tmpCanvas->Modified();
4482 tmpCanvas->Update();
4483 }
4484 tmpCanvas = (TCanvas *) (gROOT->GetListOfCanvases()->After(tmpCanvas));
4485 }
4486 } else
4487 if (fCurPad && fCurObj) {
4488 // Apply on selected object and refresh all canvases containing the object.
4490 TCanvas *tmpCanvas = (TCanvas *) (gROOT->GetListOfCanvases()->First());
4491 while (tmpCanvas) {
4492 if (((!fPreviewWindow) || (tmpCanvas != fPreviewWindow->GetMainCanvas()))
4493 && ((tmpCanvas == fCurObj) || tmpCanvas->FindObject(fCurObj))) {
4494 tmpCanvas->Modified();
4495 tmpCanvas->Update();
4496 }
4497 tmpCanvas = (TCanvas *) (gROOT->GetListOfCanvases()->After(tmpCanvas));
4498 }
4499 }
4500
4501 gStyle = tmp;
4502}
4503
4504////////////////////////////////////////////////////////////////////////////////
4505/// Slot called when the user try to show or hide the editor part of the
4506/// style manager.
4507
4509{
4511 if (fMoreAndNotLess) {
4512 // Redraw the tabs.
4517 fMoreLess->SetText("&Close <<");
4519
4520 // Update Editor's values.
4524 fMoreLess->SetToolTipText("Close the editor");
4525 } else {
4526 // Hide the tabs.
4530 fMoreLess->SetText("&Edit >>");
4533 fMoreLess->SetToolTipText("Open the editor");
4534 }
4535}
4536
4537////////////////////////////////////////////////////////////////////////////////
4538/// Slot called when the user clicks on the 'Update preview' button.
4539
4541{
4542 if ((!fCurPad) || (!fCurObj)) return;
4543
4544 if (fPreviewWindow) {
4545 TQObject::Disconnect("TCanvas", "Closed()");
4547 TQObject::Connect("TCanvas", "Closed()", "TStyleManager", this, "DoSelectNoCanvas()");
4548 }
4549}
4550
4551////////////////////////////////////////////////////////////////////////////////
4552/// Slot called when the user changes the current tab.
4553
4555{
4556 // Disconnect the signal/slots communication mechanism from the previous
4557 // tab and connect them onto the new one.
4559 fCurTabNum = i;
4562}
4563
4564////////////////////////////////////////////////////////////////////////////////
4565/// Slot called when the user changes the current axis tab.
4566
4568{
4569 fCurTabAxisNum = i;
4570}
4571
4572////////////////////////////////////////////////////////////////////////////////
4573/// Slot called when the user close a TCanvas. Update the labels and the
4574/// pointers to the current pad and the current object.
4575
4577{
4578 fCurPad = 0;
4579 fCurObj = 0;
4580
4583
4584 fCurPadTextEntry->SetText("No pad selected");
4585 fCurObjTextEntry->SetText("No object selected");
4592}
4593
4594////////////////////////////////////////////////////////////////////////////////
4595/// Slot called when the user clicks on a TCanvas or on any object inside
4596/// a TCanvas. Update the pointers to the current pad and the current object.
4597
4599{
4600 if (mouseButton != kButton2Down) return;
4601
4602 if (!pad || !obj) {
4604 return;
4605 }
4606
4607 // Disable the selection of the preview.
4609 return;
4610
4611 // Did the user select the same canvas as before ?
4612 Bool_t samePad = (fCurPad && (pad->GetCanvas() == fCurPad->GetCanvas()));
4613
4614 fCurPad = pad;
4615 fCurObj = obj;
4616 Bool_t preview = (fPreviewWindow && fPreviewWindow->IsMapped());
4617
4618 if ((!samePad) && preview) DoPreview(kFALSE);
4619
4620 // Update the information' label about the selected objects.
4621 TString sPad;
4622 if (fCurPad->GetName() && strlen(fCurPad->GetName()))
4623 sPad.Append(fCurPad->GetName());
4624 else
4625 sPad.Append("[no name]");
4626 sPad.Append(" - '");
4627 if (fCurPad->GetTitle() && strlen(fCurPad->GetTitle()))
4628 sPad.Append(fCurPad->GetTitle());
4629 else
4630 sPad.Append("[no title]");
4631 sPad.Append("'::");
4632 sPad.Append(fCurPad->ClassName());
4634 TString sObj;
4635 if (strlen(fCurObj->GetName()))
4636 sObj.Append(fCurObj->GetName());
4637 else
4638 sObj.Append("[no name]");
4639 sObj.Append("::");
4640 sObj.Append(fCurObj->ClassName());
4642
4643 if (!samePad) {
4647 if (preview) {
4649 } else {
4653 }
4654 }
4655}
4656
4657////////////////////////////////////////////////////////////////////////////////
4658/// Slot called to close the style manager via the window manager.
4659
4661{
4662 Hide();
4663}
4664
4665////////////////////////////////////////////////////////////////////////////////
4666/// Slot called whenever the fill color is modified by the user.
4667
4669{
4671 DoEditor();
4672}
4673
4674////////////////////////////////////////////////////////////////////////////////
4675/// Slot called whenever the fill style is modified by the user.
4676
4678{
4680 DoEditor();
4681}
4682
4683////////////////////////////////////////////////////////////////////////////////
4684/// Slot called whenever the hatches line width is modified by the user.
4685
4687{
4689 DoEditor();
4690}
4691
4692////////////////////////////////////////////////////////////////////////////////
4693/// Slot called whenever the hatches spacing is modified by the user.
4694
4696{
4698 DoEditor();
4699}
4700
4701////////////////////////////////////////////////////////////////////////////////
4702/// Slot called whenever the marker color is modified by the user.
4703
4705{
4707 DoEditor();
4708}
4709
4710////////////////////////////////////////////////////////////////////////////////
4711/// Slot called whenever the marker style is modified by the user.
4712
4714{
4716 DoEditor();
4717}
4718
4719////////////////////////////////////////////////////////////////////////////////
4720/// Slot called whenever the marker size is modified by the user.
4721
4723{
4725 DoEditor();
4726}
4727
4728////////////////////////////////////////////////////////////////////////////////
4729/// Slot called whenever the screen factor is modified by the user.
4730
4732{
4734 DoEditor();
4735}
4736
4737////////////////////////////////////////////////////////////////////////////////
4738/// Slot called whenever the line color is modified by the user.
4739
4741{
4743 DoEditor();
4744}
4745
4746////////////////////////////////////////////////////////////////////////////////
4747/// Slot called whenever the line width is modified by the user.
4748
4750{
4752 DoEditor();
4753}
4754
4755////////////////////////////////////////////////////////////////////////////////
4756/// Slot called whenever the line style is modified by the user.
4757
4759{
4761 DoEditor();
4762}
4763
4764////////////////////////////////////////////////////////////////////////////////
4765/// Slot called whenever the line style editor is opened by the user.
4766
4768{
4769 // TODO Open a LineStyle editor
4770}
4771
4772////////////////////////////////////////////////////////////////////////////////
4773/// Slot called whenever the text color is modified by the user.
4774
4776{
4778 DoEditor();
4779}
4780
4781////////////////////////////////////////////////////////////////////////////////
4782/// Slot called whenever the text size is modified by the user.
4783
4785{
4787 DoEditor();
4788}
4789
4790////////////////////////////////////////////////////////////////////////////////
4791/// Slot called whenever the text size mode is modified by the user.
4792
4794{
4795 Int_t tmp = fCurSelStyle->GetTextFont() / 10;
4796 Int_t mod = fCurSelStyle->GetTextFont() % 10;
4798 if (b) {
4799 fCurSelStyle->SetTextFont(tmp * 10 + 3);
4803 if (mod == 2)
4805 } else {
4806 fCurSelStyle->SetTextFont(tmp * 10 + 2);
4810 if (mod == 3)
4812 }
4814 DoEditor();
4815}
4816
4817////////////////////////////////////////////////////////////////////////////////
4818/// Slot called whenever the text font is modified by the user.
4819
4821{
4822 Int_t tmp = fCurSelStyle->GetTextFont() % 10;
4824 DoEditor();
4825}
4826
4827////////////////////////////////////////////////////////////////////////////////
4828/// Slot called whenever the text align is modified by the user.
4829
4831{
4833 DoEditor();
4834}
4835
4836////////////////////////////////////////////////////////////////////////////////
4837/// Slot called whenever the text angle is modified by the user.
4838
4840{
4842 DoEditor();
4843}
4844
4845////////////////////////////////////////////////////////////////////////////////
4846/// Slot called whenever the canvas color is modified by the user.
4847
4849{
4851 DoEditor();
4852}
4853
4854////////////////////////////////////////////////////////////////////////////////
4855/// Slot called whenever the canvas default abscissa is modified by the user.
4856
4858{
4860 DoEditor();
4861}
4862
4863////////////////////////////////////////////////////////////////////////////////
4864/// Slot called whenever the canvas default ordinate is modified by the user.
4865
4867{
4869 DoEditor();
4870}
4871
4872////////////////////////////////////////////////////////////////////////////////
4873/// Slot called whenever the canvas default width is modified by the user.
4874
4876{
4878 DoEditor();
4879}
4880
4881////////////////////////////////////////////////////////////////////////////////
4882/// Slot called whenever the canvas default height is modified by the user.
4883
4885{
4887 DoEditor();
4888}
4889
4890////////////////////////////////////////////////////////////////////////////////
4891/// Slot called whenever the canvas border mode is modified by the user.
4892
4894{
4896 TGButton *but = 0;
4897 while ((but = fCanvasBorderMode->Find(i)) && !but->IsDown())
4898 i++;
4900 DoEditor();
4901}
4902
4903////////////////////////////////////////////////////////////////////////////////
4904/// Slot called whenever the canvas border size is modified by the user.
4905
4907{
4909 DoEditor();
4910}
4911
4912////////////////////////////////////////////////////////////////////////////////
4913/// Slot called whenever the OptDate boolean is modified by the user.
4914
4916{
4917 if (fOptDateBool->IsDown())
4919 else
4924 DoEditor();
4925}
4926
4927////////////////////////////////////////////////////////////////////////////////
4928/// Slot called whenever the date text color is modified by the user.
4929
4931{
4932 // To modify this entry, the user must have check 'Show'
4934 DoEditor();
4935}
4936
4937////////////////////////////////////////////////////////////////////////////////
4938/// Slot called whenever the date text size is modified by the user.
4939
4941{
4943 DoEditor();
4944}
4945
4946////////////////////////////////////////////////////////////////////////////////
4947/// Slot called whenever the date text size mode is modified by the user.
4948
4950{
4951 Int_t tmp = fCurSelStyle->GetAttDate()->GetTextFont() / 10;
4952 Int_t mod = fCurSelStyle->GetAttDate()->GetTextFont() % 10;
4954
4955 if (b) {
4956 fCurSelStyle->GetAttDate()->SetTextFont(tmp * 10 + 3);
4960 if (mod == 2)
4962 } else {
4963 fCurSelStyle->GetAttDate()->SetTextFont(tmp * 10 + 2);
4967 if (mod == 3)
4969 }
4971 DoEditor();
4972}
4973
4974////////////////////////////////////////////////////////////////////////////////
4975/// Slot called whenever the date text format is modified by the user.
4976
4978{
4979 Int_t formatPrec = fCurSelStyle->GetOptDate() % 10;
4981 + formatPrec);
4982 DoEditor();
4983}
4984
4985////////////////////////////////////////////////////////////////////////////////
4986/// Slot called whenever the date text font is modified by the user.
4987
4989{
4990 Int_t fontPrec = fCurSelStyle->GetAttDate()->GetTextFont() % 10;
4992 + fontPrec);
4993 DoEditor();
4994}
4995
4996////////////////////////////////////////////////////////////////////////////////
4997/// Slot called whenever the date text align is modified by the user.
4998
5000{
5002 DoEditor();
5003}
5004
5005////////////////////////////////////////////////////////////////////////////////
5006/// Slot called whenever the date text angle is modified by the user.
5007
5009{
5011 DoEditor();
5012}
5013
5014////////////////////////////////////////////////////////////////////////////////
5015/// Slot called whenever the date abscissa is modified by the user.
5016
5018{
5020 DoEditor();
5021}
5022
5023////////////////////////////////////////////////////////////////////////////////
5024/// Slot called whenever the date ordinate is modified by the user.
5025
5027{
5029 DoEditor();
5030}
5031
5032////////////////////////////////////////////////////////////////////////////////
5033/// Slot called whenever the pad left margin is modified by the user.
5034
5036{
5038 DoEditor();
5039}
5040
5041////////////////////////////////////////////////////////////////////////////////
5042/// Slot called whenever the pad right margin is modified by the user.
5043
5045{
5047 DoEditor();
5048}
5049
5050////////////////////////////////////////////////////////////////////////////////
5051/// Slot called whenever the pad top margin is modified by the user.
5052
5054{
5056 DoEditor();
5057}
5058
5059////////////////////////////////////////////////////////////////////////////////
5060/// Slot called whenever the pad bottom margin is modified by the user.
5061
5063{
5065 DoEditor();
5066}
5067
5068////////////////////////////////////////////////////////////////////////////////
5069/// Slot called whenever the pad border mode is modified by the user.
5070
5072{
5074 TGButton *but = 0;
5075 while ((but = fPadBorderMode->Find(i)) && !but->IsDown())
5076 i++;
5078 DoEditor();
5079}
5080
5081////////////////////////////////////////////////////////////////////////////////
5082/// Slot called whenever the pad border size is modified by the user.
5083
5085{
5087 DoEditor();
5088}
5089
5090////////////////////////////////////////////////////////////////////////////////
5091/// Slot called whenever the pad color is modified by the user.
5092
5094{
5096 DoEditor();
5097}
5098
5099////////////////////////////////////////////////////////////////////////////////
5100/// Slot called whenever the pad tick X boolean is modified by the user.
5101
5103{
5105 DoEditor();
5106}
5107
5108////////////////////////////////////////////////////////////////////////////////
5109/// Slot called whenever the pad tick Y boolean is modified by the user.
5110
5112{
5114 DoEditor();
5115}
5116
5117////////////////////////////////////////////////////////////////////////////////
5118/// Slot called whenever the pad grid X boolean is modified by the user.
5119
5121{
5123 DoEditor();
5124}
5125
5126////////////////////////////////////////////////////////////////////////////////
5127/// Slot called whenever the pad grid Y boolean is modified by the user.
5128
5130{
5132 DoEditor();
5133}
5134
5135////////////////////////////////////////////////////////////////////////////////
5136/// Slot called whenever the grid line color is modified by the user.
5137
5139{
5141 DoEditor();
5142}
5143
5144////////////////////////////////////////////////////////////////////////////////
5145/// Slot called whenever the grid line width is modified by the user.
5146
5148{
5150 DoEditor();
5151}
5152
5153////////////////////////////////////////////////////////////////////////////////
5154/// Slot called whenever the grid line style is modified by the user.
5155
5157{
5159 DoEditor();
5160}
5161
5162////////////////////////////////////////////////////////////////////////////////
5163/// Slot called whenever the histos fill color is modified by the user.
5164
5166{
5168 DoEditor();
5169}
5170
5171////////////////////////////////////////////////////////////////////////////////
5172/// Slot called whenever the histos fill style is modified by the user.
5173
5175{
5177 DoEditor();
5178}
5179
5180////////////////////////////////////////////////////////////////////////////////
5181/// Slot called whenever the histos line color is modified by the user.
5182
5184{
5186 DoEditor();
5187}
5188
5189////////////////////////////////////////////////////////////////////////////////
5190/// Slot called whenever the histos line width is modified by the user.
5191
5193{
5195 DoEditor();
5196}
5197
5198////////////////////////////////////////////////////////////////////////////////
5199/// Slot called whenever the histos line style is modified by the user.
5200
5202{
5204 DoEditor();
5205}
5206
5207////////////////////////////////////////////////////////////////////////////////
5208/// Slot called whenever the histos bar width is modified by the user.
5209
5211{
5213 DoEditor();
5214}
5215
5216////////////////////////////////////////////////////////////////////////////////
5217/// Slot called whenever the histos bar offset is modified by the user.
5218
5220{
5222 DoEditor();
5223}
5224
5225////////////////////////////////////////////////////////////////////////////////
5226/// Slot called whenever the histos minimum zero boolean is modified
5227/// by the user.
5228
5230{
5232 DoEditor();
5233}
5234
5235////////////////////////////////////////////////////////////////////////////////
5236/// Slot called whenever the paint text format is modified by the user.
5237
5239{
5241 DoEditor();
5242}
5243
5244////////////////////////////////////////////////////////////////////////////////
5245/// Slot called whenever the number of contours is modified by the user.
5246
5248{
5250 DoEditor();
5251}
5252
5253////////////////////////////////////////////////////////////////////////////////
5254/// Slot called whenever the lego inner radius is modified by the user.
5255
5257{
5259 DoEditor();
5260}
5261
5262////////////////////////////////////////////////////////////////////////////////
5263/// Slot called whenever the frame fill color is modified by the user.
5264
5266{
5268 DoEditor();
5269}
5270
5271////////////////////////////////////////////////////////////////////////////////
5272/// Slot called whenever the frame fill style is modified by the user.
5273
5275{
5277 DoEditor();
5278}
5279
5280////////////////////////////////////////////////////////////////////////////////
5281/// Slot called whenever the frame line color is modified by the user.
5282
5284{
5286 DoEditor();
5287}
5288
5289////////////////////////////////////////////////////////////////////////////////
5290/// Slot called whenever the frame line width is modified by the user.
5291
5293{
5295 DoEditor();
5296}
5297
5298////////////////////////////////////////////////////////////////////////////////
5299/// Slot called whenever the frame line style is modified by the user.
5300
5302{
5304 DoEditor();
5305}
5306
5307////////////////////////////////////////////////////////////////////////////////
5308/// Slot called whenever the palette editor is opened by the user.
5309
5311{
5312 // TODO Open a palette editor
5313}
5314
5315////////////////////////////////////////////////////////////////////////////////
5316/// Slot called whenever the frame border mode is modified by the user.
5317
5319{
5321 TGButton *but = 0;
5322 while ((but = fFrameBorderMode->Find(i)) && !but->IsDown())
5323 i++;
5325 DoEditor();
5326}
5327
5328////////////////////////////////////////////////////////////////////////////////
5329/// Slot called whenever the frame border size is modified by the user.
5330
5332{
5334 DoEditor();
5335}
5336
5337////////////////////////////////////////////////////////////////////////////////
5338/// Slot called whenever the function line color is modified by the user.
5339
5341{
5343 DoEditor();
5344}
5345
5346////////////////////////////////////////////////////////////////////////////////
5347/// Slot called whenever the function line width is modified by the user.
5348
5350{
5352 DoEditor();
5353}
5354
5355////////////////////////////////////////////////////////////////////////////////
5356/// Slot called whenever the function line style is modified by the user.
5357
5359{
5361 DoEditor();
5362}
5363
5364////////////////////////////////////////////////////////////////////////////////
5365/// Slot called whenever the draw border boolean is modified by the user.
5366
5368{
5370 DoEditor();
5371}
5372
5373////////////////////////////////////////////////////////////////////////////////
5374/// Slot called whenever the end error size is modified by the user.
5375
5377{
5379 DoEditor();
5380}
5381
5382////////////////////////////////////////////////////////////////////////////////
5383/// Slot called whenever the error along X is modified by the user.
5384
5386{
5388 DoEditor();
5389}
5390
5391////////////////////////////////////////////////////////////////////////////////
5392/// Slot called whenever the time offset is modified by the user.
5393
5395{
5396 Double_t offset = 0;
5397 Int_t year = ((Int_t) fTimeOffsetDate->GetNumber())/10000;
5398 Int_t month = (((Int_t) fTimeOffsetDate->GetNumber())/100) % 100;
5399 Int_t day = ((Int_t) fTimeOffsetDate->GetNumber()) % 100;
5400
5401 while (day > 1) {
5402 day--;
5403 offset += 3600 * 24;
5404 }
5405
5406 Int_t oneMonthInSecs;
5407 while (month > 1) {
5408 month--;
5409 switch (month) {
5410 case 2:
5411 if (year % 4) oneMonthInSecs = 3600 * 24 * 28;
5412 else oneMonthInSecs = 3600 * 24 * 29;
5413 break;
5414 case 1: case 3: case 5: case 7: case 8: case 10: case 12:
5415 oneMonthInSecs = 3600 * 24 * 31;
5416 break;
5417 default:
5418 oneMonthInSecs = 3600 * 24 * 30;
5419 }
5420 offset += oneMonthInSecs;
5421 }
5422
5423 Int_t oneYearInSecs;
5424 while (year < 1995) {
5425 if (year % 4) oneYearInSecs = 3600 * 24 * 365;
5426 else oneYearInSecs = 3600 * 24 * 366;
5427 offset -= oneYearInSecs;
5428 year++;
5429 }
5430 while (year > 1995) {
5431 year--;
5432 if (year % 4) oneYearInSecs = 3600 * 24 * 365;
5433 else oneYearInSecs = 3600 * 24 * 366;
5434 offset += oneYearInSecs;
5435 }
5436
5437 offset += 788918400 + fTimeOffsetTime->GetNumber();
5438
5439 fCurSelStyle->SetTimeOffset(offset);
5440 DoEditor();
5441}
5442
5443////////////////////////////////////////////////////////////////////////////////
5444/// Slot called whenever the strip decimal boolean is modified by the user.
5445
5447{
5449 DoEditor();
5450}
5451
5452////////////////////////////////////////////////////////////////////////////////
5453/// Slot called whenever the apply on XYZ button is clicked. The settings of
5454/// the current selected axis pad are applyed on all axis.
5455/// NB: The logarithmic scale option isn't modified by this method.
5456
5458{
5459 switch (fCurTabAxisNum) {
5460 case 0: // X axis
5472 break;
5473 case 1: // Y axis
5485 break;
5486
5487 case 2: // Z axis
5499 break;
5500 }
5501
5505 DoEditor();
5506}
5507
5508////////////////////////////////////////////////////////////////////////////////
5509/// Slot called whenever the X axis title size is modified by the user.
5510
5512{
5514 DoEditor();
5515}
5516
5517////////////////////////////////////////////////////////////////////////////////
5518/// Slot called whenever the X axis title size mode is modified by the user.
5519
5521{
5522 Int_t tmp = fCurSelStyle->GetTitleFont("X") / 10;
5523 Int_t mod = fCurSelStyle->GetTitleFont("X") % 10;
5525 if (b) {
5526 fCurSelStyle->SetTitleFont(tmp * 10 + 3, "X");
5530 if (mod == 2)
5532 } else {
5533 fCurSelStyle->SetTitleFont(tmp * 10 + 2, "X");
5537 if (mod == 3)
5539 }
5541 DoEditor();
5542}
5543
5544////////////////////////////////////////////////////////////////////////////////
5545/// Slot called whenever the X axis title color is modified by the user.
5546
5548{
5550 DoEditor();
5551}
5552
5553////////////////////////////////////////////////////////////////////////////////
5554/// Slot called whenever the X axis title offset is modified by the user.
5555
5557{
5559 DoEditor();
5560}
5561
5562////////////////////////////////////////////////////////////////////////////////
5563/// Slot called whenever the X axis title font is modified by the user.
5564
5566{
5567 Int_t fontPrec = fCurSelStyle->GetTitleFont("X") % 10;
5568 fCurSelStyle->SetTitleFont(fXTitleFont->GetSelected() * 10 + fontPrec, "X");
5569 DoEditor();
5570}
5571
5572////////////////////////////////////////////////////////////////////////////////
5573/// Slot called whenever the X axis label size is modified by the user.
5574
5576{
5578 DoEditor();
5579}
5580
5581////////////////////////////////////////////////////////////////////////////////
5582/// Slot called whenever the X axis label size mode is modified by the user.
5583
5585{
5586 Int_t tmp = fCurSelStyle->GetLabelFont("X") / 10;
5587 Int_t mod = fCurSelStyle->GetLabelFont("X") % 10;
5589 if (b) {
5590 fCurSelStyle->SetLabelFont(tmp * 10 + 3, "X");
5594 if (mod == 2)
5596 } else {
5597 fCurSelStyle->SetLabelFont(tmp * 10 + 2, "X");
5601 if (mod == 3)
5603 }
5605 DoEditor();
5606}
5607
5608////////////////////////////////////////////////////////////////////////////////
5609/// Slot called whenever the X axis label color is modified by the user.
5610
5612{
5614 DoEditor();
5615}
5616
5617////////////////////////////////////////////////////////////////////////////////
5618/// Slot called whenever the X axis label offset is modified by the user.
5619
5621{
5623 DoEditor();
5624}
5625
5626////////////////////////////////////////////////////////////////////////////////
5627/// Slot called whenever the X axis label font is modified by the user.
5628
5630{
5631 Int_t fontPrec = fCurSelStyle->GetLabelFont("X") % 10;
5632 fCurSelStyle->SetLabelFont(fXLabelFont->GetSelected() * 10 + fontPrec, "X");
5633 DoEditor();
5634}
5635
5636////////////////////////////////////////////////////////////////////////////////
5637/// Slot called whenever the X axis color is modified by the user.
5638
5640{
5642 DoEditor();
5643}
5644
5645////////////////////////////////////////////////////////////////////////////////
5646/// Slot called whenever the X axis tick length is modified by the user.
5647
5649{
5651 DoEditor();
5652}
5653
5654////////////////////////////////////////////////////////////////////////////////
5655/// Slot called whenever the X axis log scale boolean is modified
5656/// by the user.
5657
5659{
5661 DoEditor();
5662}
5663
5664////////////////////////////////////////////////////////////////////////////////
5665/// Slot called whenever the X axis Number of divisions is modified
5666/// by the user.
5667
5669{
5670 Int_t sgn = -1;
5671 if (fXNdivisionsOptimize->IsDown()) sgn = 1;
5673 + 100 * fXNdivSub->GetIntNumber()
5674 + 10000 * fXNdivSubSub->GetIntNumber()), "X");
5675 DoEditor();
5676}
5677
5678////////////////////////////////////////////////////////////////////////////////
5679/// Slot called whenever the Y axis title size is modified by the user.
5680
5682{
5684 DoEditor();
5685}
5686
5687////////////////////////////////////////////////////////////////////////////////
5688/// Slot called whenever the Y axis title size mode is modified by the user.
5689
5691{
5692 Int_t tmp = fCurSelStyle->GetTitleFont("Y") / 10;
5693 Int_t mod = fCurSelStyle->GetTitleFont("Y") % 10;
5695 if (b) {
5696 fCurSelStyle->SetTitleFont(tmp * 10 + 3, "Y");
5700 if (mod == 2)
5702 } else {
5703 fCurSelStyle->SetTitleFont(tmp * 10 + 2, "Y");
5707 if (mod == 3)
5709 }
5711 DoEditor();
5712}
5713
5714////////////////////////////////////////////////////////////////////////////////
5715/// Slot called whenever the Y axis title color is modified by the user.
5716
5718{
5720 DoEditor();
5721}
5722
5723////////////////////////////////////////////////////////////////////////////////
5724/// Slot called whenever the Y axis title offset is modified by the user.
5725
5727{
5729 DoEditor();
5730}
5731
5732////////////////////////////////////////////////////////////////////////////////
5733/// Slot called whenever the Y axis title font is modified by the user.
5734
5736{
5737 Int_t fontPrec = fCurSelStyle->GetTitleFont("Y") % 10;
5738 fCurSelStyle->SetTitleFont(fYTitleFont->GetSelected() * 10 + fontPrec, "Y");
5739 DoEditor();
5740}
5741
5742////////////////////////////////////////////////////////////////////////////////
5743/// Slot called whenever the Y axis label size is modified by the user.
5744
5746{
5748 DoEditor();
5749}
5750
5751////////////////////////////////////////////////////////////////////////////////
5752/// Slot called whenever the Y axis label size mode is modified by the user.
5753
5755{
5756 Int_t tmp = fCurSelStyle->GetLabelFont("Y") / 10;
5757 Int_t mod = fCurSelStyle->GetLabelFont("Y") % 10;
5759 if (b) {
5760 fCurSelStyle->SetLabelFont(tmp * 10 + 3, "Y");
5764 if (mod == 2)
5766 } else {
5767 fCurSelStyle->SetLabelFont(tmp * 10 + 2, "Y");
5771 if (mod == 3)
5773 }
5775 DoEditor();
5776}
5777
5778////////////////////////////////////////////////////////////////////////////////
5779/// Slot called whenever the Y axis label color is modified by the user.
5780
5782{
5784 DoEditor();
5785}
5786
5787////////////////////////////////////////////////////////////////////////////////
5788/// Slot called whenever the Y axis label offset is modified by the user.
5789
5791{
5793 DoEditor();
5794}
5795
5796////////////////////////////////////////////////////////////////////////////////
5797/// Slot called whenever the Y axis label font is modified by the user.
5798
5800{
5801 Int_t fontPrec = fCurSelStyle->GetLabelFont("Y") % 10;
5802 fCurSelStyle->SetLabelFont(fYLabelFont->GetSelected() * 10 + fontPrec, "Y");
5803 DoEditor();
5804}
5805
5806////////////////////////////////////////////////////////////////////////////////
5807/// Slot called whenever the Y axis color is modified by the user.
5808
5810{
5812 DoEditor();
5813}
5814
5815////////////////////////////////////////////////////////////////////////////////
5816/// Slot called whenever the Y axis tick length is modified by the user.
5817
5819{
5821 DoEditor();
5822}
5823
5824////////////////////////////////////////////////////////////////////////////////
5825/// Slot called whenever the Y axis log scale boolean is modified by the user.
5826
5828{
5830 DoEditor();
5831}
5832
5833////////////////////////////////////////////////////////////////////////////////
5834/// Slot called whenever the Y axis Number of divisions is modified
5835/// by the user.
5836
5838{
5839 Int_t sgn = -1;
5840 if (fYNdivisionsOptimize->IsDown()) sgn = 1;
5842 + 100 * fYNdivSub->GetIntNumber()
5843 + 10000 * fYNdivSubSub->GetIntNumber()), "Y");
5844 DoEditor();
5845}
5846
5847////////////////////////////////////////////////////////////////////////////////
5848/// Slot called whenever the Z axis title size is modified by the user.
5849
5851{
5853 DoEditor();
5854}
5855
5856////////////////////////////////////////////////////////////////////////////////
5857/// Slot called whenever the Z axis title size mode is modified by the user.
5858
5860{
5861 Int_t tmp = fCurSelStyle->GetTitleFont("Z") / 10;
5862 Int_t mod = fCurSelStyle->GetTitleFont("Z") % 10;
5864 if (b) {
5865 fCurSelStyle->SetTitleFont(tmp * 10 + 3, "Z");
5869 if (mod == 2)
5871 } else {
5872 fCurSelStyle->SetTitleFont(tmp * 10 + 2, "Z");
5876 if (mod == 3)
5878 }
5880 DoEditor();
5881}
5882
5883////////////////////////////////////////////////////////////////////////////////
5884/// Slot called whenever the Z axis title color is modified by the user.
5885
5887{
5889 DoEditor();
5890}
5891
5892////////////////////////////////////////////////////////////////////////////////
5893/// Slot called whenever the Z axis title offset is modified by the user.
5894
5896{
5898 DoEditor();
5899}
5900
5901////////////////////////////////////////////////////////////////////////////////
5902/// Slot called whenever the Z axis title font is modified by the user.
5903
5905{
5906 Int_t fontPrec = fCurSelStyle->GetTitleFont("Z") % 10;
5907 fCurSelStyle->SetTitleFont(fZTitleFont->GetSelected() * 10 + fontPrec, "Z");
5908 DoEditor();
5909}
5910
5911////////////////////////////////////////////////////////////////////////////////
5912/// Slot called whenever the Z axis label size is modified by the user.
5913
5915{
5917 DoEditor();
5918}
5919
5920////////////////////////////////////////////////////////////////////////////////
5921/// Slot called whenever the Z axis Label size mode is modified by the user.
5922
5924{
5925 Int_t tmp = fCurSelStyle->GetLabelFont("Z") / 10;
5926 Int_t mod = fCurSelStyle->GetLabelFont("Z") % 10;
5928 if (b) {
5929 fCurSelStyle->SetLabelFont(tmp * 10 + 3, "Z");
5933 if (mod == 2)
5935 } else {
5936 fCurSelStyle->SetLabelFont(tmp * 10 + 2, "Z");
5940 if (mod == 3)
5942 }
5944 DoEditor();
5945}
5946
5947////////////////////////////////////////////////////////////////////////////////
5948/// Slot called whenever the Z axis label color is modified by the user.
5949
5951{
5953 DoEditor();
5954}
5955
5956////////////////////////////////////////////////////////////////////////////////
5957/// Slot called whenever the Z axis label offset is modified by the user.
5958
5960{
5962 DoEditor();
5963}
5964
5965////////////////////////////////////////////////////////////////////////////////
5966/// Slot called whenever the Z axis label font is modified by the user.
5967
5969{
5970 Int_t fontPrec = fCurSelStyle->GetLabelFont("Z") % 10;
5971 fCurSelStyle->SetLabelFont(fZLabelFont->GetSelected() * 10 + fontPrec, "Z");
5972 DoEditor();
5973}
5974
5975////////////////////////////////////////////////////////////////////////////////
5976/// Slot called whenever the Z axis color is modified by the user.
5977
5979{
5981 DoEditor();
5982}
5983
5984////////////////////////////////////////////////////////////////////////////////
5985/// Slot called whenever the Z axis tick length is modified by the user.
5986
5988{
5990 DoEditor();
5991}
5992
5993////////////////////////////////////////////////////////////////////////////////
5994/// Slot called whenever the Z axis log scale boolean is modified by the user.
5995
5997{
5999 DoEditor();
6000}
6001
6002////////////////////////////////////////////////////////////////////////////////
6003/// Slot called whenever the Z axis Number of divisions is modified
6004/// by the user.
6005
6007{
6008 Int_t sgn = -1;
6009 if (fZNdivisionsOptimize->IsDown()) sgn = 1;
6011 + 100 * fZNdivSub->GetIntNumber()
6012 + 10000 * fZNdivSubSub->GetIntNumber()), "Z");
6013 DoEditor();
6014}
6015
6016////////////////////////////////////////////////////////////////////////////////
6017/// Slot called whenever the OptTitle boolean is modified by the user.
6018
6020{
6025 DoEditor();
6026}
6027
6028////////////////////////////////////////////////////////////////////////////////
6029/// Slot called whenever the title fill color is modified by the user.
6030
6032{
6034 DoEditor();
6035}
6036
6037////////////////////////////////////////////////////////////////////////////////
6038/// Slot called whenever the title fill style is modified by the user.
6039
6041{
6043 DoEditor();
6044}
6045
6046////////////////////////////////////////////////////////////////////////////////
6047/// Slot called whenever the title text color is modified by the user.
6048
6050{
6052 DoEditor();
6053}
6054
6055////////////////////////////////////////////////////////////////////////////////
6056/// Slot called whenever the text size is modified by the user.
6057
6059{
6061 DoEditor();
6062}
6063
6064////////////////////////////////////////////////////////////////////////////////
6065/// Slot called whenever the text size mode is modified by the user.
6066
6068{
6069 Int_t tmp = fCurSelStyle->GetTitleFont() / 10;
6070 Int_t mod = fCurSelStyle->GetTitleFont() % 10;
6072 if (b) {
6073 fCurSelStyle->SetTitleFont(tmp * 10 + 3);
6077 if (mod == 2)
6079 } else {
6080 fCurSelStyle->SetTitleFont(tmp * 10 + 2);
6084 if (mod == 3)
6086 }
6088 DoEditor();
6089}
6090
6091////////////////////////////////////////////////////////////////////////////////
6092/// Slot called whenever the title text font is modified by the user.
6093
6095{
6096 Int_t tmp = fCurSelStyle->GetTitleFont() % 10;
6098 DoEditor();
6099}
6100
6101////////////////////////////////////////////////////////////////////////////////
6102/// Slot called whenever the title text align is modified by the user.
6103
6105{
6107 DoEditor();
6108}
6109
6110////////////////////////////////////////////////////////////////////////////////
6111/// Slot called whenever the title border size is modified by the user.
6112
6114{
6116 DoEditor();
6117}
6118
6119////////////////////////////////////////////////////////////////////////////////
6120/// Slot called whenever the legend border size is modified by the user.
6121
6123{
6125 DoEditor();
6126}
6127
6128////////////////////////////////////////////////////////////////////////////////
6129/// Slot called whenever the title abscissa is modified by the user.
6130
6132{
6134 DoEditor();
6135}
6136
6137////////////////////////////////////////////////////////////////////////////////
6138/// Slot called whenever the title ordinate is modified by the user.
6139
6141{
6143 DoEditor();
6144}
6145
6146////////////////////////////////////////////////////////////////////////////////
6147/// Slot called whenever the title width is modified by the user.
6148
6150{
6152 DoEditor();
6153}
6154
6155////////////////////////////////////////////////////////////////////////////////
6156/// Slot called whenever the title height is modified by the user.
6157
6159{
6161 DoEditor();
6162}
6163
6164////////////////////////////////////////////////////////////////////////////////
6165/// Slot called whenever the stats fill color is modified by the user.
6166
6168{
6170 DoEditor();
6171}
6172
6173////////////////////////////////////////////////////////////////////////////////
6174/// Slot called whenever the stats fill style is modified by the user.
6175
6177{
6178 fCurSelStyle->SetStatStyle(pattern);
6179 DoEditor();
6180}
6181
6182////////////////////////////////////////////////////////////////////////////////
6183/// Slot called whenever the stats text color is modified by the user.
6184
6186{
6188 DoEditor();
6189}
6190
6191////////////////////////////////////////////////////////////////////////////////
6192/// Slot called whenever the text size is modified by the user.
6193
6195{
6197 DoEditor();
6198}
6199
6200////////////////////////////////////////////////////////////////////////////////
6201/// Slot called whenever the text size mode is modified by the user.
6202
6204{
6205 Int_t tmp = fCurSelStyle->GetStatFont() / 10;
6206 Int_t mod = fCurSelStyle->GetStatFont() % 10;
6208 if (b) {
6209 fCurSelStyle->SetStatFont(tmp * 10 + 3);
6213 if (mod == 2)
6216 } else {
6217 fCurSelStyle->SetStatFont(tmp * 10 + 2);
6221 if (mod == 3)
6224 }
6226 DoEditor();
6227}
6228
6229////////////////////////////////////////////////////////////////////////////////
6230/// Slot called whenever the stats text font is modified by the user.
6231
6233{
6234 Int_t tmp = fCurSelStyle->GetStatFont() % 10;
6236 DoEditor();
6237}
6238
6239////////////////////////////////////////////////////////////////////////////////
6240/// Slot called whenever the stats abscissa is modified by the user.
6241
6243{
6245 DoEditor();
6246}
6247
6248////////////////////////////////////////////////////////////////////////////////
6249/// Slot called whenever the stats ordinate is modified by the user.
6250
6252{
6254 DoEditor();
6255}
6256
6257////////////////////////////////////////////////////////////////////////////////
6258/// Slot called whenever the stats width is modified by the user.
6259
6261{
6263 DoEditor();
6264}
6265
6266////////////////////////////////////////////////////////////////////////////////
6267/// Slot called whenever the stats height is modified by the user.
6268
6270{
6272 DoEditor();
6273}
6274
6275////////////////////////////////////////////////////////////////////////////////
6276/// Slot called whenever the stats border size is modified by the user.
6277
6279{
6281 DoEditor();
6282}
6283
6284////////////////////////////////////////////////////////////////////////////////
6285/// Slot called whenever one of the stats options is modified by the user.
6286
6288{
6289 Int_t stat = 0;
6290 if (fOptStatName->IsDown()) stat +=1;
6291 if (fOptStatEntries->IsDown()) stat +=10;
6292 if (fOptStatMean->IsDown()) stat +=100;
6293 if (fOptStatRMS->IsDown()) stat +=1000;
6294 if (fOptStatUnderflow->IsDown()) stat +=10000;
6295 if (fOptStatOverflow->IsDown()) stat +=100000;
6296 if (fOptStatIntegral->IsDown()) stat +=1000000;
6297 if (fOptStatSkewness->IsDown()) stat +=10000000;
6298 if (fOptStatKurtosis->IsDown()) stat +=100000000;
6299 if (fOptStatErrors->IsDown()) {
6300 if (fOptStatMean->IsDown()) stat +=100;
6301 if (fOptStatRMS->IsDown()) stat +=1000;
6302 if (fOptStatSkewness->IsDown()) stat +=10000000;
6303 if (fOptStatKurtosis->IsDown()) stat +=100000000;
6304 }
6305 if (stat == 1) stat = 1000000001;
6306 fCurSelStyle->SetOptStat(stat);
6307 DoEditor();
6308}
6309
6310////////////////////////////////////////////////////////////////////////////////
6311/// Slot called whenever the stats paint format is modified by the user.
6312
6313void TStyleManager::ModStatFormat(const char *sformat)
6314{
6315 fCurSelStyle->SetStatFormat(sformat);
6316 DoEditor();
6317}
6318
6319////////////////////////////////////////////////////////////////////////////////
6320/// Slot called whenever one of the fit options is modified by the user.
6321
6323{
6324 Int_t fit = 0;
6325 if (fOptFitValues->IsDown()) fit +=1;
6326 if (fOptFitErrors->IsDown()) fit +=10;
6327 if (fOptFitChi->IsDown()) fit +=100;
6328 if (fOptFitProbability->IsDown()) fit +=1000;
6329 if (fit == 1) fit = 10001;
6330 fCurSelStyle->SetOptFit(fit);
6331 DoEditor();
6332}
6333
6334////////////////////////////////////////////////////////////////////////////////
6335/// Slot called whenever the fit paint format is modified by the user.
6336
6337void TStyleManager::ModFitFormat(const char *fitformat)
6338{
6339 fCurSelStyle->SetFitFormat(fitformat);
6340 DoEditor();
6341}
6342
6343////////////////////////////////////////////////////////////////////////////////
6344/// Slot called whenever the PS header is modified by the user.
6345
6347{
6349 DoEditor();
6350}
6351
6352////////////////////////////////////////////////////////////////////////////////
6353/// Slot called whenever the PS title is modified by the user.
6354
6356{
6358 DoEditor();
6359}
6360
6361////////////////////////////////////////////////////////////////////////////////
6362/// Slot called whenever the PS color model is modified by the user.
6363
6365{
6367 TGButton *but = 0;
6368 while ((but = fColorModelPS->Find(i)) && !but->IsDown()) i++;
6370 DoEditor();
6371}
6372
6373////////////////////////////////////////////////////////////////////////////////
6374/// Slot called whenever the PS line scale is modified by the user.
6375
6377{
6379 DoEditor();
6380}
6381
6382////////////////////////////////////////////////////////////////////////////////
6383/// Slot called whenever the PS paper size is modified by the user.
6384
6386{
6387 Float_t papSizeX;
6388 Float_t papSizeY;
6389 fCurSelStyle->GetPaperSize(papSizeX, papSizeY);
6390
6391 if (fPaperSizePredef->GetSelected() == 1) {
6392 if (!fPaperSizeEnCm) {
6394 fPaperSizeX->SetNumber(papSizeX);
6395 fPaperSizeY->SetNumber(papSizeY);
6396 }
6397 } else if (fPaperSizePredef->GetSelected() == 2) {
6398 if (fPaperSizeEnCm) {
6400 fPaperSizeX->SetNumber(papSizeX * 0.394);
6401 fPaperSizeY->SetNumber(papSizeY * 0.394);
6402 }
6403 } else if (fPaperSizePredef->GetSelected() == 3) {
6407 fCurSelStyle->SetPaperSize(20, 26);
6408 } else if (fPaperSizePredef->GetSelected() == 4) {
6410 fPaperSizeX->SetNumber(20 * 0.394);
6411 fPaperSizeY->SetNumber(24 * 0.394);
6412 fCurSelStyle->SetPaperSize(20, 24);
6413 }
6414 DoEditor();
6415}
6416
6417////////////////////////////////////////////////////////////////////////////////
6418/// Slot called whenever the PS paper size is modified by the user.
6419
6421{
6422 if (fPaperSizeEnCm) {
6426 } else {
6428 fPaperSizeY->GetNumber() * 2.54);
6430 }
6431 DoEditor();
6432}
@ kButton2Down
Definition Buttons.h:17
@ 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
Handle_t Window_t
Window handle.
Definition GuiTypes.h:29
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
int Int_t
Definition RtypesCore.h:45
const Bool_t kFALSE
Definition RtypesCore.h:92
double Double_t
Definition RtypesCore.h:59
short Style_t
Definition RtypesCore.h:80
float Float_t
Definition RtypesCore.h:57
const Bool_t kTRUE
Definition RtypesCore.h:91
#define ClassImp(name)
Definition Rtypes.h:364
@ kButtonDown
Definition TGButton.h:54
@ kButtonUp
Definition TGButton.h:53
#define gClient
Definition TGClient.h:166
@ kFDOpen
@ kFDSave
@ kNoCleanup
Definition TGFrame.h:48
@ kLHintsRight
Definition TGLayout.h:33
@ kLHintsExpandY
Definition TGLayout.h:38
@ kLHintsCenterY
Definition TGLayout.h:35
@ kLHintsNormal
Definition TGLayout.h:39
@ kLHintsBottom
Definition TGLayout.h:36
@ kLHintsExpandX
Definition TGLayout.h:37
#define gROOT
Definition TROOT.h:406
char * Form(const char *fmt,...)
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:412
R__EXTERN TSystem * gSystem
Definition TSystem.h:559
#define gVirtualX
Definition TVirtualX.h:338
#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:41
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:41
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:42
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:43
virtual void SetTextFont(Font_t tfont=62)
Set the text font.
Definition TAttText.h:45
virtual void SetTextSize(Float_t tsize=1)
Set the text size.
Definition TAttText.h:46
The Canvas class.
Definition TCanvas.h:23
void UseCurrentStyle() override
Force a copy of current style for all objects in canvas.
Definition TCanvas.cxx:1176
void Update() override
Update canvas pad buffers.
Definition TCanvas.cxx:2504
static ULong_t Number2Pixel(Int_t ci)
Static method that given a color index number, returns the corresponding pixel value.
Definition TColor.cxx:2016
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:1769
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 SetLayoutHints(TGLayoutHints *l, TGButton *button=0)
Set layout hints for the specified button or if button=0 for all buttons.
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...
virtual void SetToolTipText(const char *text, Long_t delayms=400)
Set tool tip text associated with this button.
Definition TGButton.cxx:398
virtual void SetStyle(UInt_t newstyle)
Set the button style (modern or classic).
Definition TGButton.cxx:224
virtual void SetEnabled(Bool_t e=kTRUE)
Set enabled or disabled state of button.
Definition TGButton.cxx:412
virtual Bool_t IsDown() const
Definition TGButton.cxx:254
virtual void SetState(EButtonState state, Bool_t emit=kFALSE)
Set check button state.
virtual Bool_t IsDown() const
Definition TGButton.h:312
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
virtual Int_t GetSelected() const
Definition TGComboBox.h:134
virtual void AddEntry(TGString *s, Int_t id)
Definition TGComboBox.h:106
virtual void RemoveEntries(Int_t from_ID, Int_t to_ID)
Definition TGComboBox.h:125
virtual TGListBox * GetListBox() const
Definition TGComboBox.h:130
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 void Layout()
layout combobox
virtual Int_t GetNumberOfEntries() const
Definition TGComboBox.h:127
virtual void SetLayoutManager(TGLayoutManager *l)
Set the layout manager for the composite frame.
Definition TGFrame.cxx:985
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=0)
Add frame to the composite frame using the specified layout hints.
Definition TGFrame.cxx:1102
virtual void ChangeOptions(UInt_t options)
Change composite frame options. Options is an OR of the EFrameTypes.
Definition TGFrame.cxx:1028
virtual void SetCleanup(Int_t mode=kLocalCleanup)
Turn on automatic cleanup of child frames in dtor.
Definition TGFrame.cxx:1057
virtual TGDimension GetDefaultSize() const
std::cout << fWidth << "x" << fHeight << std::endl;
Definition TGFrame.h:352
virtual void MapSubwindows()
Map all sub windows that are part of the composite frame.
Definition TGFrame.cxx:1149
virtual void ShowFrame(TGFrame *f)
Show sub frame.
Definition TGFrame.cxx:1189
virtual void HideFrame(TGFrame *f)
Hide sub frame.
Definition TGFrame.cxx:1175
UInt_t fWidth
Definition TGDimension.h:29
char * fFilename
const char ** fFileTypes
void SetFilename(const char *fname)
Set file name.
void SetIniDir(const char *inidir)
Set directory name.
virtual void Resize(UInt_t w=0, UInt_t h=0)
Resize the frame.
Definition TGFrame.cxx:590
UInt_t GetHeight() const
Definition TGFrame.h:249
virtual void MoveResize(Int_t x, Int_t y, UInt_t w=0, UInt_t h=0)
Move and/or resize the frame.
Definition TGFrame.cxx:614
virtual void MapWindow()
map window
Definition TGFrame.h:228
virtual void UnmapWindow()
unmap window
Definition TGFrame.h:230
virtual void Resize(UInt_t w, UInt_t h)
Resize the listbox widget.
virtual TGDimension GetDefaultSize() const
Return default size of listbox widget.
void SetWMSizeHints(UInt_t wmin, UInt_t hmin, UInt_t wmax, UInt_t hmax, UInt_t winc, UInt_t hinc)
Give the window manager minimum and maximum size hints.
Definition TGFrame.cxx:1865
void SetWindowName(const char *name=0)
Set window name. This is typically done via the window manager.
Definition TGFrame.cxx:1749
virtual void AddPopup(TGHotString *s, TGPopupMenu *menu, TGLayoutHints *l, TGPopupMenu *before=0)
Add popup menu to menu bar.
Definition TGMenu.cxx:417
virtual void SetNumber(Double_t val)
virtual void SetIntNumber(Long_t val)
TGNumberEntryField * GetNumberEntry() const
virtual void Associate(const TGWindow *w)
Make w the window that will receive the generated messages.
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 Long_t GetIntNumber() const
virtual void SetFormat(EStyle style, EAttribute attr=TGNumberFormat::kNEAAnyNumber)
virtual Double_t GetNumber() const
Handle_t GetId() const
Definition TGObject.h:47
Pixmap_t GetPicture() const
Definition TGPicture.h:65
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:1151
virtual void DisableEntry(Int_t id)
Disable entry (disabled entries appear in a sunken relieve).
Definition TGMenu.cxx:1723
virtual void EnableEntry(Int_t id)
Enable entry. By default entries are enabled.
Definition TGMenu.cxx:1704
virtual void Associate(const TGWindow *w)
Definition TGMenu.h:219
virtual void AddSeparator(TGMenuEntry *before=nullptr)
Add a menu separator to the menu.
Definition TGMenu.cxx:1059
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:989
void Draw3DCorner(Bool_t corner)
Definition TGStatusBar.h:67
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.
Definition TGTab.h:62
virtual TGCompositeFrame * AddTab(TGString *text)
Add a tab to the tab widget.
Definition TGTab.cxx:343
virtual void SetText(TGHotString *new_label)
Set new button text.
Definition TGButton.cxx:597
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.
virtual void Associate(const TGWindow *w)
Definition TGWidget.h:82
virtual const TGWindow * GetMainFrame() const
Returns top level main frame.
Definition TGWindow.cxx:151
const TGWindow * GetParent() const
Definition TGWindow.h:84
virtual Bool_t IsMapped()
Returns kTRUE if window is mapped on screen, kFALSE otherwise.
Definition TGWindow.cxx:294
void SetMarkerStyle(Style_t pattern)
Set marker.
Style_t GetMarkerStyle() const
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:44
virtual void Add(TObject *obj)
Definition TList.h:87
virtual TObject * After(const TObject *obj) const
Returns the object after object obj.
Definition TList.cxx:330
virtual TObject * Remove(TObject *obj)
Remove object from the list.
Definition TList.cxx:822
virtual void AddFirst(TObject *obj)
Add object at the beginning of the list.
Definition TList.cxx:100
virtual TObject * First() const
Return the first object in the list. Returns 0 when list is empty.
Definition TList.cxx:659
virtual const char * GetTitle() const
Returns title of object.
Definition TNamed.h:48
virtual const char * GetName() const
Returns name of object.
Definition TNamed.h:47
Mother of all ROOT objects.
Definition TObject.h:37
virtual const char * GetName() const
Returns name of object.
Definition TObject.cxx:359
virtual const char * ClassName() const
Returns name of class to which the object belongs.
Definition TObject.cxx:130
virtual void UseCurrentStyle()
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyl...
Definition TObject.cxx:717
void Modified(Bool_t flag=1) override
Definition TPad.h:414
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:2625
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:866
Bool_t Disconnect(const char *signal=0, void *receiver=0, const char *slot=0)
Disconnects signal of this object from slot of receiver.
void SetText(const char *helpText)
Set help text from helpText buffer in TGTextView.
void Popup()
Show help dialog.
Basic string class.
Definition TString.h:136
const char * Data() const
Definition TString.h:369
TString & Append(const char *cs)
Definition TString.h:564
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:2331
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
Definition TString.cxx:2309
TGPictureButton * fToolBarHelp
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
void ModTitleBorderSize()
Slot called whenever the title border size is modified by the user.
const TGPicture * fToolBarHelpPic
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
void ModPadTickX()
Slot called whenever the pad tick X boolean is modified by the user.
TGCheckButton * fXLabelSizeInPixels
TGCheckButton * fHistMinimumZero
TGNumberEntry * fStatH
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
TGTextButton * fApplyOnButton
TGLineWidthComboBox * fLineWidth
TGNumberEntry * fZLabelOffset
void ModZNdivisions()
Slot called whenever the Z axis Number of divisions is modified by the user.
TGLineStyleComboBox * fFrameLineStyle
void ModYAxisColor()
Slot called whenever the Y axis color is modified by the user.
TGFontTypeComboBox * fXLabelFont
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
TGComboBox * fAttDateTextAlign
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
Bool_t fAllAndNotCurrent
TGNumberEntry * fXTitleOffset
void ConnectEditor(Int_t tabNum)
Connect every widget entry of the editor to its specific slot.
TStyle * fCurSelStyle
void ModDateX()
Slot called whenever the date abscissa is modified by the user.
TGCheckButton * fPadTickY
void AddPadGrid(TGCompositeFrame *f)
Add the 'Grid' group frame to the 'Pad' tab.
TGPictureButton * fToolBarImportCanvas
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.
TGNumberEntry * fTitleFontSize
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
TGNumberEntry * fScreenFactor
TGCheckButton * fXNdivisionsOptimize
TGColorSelect * fPadColor
void DoImportCanvas()
Create a new style (a copy of gStyle) and import the properties of the current canvas inside.
static TStyleManager * fgStyleManager
TGNumberEntry * fYNdivSub
TGNumberEntry * fEndErrorSize
void ModOptLogz()
Slot called whenever the Z axis log scale boolean is modified by the user.
TGNumberEntry * fCanvasDefW
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
void AddAxisYDivisions(TGCompositeFrame *f)
Add the 'Divisions' group frame to the 'Axis - Y Axis' tab.
TGLineStyleComboBox * fHistLineStyle
Bool_t fPaperSizeEnCm
void DisconnectEditor(Int_t tabNum)
Disconnect every widget entry of the editor from its slot.
TGLineWidthComboBox * fTitleBorderSize
TGCheckButton * fOptDateBool
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
void ModFuncWidth()
Slot called whenever the function line width is modified by the user.
TGMenuBar * fMenuBar
TGedPatternSelect * fFrameFillStyle
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
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
TGRadioButton * fColorModelPSCMYK
TGLineWidthComboBox * fLegendBorderSize
TGTextEntry * fFitFormat
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
void UpdateEditor(Int_t tabNum)
Update the values of every widget entry in the editor.
TGNumberEntry * fTextSize
void DoMoreLess()
Slot called when the user try to show or hide the editor part of the style manager.
TGTextEntry * fCurPadTextEntry
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
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
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
TGColorSelect * fStatColor
void ModHistLineWidth()
Slot called whenever the histos line width is modified by the user.
Bool_t fSigSlotConnected
TGRadioButton * fApplyOnSel
void ModStatFont()
Slot called whenever the stats text font is modified by the user.
TGColorSelect * fLineColor
TGLineWidthComboBox * fFrameLineWidth
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
TGCheckButton * fOptStatRMS
TGButtonGroup * fPadBorderMode
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
void ModMarkerColor()
Slot called whenever the marker color is modified by the user.
TGCheckButton * fTitleFontSizeInPixels
void AddPsPdfTitle(TGCompositeFrame *f)
Add the 'Title' group frame to the 'PS / PDF' tab.
TGNumberEntry * fCanvasDefY
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
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
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
TGTextButton * fLineStyleEdit
TGTextEntry * fTitlePS
void ModXAxisColor()
Slot called whenever the X axis color is modified by the user.
TGPopupMenu * fMenuStyle
TGNumberEntry * fZNdivSubSub
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
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
TGNumberEntry * fDateX
void AddAxisYTitle(TGCompositeFrame *f)
Add the 'Title' group frame to the 'Axis - Y Axis' tab.
TGNumberEntry * fTitleW
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
TGNumberEntry * fZLabelSize
TGFontTypeComboBox * fTitleFont
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
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
TGCheckButton * fOptStatSkewness
TGNumberEntry * fPadTopMargin
TGColorSelect * fFrameFillColor
void ModStripDecimals()
Slot called whenever the strip decimal boolean is modified by the user.
TGColorSelect * fAttDateTextColor
TGNumberEntry * fPadRightMargin
TGNumberEntry * fAttDateTextAngle
void ModFitFormat(const char *fitformat)
Slot called whenever the fit paint format is modified by the user.
TGHorizontal3DLine * fHorizontal3DLine
void ModFillStyle()
Slot called whenever the fill style is modified by the user.
TGComboBox * fTitleAlign
TGColorSelect * fFillColor
TGCheckButton * fOptTitle
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
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
void ModHistLineColor()
Slot called whenever the histos line color is modified by the user.
TGNumberEntry * fStatW
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
void ModBarOffset()
Slot called whenever the histos bar offset is modified by the user.
TGColorSelect * fYAxisColor
void ModTextColor()
Slot called whenever the text color is modified by the user.
TGCheckButton * fOptStatMean
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
void ModOptFit()
Slot called whenever one of the fit options is modified by the user.
TGCheckButton * fOptStatErrors
TGNumberEntry * fYTitleSize
void AddAxisYLabels(TGCompositeFrame *f)
Add the 'Labels' group frame to the 'Axis - Y Axis' tab.
TGHorizontalFrame * fEditionButtonFrame
TGColorSelect * fFrameLineColor
TGCheckButton * fPadTickX
TGColorSelect * fZTitleColor
TGCheckButton * fPadGridX
void AddGeneralMarker(TGCompositeFrame *f)
Add the 'Marker' group frame to the 'General' tab.
TGNumberEntry * fHatchesSpacing
void ModPadBorderMode()
Slot called whenever the pad border mode is modified by the user.
TGedMarkerSelect * fMarkerStyle
TGNumberEntry * fLegoInnerR
TGNumberEntry * fXNdivSub
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
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
TGStatusBar * fStatusBar
void ModTextSizeInPixels(Bool_t b)
Slot called whenever the text size mode is modified by the user.
TGNumberEntry * fYTitleOffset
void ModTitleY()
Slot called whenever the title ordinate is modified by the user.
TGCheckButton * fXTitleSizeInPixels
void ModLineWidth()
Slot called whenever the line width is modified by the user.
TGFontTypeComboBox * fZLabelFont
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
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.
void ModMarkerStyle()
Slot called whenever the marker style is modified by the user.
TGCheckButton * fOptLogy
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
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
void ModYTitleSizeInPixels(Bool_t b)
Slot called whenever the Y axis title size mode is modified by the user.
TGNumberEntry * fPaperSizeY
void ModXTitleOffset()
Slot called whenever the X axis title offset is modified by the user.
TGLabel * fStatFormatLabel
TGComboBox * fListComboBox
void ModXLabelSizeInPixels(Bool_t b)
Slot called whenever the X axis label size mode is modified by the user.
TGRadioButton * fColorModelPSRGB
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
TGLineStyleComboBox * AddLineStyleEntry(TGCompositeFrame *f, Int_t id)
Add a line style entry to the frame f.
TGTextButton * fMoreLess
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
TGNumberEntry * fDateY
void DoChangeAxisTab(Int_t i)
Slot called when the user changes the current axis tab.
TGColorSelect * fFuncColor
TGLayoutHints * fLayoutExpandXMargin
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
TGColorSelect * fXLabelColor
TGLineWidthComboBox * fPadBorderSize
TGLineStyleComboBox * fFuncStyle
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
void ModCanvasDefX()
Slot called whenever the canvas default abscissa is modified by the user.
TList * fTrashListLayout
TGCheckButton * fStatFontSizeInPixels
TGCheckButton * fYNdivisionsOptimize
void DoNew()
Create a new style. Called via the menu bar or the tool bar.
TGTextButton * fPaletteEdit
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
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
void ModTitleFontSizeInPixels(Bool_t b)
Slot called whenever the text size mode is modified by the user.
TGNumberEntry * fYLabelOffset
TGColorSelect * fXTitleColor
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
TGNumberEntry * fXNdivSubSub
void AddStatsStats(TGCompositeFrame *f)
Add the 'Stat Options' group frame to the 'Stats' tab.
TGCheckButton * fOptLogz
TGComboBox * fMarkerSize
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
TGNumberEntry * fTitleH
void CreateTabAxisY(TGCompositeFrame *tab)
Add the sub-tab 'Y Axis' to the tab 'Axis'.
TGColorSelect * fTitleColor
TGHButtonGroup * fApplyOnGroup
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
void ModZTitleSize()
Slot called whenever the Z axis title size is modified by the user.
TGCheckButton * fYTitleSizeInPixels
void ModApplyOnXYZ()
Slot called whenever the apply on XYZ button is clicked.
TGCheckButton * fOptStatKurtosis
TGColorSelect * fHistLineColor
void ModTitleAlign()
Slot called whenever the title text align is modified by the user.
TGComboBox * fOptDateFormat
void BuildList(TStyle *style=0)
Build the list of styles which will appear in the available styles combo box.
const TGPicture * fToolBarNewPic
void DoSelectNoCanvas()
Slot called when the user close a TCanvas.
TGCheckButton * fZTitleSizeInPixels
TGLineWidthComboBox * fHatchesLineWidth
TGLabel * fCurStylabel
TGNumberEntry * fPadLeftMargin
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
TGComboBox * AddDateFormatEntry(TGCompositeFrame *f, Int_t id)
Add a date format combo box to the frame f.
TGPopupMenu * fMenuHelp
TGColorSelect * fTextColor
void DoListSelect()
Slot called when the user select an item in the available styles' list.
TGLineWidthComboBox * fHistLineWidth
TGNumberEntry * fStatX
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
void AddPsPdfColorModel(TGCompositeFrame *f)
Add the 'Color Model' group frame to the 'PS / PDF' tab.
TGComboBox * fTextAlign
TGCheckButton * fPreviewButton
TGNumberEntry * fAttDateTextSize
TGCheckButton * fPadGridY
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
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
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
TGNumberEntry * fBarOffset
TGColorSelect * fMarkerColor
TGLineStyleComboBox * fGridStyle
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
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
TGButtonGroup * fColorModelPS
void ModStatStyle(Style_t pattern)
Slot called whenever the stats fill style is modified by the user.
TGPictureButton * fMakeDefault
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
void ModOptStat()
Slot called whenever one of the stats options is modified by the user.
TGLineWidthComboBox * fStatBorderSize
TGCheckButton * fTextSizeInPixels
void CreateTabHistosHistos(TGCompositeFrame *tab)
Add the sub-tab 'Histos' to the tab 'Histos'.
TGCheckButton * fOptFitValues
TGNumberEntry * fXTickLength
void ModPaletteEdit()
Slot called whenever the palette editor is opened by the user.
TGNumberEntry * fStatFontSize
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
TGColorSelect * fGridColor
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
TGLabel * fFitFormatLabel
TGTextButton * fApplyOnXYZ
TGComboBox * fPaperSizePredef
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
void CreateTabAxisZ(TGCompositeFrame *tab)
Add the sub-tab 'Z Axis' to the tab 'Axis'.
TGVerticalFrame * fEditionFrame
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
TGPopupMenu * fImportCascade
TGNumberEntry * fTimeOffsetTime
TGCheckButton * fStripDecimals
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
TGNumberEntry * fCanvasDefX
TVirtualPad * fCurPad
void ModYLabelSize()
Slot called whenever the Y axis label size is modified by the user.
TGTextEntry * fStatFormat
TObject * fCurObj
void CloseWindow()
Slot called to close the style manager via the window manager.
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
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
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
void ModErrorX()
Slot called whenever the error along X is modified by the user.
TGColorSelect * fStatTextColor
void CreateTabHistosGraphs(TGCompositeFrame *tab)
Add the sub-tab 'Graphs' to the tab 'Histos'.
TGPictureButton * fToolBarImportMacro
TGLabel * fCurObjLabel
void ModPadTickY()
Slot called whenever the pad tick Y boolean is modified by the user.
TGNumberEntry * fXLabelSize
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
void ModOptLogy()
Slot called whenever the Y axis log scale boolean is modified by the user.
TGNumberEntry * fXTitleSize
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
void DoMakeDefault()
Slot called to make the current selected style (in the ComboBox) become gStyle.
TGLineWidthComboBox * fCanvasBorderSize
TGRadioButton * fApplyOnAll
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
TGCheckButton * fZNdivisionsOptimize
TGNumberEntry * fErrorX
TGNumberEntry * fPaperSizeX
void ModCanvasColor()
Slot called whenever the canvas color is modified by the user.
const TGPicture * fToolBarImportMacroPic
TGColorSelect * fTitleTextColor
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
TGTextEntry * fCurObjTextEntry
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
Bool_t fStyleChanged
TGCheckButton * fYLabelSizeInPixels
void ModCanvasDefY()
Slot called whenever the canvas default ordinate is modified by the user.
TGNumberEntry * fXNdivMain
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
TGCheckButton * fOptFitErrors
Bool_t fMoreAndNotLess
TGPictureButton * fToolBarDelete
TGPictureButton * fToolBarExport
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
TGLayoutHints * fLayoutExpandXYMargin
TGCheckButton * fOptFitProbability
void DoExport()
Save the current selected style in a C++ macro file.
TGColorSelect * fZAxisColor
void AddCanvasDate(TGCompositeFrame *f)
Add the 'Date' group frame to the 'Canvas' tab.
TGCheckButton * fOptStatName
void ModPaperSizePredef()
Slot called whenever the PS paper size is modified by the user.
TGFontTypeComboBox * fTextFont
TGLayoutHints * fLayoutExpandXCenterYMargin
const TGPicture * fToolBarImportCanvasPic
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
TGNumberEntry * fYNdivMain
TGColorSelect * fYLabelColor
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
TGLabel * fCurPadLabel
const TGPicture * fToolBarExportPic
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
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.
virtual ~TStyleManager()
Destructor.
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
TGColorSelect * fZLabelColor
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
void CreateTabAxisX(TGCompositeFrame *tab)
Add the sub-tab 'X Axis' to the tab 'Axis'.
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:260
Int_t GetOptLogy() const
Definition TStyle.h:239
Color_t GetGridColor() const
Definition TStyle.h:213
Int_t GetOptStat() const
Definition TStyle.h:236
Color_t GetLabelColor(Option_t *axis="X") const
Return the label color number in the axis.
Definition TStyle.cxx:1064
void SetAxisColor(Color_t color=1, Option_t *axis="X")
Set color to draw the axis line and tick marks.
Definition TStyle.cxx:1271
void SetPadBorderMode(Int_t mode=1)
Definition TStyle.h:340
void SetOptTitle(Int_t tit=1)
Definition TStyle.h:318
void SetFrameLineColor(Color_t color=1)
Definition TStyle.h:356
void SetPadTopMargin(Float_t margin=0.1)
Definition TStyle.h:342
Color_t GetStatTextColor() const
Definition TStyle.h:249
void SetTitleX(Float_t x=0)
Definition TStyle.h:396
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:1589
void SetHistFillColor(Color_t color=1)
Definition TStyle.h:362
void SetLegoInnerR(Float_t rad=0.5)
Definition TStyle.h:302
void SaveSource(const char *filename, Option_t *option=0)
Save the current style in a C++ macro file.
Definition TStyle.cxx:1821
void SetOptLogx(Int_t logx=1)
Definition TStyle.h:313
void SetDateX(Float_t x=0.01)
Definition TStyle.h:321
void SetStatFormat(const char *format="6.4g")
Definition TStyle.h:379
void SetPadBottomMargin(Float_t margin=0.1)
Definition TStyle.h:341
Float_t GetTitleX() const
Definition TStyle.h:271
void SetPaintTextFormat(const char *format="g")
Definition TStyle.h:369
Int_t GetOptTitle() const
Definition TStyle.h:237
void SetCanvasBorderSize(Width_t size=1)
Definition TStyle.h:328
Float_t GetScreenFactor() const
Definition TStyle.h:247
void SetCanvasDefX(Int_t topx=10)
Definition TStyle.h:332
Color_t GetHistLineColor() const
Definition TStyle.h:224
Int_t GetNdivisions(Option_t *axis="X") const
Return number of divisions.
Definition TStyle.cxx:1032
void SetFrameFillColor(Color_t color=1)
Definition TStyle.h:355
Int_t GetPadTickX() const
Definition TStyle.h:208
Color_t GetTitleColor(Option_t *axis="X") const
Return title color.
Definition TStyle.cxx:1152
Color_t GetFrameLineColor() const
Definition TStyle.h:217
Style_t GetGridStyle() const
Definition TStyle.h:214
void SetStatFont(Style_t font=62)
Definition TStyle.h:377
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:1288
Float_t GetStatFontSize() const
Definition TStyle.h:252
Float_t GetBarOffset() const
Definition TStyle.h:174
Float_t GetStatX() const
Definition TStyle.h:255
Float_t GetLabelSize(Option_t *axis="X") const
Return label size.
Definition TStyle.cxx:1100
void SetStatStyle(Style_t style=1001)
Definition TStyle.h:375
Color_t GetPadColor() const
Definition TStyle.h:199
void SetHistLineStyle(Style_t styl=0)
Definition TStyle.h:365
void SetPadRightMargin(Float_t margin=0.1)
Definition TStyle.h:344
Style_t GetHistFillStyle() const
Definition TStyle.h:225
void SetCanvasColor(Color_t color=19)
Definition TStyle.h:327
void SetTitleFont(Style_t font=62, Option_t *axis="X")
Definition TStyle.cxx:1725
Float_t GetPadRightMargin() const
Definition TStyle.h:205
Float_t GetTickLength(Option_t *axis="X") const
Return tick length.
Definition TStyle.cxx:1140
void SetCanvasDefH(Int_t h=500)
Definition TStyle.h:330
void SetTitleBorderSize(Width_t size=2)
Definition TStyle.h:391
Style_t GetFrameFillStyle() const
Definition TStyle.h:218
void SetStatTextColor(Color_t color=1)
Definition TStyle.h:374
void SetStatX(Float_t x=0)
Definition TStyle.h:380
Float_t GetTitleSize(Option_t *axis="X") const
Return title size.
Definition TStyle.cxx:1188
Float_t GetLegoInnerR() const
Definition TStyle.h:231
Style_t GetLabelFont(Option_t *axis="X") const
Return label font.
Definition TStyle.cxx:1076
void SetCanvasBorderMode(Int_t mode=1)
Definition TStyle.h:329
Float_t GetTitleY() const
Definition TStyle.h:272
void SetOptDate(Int_t datefl=1)
If optdate is non null, the current date/time will be printed in the canvas.
Definition TStyle.cxx:1494
void SetFrameFillStyle(Style_t styl=0)
Definition TStyle.h:357
Float_t GetDateX() const
Definition TStyle.h:189
void SetCanvasDefW(Int_t w=700)
Definition TStyle.h:331
void SetDateY(Float_t y=0.01)
Definition TStyle.h:322
Float_t GetTitleOffset(Option_t *axis="X") const
Return title offset.
Definition TStyle.cxx:1176
Color_t GetHistFillColor() const
Definition TStyle.h:223
void SetFrameBorderMode(Int_t mode=1)
Definition TStyle.h:361
Style_t GetTitleFont(Option_t *axis="X") const
Return title font.
Definition TStyle.cxx:1164
void SetFuncColor(Color_t color=1)
Definition TStyle.h:350
Bool_t GetHistMinimumZero() const
Definition TStyle.h:228
void SetHeaderPS(const char *header)
Define a string to be inserted in the Postscript header.
Definition TStyle.cxx:1310
Float_t GetStatY() const
Definition TStyle.h:256
void SetPadTickY(Int_t ticky)
Definition TStyle.h:348
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:1748
Color_t GetTitleFillColor() const
Definition TStyle.h:262
Int_t GetCanvasDefH() const
Definition TStyle.h:183
void SetColorModelPS(Int_t c=0)
Define the color model used by TPostScript and TPDF (RGB or CMYK).
Definition TStyle.cxx:1223
Style_t GetTitleStyle() const
Definition TStyle.h:264
void SetPadTickX(Int_t tickx)
Definition TStyle.h:347
Float_t GetLabelOffset(Option_t *axis="X") const
Return label offset.
Definition TStyle.cxx:1088
Int_t GetCanvasDefX() const
Definition TStyle.h:185
Int_t GetOptDate() const
Definition TStyle.h:233
Bool_t GetPadGridY() const
Definition TStyle.h:207
Color_t GetStatColor() const
Definition TStyle.h:248
void SetPadGridX(Bool_t gridx)
Definition TStyle.h:345
void SetTitleTextColor(Color_t color=1)
Definition TStyle.h:388
Float_t GetPadLeftMargin() const
Definition TStyle.h:204
Double_t GetHatchesSpacing() const
Definition TStyle.h:193
Width_t GetLegendBorderSize() const
Definition TStyle.h:194
void SetStatBorderSize(Width_t size=2)
Definition TStyle.h:376
Float_t GetBarWidth() const
Definition TStyle.h:175
void SetGridColor(Color_t color=0)
Definition TStyle.h:353
Int_t GetColorModelPS() const
Definition TStyle.h:188
void SetGridStyle(Style_t style=3)
Definition TStyle.h:352
void SetErrorX(Float_t errorx=0.5)
Definition TStyle.h:324
Int_t GetCanvasDefY() const
Definition TStyle.h:186
void SetTitleColor(Color_t color=1, Option_t *axis="X")
Definition TStyle.cxx:1704
void SetNumberContours(Int_t number=20)
Set the default number of contour levels when drawing 2-d plots.
Definition TStyle.cxx:1448
void SetLabelFont(Style_t font=62, Option_t *axis="X")
Set font number used to draw axis labels.
Definition TStyle.cxx:1361
void SetTitleFontSize(Float_t size=0)
Definition TStyle.h:390
void SetDrawBorder(Int_t drawborder=1)
Definition TStyle.h:326
Width_t GetFrameBorderSize() const
Definition TStyle.h:221
void SetTimeOffset(Double_t toffset)
Change the time offset for time plotting.
Definition TStyle.cxx:1800
void SetTitlePS(const char *pstitle)
Define a string to be used in the %Title of the Postscript files.
Definition TStyle.cxx:1331
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:1236
Bool_t GetPadGridX() const
Definition TStyle.h:206
Float_t GetStatH() const
Definition TStyle.h:258
void SetPadLeftMargin(Float_t margin=0.1)
Definition TStyle.h:343
void SetStatH(Float_t h=0.1)
Definition TStyle.h:383
void SetPadGridY(Bool_t gridy)
Definition TStyle.h:346
void SetOptLogy(Int_t logy=1)
Definition TStyle.h:314
Width_t GetGridWidth() const
Definition TStyle.h:215
Color_t GetFuncColor() const
Definition TStyle.h:210
void SetLegendBorderSize(Width_t size=4)
Definition TStyle.h:334
TAttText * GetAttDate()
Definition TStyle.h:162
Int_t GetPadTickY() const
Definition TStyle.h:209
Width_t GetPadBorderSize() const
Definition TStyle.h:200
void SetStripDecimals(Bool_t strip=kTRUE)
Set option to strip decimals when drawing axis labels.
Definition TStyle.cxx:1813
Width_t GetTitleBorderSize() const
Definition TStyle.h:266
void SetHistLineColor(Color_t color=1)
Definition TStyle.h:363
void SetLabelOffset(Float_t offset=0.005, Option_t *axis="X")
Set offset between axis and axis labels.
Definition TStyle.cxx:1377
void SetFitFormat(const char *format="5.4g")
Definition TStyle.h:287
Float_t GetErrorX() const
Definition TStyle.h:178
void SetCanvasDefY(Int_t topy=10)
Definition TStyle.h:333
void SetTitleSize(Float_t size=0.02, Option_t *axis="X")
Definition TStyle.cxx:1767
void SetTitleFillColor(Color_t color=1)
Definition TStyle.h:387
Color_t GetCanvasColor() const
Definition TStyle.h:180
void SetTitleAlign(Int_t a=13)
Definition TStyle.h:386
void SetBarOffset(Float_t baroff=0.5)
Definition TStyle.h:319
void SetPaperSize(EPaperSize size)
Set paper size for PostScript output.
Definition TStyle.cxx:1654
Float_t GetEndErrorSize() const
Definition TStyle.h:177
Float_t GetPadBottomMargin() const
Definition TStyle.h:202
void SetFrameLineWidth(Width_t width=1)
Definition TStyle.h:359
void SetTickLength(Float_t length=0.03, Option_t *axis="X")
Set the tick marks length for an axis.
Definition TStyle.cxx:1685
void SetNdivisions(Int_t n=510, Option_t *axis="X")
Set the number of divisions to draw an axis.
Definition TStyle.cxx:1257
Width_t GetFuncWidth() const
Definition TStyle.h:212
void SetFuncWidth(Width_t width=4)
Definition TStyle.h:351
Int_t GetDrawBorder() const
Definition TStyle.h:176
void SetOptLogz(Int_t logz=1)
Definition TStyle.h:315
const char * GetTitlePS() const
Definition TStyle.h:276
Int_t GetCanvasDefW() const
Definition TStyle.h:184
void SetFrameBorderSize(Width_t size=1)
Definition TStyle.h:360
Width_t GetStatBorderSize() const
Definition TStyle.h:250
void GetPaperSize(Float_t &xsize, Float_t &ysize) const
Set paper size for PostScript output.
Definition TStyle.cxx:1131
Int_t GetStripDecimals() const
Definition TStyle.h:259
void SetTitleW(Float_t w=0)
Definition TStyle.h:398
Style_t GetHistLineStyle() const
Definition TStyle.h:226
void SetTitleStyle(Style_t style=1001)
Definition TStyle.h:389
void SetStatFontSize(Float_t size=0)
Definition TStyle.h:378
void SetStatColor(Color_t color=19)
Definition TStyle.h:373
void SetPadColor(Color_t color=19)
Definition TStyle.h:338
void SetStatW(Float_t w=0.19)
Definition TStyle.h:382
void SetHatchesSpacing(Double_t h)
Definition TStyle.h:290
void SetTitleH(Float_t h=0)
Definition TStyle.h:399
Int_t GetTitleAlign()
Definition TStyle.h:261
virtual void Reset(Option_t *option="")
Reset.
Definition TStyle.cxx:666
Color_t GetTitleTextColor() const
Definition TStyle.h:263
void SetBarWidth(Float_t barwidth=0.5)
Definition TStyle.h:320
void SetStatY(Float_t y=0)
Definition TStyle.h:381
Int_t GetOptLogx() const
Definition TStyle.h:238
Float_t GetTitleH() const
Definition TStyle.h:274
Style_t GetStatStyle() const
Definition TStyle.h:253
void SetTitleY(Float_t y=0.985)
Definition TStyle.h:397
void SetHistFillStyle(Style_t styl=0)
Definition TStyle.h:364
Width_t GetHistLineWidth() const
Definition TStyle.h:227
Style_t GetFrameLineStyle() const
Definition TStyle.h:219
Float_t GetStatW() const
Definition TStyle.h:257
Float_t GetDateY() const
Definition TStyle.h:190
const char * GetFitFormat() const
Definition TStyle.h:191
void SetScreenFactor(Float_t factor=1)
Definition TStyle.h:303
void SetHatchesLineWidth(Int_t l)
Definition TStyle.h:289
Int_t GetCanvasBorderMode() const
Definition TStyle.h:182
Int_t GetPadBorderMode() const
Definition TStyle.h:201
void SetGridWidth(Width_t width=1)
Definition TStyle.h:354
const char * GetHeaderPS() const
Definition TStyle.h:275
const char * GetStatFormat() const
Definition TStyle.h:254
void SetFuncStyle(Style_t style=1)
Definition TStyle.h:349
Width_t GetCanvasBorderSize() const
Definition TStyle.h:181
Int_t GetOptFit() const
Definition TStyle.h:235
Int_t GetNumberContours() const
Definition TStyle.h:232
void SetHistLineWidth(Width_t width=1)
Definition TStyle.h:366
const char * GetPaintTextFormat() const
Definition TStyle.h:241
Float_t GetLineScalePS() const
Definition TStyle.h:280
void SetLabelColor(Color_t color=1, Option_t *axis="X")
Set axis labels color.
Definition TStyle.cxx:1341
Style_t GetStatFont() const
Definition TStyle.h:251
void SetLabelSize(Float_t size=0.04, Option_t *axis="X")
Set size of axis labels.
Definition TStyle.cxx:1392
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:1541
Int_t GetOptLogz() const
Definition TStyle.h:240
void SetPadBorderSize(Width_t size=1)
Definition TStyle.h:339
Style_t GetFuncStyle() const
Definition TStyle.h:211
Float_t GetTitleFontSize() const
Definition TStyle.h:265
void SetFrameLineStyle(Style_t styl=0)
Definition TStyle.h:358
Int_t GetHatchesLineWidth() const
Definition TStyle.h:192
Color_t GetAxisColor(Option_t *axis="X") const
Return the axis color number in the axis.
Definition TStyle.cxx:1044
Int_t GetFrameBorderMode() const
Definition TStyle.h:222
Float_t GetPadTopMargin() const
Definition TStyle.h:203
void SetLineScalePS(Float_t scale=3)
Definition TStyle.h:294
Width_t GetFrameLineWidth() const
Definition TStyle.h:220
Color_t GetFrameFillColor() const
Definition TStyle.h:216
Float_t GetTitleW() const
Definition TStyle.h:273
virtual const char * UnixPathName(const char *unixpathname)
Convert from a local pathname to a Unix pathname.
Definition TSystem.cxx:1061
virtual const char * BaseName(const char *pathname)
Base name of a file name. Base name of /user/root is root.
Definition TSystem.cxx:933
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)
Definition TMathBase.h:212
Short_t Min(Short_t a, Short_t b)
Definition TMathBase.h:180
Short_t Abs(Short_t d)
Definition TMathBase.h:120
TCanvas * style()
Definition style.C:1