Logo ROOT   6.16/01
Reference Guide
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 <TGFrame.h>
134#include <TGLabel.h>
135#include <TGLayout.h>
136#include <TGMenu.h>
137#include <TGMsgBox.h>
138#include <TGNumberEntry.h>
139#include <TGResourcePool.h>
140#include <TGStatusBar.h>
141#include <TGTab.h>
142#include <TGToolBar.h>
143#include <TROOT.h>
144#include <TRootHelpDialog.h>
145#include <TStyle.h>
146#include <TSystem.h>
147#include <TVirtualPad.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->fFilename = StrDup(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->fFilename = StrDup(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->fFilename = StrDup(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();
1030 TString dir(".");
1032 fCurMacro->fIniDir = StrDup(dir);
1033 fCurMacro->fFilename = 0;
1034}
1035
1036////////////////////////////////////////////////////////////////////////////////
1037/// Add the tool bar to the frame 'p'.
1038
1040{
1041 TGLayoutHints *layout1 = new TGLayoutHints(kLHintsNormal, 3);
1042 fTrashListLayout->Add(layout1);
1043 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsNormal, 6);
1044 fTrashListLayout->Add(layout2);
1045
1046 fToolBar = new TGToolBar(p);
1047 fToolBarNewPic = gClient->GetPicture("sm_new.xpm");
1049 fToolBarNew->SetStyle(gClient->GetStyle());
1050 fToolBarNew->Associate(this);
1052
1053 fToolBarImportCanvasPic = gClient->GetPicture("sm_import_canvas.xpm");
1058
1059 fToolBarImportMacroPic = gClient->GetPicture("sm_import_macro.xpm");
1061 fToolBarImportMacro->SetStyle(gClient->GetStyle());
1064
1065 fToolBarExportPic = gClient->GetPicture("sm_export.xpm");
1067 fToolBarExport->SetStyle(gClient->GetStyle());
1069 fToolBar->AddFrame(fToolBarExport, layout1);
1070
1071 fToolBarDeletePic = gClient->GetPicture("sm_delete.xpm");
1073 fToolBarDelete->SetStyle(gClient->GetStyle());
1075 fToolBar->AddFrame(fToolBarDelete, layout2);
1076
1077 fToolBarHelpPic = gClient->GetPicture("sm_help.xpm");
1079 fToolBarHelp->SetStyle(gClient->GetStyle());
1080 fToolBarHelp->Associate(this);
1081 fToolBar->AddFrame(fToolBarHelp, layout2);
1082
1086
1087 fToolBarNew->SetToolTipText("Create a new style");
1088 fToolBarDelete->SetToolTipText("Delete the selected style");
1089 fToolBarImportCanvas->SetToolTipText("Import a style from selected canvas");
1090 fToolBarImportMacro->SetToolTipText("Import a style from a macro");
1091 fToolBarExport->SetToolTipText("Export the selected style into a macro");
1092 fToolBarHelp->SetToolTipText("Help about the top level interface");
1093}
1094
1095////////////////////////////////////////////////////////////////////////////////
1096/// Add the top level interface to the frame 'cf'. This part of the
1097/// interface will provide all enable functionalities, excluding the
1098/// edition of styles.
1099
1101{
1102 TGLayoutHints *layout1 = new TGLayoutHints(kLHintsExpandX, 0, 0, 2, 2);
1103 fTrashListLayout->Add(layout1);
1104 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 10, 10, 10, 15);
1105 fTrashListLayout->Add(layout2);
1106 TGLayoutHints *layout3 = new TGLayoutHints(kLHintsNormal, 0, 0, 18);
1107 fTrashListLayout->Add(layout3);
1108 TGLayoutHints *layout4 = new TGLayoutHints(kLHintsNormal, 10, 10);
1109 fTrashListLayout->Add(layout4);
1110 TGLayoutHints *layout5 = new TGLayoutHints(kLHintsExpandX, 125);
1111 fTrashListLayout->Add(layout5);
1112 TGLayoutHints *layout6 = new TGLayoutHints(kLHintsNormal, 0, 10, 3);
1113 fTrashListLayout->Add(layout6);
1114 TGLayoutHints *layout7 = new TGLayoutHints(kLHintsNormal, 0, 16, 3);
1115 fTrashListLayout->Add(layout7);
1116 TGLayoutHints *layout8 = new TGLayoutHints(kLHintsExpandX, 0, 0, 10);
1117 fTrashListLayout->Add(layout8);
1118 TGLayoutHints *layout9 = new TGLayoutHints(kLHintsNormal, -15, 0, -5, -10);
1119 fTrashListLayout->Add(layout9);
1120 TGLayoutHints *layout10 = new TGLayoutHints(kLHintsNormal, 15, 0, -5, -10);
1121 fTrashListLayout->Add(layout10);
1122 TGLayoutHints *layout11 = new TGLayoutHints(kLHintsExpandX, 0, 0, 15);
1123 fTrashListLayout->Add(layout11);
1124 TGLayoutHints *layout12 = new TGLayoutHints(kLHintsExpandX, 0, 0, 10, 5);
1125 fTrashListLayout->Add(layout12);
1126 TGLayoutHints *layout13 = new TGLayoutHints(kLHintsExpandX, 20, 0, 7);
1127 fTrashListLayout->Add(layout13);
1128
1129 TGVerticalFrame *topLevel = new TGVerticalFrame(cf);
1130 fTrashListFrame->AddFirst(topLevel);
1131 TGHorizontalFrame *h1 = new TGHorizontalFrame(topLevel);
1135 fListLabel = new TGLabel(v11, "Available Styles:");
1136 v11->AddFrame(fListLabel);
1138 fListComboBox->Associate(this);
1139 fListComboBox->Resize(200, 22);
1140 v11->AddFrame(fListComboBox, layout1);
1141 h1->AddFrame(v11, fLayoutExpandX);
1144 fMakeDefaultPic = gClient->GetPicture("arrow_right2.xpm");
1146 fMakeDefault->SetStyle(gClient->GetStyle());
1147 fMakeDefault->Associate(this);
1148 fMakeDefault->Resize(40, 22);
1149 v12->AddFrame(fMakeDefault, layout3);
1150 h1->AddFrame(v12, layout4);
1153 fCurStylabel = new TGLabel(v13, "gStyle is set to:");
1154 v13->AddFrame(fCurStylabel);
1155 fCurStyle = new TGTextEntry(v13, "", kTopCurStyle);
1156 fCurStyle->Associate(this);
1158 v13->AddFrame(fCurStyle, layout1);
1159 h1->AddFrame(v13, fLayoutExpandX);
1160 topLevel->AddFrame(h1, fLayoutExpandX);
1161
1162 TGHorizontalFrame *h2 = new TGHorizontalFrame(topLevel);
1164 TGGroupFrame *gf = new TGGroupFrame(h2, "Apply on");
1166 TGVerticalFrame *vf = new TGVerticalFrame(gf);
1168 Pixel_t red;
1169 gClient->GetColorByName("#FF0000", red);
1170 TGHorizontalFrame *selCanvas = new TGHorizontalFrame(vf);
1171 fTrashListFrame->AddFirst(selCanvas);
1172 fCurPadLabel = new TGLabel(selCanvas, "Canvas:");
1173 selCanvas->AddFrame(fCurPadLabel, layout6);
1174 fCurPadTextEntry = new TGTextEntry(selCanvas, "", kTopCurPad);
1178 vf->AddFrame(selCanvas, fLayoutExpandX);
1179 TGHorizontalFrame *selObject = new TGHorizontalFrame(vf);
1180 fTrashListFrame->AddFirst(selObject);
1181 fCurObjLabel = new TGLabel(selObject, "Object:");
1182 selObject->AddFrame(fCurObjLabel, layout7);
1183 fCurObjTextEntry = new TGTextEntry(selObject, "", kTopCurObj);
1188 vf->AddFrame(selObject, layout8);
1191 fApplyOnGroup = new TGHButtonGroup(h4);
1192 fApplyOnAll = new TGRadioButton(fApplyOnGroup, "All canvases", kTopApplyOnAll);
1193 fApplyOnAll->Associate(this);
1194 fApplyOnSel = new TGRadioButton(fApplyOnGroup, "Selected object", kTopApplyOnSel);
1195 fApplyOnSel->Associate(this);
1202 fApplyOnButton = new TGTextButton(h4, "&Apply", kTopApplyOnBut);
1204 fApplyOnButton->Resize(100, 22);
1205 h4->AddFrame(fApplyOnButton, layout13);
1206 vf->AddFrame(h4, fLayoutExpandX);
1207 gf->AddFrame(vf, layout11);
1208 h2->AddFrame(gf, layout12);
1209 topLevel->AddFrame(h2, fLayoutExpandX);
1210
1211 TGHorizontalFrame *h3 = new TGHorizontalFrame(topLevel);
1213 fPreviewButton = new TGCheckButton(h3, "&Preview", kTopPreview);
1215 h3->AddFrame(fPreviewButton, layout6);
1216 fPreviewRealTime = new TGCheckButton(h3, "Run &Time Preview", kTopPreviewRealTime);
1219 h3->AddFrame(fPreviewRealTime, layout6);
1220 fMoreLess = new TGTextButton(h3, "&Close <<", kTopMoreLess);
1221 fMoreLess->Associate(this);
1222 h3->AddFrame(fMoreLess, layout5);
1223 topLevel->AddFrame(h3, fLayoutExpandX);
1224
1225 cf->AddFrame(topLevel, layout2);
1226
1227 fApplyOnButton->SetToolTipText("Apply the selected style on the selected object");
1228 fPreviewButton->SetToolTipText("Show / Hide the preview window");
1229 fPreviewRealTime->SetToolTipText("Continuous / Asynchronous update of the preview");
1230}
1231
1232////////////////////////////////////////////////////////////////////////////////
1233/// Build the list of styles which will appear in the available styles
1234/// combo box. The new style to select is mentioned. If no style has
1235/// been specified, the last entry of the list is selected.
1236
1238{
1239 // Empty the list.
1241
1242 // Build the list of all styles already created in the ROOT session.
1243 Int_t i = 1;
1244 Int_t styleID = 0;
1245 TStyle *tmpStyle = (TStyle *) (gROOT->GetListOfStyles()->First());
1246 while (tmpStyle) {
1247 if (tmpStyle == style) styleID = i;
1248 fListComboBox->AddEntry(tmpStyle->GetName(), i++);
1249 tmpStyle = (TStyle *) (gROOT->GetListOfStyles()->After(tmpStyle));
1250 }
1251
1252 // Select 'style' in the list of available styles.
1253 if (styleID == 0) styleID = i - 1;
1254 fListComboBox->Select(styleID);
1255 DoListSelect();
1257}
1258
1259////////////////////////////////////////////////////////////////////////////////
1260/// Update the content of the status bar: show the name of the current
1261/// selected style, its title and the macro from which it has been imported.
1262
1264{
1267
1268 if ((!strcmp(fCurSelStyle->GetName(), "Default"))
1269 || (!strcmp(fCurSelStyle->GetName(), "Plain" ))
1270 || (!strcmp(fCurSelStyle->GetName(), "Bold" ))
1271 || (!strcmp(fCurSelStyle->GetName(), "Video" ))
1272 || (!strcmp(fCurSelStyle->GetName(), "Pub" ))) {
1273 fStatusBar->SetText("ROOT style", 1);
1274 } else if (fStyleChanged) {
1275 fStatusBar->SetText("User Style _ Not Saved", 1);
1276 } else {
1277 fStatusBar->SetText("User Style", 1);
1278 }
1279}
1280
1281////////////////////////////////////////////////////////////////////////////////
1282/// Update the values of every widget entry in the editor. The new values
1283/// are loaded from the current selected style.
1284
1286{
1287 Double_t delta;
1288 Int_t year;
1289 Int_t month;
1290 Int_t day;
1291 Int_t oneYearInSecs;
1292 Int_t oneMonthInSecs;
1293 Int_t tmp;
1294 Int_t tmp2;
1295 switch (tabNum) {
1296 case 0: // GENERAL
1308 // Nothing to do with fLineStyleEdit.
1310 if (fCurSelStyle->GetTextFont()%10 > 2) {
1313 } else {
1316 }
1320 break;
1321 case 1: // CANVAS
1330 if (fCurSelStyle->GetAttDate()->GetTextFont()%10 > 2) {
1333 } else {
1336 }
1341 fDateX->SetIntNumber((Int_t) (fCurSelStyle->GetDateX()*100 + 0.5));
1342 fDateY->SetIntNumber((Int_t) (fCurSelStyle->GetDateY()*100 + 0.5));
1343
1344 if (fCurSelStyle->GetOptDate()) {
1350// TODO Just delete when ComboBox can be grayed
1351 //fOptDateFormat->SetState(kTRUE);
1352 //ModAttDateTextFont->SetState(kTRUE);
1353 //ModAttDateTextAlign->SetState(kTRUE);
1357 } else {
1362// TODO Just delete when ComboBox can be grayed
1363 //fOptDateFormat->SetState(kFALSE);
1364 //ModAttDateTextFont->SetState(kFALSE);
1365 //ModAttDateTextAlign->SetState(kFALSE);
1369 }
1370 break;
1371 case 2: // PAD
1381 else
1385 else
1389 else
1393 else
1398 break;
1399 case 3: // HISTOS
1409 else
1419 // Nothing to do with fPaletteEdit;
1427 else
1430 fErrorX->SetIntNumber((Int_t) (fCurSelStyle->GetErrorX() * 100 + 0.5));
1431 break;
1432 case 4: // AXIS
1433 delta = fCurSelStyle->GetTimeOffset() - 788918400;
1434 year = 1995;
1435 month = 1;
1436 day = 1;
1437 while (delta < 0) {
1438 year--;
1439 if (year % 4) oneYearInSecs = 3600 * 24 * 365;
1440 else oneYearInSecs = 3600 * 24 * 366;
1441 delta += oneYearInSecs;
1442 }
1443 oneYearInSecs = 3600 * 24 * 365; // because 365 days in 1995.
1444 while (delta >= oneYearInSecs) {
1445 if (year % 4) oneYearInSecs = 3600 * 24 * 365;
1446 else oneYearInSecs = 3600 * 24 * 366;
1447 delta -= oneYearInSecs;
1448 year++;
1449 }
1450 oneMonthInSecs = 3600 * 24 * 31; // because 31 days in January.
1451 while (delta >= oneMonthInSecs) {
1452 month++;
1453 delta -= oneMonthInSecs;
1454 switch (month) {
1455 case 2:
1456 if (year % 4) oneMonthInSecs = 3600 * 24 * 28;
1457 else oneMonthInSecs = 3600 * 24 * 29;
1458 break;
1459 case 3: case 5: case 7: case 8: case 10: case 12:
1460 oneMonthInSecs = 3600 * 24 * 31;
1461 break;
1462 default:
1463 oneMonthInSecs = 3600 * 24 * 30;
1464 }
1465 }
1466 day = (Int_t) delta / (3600 * 24) + 1;
1467 delta = ((Int_t) delta) % (3600 * 24);
1468 fTimeOffsetDate->SetNumber(year*10000 + month*100 + day);
1469 fTimeOffsetTime->SetNumber(delta);
1470
1473 else
1476 if (fCurSelStyle->GetTitleFont("X")%10 > 2) {
1479 } else {
1482 }
1487 if (fCurSelStyle->GetLabelFont("X")%10 > 2) {
1490 } else {
1493 }
1499 if (fCurSelStyle->GetOptLogx())
1501 else
1506 if (fCurSelStyle->GetNdivisions("X") > 0)
1508 else
1511 if (fCurSelStyle->GetTitleFont("Y")%10 > 2) {
1514 } else {
1517 }
1522 if (fCurSelStyle->GetLabelFont("Y")%10 > 2) {
1525 } else {
1528 }
1534 if (fCurSelStyle->GetOptLogy())
1536 else
1541 if (fCurSelStyle->GetNdivisions("Y") > 0)
1543 else
1546 if (fCurSelStyle->GetTitleFont("Z")%10 > 2) {
1549 } else {
1552 }
1557 if (fCurSelStyle->GetLabelFont("Z")%10 > 2) {
1560 } else {
1563 }
1569
1570 if (fCurSelStyle->GetOptLogz())
1572 else
1574
1578 if (fCurSelStyle->GetNdivisions("Z") > 0)
1580 else
1582 break;
1583 case 5: // TITLES
1588 if (fCurSelStyle->GetTitleFont()%10 > 2) {
1591 } else {
1594 }
1599 fTitleX->SetIntNumber((Int_t) (fCurSelStyle->GetTitleX() * 100 + 0.5));
1600 fTitleY->SetIntNumber((Int_t) (fCurSelStyle->GetTitleY() * 100 + 0.5));
1601 fTitleW->SetIntNumber((Int_t) (fCurSelStyle->GetTitleW() * 100 + 0.5));
1602 fTitleH->SetIntNumber((Int_t) (fCurSelStyle->GetTitleH() * 100 + 0.5));
1603
1604 if (fCurSelStyle->GetOptTitle()) {
1612// TODO Just delete when ComboBox can be grayed
1613 //fTitleFont->SetState(kTRUE);
1614 //fTitleAlign->SetState(kTRUE);
1615 //fTitleBorderSize->SetState(kTRUE);
1616 //fLegendBorderSize->SetState(kTRUE);
1621 } else {
1628// TODO Just delete when ComboBox can be grayed
1629 //fTitleFont->SetState(kFALSE);
1630 //fTitleAlign->SetState(kFALSE);
1631 //fTitleBorderSize->SetState(kFALSE);
1632 //fLegendBorderSize->SetState(kFALSE);
1637 }
1638 break;
1639 case 6: // STATS
1644 if (fCurSelStyle->GetStatFont()%10 > 2) {
1647 } else {
1650 }
1652
1658 tmp = fCurSelStyle->GetOptStat();
1659
1660 if (tmp % 10) fOptStatName->SetState(kButtonDown, kFALSE);
1662
1663 if ((tmp/10) % 10) fOptStatEntries->SetState(kButtonDown, kFALSE);
1665
1666 if ((tmp/100) % 10) fOptStatMean->SetState(kButtonDown, kFALSE);
1668
1669 if ((tmp/1000) % 10) fOptStatRMS->SetState(kButtonDown, kFALSE);
1671
1672 if ((tmp/10000) % 10) fOptStatUnderflow->SetState(kButtonDown, kFALSE);
1674
1675 if ((tmp/100000) % 10) fOptStatOverflow->SetState(kButtonDown, kFALSE);
1677
1678 if ((tmp/1000000) % 10) fOptStatIntegral->SetState(kButtonDown, kFALSE);
1680
1681 if ((tmp/10000000) % 10) fOptStatSkewness->SetState(kButtonDown, kFALSE);
1683
1684 if ((tmp/100000000) % 10) fOptStatKurtosis->SetState(kButtonDown, kFALSE);
1686
1687 if ((((tmp/100) % 10) == 2) || (((tmp/1000) % 10) == 2) ||
1688 (((tmp/10000000) % 10) == 2) || (((tmp/100000000) % 10) == 2))
1691
1693 tmp2 = fCurSelStyle->GetOptFit();
1694
1695 if (tmp2 % 10) fOptFitValues->SetState(kButtonDown, kFALSE);
1697
1698 if ((tmp2/10) % 10) {
1701 } else
1703
1704 if ((tmp2/100) % 10) fOptFitChi->SetState(kButtonDown, kFALSE);
1706
1707 if ((tmp2/1000) % 10) fOptFitProbability->SetState(kButtonDown, kFALSE);
1709
1711 break;
1712
1713 case 7: // PS / PDF
1718 Float_t papSizeX;
1719 Float_t papSizeY;
1720 fCurSelStyle->GetPaperSize(papSizeX, papSizeY);
1721 if ((papSizeX == 20) && (papSizeY == 26)) {
1724 fPaperSizeX->SetNumber(papSizeX);
1725 fPaperSizeY->SetNumber(papSizeY);
1726 } else if ((papSizeX == 20) && (papSizeY == 24)) {
1729 fPaperSizeX->SetNumber(papSizeX * 0.394);
1730 fPaperSizeY->SetNumber(papSizeY * 0.394);
1731 } else {
1734 fPaperSizeX->SetNumber(papSizeX);
1735 fPaperSizeY->SetNumber(papSizeY);
1736 }
1737 break;
1738 }
1739}
1740
1741////////////////////////////////////////////////////////////////////////////////
1742/// Connect every entry in the top level interface to the slot.
1743
1745{
1746 Connect("CloseWindow()", "TStyleManager", this, "CloseWindow()");
1747 fMenuStyle->Connect("Activated(Int_t)", "TStyleManager", this, "DoMenu(Int_t)");
1748 fMenuHelp->Connect("Activated(Int_t)", "TStyleManager", this, "DoMenu(Int_t)");
1749 fToolBarNew->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuNew));
1750 fToolBarDelete->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuDelete));
1751 fToolBarImportCanvas->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuImportCanvas));
1752 fToolBarImportMacro->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuImportMacro));
1753 fToolBarExport->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuExport));
1754 fToolBarHelp->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuHelp));
1755 fListComboBox->Connect("Selected(Int_t)", "TStyleManager", this, "DoListSelect()");
1756 fPreviewButton->Connect("Toggled(Bool_t)", "TStyleManager", this, "DoPreview(Bool_t)");
1757 fPreviewRealTime->Connect("Toggled(Bool_t)", "TStyleManager", this, "DoRealTime(Bool_t)");
1758 fMakeDefault->Connect("Clicked()", "TStyleManager", this, "DoMakeDefault()");
1759 fApplyOnGroup->Connect("Clicked(Int_t)", "TStyleManager", this, "DoApplyOnSelect(Int_t)");
1760 fApplyOnButton->Connect("Clicked()", "TStyleManager", this, "DoApplyOn()");
1761 fMoreLess->Connect("Clicked()", "TStyleManager", this, "DoMoreLess()");
1762
1763 fEditionHelp->Connect("Clicked()", "TStyleManager", this, TString::Format("DoMenu(Int_t=%d)", kMenuHelpEditor));
1764 fEditionUpdatePreview->Connect("Clicked()", "TStyleManager", this, "DoEditionUpdatePreview()");
1765 fEditionReset->Connect("Clicked()", "TStyleManager", this, "DoImportMacro(Int_t=kFALSE)");
1766 fEditionTab->Connect("Selected(Int_t)", "TStyleManager", this, "DoChangeTab(Int_t)");
1767 fAxisTab->Connect("Selected(Int_t)", "TStyleManager", this, "DoChangeAxisTab(Int_t)");
1768
1769 // Connect signals emited when the current pad changed.
1770 TQObject::Connect("TCanvas", "Selected(TVirtualPad *, TObject *, Int_t)", "TStyleManager",
1771 this, "DoSelectCanvas(TVirtualPad *, TObject *, Int_t)");
1772 TQObject::Connect("TCanvas", "Closed()", "TStyleManager", this, "DoSelectNoCanvas()");
1773}
1774
1775////////////////////////////////////////////////////////////////////////////////
1776/// Disconnect every entry in the top level interface of the slot.
1777
1779{
1780 Disconnect("CloseWindow()");
1781 fMenuStyle->Disconnect("Activated(Int_t)");
1782 fMenuHelp->Disconnect("Activated(Int_t)");
1783 fToolBarNew->Disconnect("Clicked()");
1784 fToolBarDelete->Disconnect("Clicked()");
1785 fToolBarImportCanvas->Disconnect("Clicked()");
1786 fToolBarImportMacro->Disconnect("Clicked()");
1787 fToolBarExport->Disconnect("Clicked()");
1788 fToolBarHelp->Disconnect("Clicked()");
1789 fListComboBox->Disconnect("Selected(Int_t)");
1790 fPreviewButton->Disconnect("Toggled(Bool_t)");
1791 fMakeDefault->Disconnect("Clicked()");
1792 fApplyOnGroup->Disconnect("Clicked(Int_t)");
1793 fApplyOnButton->Disconnect("Clicked()");
1794 fMoreLess->Disconnect("Clicked()");
1795
1796 fEditionHelp->Disconnect("Clicked()");
1797 fEditionUpdatePreview->Disconnect("Clicked()");
1798 fEditionReset->Disconnect("Clicked()");
1799 fEditionTab->Disconnect("Selected(Int_t)");
1800
1801 TQObject::Disconnect("TCanvas", "Selected(TVirtualPad *, TObject *, Int_t)");
1802 TQObject::Disconnect("TCanvas", "Closed()");
1803}
1804
1805////////////////////////////////////////////////////////////////////////////////
1806/// Connect every widget entry of the editor to its specific slot.
1807
1809{
1810 if (fSigSlotConnected) return;
1812
1813 switch (tabNum) {
1814 case 0: // GENERAL
1815 fFillColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModFillColor()");
1816 fFillStyle->Connect("PatternSelected(Style_t)", "TStyleManager", this, "ModFillStyle()");
1817 fHatchesLineWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModHatchesLineWidth()");
1818 fHatchesSpacing->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModHatchesSpacing()");
1819 fMarkerColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModMarkerColor()");
1820 fMarkerStyle->Connect("MarkerSelected(Style_t)", "TStyleManager", this, "ModMarkerStyle()");
1821 fMarkerSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModMarkerSize()");
1822 fScreenFactor->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModScreenFactor()");
1823 fLineColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModLineColor()");
1824 fLineWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModLineWidth()");
1825 fLineStyle->Connect("Selected(Int_t)", "TStyleManager", this, "ModLineStyle()");
1826 fLineStyleEdit->Connect("Clicked()", "TStyleManager", this, "ModLineStyleEdit()");
1827 fTextColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModTextColor()");
1828 fTextSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTextSize()");
1829 fTextSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModTextSizeInPixels(Bool_t)");
1830 fTextFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModTextFont()");
1831 fTextAlign->Connect("Selected(Int_t)", "TStyleManager", this, "ModTextAlign()");
1832 fTextAngle->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTextAngle()");
1833 break;
1834 case 1: // CANVAS
1835 fCanvasColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModCanvasColor()");
1836 fCanvasDefX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModCanvasDefX()");
1837 fCanvasDefY->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModCanvasDefY()");
1838 fCanvasDefW->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModCanvasDefW()");
1839 fCanvasDefH->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModCanvasDefH()");
1840 fCanvasBorderMode->Connect("Clicked(Int_t)", "TStyleManager", this, "ModCanvasBorderMode()");
1841 fCanvasBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModCanvasBorderSize()");
1842 fOptDateBool->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptDateBool()");
1843 fAttDateTextColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModAttDateTextColor()");
1844 fAttDateTextSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModAttDateTextSize()");
1845 fAttDateTextSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModAttDateTextSizeInPixels(Bool_t)");
1846 fOptDateFormat->Connect("Selected(Int_t)", "TStyleManager", this, "ModOptDateFormat()");
1847 fAttDateTextFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModAttDateTextFont()");
1848 fAttDateTextAngle->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModAttDateTextAngle()");
1849 fAttDateTextAlign->Connect("Selected(Int_t)", "TStyleManager", this, "ModAttDateTextAlign()");
1850 fDateX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModDateX()");
1851 fDateY->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModDateY()");
1852 break;
1853 case 2: // PAD
1854 fPadTopMargin->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPadTopMargin()");
1855 fPadBottomMargin->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPadBottomMargin()");
1856 fPadLeftMargin->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPadLeftMargin()");
1857 fPadRightMargin->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPadRightMargin()");
1858 fPadBorderMode->Connect("Clicked(Int_t)", "TStyleManager", this, "ModPadBorderMode()");
1859 fPadBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModPadBorderSize()");
1860 fPadColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModPadColor()");
1861 fPadTickX->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModPadTickX()");
1862 fPadTickY->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModPadTickY()");
1863 fPadGridX->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModPadGridX()");
1864 fPadGridY->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModPadGridY()");
1865 fGridColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModGridColor()");
1866 fGridWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModGridWidth()");
1867 fGridStyle->Connect("Selected(Int_t)", "TStyleManager", this, "ModGridStyle()");
1868 break;
1869 case 3: // HISTOS
1870 fHistFillColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModHistFillColor()");
1871 fHistFillStyle->Connect("PatternSelected(Style_t)", "TStyleManager", this, "ModHistFillStyle()");
1872 fHistLineColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModHistLineColor()");
1873 fHistLineWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModHistLineWidth()");
1874 fHistLineStyle->Connect("Selected(Int_t)", "TStyleManager", this, "ModHistLineStyle()");
1875 fBarWidth->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModBarWidth()");
1876 fBarOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModBarOffset()");
1877 fHistMinimumZero->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModHistMinimumZero()");
1878 fPaintTextFormat->Connect("TextChanged(const char *)", "TStyleManager", this, "ModPaintTextFormat()");
1879 fNumberContours->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModNumberContours()");
1880 fLegoInnerR->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModLegoInnerR()");
1881 fFrameFillColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModFrameFillColor()");
1882 fFrameFillStyle->Connect("PatternSelected(Style_t)", "TStyleManager", this, "ModFrameFillStyle()");
1883 fFrameLineColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModFrameLineColor()");
1884 fFrameLineWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModFrameLineWidth()");
1885 fFrameLineStyle->Connect("Selected(Int_t)", "TStyleManager", this, "ModFrameLineStyle()");
1886 fPaletteEdit->Connect("Clicked()", "TStyleManager", this, "ModPaletteEdit()");
1887 fFrameBorderMode->Connect("Clicked(Int_t)", "TStyleManager", this, "ModFrameBorderMode()");
1888 fFrameBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModFrameBorderSize()");
1889 fFuncColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModFuncColor()");
1890 fFuncWidth->Connect("Selected(Int_t)", "TStyleManager", this, "ModFuncWidth()");
1891 fFuncStyle->Connect("Selected(Int_t)", "TStyleManager", this, "ModFuncStyle()");
1892 fDrawBorder->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModDrawBorder()");
1893 fEndErrorSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModEndErrorSize()");
1894 fErrorX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModErrorX()");
1895 break;
1896 case 4: // AXIS
1897 fTimeOffsetDate->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTimeOffset()");
1898 fTimeOffsetTime->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTimeOffset()");
1899 fStripDecimals->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModStripDecimals()");
1900 fApplyOnXYZ->Connect("Clicked()", "TStyleManager", this, "ModApplyOnXYZ()");
1901 fXTitleSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXTitleSize()");
1902 fXTitleSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModXTitleSizeInPixels(Bool_t)");
1903 fXTitleColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModXTitleColor()");
1904 fXTitleOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXTitleOffset()");
1905 fXTitleFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModXTitleFont()");
1906 fXLabelSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXLabelSize()");
1907 fXLabelSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModXLabelSizeInPixels(Bool_t)");
1908 fXLabelColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModXLabelColor()");
1909 fXLabelOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXLabelOffset()");
1910 fXLabelFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModXLabelFont()");
1911 fXAxisColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModXAxisColor()");
1912 fXTickLength->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXTickLength()");
1913 fOptLogx->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptLogx()");
1914 fXNdivMain->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXNdivisions()");
1915 fXNdivSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXNdivisions()");
1916 fXNdivSubSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModXNdivisions()");
1917 fXNdivisionsOptimize->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModXNdivisions()");
1918 fYTitleSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYTitleSize()");
1919 fYTitleSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModYTitleSizeInPixels(Bool_t)");
1920 fYTitleColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModYTitleColor()");
1921 fYTitleOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYTitleOffset()");
1922 fYTitleFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModYTitleFont()");
1923 fYLabelSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYLabelSize()");
1924 fYLabelSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModYLabelSizeInPixels(Bool_t)");
1925 fYLabelColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModYLabelColor()");
1926 fYLabelOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYLabelOffset()");
1927 fYLabelFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModYLabelFont()");
1928 fYAxisColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModYAxisColor()");
1929 fYTickLength->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYTickLength()");
1930 fOptLogy->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptLogy()");
1931 fYNdivMain->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYNdivisions()");
1932 fYNdivSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYNdivisions()");
1933 fYNdivSubSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModYNdivisions()");
1934 fYNdivisionsOptimize->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModYNdivisions()");
1935 fZTitleSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZTitleSize()");
1936 fZTitleSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModZTitleSizeInPixels(Bool_t)");
1937 fZTitleColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModZTitleColor()");
1938 fZTitleOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZTitleOffset()");
1939 fZTitleFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModZTitleFont()");
1940 fZLabelSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZLabelSize()");
1941 fZLabelSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModZLabelSizeInPixels(Bool_t)");
1942 fZLabelColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModZLabelColor()");
1943 fZLabelOffset->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZLabelOffset()");
1944 fZLabelFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModZLabelFont()");
1945 fZAxisColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModZAxisColor()");
1946 fZTickLength->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZTickLength()");
1947 fOptLogz->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptLogz()");
1948 fZNdivMain->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZNdivisions()");
1949 fZNdivSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZNdivisions()");
1950 fZNdivSubSub->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModZNdivisions()");
1951 fZNdivisionsOptimize->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModZNdivisions()");
1952 break;
1953 case 5: // TITLES
1954 fOptTitle->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptTitle()");
1955 fTitleColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModTitleFillColor()");
1956 fTitleStyle->Connect("PatternSelected(Style_t)", "TStyleManager", this, "ModTitleStyle()");
1957 fTitleTextColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModTitleTextColor()");
1958 fTitleFontSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTitleFontSize()");
1959 fTitleFontSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModTitleFontSizeInPixels(Bool_t)");
1960 fTitleFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModTitleFont()");
1961 fTitleAlign->Connect("Selected(Int_t)", "TStyleManager", this, "ModTitleAlign()");
1962 fTitleBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModTitleBorderSize()");
1963 fTitleX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTitleX()");
1964 fTitleY->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTitleY()");
1965 fTitleW->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTitleW()");
1966 fTitleH->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModTitleH()");
1967 fLegendBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModLegendBorderSize()");
1968 break;
1969 case 6: // STATS
1970 fStatColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModStatColor(Pixel_t)");
1971 fStatStyle->Connect("PatternSelected(Style_t)", "TStyleManager", this, "ModStatStyle(Style_t)");
1972 fStatTextColor->Connect("ColorSelected(Pixel_t)", "TStyleManager", this, "ModStatTextColor(Pixel_t)");
1973 fStatFontSize->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModStatFontSize()");
1974 fStatFontSizeInPixels->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModStatFontSizeInPixels(Bool_t)");
1975 fStatFont->Connect("Selected(Int_t)", "TStyleManager", this, "ModStatFont()");
1976 fStatX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModStatX()");
1977 fStatY->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModStatY()");
1978 fStatW->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModStatW()");
1979 fStatH->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModStatH()");
1980 fStatBorderSize->Connect("Selected(Int_t)", "TStyleManager", this, "ModStatBorderSize()");
1981 fOptStatName->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1982 fOptStatEntries->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1983 fOptStatOverflow->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1984 fOptStatMean->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1985 fOptStatUnderflow->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1986 fOptStatRMS->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1987 fOptStatSkewness->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1988 fOptStatIntegral->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1989 fOptStatKurtosis->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1990 fOptStatErrors->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptStat()");
1991 fStatFormat->Connect("TextChanged(const char *)", "TStyleManager", this, "ModStatFormat(const char *)");
1992 fOptFitValues->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptFit()");
1993 fOptFitErrors->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptFit()");
1994 fOptFitProbability->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptFit()");
1995 fOptFitChi->Connect("Toggled(Bool_t)", "TStyleManager", this, "ModOptFit()");
1996 fFitFormat->Connect("TextChanged(const char *)", "TStyleManager", this, "ModFitFormat(const char *)");
1997 break;
1998 case 7: // PS / PDF
1999 fHeaderPS->Connect("TextChanged(const char *)", "TStyleManager", this, "ModHeaderPS()");
2000 fTitlePS->Connect("TextChanged(const char *)", "TStyleManager", this, "ModTitlePS()");
2001 fColorModelPS->Connect("Clicked(Int_t)", "TStyleManager", this, "ModColorModelPS()");
2002 fLineScalePS->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModLineScalePS()");
2003 fPaperSizePredef->Connect("Selected(Int_t)", "TStyleManager", this, "ModPaperSizePredef()");
2004 fPaperSizeX->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPaperSizeXY()");
2005 fPaperSizeY->Connect("ValueSet(Long_t)", "TStyleManager", this, "ModPaperSizeXY()");
2006 break;
2007 }
2008}
2009
2010////////////////////////////////////////////////////////////////////////////////
2011/// Disconnect every widget entry of the editor from its slot. Must be
2012/// called before UpdateEditor() to avoid recursive calls.
2013
2015{
2016 if (!fSigSlotConnected) return;
2018
2019 switch (tabNum) {
2020 case 0: // GENERAL
2021 fFillColor->Disconnect("ColorSelected(Pixel_t)");
2022 fFillStyle->Disconnect("PatternSelected(Style_t)");
2023 fHatchesLineWidth->Disconnect("Selected(Int_t)");
2024 fHatchesSpacing->Disconnect("ValueSet(Long_t)");
2025 fMarkerColor->Disconnect("ColorSelected(Pixel_t)");
2026 fMarkerStyle->Disconnect("MarkerSelected(Style_t)");
2027 fMarkerSize->Disconnect("Selected(Int_t)");
2028 fScreenFactor->Disconnect("ValueSet(Long_t)");
2029 fLineColor->Disconnect("ColorSelected(Pixel_t)");
2030 fLineWidth->Disconnect("Selected(Int_t)");
2031 fLineStyle->Disconnect("Selected(Int_t)");
2032 fLineStyleEdit->Disconnect("Clicked()");
2033 fTextColor->Disconnect("ColorSelected(Pixel_t)");
2034 fTextSize->Disconnect("ValueSet(Long_t)");
2035 fTextFont->Disconnect("Selected(Int_t)");
2036 fTextAlign->Disconnect("Selected(Int_t)");
2037 fTextAngle->Disconnect("ValueSet(Long_t)");
2038 break;
2039 case 1: // CANVAS
2040 fCanvasColor->Disconnect("ColorSelected(Pixel_t)");
2041 fCanvasDefX->Disconnect("ValueSet(Long_t)");
2042 fCanvasDefY->Disconnect("ValueSet(Long_t)");
2043 fCanvasDefW->Disconnect("ValueSet(Long_t)");
2044 fCanvasDefH->Disconnect("ValueSet(Long_t)");
2045 fCanvasBorderMode->Disconnect("Clicked(Int_t)");
2046 fCanvasBorderSize->Disconnect("Selected(Int_t)");
2047 fOptDateBool->Disconnect("Toggled(Bool_t)");
2048 fAttDateTextColor->Disconnect("ColorSelected(Pixel_t)");
2049 fAttDateTextSize->Disconnect("ValueSet(Long_t)");
2050 fOptDateFormat->Disconnect("Selected(Int_t)");
2051 fAttDateTextFont->Disconnect("Selected(Int_t)");
2052 fAttDateTextAngle->Disconnect("ValueSet(Long_t)");
2053 fAttDateTextAlign->Disconnect("Selected(Int_t)");
2054 fDateX->Disconnect("ValueSet(Long_t)");
2055 fDateY->Disconnect("ValueSet(Long_t)");
2056 break;
2057 case 2: // PAD
2058 fPadTopMargin->Disconnect("ValueSet(Long_t)");
2059 fPadBottomMargin->Disconnect("ValueSet(Long_t)");
2060 fPadLeftMargin->Disconnect("ValueSet(Long_t)");
2061 fPadRightMargin->Disconnect("ValueSet(Long_t)");
2062 fPadBorderMode->Disconnect("Clicked(Int_t)");
2063 fPadBorderSize->Disconnect("Selected(Int_t)");
2064 fPadColor->Disconnect("ColorSelected(Pixel_t)");
2065 fPadTickX->Disconnect("Toggled(Bool_t)");
2066 fPadTickY->Disconnect("Toggled(Bool_t)");
2067 fPadGridX->Disconnect("Toggled(Bool_t)");
2068 fPadGridY->Disconnect("Toggled(Bool_t)");
2069 fGridColor->Disconnect("ColorSelected(Pixel_t)");
2070 fGridWidth->Disconnect("Selected(Int_t)");
2071 fGridStyle->Disconnect("Selected(Int_t)");
2072 break;
2073 case 3: // HISTOS
2074 fHistFillColor->Disconnect("ColorSelected(Pixel_t)");
2075 fHistFillStyle->Disconnect("PatternSelected(Style_t)");
2076 fHistLineColor->Disconnect("ColorSelected(Pixel_t)");
2077 fHistLineWidth->Disconnect("Selected(Int_t)");
2078 fHistLineStyle->Disconnect("Selected(Int_t)");
2079 fBarWidth->Disconnect("ValueSet(Long_t)");
2080 fBarOffset->Disconnect("ValueSet(Long_t)");
2081 fHistMinimumZero->Disconnect("Toggled(Bool_t)");
2082 fPaintTextFormat->Disconnect("TextChanged(const char *)");
2083 fNumberContours->Disconnect("ValueSet(Long_t)");
2084 fLegoInnerR->Disconnect("ValueSet(Long_t)");
2085 fFrameFillColor->Disconnect("ColorSelected(Pixel_t)");
2086 fFrameFillStyle->Disconnect("PatternSelected(Style_t)");
2087 fFrameLineColor->Disconnect("ColorSelected(Pixel_t)");
2088 fFrameLineWidth->Disconnect("Selected(Int_t)");
2089 fFrameLineStyle->Disconnect("Selected(Int_t)");
2090 fPaletteEdit->Disconnect("Clicked()");
2091 fFrameBorderMode->Disconnect("Clicked(Int_t)");
2092 fFrameBorderSize->Disconnect("Selected(Int_t)");
2093 fFuncColor->Disconnect("ColorSelected(Pixel_t)");
2094 fFuncWidth->Disconnect("Selected(Int_t)");
2095 fFuncStyle->Disconnect("Selected(Int_t)");
2096 fDrawBorder->Disconnect("Toggled(Bool_t)");
2097 fEndErrorSize->Disconnect("ValueSet(Long_t)");
2098 fErrorX->Disconnect("ValueSet(Long_t)");
2099 break;
2100 case 4: // AXIS
2101 fTimeOffsetDate->Disconnect("ValueSet(Long_t)");
2102 fTimeOffsetTime->Disconnect("ValueSet(Long_t)");
2103 fStripDecimals->Disconnect("Toggled(Bool_t)");
2104 fApplyOnXYZ->Disconnect("Clicked()");
2105 fXTitleSize->Disconnect("ValueSet(Long_t)");
2106 fXTitleColor->Disconnect("ColorSelected(Pixel_t)");
2107 fXTitleOffset->Disconnect("ValueSet(Long_t)");
2108 fXTitleFont->Disconnect("Selected(Int_t)");
2109 fXLabelSize->Disconnect("ValueSet(Long_t)");
2110 fXLabelColor->Disconnect("ColorSelected(Pixel_t)");
2111 fXLabelOffset->Disconnect("ValueSet(Long_t)");
2112 fXLabelFont->Disconnect("Selected(Int_t)");
2113 fXAxisColor->Disconnect("ColorSelected(Pixel_t)");
2114 fXTickLength->Disconnect("ValueSet(Long_t)");
2115 fOptLogx->Disconnect("Toggled(Bool_t)");
2116 fXNdivMain->Disconnect("ValueSet(Long_t)");
2117 fXNdivSub->Disconnect("ValueSet(Long_t)");
2118 fXNdivSubSub->Disconnect("ValueSet(Long_t)");
2119 fXNdivisionsOptimize->Disconnect("Toggled(Bool_t)");
2120 fYTitleSize->Disconnect("ValueSet(Long_t)");
2121 fYTitleColor->Disconnect("ColorSelected(Pixel_t)");
2122 fYTitleOffset->Disconnect("ValueSet(Long_t)");
2123 fYTitleFont->Disconnect("Selected(Int_t)");
2124 fYLabelSize->Disconnect("ValueSet(Long_t)");
2125 fYLabelColor->Disconnect("ColorSelected(Pixel_t)");
2126 fYLabelOffset->Disconnect("ValueSet(Long_t)");
2127 fYLabelFont->Disconnect("Selected(Int_t)");
2128 fYAxisColor->Disconnect("ColorSelected(Pixel_t)");
2129 fYTickLength->Disconnect("ValueSet(Long_t)");
2130 fOptLogy->Disconnect("Toggled(Bool_t)");
2131 fYNdivMain->Disconnect("ValueSet(Long_t)");
2132 fYNdivSub->Disconnect("ValueSet(Long_t)");
2133 fYNdivSubSub->Disconnect("ValueSet(Long_t)");
2134 fYNdivisionsOptimize->Disconnect("Toggled(Bool_t)");
2135 fZTitleSize->Disconnect("ValueSet(Long_t)");
2136 fZTitleColor->Disconnect("ColorSelected(Pixel_t)");
2137 fZTitleOffset->Disconnect("ValueSet(Long_t)");
2138 fZTitleFont->Disconnect("Selected(Int_t)");
2139 fZLabelSize->Disconnect("ValueSet(Long_t)");
2140 fZLabelColor->Disconnect("ColorSelected(Pixel_t)");
2141 fZLabelOffset->Disconnect("ValueSet(Long_t)");
2142 fZLabelFont->Disconnect("Selected(Int_t)");
2143 fZAxisColor->Disconnect("ColorSelected(Pixel_t)");
2144 fZTickLength->Disconnect("ValueSet(Long_t)");
2145 fOptLogz->Disconnect("Toggled(Bool_t)");
2146 fZNdivMain->Disconnect("ValueSet(Long_t)");
2147 fZNdivSub->Disconnect("ValueSet(Long_t)");
2148 fZNdivSubSub->Disconnect("ValueSet(Long_t)");
2149 fZNdivisionsOptimize->Disconnect("Toggled(Bool_t)");
2150 break;
2151 case 5: // TITLES
2152 fOptTitle->Disconnect("Toggled(Bool_t)");
2153 fTitleColor->Disconnect("ColorSelected(Pixel_t)");
2154 fTitleStyle->Disconnect("PatternSelected(Style_t)");
2155 fTitleTextColor->Disconnect("ColorSelected(Pixel_t)");
2156 fTitleFontSize->Disconnect("ValueSet(Long_t)");
2157 fTitleFont->Disconnect("Selected(Int_t)");
2158 fTitleAlign->Disconnect("Selected(Int_t)");
2159 fTitleBorderSize->Disconnect("Selected(Int_t)");
2160 fTitleX->Disconnect("ValueSet(Long_t)");
2161 fTitleY->Disconnect("ValueSet(Long_t)");
2162 fTitleW->Disconnect("ValueSet(Long_t)");
2163 fTitleH->Disconnect("ValueSet(Long_t)");
2164 fLegendBorderSize->Disconnect("Selected(Int_t)");
2165 break;
2166 case 6: // STATS
2167 fStatColor->Disconnect("ColorSelected(Pixel_t)");
2168 fStatStyle->Disconnect("PatternSelected(Style_t)");
2169 fStatTextColor->Disconnect("ColorSelected(Pixel_t)");
2170 fStatFontSize->Disconnect("ValueSet(Long_t)");
2171 fStatFont->Disconnect("Selected(Int_t)");
2172 fStatX->Disconnect("ValueSet(Long_t)");
2173 fStatY->Disconnect("ValueSet(Long_t)");
2174 fStatW->Disconnect("ValueSet(Long_t)");
2175 fStatH->Disconnect("ValueSet(Long_t)");
2176 fStatBorderSize->Disconnect("Selected(Int_t)");
2177 fOptStatName->Disconnect("Toggled(Bool_t)");
2178 fOptStatEntries->Disconnect("Toggled(Bool_t)");
2179 fOptStatOverflow->Disconnect("Toggled(Bool_t)");
2180 fOptStatMean->Disconnect("Toggled(Bool_t)");
2181 fOptStatUnderflow->Disconnect("Toggled(Bool_t)");
2182 fOptStatRMS->Disconnect("Toggled(Bool_t)");
2183 fOptStatSkewness->Disconnect("Toggled(Bool_t)");
2184 fOptStatIntegral->Disconnect("Toggled(Bool_t)");
2185 fOptStatKurtosis->Disconnect("Toggled(Bool_t)");
2186 fOptStatErrors->Disconnect("Toggled(Bool_t)");
2187 fStatFormat->Disconnect("TextChanged(const char *)");
2188 fOptFitValues->Disconnect("Toggled(Bool_t)");
2189 fOptFitErrors->Disconnect("Toggled(Bool_t)");
2190 fOptFitProbability->Disconnect("Toggled(Bool_t)");
2191 fOptFitChi->Disconnect("Toggled(Bool_t)");
2192 fFitFormat->Disconnect("TextChanged(const char *)");
2193 break;
2194 case 7: // PS / PDF
2195 fHeaderPS->Disconnect("TextChanged(const char *)");
2196 fTitlePS->Disconnect("TextChanged(const char *)");
2197 fColorModelPS->Disconnect("Clicked(Int_t)");
2198 fLineScalePS->Disconnect("ValueSet(Long_t)");
2199 fPaperSizePredef->Disconnect("Selected(Int_t)");
2200 fPaperSizeX->Disconnect("ValueSet(Long_t)");
2201 fPaperSizeY->Disconnect("ValueSet(Long_t)");
2202 break;
2203 }
2204}
2205
2206////////////////////////////////////////////////////////////////////////////////
2207/// Called each time something is changed in the style editor. Thanks to
2208/// this method, we can know if the style differs from the original style.
2209
2211{
2213
2214 // Update the status bar.
2216
2217 // Update the preview if the real time mode is selected.
2218 if (fRealTimePreview)
2220}
2221
2222////////////////////////////////////////////////////////////////////////////////
2223/// Add the editor to the frame 'p'. It contains the tabs allowing the user
2224/// to modify every data member of the current TStyle object.
2225
2227{
2228 TGLayoutHints *layout1 = new TGLayoutHints(kLHintsExpandX, 8, 8, 5, 5);
2229 fTrashListLayout->Add(layout1);
2230 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsExpandX, 10, 10);
2231 fTrashListLayout->Add(layout2);
2232
2235
2236 fEditionTab = new TGTab(fEditionFrame, 200, 150);
2237 fEditionTab->Associate(this);
2238 CreateTabGeneral(fEditionTab->AddTab("General"));
2241 CreateTabHistos(fEditionTab->AddTab("Histograms"));
2245 CreateTabPsPdf(fEditionTab->AddTab("PS / PDF"));
2247
2250 fEditionHelp->Associate(this);
2257 fEditionReset->Associate(this);
2260
2261 p->AddFrame(fEditionFrame, layout1);
2262
2263 fEditionHelp->SetToolTipText("Help about the current tab");
2264 fEditionUpdatePreview->SetToolTipText("Force the refresh of the preview window");
2265 fEditionReset->SetToolTipText("Reset the selected style");
2266}
2267
2268////////////////////////////////////////////////////////////////////////////////
2269/// Add the tab 'General' to the editor.
2270
2272{
2273 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 10, 21, 5, 5);
2274 fTrashListLayout->Add(layout);
2275
2280 tab->AddFrame(h1, fLayoutExpandX);
2281
2282 TGHorizontalFrame *h2 = new TGHorizontalFrame(tab);
2284 AddGeneralText(h2);
2291 "Screen factor:", 0, 6, TGNumberFormat::kNESRealOne,
2294 v->AddFrame(h3, layout);
2296 tab->AddFrame(h2, fLayoutExpandX);
2297
2298 fScreenFactor->GetNumberEntry()->SetToolTipText("Coefficient for different screen's resolutions");
2299}
2300
2301////////////////////////////////////////////////////////////////////////////////
2302/// Add the 'Fill' group frame to the 'General' tab.
2303
2305{
2306 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsExpandX, 5, 0, 5, 5);
2307 fTrashListLayout->Add(layout2);
2308
2309 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
2316 AddTitle(gf, "Hatchings");
2324 gf->AddFrame(h2, layout2);
2325 f->AddFrame(gf, fLayoutExpandXYMargin);
2326
2327// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2328// fFillColor->SetToolTipText("General fill color");
2329// fFillStyle->SetToolTipText("General fill pattern");
2330 fHatchesSpacing->GetNumberEntry()->SetToolTipText("Spacing between the hatching's lines");
2331}
2332
2333////////////////////////////////////////////////////////////////////////////////
2334/// Add the 'Line' group frame to the 'General' tab.
2335
2337{
2338 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
2346 fLineStyleEdit = AddTextButton(gf, "Lines' Style Editor...", kGeneralLineStyleEdit);
2348 f->AddFrame(gf, fLayoutExpandXYMargin);
2349
2350// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2351// fLineColor->SetToolTipText("General line color");
2352}
2353
2354////////////////////////////////////////////////////////////////////////////////
2355/// Add the 'Text' group frame to the 'General' tab.
2356
2358{
2359 TGGroupFrame *gf = new TGGroupFrame(f, "Text");
2370 fTextSize = AddNumberEntry(h2, 21, 10, 0, kGeneralTextSize, "Size:", 0, 5,
2374 gf->AddFrame(h2, fLayoutExpandX);
2375 fTextAngle = AddNumberEntry(gf, 0, 0, 0, kGeneralTextAngle, "Angle:",
2379 f->AddFrame(gf, fLayoutExpandXYMargin);
2380
2381// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2382// fTextColor->SetToolTipText("General text color");
2383 fTextSizeInPixels->SetToolTipText("Set the text size in pixels if selected, otherwise - in % of pad.");
2384 fTextSize->GetNumberEntry()->SetToolTipText("General text size (in pixels or in % of pad)");
2385 fTextAngle->GetNumberEntry()->SetToolTipText("General text angle");
2386}
2387
2388////////////////////////////////////////////////////////////////////////////////
2389/// Add the 'Marker' group frame to the 'General' tab.
2390
2392{
2393 TGGroupFrame *gf = new TGGroupFrame(f, "Marker");
2401 f->AddFrame(gf, fLayoutExpandXMargin);
2402
2403// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2404// fMarkerColor->SetToolTipText("Marker color");
2405// fMarkerStyle->SetToolTipText("Marker shape");
2406}
2407
2408////////////////////////////////////////////////////////////////////////////////
2409/// Add the tab 'Canvas' to the editor.
2410
2412{
2417 AddCanvasFill(v1);
2419 AddCanvasBorder(v1);
2420 h->AddFrame(v1, fLayoutExpandXY);
2423 AddCanvasDate(v2);
2424 h->AddFrame(v2, fLayoutExpandXY);
2425 tab->AddFrame(h, fLayoutExpandX);
2426}
2427
2428////////////////////////////////////////////////////////////////////////////////
2429/// Add the 'Fill' group frame to the 'Canvas' tab.
2430
2432{
2433 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
2439 f->AddFrame(gf, fLayoutExpandXMargin);
2440
2441// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2442// fCanvasColor->SetToolTipText("Color used to fill canvases");
2443}
2444
2445////////////////////////////////////////////////////////////////////////////////
2446/// Add the 'Geometry' group frame to the 'Canvas' tab.
2447
2449{
2450 TGGroupFrame *gf = new TGGroupFrame(f, "Geometry");
2454 fCanvasDefX = AddNumberEntry(h1, 0, 9, 0, kCanvasDefX, "X:",
2458 fCanvasDefY = AddNumberEntry(h1, 7, 8, 0, kCanvasDefY, "Y:",
2463
2466 fCanvasDefW = AddNumberEntry(h2, 0, 7, 0, kCanvasDefW, "W:",
2470 fCanvasDefH = AddNumberEntry(h2, 7, 8, 0, kCanvasDefH, "H:",
2474 gf->AddFrame(h2, fLayoutExpandX);
2475 f->AddFrame(gf, fLayoutExpandXMargin);
2476
2477 fCanvasDefX->GetNumberEntry()->SetToolTipText("Canvases' default abscissa");
2478 fCanvasDefY->GetNumberEntry()->SetToolTipText("Canvases' default ordinate");
2479 fCanvasDefW->GetNumberEntry()->SetToolTipText("Canvases' default width");
2480 fCanvasDefH->GetNumberEntry()->SetToolTipText("Canvases' default height");
2481}
2482
2483////////////////////////////////////////////////////////////////////////////////
2484/// Add the 'Border' group frame to the 'Canvas' tab.
2485
2487{
2490}
2491
2492////////////////////////////////////////////////////////////////////////////////
2493/// Add the 'Date' group frame to the 'Canvas' tab.
2494
2496{
2497 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsExpandX, 10);
2498 fTrashListLayout->Add(layout2);
2499
2500 TGGroupFrame *gf = new TGGroupFrame(f, "Date");
2510 fAttDateTextSize = AddNumberEntry(h2, 22, 10, 0, kCanvasAttDateTextSize, "Size:", 0, 5,
2514 gf->AddFrame(h2, fLayoutExpandX);
2519 "Angle:", 0, 6, TGNumberFormat::kNESInteger,
2522 AddTitle(gf, "Position");
2523 TGVerticalFrame *h3 = new TGVerticalFrame(gf);
2525 fDateX = AddNumberEntry(h3, 0, 0, 0, kCanvasDateX, "X (% of Pad):",
2529 fDateY = AddNumberEntry(h3, 0, 0, 0, kCanvasDateY, "Y (% of Pad):",
2533 gf->AddFrame(h3, layout2);
2534 f->AddFrame(gf, fLayoutExpandXYMargin);
2535
2536 fOptDateBool->SetToolTipText("Show / Hide the date in canvases");
2537// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2538// fAttDateTextColor->SetToolTipText("Color of the date text");
2539 fAttDateTextSizeInPixels->SetToolTipText("Set the date text size in pixels if selected, otherwise - in % of pad");
2540 fAttDateTextSize->GetNumberEntry()->SetToolTipText("Date text size (in pixels or in % of pad)");
2541 fAttDateTextAngle->GetNumberEntry()->SetToolTipText("Date text angle");
2542 fDateX->GetNumberEntry()->SetToolTipText("Date abscissa in percent of pad");
2543 fDateY->GetNumberEntry()->SetToolTipText("Date ordinate in percent of pad");
2544}
2545
2546////////////////////////////////////////////////////////////////////////////////
2547/// Add the tab 'Pad' to the editor.
2548
2550{
2556 AddPadFill(v);
2557 AddPadTicks(v);
2558 h1->AddFrame(v, fLayoutExpandXY);
2559 tab->AddFrame(h1, fLayoutExpandX);
2560 TGHorizontalFrame *h2 = new TGHorizontalFrame(tab);
2562 AddPadBorder(h2);
2563 AddPadGrid(h2);
2564 tab->AddFrame(h2, fLayoutExpandX);
2565}
2566
2567////////////////////////////////////////////////////////////////////////////////
2568/// Add the 'Margin' group frame to the 'Pad' tab.
2569
2571{
2572 TGGroupFrame *gf = new TGGroupFrame(f, "Margin (% of Pad)");
2576 fPadLeftMargin = AddNumberEntry(h1, 0, 5, 0, kPadLeftMargin, "Left:",
2580 fPadRightMargin = AddNumberEntry(h1, 0, 0, 0, kPadRightMargin, "Right:",
2587 fPadTopMargin = AddNumberEntry(h2, 0, 5, 0, kPadTopMargin, "Top:",
2591 fPadBottomMargin = AddNumberEntry(h2, 0, 0, 0, kPadBottomMargin, "Bottom:",
2595 gf->AddFrame(h2, fLayoutExpandXY);
2596 f->AddFrame(gf, fLayoutExpandXYMargin);
2597
2598 fPadLeftMargin->GetNumberEntry()->SetToolTipText("Pads' left margin");
2599 fPadRightMargin->GetNumberEntry()->SetToolTipText("Pads' right margin");
2600 fPadTopMargin->GetNumberEntry()->SetToolTipText("Pads' top margin");
2601 fPadBottomMargin->GetNumberEntry()->SetToolTipText("Pads' bottom margin");
2602}
2603
2604////////////////////////////////////////////////////////////////////////////////
2605/// Add the 'Border' group frame to the 'Pad' tab.
2606
2608{
2611}
2612
2613////////////////////////////////////////////////////////////////////////////////
2614/// Add the 'Fill' group frame to the 'Pad' tab.
2615
2617{
2618 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
2624 f->AddFrame(gf, fLayoutExpandXYMargin);
2625
2626// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2627// fPadColor->SetToolTipText("Color used to fill pads");
2628}
2629
2630////////////////////////////////////////////////////////////////////////////////
2631/// Add the 'Ticks' group frame to the 'Pad' tab.
2632
2634{
2635 TGGroupFrame *gf = new TGGroupFrame(f, "Ticks");
2641 fPadTickX = AddCheckButton(h1, "Along X", kPadTickX);
2642 h->AddFrame(h1, fLayoutExpandX);
2645 fPadTickY = AddCheckButton(h2, "Along Y", kPadTickY);
2646 h->AddFrame(h2, fLayoutExpandX);
2648 f->AddFrame(gf, fLayoutExpandXYMargin);
2649
2650 fPadTickX->SetToolTipText("Show / Hide the ticks along X");
2651 fPadTickY->SetToolTipText("Show / Hide the ticks along Y");
2652}
2653
2654////////////////////////////////////////////////////////////////////////////////
2655/// Add the 'Grid' group frame to the 'Pad' tab.
2656
2658{
2659 TGGroupFrame *gf = new TGGroupFrame(f, "Grid");
2665 fPadGridX = AddCheckButton(h10, "Along X", kPadGridX);
2666 h1->AddFrame(h10, fLayoutExpandX);
2669 fPadGridY = AddCheckButton(h20, "Along Y", kPadGridY);
2670 h1->AddFrame(h20, fLayoutExpandX);
2676 gf->AddFrame(h2, fLayoutExpandX);
2678 f->AddFrame(gf, fLayoutExpandXYMargin);
2679
2680// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2681// fGridColor->SetToolTipText("Line color for the grid");
2682 fPadGridX->SetToolTipText("Show / Hide the grid along X");
2683 fPadGridY->SetToolTipText("Show / Hide the grid along Y");
2684}
2685
2686////////////////////////////////////////////////////////////////////////////////
2687/// Add the tab 'Histos' to the editor.
2688
2690{
2691 fHistosTab = new TGTab(tab, 1, 1);
2692 fHistosTab->Associate(this);
2697}
2698
2699////////////////////////////////////////////////////////////////////////////////
2700/// Add the sub-tab 'Histos' to the tab 'Histos'.
2701
2703{
2708 tab->AddFrame(h1, fLayoutExpandX);
2709
2710 TGHorizontalFrame *h2 = new TGHorizontalFrame(tab);
2714 tab->AddFrame(h2, fLayoutExpandX);
2715
2716 TGHorizontalFrame *h3 = new TGHorizontalFrame(tab);
2720 tab->AddFrame(h3, fLayoutExpandX);
2721}
2722
2723////////////////////////////////////////////////////////////////////////////////
2724/// Add the 'Fill' group frame to the 'Histos - Histos' tab.
2725
2727{
2728 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
2735 f->AddFrame(gf, fLayoutExpandXYMargin);
2736
2737// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2738// fHistFillColor->SetToolTipText("Color used to fill histograms");
2739// fHistFillStyle->SetToolTipText("Pattern used to fill histograms");
2740}
2741
2742////////////////////////////////////////////////////////////////////////////////
2743/// Add the 'Line' group frame to the 'Histos - Histos' tab.
2744
2746{
2747 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
2755 f->AddFrame(gf, fLayoutExpandXYMargin);
2756
2757// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2758// fHistLineColor->SetToolTipText("Color used for histograms' lines");
2759}
2760
2761////////////////////////////////////////////////////////////////////////////////
2762/// Add the 'Bar' group frame to the 'Histos - Histos' tab.
2763
2765{
2766 TGGroupFrame *gf = new TGGroupFrame(f, "Bar");
2770 fBarWidth = AddNumberEntry(h, 0, 5, 0, kHistBarWidth, "W:",
2774 fBarOffset = AddNumberEntry(h, 8, 5, 0, kHistBarOffset, "O:",
2779 f->AddFrame(gf, fLayoutExpandXYMargin);
2780
2781 fBarWidth->GetNumberEntry()->SetToolTipText("Width of bars");
2782 fBarOffset->GetNumberEntry()->SetToolTipText("Offset of bars");
2783}
2784
2785////////////////////////////////////////////////////////////////////////////////
2786/// Add the 'Contours' group frame to the 'Histos - Histos' tab.
2787
2789{
2790 TGGroupFrame *gf = new TGGroupFrame(f, "Contours");
2792 fNumberContours = AddNumberEntry(gf, 0, 0, 0, kHistNumberContours, "Number:",
2796 f->AddFrame(gf, fLayoutExpandXYMargin);
2797
2798 fNumberContours->GetNumberEntry()->SetToolTipText("Number of level lines to draw");
2799}
2800
2801////////////////////////////////////////////////////////////////////////////////
2802/// Add the 'Axis' group frame to the 'Histos - Histos' tab.
2803
2805{
2806 TGGroupFrame *gf = new TGGroupFrame(f, "Axis");
2808 fHistMinimumZero = AddCheckButton(gf, "Minimum zero", kHistMinimumZero);
2809 fPaintTextFormat = AddTextEntry(gf, "Paint format:", kHistPaintTextFormat);
2810 f->AddFrame(gf, fLayoutExpandXYMargin);
2811
2812 fHistMinimumZero->SetToolTipText("Set to zero / Compute the minimum of axis range");
2813 fPaintTextFormat->SetToolTipText("Paint format of the axis labels in histograms");
2814}
2815
2816////////////////////////////////////////////////////////////////////////////////
2817/// Add the '3D Cylindrical' group frame to the 'Histos - Histos' tab.
2818
2820{
2821 TGGroupFrame *gf = new TGGroupFrame(f, "3D Cylindrical (%)");
2823 fLegoInnerR = AddNumberEntry(gf, 0, 0, 0, kHistLegoInnerR, "Inner radius:",
2827 f->AddFrame(gf, fLayoutExpandXYMargin);
2828
2829 fLegoInnerR->GetNumberEntry()->SetToolTipText("Percent of radius allocated to the tube");
2830}
2831
2832////////////////////////////////////////////////////////////////////////////////
2833/// Add the sub-tab 'Frames' to the tab 'Histos'.
2834
2836{
2837 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 10, 10, 0, 13);
2838 fTrashListLayout->Add(layout);
2839
2842
2847 h1->AddFrame(v1, fLayoutExpandXY);
2848
2854 fPaletteEdit = AddTextButton(h2, "Palette Editor...", kFramePaletteEdit);
2856 v2->AddFrame(h2, layout);
2857 h1->AddFrame(v2, fLayoutExpandXY);
2858
2859 tab->AddFrame(h1, fLayoutExpandX);
2860}
2861
2862////////////////////////////////////////////////////////////////////////////////
2863/// Add the 'Fill' group frame to the 'Histos - Frames' tab.
2864
2866{
2867 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
2874 f->AddFrame(gf, fLayoutExpandXMargin);
2875
2876// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2877// fFrameFillColor->SetToolTipText("Color used to fill frames");
2878// fFrameFillStyle->SetToolTipText("Pattern used to fill frames");
2879}
2880
2881////////////////////////////////////////////////////////////////////////////////
2882/// Add the 'Line' group frame to the 'Histos - Frames' tab.
2883
2885{
2886 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
2894 f->AddFrame(gf, fLayoutExpandXYMargin);
2895
2896// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2897// fFrameLineColor->SetToolTipText("Color of lines in frames");
2898}
2899
2900////////////////////////////////////////////////////////////////////////////////
2901/// Add the 'Border' group frame to the 'Histos - Frames' tab.
2902
2904{
2907}
2908
2909////////////////////////////////////////////////////////////////////////////////
2910/// Add the sub-tab 'Graphs' to the tab 'Histos'.
2911
2913{
2918 tab->AddFrame(h, fLayoutExpandX);
2920}
2921
2922////////////////////////////////////////////////////////////////////////////////
2923/// Add the 'Line' group frame to the 'Histos - Graphs' tab.
2924
2926{
2927 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
2935 f->AddFrame(gf, fLayoutExpandXMargin);
2936
2937// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
2938// fFuncColor->SetToolTipText("Color of curves in graphs");
2939}
2940
2941////////////////////////////////////////////////////////////////////////////////
2942/// Add the 'Draw Border' check button to the 'Histos - Graphs' tab.
2943
2945{
2946 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 10, 21, 5, 5);
2947 fTrashListLayout->Add(layout);
2948
2951 fDrawBorder = AddCheckButton(h, "Draw Border (for Filled Function)", kGraphsDrawBorder);
2952 f->AddFrame(h, layout);
2953
2954 fDrawBorder->SetToolTipText("Show / Hide the border of filled functions");
2955}
2956
2957////////////////////////////////////////////////////////////////////////////////
2958/// Add the 'Errors' group frame to the 'Histos - Graphs' tab.
2959
2961{
2962 TGGroupFrame *gf = new TGGroupFrame(f, "Errors");
2965 "End error size:", 0, 4, TGNumberFormat::kNESRealOne,
2968 fErrorX = AddNumberEntry(gf, 0, 0, 0, kGraphsErrorX, "Error X (% of bin):",
2972 f->AddFrame(gf, fLayoutExpandXMargin);
2973
2974 fEndErrorSize->GetNumberEntry()->SetToolTipText("Size of lines drawn at the end of error bars");
2975 fErrorX->GetNumberEntry()->SetToolTipText("Percent of the bin width to use for errors along X");
2976}
2977
2978////////////////////////////////////////////////////////////////////////////////
2979/// Add the tab 'Axis' to the editor.
2980
2982{
2983 TGLayoutHints *layout =
2984 new TGLayoutHints(kLHintsNormal, 10, 13, 3);
2985 fTrashListLayout->Add(layout);
2986
2989
2992 fStripDecimals = AddCheckButton(h3, "Decimal labels' part", kAxisStripDecimals, 0, 8);
2993 TGVerticalFrame *space = new TGVerticalFrame(h3);
2994 fTrashListFrame->AddFirst(space);
2995 h3->AddFrame(space, fLayoutExpandXY);
2996 fApplyOnXYZ = AddTextButton(h3, "Apply on XYZ", kAxisApplyOnXYZ);
2997 h->AddFrame(h3, layout);
2998
2999 TGGroupFrame *gf = new TGGroupFrame(h, "Date/Time Offset");
3011 gf->AddFrame(h2, fLayoutExpandX);
3012 h->AddFrame(gf, fLayoutExpandXMargin);
3013 tab->AddFrame(h, fLayoutExpandX);
3014
3015 fAxisTab = new TGTab(tab);
3016 fAxisTab->Associate(this);
3017 CreateTabAxisX(fAxisTab->AddTab("X axis"));
3018 CreateTabAxisY(fAxisTab->AddTab("Y axis"));
3019 CreateTabAxisZ(fAxisTab->AddTab("Z axis"));
3021
3022 fStripDecimals->SetToolTipText("Draw / Hide the decimal part of labels");
3023 fApplyOnXYZ->SetToolTipText("Apply settings of the currently selected axis on XYZ");
3024 fTimeOffsetDate->GetNumberEntry()->SetToolTipText("Date offset for axis (dd/mm/yyyy)");
3025 fTimeOffsetTime->GetNumberEntry()->SetToolTipText("Time offset for axis (hh/mm/ss)");
3026}
3027
3028////////////////////////////////////////////////////////////////////////////////
3029/// Add the sub-tab 'X Axis' to the tab 'Axis'.
3030
3032{
3037 tab->AddFrame(h1, fLayoutExpandX);
3038
3039 TGHorizontalFrame *h2 = new TGHorizontalFrame(tab);
3041 AddAxisXTitle(h2);
3042 AddAxisXLabels(h2);
3043 tab->AddFrame(h2, fLayoutExpandX);
3044}
3045
3046////////////////////////////////////////////////////////////////////////////////
3047/// Add the 'Line' group frame to the 'Axis - X Axis' tab.
3048
3050{
3051 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 20);
3052 fTrashListLayout->Add(layout);
3053
3054 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
3061 fXTickLength = AddNumberEntry(h2, 3, 8, 0, kAxisXTickLength, "Ticks:",
3065 h->AddFrame(h2, layout);
3067 fOptLogx = AddCheckButton(gf, "Logarithmic scale", kAxisOptLogx);
3068 f->AddFrame(gf, fLayoutExpandXYMargin);
3069
3070// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3071// fXAxisColor->SetToolTipText("Color of axis' line");
3072 fXTickLength->GetNumberEntry()->SetToolTipText("Set the ticks' length");
3073 fOptLogx->SetToolTipText("Draw logarithmic scale");
3074}
3075
3076////////////////////////////////////////////////////////////////////////////////
3077/// Add the 'Title' group frame to the 'Axis - X Axis' tab.
3078
3080{
3081 TGGroupFrame *gf = new TGGroupFrame(f, "Title");
3091 fXTitleSize = AddNumberEntry(h2, 21, 8, 0, kAxisXTitleSize, "Size:", 0, 5,
3095 gf->AddFrame(h2, fLayoutExpandX);
3096 fXTitleOffset = AddNumberEntry(gf, 68, 8, 0, kAxisXTitleOffset, "Offset:",
3100 f->AddFrame(gf, fLayoutExpandXMargin);
3101
3102// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3103// fXTitleColor->SetToolTipText("Color of axis' title");
3104 fXTitleSizeInPixels->SetToolTipText("Set the title size in pixels if selected, otherwise - in % of pad");
3105 fXTitleSize->GetNumberEntry()->SetToolTipText("Title size (in pixels or in % of pad)");
3106 fXTitleOffset->GetNumberEntry()->SetToolTipText("Offset between axis and title");
3107}
3108
3109////////////////////////////////////////////////////////////////////////////////
3110/// Add the 'Divisions' group frame to the 'Axis - X Axis' tab.
3111
3113{
3114 TGGroupFrame *gf = new TGGroupFrame(f, "Divisions");
3116
3123 fXNdivSub = AddNumberEntry(h1, 0, 18, 0, kAxisXNdivSub, "",
3127 fXNdivMain = AddNumberEntry(h1, 0, 18, 0, kAxisXNdivMain, "",
3132
3136 gf->AddFrame(h2, fLayoutExpandX);
3137 f->AddFrame(gf, fLayoutExpandXMargin);
3138
3139 fXNdivMain->GetNumberEntry()->SetToolTipText("Primary axis divisions");
3140 fXNdivSub->GetNumberEntry()->SetToolTipText("Secondary axis divisions");
3141 fXNdivSubSub->GetNumberEntry()->SetToolTipText("Tertiary axis divisions");
3142 fXNdivisionsOptimize->SetToolTipText("Optimize the number of axis divisions if selected");
3143}
3144
3145////////////////////////////////////////////////////////////////////////////////
3146/// Add the 'Labels' group frame to the 'Axis - X Axis' tab.
3147
3149{
3150 TGGroupFrame *gf = new TGGroupFrame(f, "Labels");
3160 fXLabelSize = AddNumberEntry(h2, 22, 8, 0, kAxisXLabelSize, "Size:", 0, 5,
3164 gf->AddFrame(h2, fLayoutExpandX);
3165 fXLabelOffset = AddNumberEntry(gf, 69, 8, 0, kAxisXTitleOffset, "Offset:",
3169 f->AddFrame(gf, fLayoutExpandXMargin);
3170
3171// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3172// fXLabelColor->SetToolTipText("Color of axis' labels");
3173 fXLabelSizeInPixels->SetToolTipText("Set the labels size in pixels if selected, otherwise - in % of pad");
3174 fXLabelSize->GetNumberEntry()->SetToolTipText("Label size (in pixels or in % of pad)");
3175 fXLabelOffset->GetNumberEntry()->SetToolTipText("Offset between axis and labels");
3176}
3177
3178////////////////////////////////////////////////////////////////////////////////
3179/// Add the sub-tab 'Y Axis' to the tab 'Axis'.
3180
3182{
3187 tab->AddFrame(h1, fLayoutExpandX);
3188
3189 TGHorizontalFrame *h2 = new TGHorizontalFrame(tab);
3191 AddAxisYTitle(h2);
3192 AddAxisYLabels(h2);
3193 tab->AddFrame(h2, fLayoutExpandX);
3194}
3195
3196////////////////////////////////////////////////////////////////////////////////
3197/// Add the 'Line' group frame to the 'Axis - Y Axis' tab.
3198
3200{
3201 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 20);
3202 fTrashListLayout->Add(layout);
3203
3204 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
3211 fYTickLength = AddNumberEntry(h2, 3, 8, 0, kAxisYTickLength, "Ticks:",
3215 h->AddFrame(h2, layout);
3217 fOptLogy = AddCheckButton(gf, "Logarithmic scale", kAxisOptLogy);
3218 f->AddFrame(gf, fLayoutExpandXYMargin);
3219
3220// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3221// fYAxisColor->SetToolTipText("Color of axis' line");
3222 fYTickLength->GetNumberEntry()->SetToolTipText("Set the ticks' length");
3223 fOptLogy->SetToolTipText("Draw logarithmic scale");
3224}
3225
3226////////////////////////////////////////////////////////////////////////////////
3227/// Add the 'Title' group frame to the 'Axis - Y Axis' tab.
3228
3230{
3231 TGGroupFrame *gf = new TGGroupFrame(f, "Title");
3241 fYTitleSize = AddNumberEntry(h2, 21, 8, 0, kAxisYTitleSize, "Size:", 0, 5,
3245 gf->AddFrame(h2, fLayoutExpandX);
3246 fYTitleOffset = AddNumberEntry(gf, 68, 8, 0, kAxisYTitleOffset, "Offset:",
3250 f->AddFrame(gf, fLayoutExpandXMargin);
3251
3252// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3253// fYTitleColor->SetToolTipText("Color of axis' title");
3254 fYTitleSizeInPixels->SetToolTipText("Set the title size in pixels if selected, otherwise - in % of pad");
3255 fYTitleSize->GetNumberEntry()->SetToolTipText("Title size (in pixels or in % of pad)");
3256 fYTitleOffset->GetNumberEntry()->SetToolTipText("Offset between axis and title");
3257}
3258
3259////////////////////////////////////////////////////////////////////////////////
3260/// Add the 'Divisions' group frame to the 'Axis - Y Axis' tab.
3261
3263{
3264 TGGroupFrame *gf = new TGGroupFrame(f, "Divisions");
3272 fYNdivSub = AddNumberEntry(h1, 0, 18, 0, kAxisYNdivSub, "",
3276 fYNdivMain = AddNumberEntry(h1, 0, 18, 0, kAxisYNdivMain, "",
3281
3285 gf->AddFrame(h2, fLayoutExpandX);
3286 f->AddFrame(gf, fLayoutExpandXMargin);
3287
3288 fYNdivMain->GetNumberEntry()->SetToolTipText("Primary axis divisions");
3289 fYNdivSub->GetNumberEntry()->SetToolTipText("Secondary axis divisions");
3290 fYNdivSubSub->GetNumberEntry()->SetToolTipText("Tertiary axis divisions");
3291 fYNdivisionsOptimize->SetToolTipText("Optimize the number of axis divisions");
3292}
3293
3294////////////////////////////////////////////////////////////////////////////////
3295/// Add the 'Labels' group frame to the 'Axis - Y Axis' tab.
3296
3298{
3299 TGGroupFrame *gf = new TGGroupFrame(f, "Labels");
3306
3310 fYLabelSize = AddNumberEntry(h2, 22, 8, 0, kAxisYLabelSize, "Size:", 0, 5,
3314 gf->AddFrame(h2, fLayoutExpandX);
3315 fYLabelOffset = AddNumberEntry(gf, 69, 8, 0, kAxisYTitleOffset, "Offset:",
3319 f->AddFrame(gf, fLayoutExpandXMargin);
3320
3321// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3322// fYLabelColor->SetToolTipText("Color of axis' labels");
3323 fYLabelSizeInPixels->SetToolTipText("Set the labels size in pixels if selected, otherwise - in % of pad");
3324 fYLabelSize->GetNumberEntry()->SetToolTipText("Label size (in pixels or in % of pad)");
3325 fYLabelOffset->GetNumberEntry()->SetToolTipText("Offset between axis and labels");
3326}
3327
3328////////////////////////////////////////////////////////////////////////////////
3329/// Add the sub-tab 'Z Axis' to the tab 'Axis'.
3330
3332{
3337 tab->AddFrame(h1, fLayoutExpandX);
3338
3339 TGHorizontalFrame *h2 = new TGHorizontalFrame(tab);
3341 AddAxisZTitle(h2);
3342 AddAxisZLabels(h2);
3343 tab->AddFrame(h2, fLayoutExpandX);
3344}
3345
3346////////////////////////////////////////////////////////////////////////////////
3347/// Add the 'Line' group frame to the 'Axis - Z Axis' tab.
3348
3350{
3351 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 20);
3352 fTrashListLayout->Add(layout);
3353
3354 TGGroupFrame *gf = new TGGroupFrame(f, "Line");
3361 fZTickLength = AddNumberEntry(h2, 3, 8, 0, kAxisZTickLength, "Ticks:",
3365 h->AddFrame(h2, layout);
3367 fOptLogz = AddCheckButton(gf, "Logarithmic scale", kAxisOptLogz);
3368 f->AddFrame(gf, fLayoutExpandXYMargin);
3369
3370// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3371// fZAxisColor->SetToolTipText("Color of axis' line");
3372 fZTickLength->GetNumberEntry()->SetToolTipText("Set the ticks' length");
3373 fOptLogz->SetToolTipText("Draw logarithmic scale");
3374}
3375
3376////////////////////////////////////////////////////////////////////////////////
3377/// Add the 'Title' group frame to the 'Axis - Z Axis' tab.
3378
3380{
3381 TGGroupFrame *gf = new TGGroupFrame(f, "Title");
3388
3392 fZTitleSize = AddNumberEntry(h2, 21, 8, 0, kAxisZTitleSize, "Size:", 0, 5,
3396 gf->AddFrame(h2, fLayoutExpandX);
3397 fZTitleOffset = AddNumberEntry(gf, 68, 8, 0, kAxisZTitleOffset, "Offset:",
3401 f->AddFrame(gf, fLayoutExpandXMargin);
3402
3403// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3404// fZTitleColor->SetToolTipText("Color of axis' title");
3405 fZTitleSizeInPixels->SetToolTipText("Set the title size in pixels if selected, otherwise - in % of pad");
3406 fZTitleSize->GetNumberEntry()->SetToolTipText("Title size (in pixels or in % of pad)");
3407 fZTitleOffset->GetNumberEntry()->SetToolTipText("Offset between axis and title");
3408}
3409
3410////////////////////////////////////////////////////////////////////////////////
3411/// Add the 'Divisions' group frame to the 'Axis - Z Axis' tab.
3412
3414{
3415 TGGroupFrame *gf = new TGGroupFrame(f, "Divisions");
3423 fZNdivSub = AddNumberEntry(h1, 0, 18, 0, kAxisZNdivSub, "",
3427 fZNdivMain = AddNumberEntry(h1, 0, 18, 0, kAxisZNdivMain, "",
3432
3436 gf->AddFrame(h2, fLayoutExpandX);
3437 f->AddFrame(gf, fLayoutExpandXMargin);
3438
3439 fZNdivMain->GetNumberEntry()->SetToolTipText("Primary axis divisions");
3440 fZNdivSub->GetNumberEntry()->SetToolTipText("Secondary axis divisions");
3441 fZNdivSubSub->GetNumberEntry()->SetToolTipText("Tertiary axis divisions");
3442 fZNdivisionsOptimize->SetToolTipText("Optimize the number of axis divisions");
3443}
3444
3445////////////////////////////////////////////////////////////////////////////////
3446/// Add the 'Labels' group frame to the 'Axis - Z Axis' tab.
3447
3449{
3450 TGGroupFrame *gf = new TGGroupFrame(f, "Labels");
3457
3461 fZLabelSize = AddNumberEntry(h2, 22, 8, 0, kAxisZLabelSize, "Size:", 0, 5,
3465 gf->AddFrame(h2, fLayoutExpandX);
3466 fZLabelOffset = AddNumberEntry(gf, 69, 8, 0, kAxisZTitleOffset, "Offset:",
3470 f->AddFrame(gf, fLayoutExpandXMargin);
3471
3472// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3473// fZLabelColor->SetToolTipText("Color of axis' labels");
3474 fZLabelSizeInPixels->SetToolTipText("Set the labels size in pixels if selected, otherwise - in % of pad");
3475 fZLabelSize->GetNumberEntry()->SetToolTipText("Label size (in pixels or in % of pad)");
3476 fZLabelOffset->GetNumberEntry()->SetToolTipText("Offset between axis and labels");
3477}
3478
3479////////////////////////////////////////////////////////////////////////////////
3480/// Add the tab 'Title' to the editor.
3481
3483{
3484 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 10, 20, 5, 5);
3485 fTrashListLayout->Add(layout);
3486
3489 fOptTitle = AddCheckButton(h1, "Show title", kTitleOptTitle);
3490 tab->AddFrame(h1, layout);
3491
3492 TGHorizontalFrame *h2 = new TGHorizontalFrame(tab);
3494 TGVerticalFrame *v1 = new TGVerticalFrame(h2);
3496 AddTitleFill(v1);
3497 AddTitleText(v1);
3498 h2->AddFrame(v1, fLayoutExpandXY);
3499 TGVerticalFrame *v2 = new TGVerticalFrame(h2);
3502 AddTitleGeometry(v2);
3503 h2->AddFrame(v2, fLayoutExpandXY);
3504 tab->AddFrame(h2, fLayoutExpandX);
3505
3506 fOptTitle->SetToolTipText("Show / Hide the title pave");
3507}
3508
3509////////////////////////////////////////////////////////////////////////////////
3510/// Add the 'Fill' group frame to the 'Title' tab.
3511
3513{
3514 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
3521 f->AddFrame(gf, fLayoutExpandXMargin);
3522
3523// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3524// fTitleColor->SetToolTipText("Color used to fill the title pave");
3525// fTitleStyle->SetToolTipText("Pattern used to fill the title pave");
3526}
3527
3528////////////////////////////////////////////////////////////////////////////////
3529/// Add the 'Shadow' group frame to the 'Title' tab.
3530
3532{
3533 TGLayoutHints *layout1 = new TGLayoutHints(kLHintsNormal, 0, 24, 6);
3534 fTrashListLayout->Add(layout1);
3535 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsNormal, 0, 5, 6);
3536 fTrashListLayout->Add(layout2);
3537 TGLayoutHints *layout3 = new TGLayoutHints(kLHintsExpandX, 0, 0, 3, 3);
3538 fTrashListLayout->Add(layout3);
3539
3540 TGGroupFrame *gf = new TGGroupFrame(f, "Shadow");
3544 fTitleBorderSizeLabel = new TGLabel(h1, "Title's:");
3545 h1->AddFrame(fTitleBorderSizeLabel, layout1);
3547 gf->AddFrame(h1, layout3);
3548
3551 fLegendBorderSizeLabel = new TGLabel(h2, "Legend's:");
3552 h2->AddFrame(fLegendBorderSizeLabel, layout2);
3554 gf->AddFrame(h2, layout3);
3555 f->AddFrame(gf, fLayoutExpandXMargin);
3556}
3557
3558////////////////////////////////////////////////////////////////////////////////
3559/// Add the 'Text' group frame to the 'Title' tab.
3560
3562{
3563 TGGroupFrame *gf = new TGGroupFrame(f, "Text");
3574 fTitleFontSize = AddNumberEntry(h2, 21, 10, 0, kTitleFontSize, "Size:", 0, 5,
3578 gf->AddFrame(h2, fLayoutExpandX);
3579 f->AddFrame(gf, fLayoutExpandXYMargin);
3580
3581// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3582// fTitleTextColor->SetToolTipText("Color of the title's text");
3583 fTitleFontSizeInPixels->SetToolTipText("Set the title's text size in pixels if selected, otherwise - in % of pad");
3584 fTitleFontSize->GetNumberEntry()->SetToolTipText("Title's text size (in pixels or in % of pad)");
3585}
3586
3587////////////////////////////////////////////////////////////////////////////////
3588/// Add the 'Geometry' group frame to the 'Title' tab.
3589
3591{
3592 TGGroupFrame *gf = new TGGroupFrame(f, "Geometry (% of Pad)");
3596 fTitleX = AddNumberEntry(h1, 0, 8, 0, kTitleX, "X:",
3600 fTitleY = AddNumberEntry(h1, 8, 8, 0, kTitleY, "Y:",
3607 fTitleW = AddNumberEntry(h2, 0, 6, 0, kTitleW, "W:",
3611 fTitleH = AddNumberEntry(h2, 8, 8, 0, kTitleH, "H:",
3615 gf->AddFrame(h2, fLayoutExpandXY);
3616 f->AddFrame(gf, fLayoutExpandXYMargin);
3617
3618 fTitleX->GetNumberEntry()->SetToolTipText("Title' default abscissa");
3619 fTitleY->GetNumberEntry()->SetToolTipText("Title' default ordinate");
3620 fTitleW->GetNumberEntry()->SetToolTipText("Title' default width");
3621 fTitleH->GetNumberEntry()->SetToolTipText("Title' default height");
3622}
3623
3624////////////////////////////////////////////////////////////////////////////////
3625/// Add the tab 'Stats' to the editor.
3626
3628{
3629 TGLayoutHints *layout1 = new TGLayoutHints(kLHintsNormal, 0, 5, 6);
3630 fTrashListLayout->Add(layout1);
3631 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsExpandX, 10, 21, 5, 5);
3632 fTrashListLayout->Add(layout2);
3633
3636
3639 AddStatsFill(v1);
3642 fStatBorderSizeLabel = new TGLabel(h2, "Stats' shadow:");
3643 h2->AddFrame(fStatBorderSizeLabel, layout1);
3645 v1->AddFrame(h2, layout2);
3646 AddStatsText(v1);
3647 AddStatsGeometry(v1);
3648 h1->AddFrame(v1, fLayoutExpandXY);
3649
3652 AddStatsStats(v2);
3653 AddStatsFit(v2);
3654 h1->AddFrame(v2, fLayoutExpandXY);
3655
3656 tab->AddFrame(h1, fLayoutExpandX);
3657}
3658
3659////////////////////////////////////////////////////////////////////////////////
3660/// Add the 'Fill' group frame to the 'Stats' tab.
3661
3663{
3664 TGGroupFrame *gf = new TGGroupFrame(f, "Fill");
3671 f->AddFrame(gf, fLayoutExpandXMargin);
3672
3673// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3674// fStatColor->SetToolTipText("Color used to fill the stats pave");
3675// fStatStyle->SetToolTipText("Pattern used to fill the stats pave");
3676}
3677
3678////////////////////////////////////////////////////////////////////////////////
3679/// Add the 'Text' group frame to the 'Stats' tab.
3680
3682{
3683 TGGroupFrame *gf = new TGGroupFrame(f, "Text");
3693 fStatFontSize = AddNumberEntry(h2, 21, 10, 0, kStatFontSize, "Size:", 0, 5,
3697 gf->AddFrame(h2, fLayoutExpandX);
3698 f->AddFrame(gf, fLayoutExpandXYMargin);
3699
3700// TODO Delete the // when the selectColor and selectPattern tooltips are OK.
3701// fStatTextColor->SetToolTipText("Color of the stats's text");
3702 fStatFontSizeInPixels->SetToolTipText("Set the stats's text size in pixels if selected, otherwise - in % of pad");
3703 fStatFontSize->GetNumberEntry()->SetToolTipText("Stats's text size (in pixels or in % of pad)");
3704}
3705
3706////////////////////////////////////////////////////////////////////////////////
3707/// Add the 'Geometry' group frame to the 'Stats' tab.
3708
3710{
3711 TGGroupFrame *gf = new TGGroupFrame(f, "Geometry");
3713
3716 fStatX = AddNumberEntry(h1, 0, 7, 0, kStatX, "X:",
3720 fStatY = AddNumberEntry(h1, 8, 7, 0, kStatY, "Y:",
3725
3728 fStatW = AddNumberEntry(h2, 0, 5, 0, kStatW, "W:",
3732 fStatH = AddNumberEntry(h2, 8, 7, 0, kStatH, "H:",
3736 gf->AddFrame(h2, fLayoutExpandXY);
3737 f->AddFrame(gf, fLayoutExpandXYMargin);
3738
3739 fStatX->GetNumberEntry()->SetToolTipText("X position of top right corner of stat box.");
3740 fStatY->GetNumberEntry()->SetToolTipText("Y position of top right corner of stat box.");
3741 fStatW->GetNumberEntry()->SetToolTipText("Width of stat box.");
3742 fStatH->GetNumberEntry()->SetToolTipText("Height of stat box.");
3743}
3744
3745////////////////////////////////////////////////////////////////////////////////
3746/// Add the 'Stat Options' group frame to the 'Stats' tab.
3747
3749{
3750 TGLayoutHints *layout = new TGLayoutHints(kLHintsNormal, 0, 0, 5);
3751 fTrashListLayout->Add(layout);
3752
3753 TGGroupFrame *gf = new TGGroupFrame(f, "Stat Options");
3764 h->AddFrame(v1, fLayoutExpandXY);
3772 h->AddFrame(v2, fLayoutExpandXY);
3774
3779 fStatFormatLabel = new TGLabel(h3, "Paint format:");
3780 h3->AddFrame(fStatFormatLabel, layout);
3781 h2->AddFrame(h3, fLayoutExpandX);
3783 gf->AddFrame(h2, fLayoutExpandX);
3784 f->AddFrame(gf, fLayoutExpandXYMargin);
3785
3786 fOptStatName->SetToolTipText("Show / Hide the histogram name");
3787 fOptStatOverflow->SetToolTipText("Show / Hide the number of overflows");
3788 fOptStatUnderflow->SetToolTipText("Show / Hide the number of underflows");
3789 fOptStatSkewness->SetToolTipText("Show / Hide the skewness");
3790 fOptStatKurtosis->SetToolTipText("Show / Hide the kurtosis");
3791 fOptStatEntries->SetToolTipText("Show / Hide the number of entries");
3792 fOptStatMean->SetToolTipText("Show / Hide the mean value");
3793 fOptStatRMS->SetToolTipText("Show / Hide root-mean-square (RMS)");
3794 fOptStatIntegral->SetToolTipText("Show / Hide the integral of bins");
3795 fOptStatErrors->SetToolTipText("Show / Hide the errors");
3796 fStatFormat->SetToolTipText("Paint format of stat options");
3797}
3798
3799////////////////////////////////////////////////////////////////////////////////
3800/// Add the 'Fit Options' group frame to the 'Stats' tab.
3801
3803{
3804 TGLayoutHints *layout = new TGLayoutHints(kLHintsNormal, 0, 0, 5);
3805 fTrashListLayout->Add(layout);
3806
3807 TGGroupFrame *gf = new TGGroupFrame(f, "Fit Options");
3814 fOptFitProbability = AddCheckButton(v1, "Probability",
3816 h->AddFrame(v1, fLayoutExpandXY);
3821 h->AddFrame(v2, fLayoutExpandXY);
3827 fFitFormatLabel = new TGLabel(h3, "Paint format:");
3828 h3->AddFrame(fFitFormatLabel, layout);
3829 h2->AddFrame(h3, fLayoutExpandX);
3831 gf->AddFrame(h2, fLayoutExpandX);
3832 f->AddFrame(gf, fLayoutExpandXMargin);
3833
3834 fOptFitValues->SetToolTipText("Show / Hide the parameter name and value");
3835 fOptFitProbability->SetToolTipText("Show / Hide probability)");
3836 fOptFitErrors->SetToolTipText("Show / Hide the errors");
3837 fOptFitChi->SetToolTipText("Show / Hide Chisquare");
3838 fFitFormat->SetToolTipText("Paint format of fit options");
3839}
3840
3841////////////////////////////////////////////////////////////////////////////////
3842/// Add the tab 'PS / PDF' to the editor.
3843
3845{
3846 AddPsPdfHeader(tab);
3847 AddPsPdfTitle(tab);
3855 h->AddFrame(v, fLayoutExpandXY);
3856 tab->AddFrame(h, fLayoutExpandX);
3857}
3858
3859////////////////////////////////////////////////////////////////////////////////
3860/// Add the 'Header' group frame to the 'PS / PDF' tab.
3861
3863{
3864 TGGroupFrame *gf = new TGGroupFrame(f, "Header");
3867 f->AddFrame(gf, fLayoutExpandXMargin);
3868
3869 fHeaderPS->SetToolTipText("PostScript header");
3870}
3871
3872////////////////////////////////////////////////////////////////////////////////
3873/// Add the 'Title' group frame to the 'PS / PDF' tab.
3874
3876{
3877 TGGroupFrame *gf = new TGGroupFrame(f, "Title");
3880 f->AddFrame(gf, fLayoutExpandXMargin);
3881
3882 fTitlePS->SetToolTipText("PostScript title");
3883}
3884
3885////////////////////////////////////////////////////////////////////////////////
3886/// Add the 'Color Model' group frame to the 'PS / PDF' tab.
3887
3889{
3890 fColorModelPS = new TGButtonGroup(f, "Color Model",
3892
3901 TGLayoutHints *layout2 =
3902 new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 5, 5, 5, 12);
3903 fTrashListLayout->Add(layout2);
3904 f->AddFrame(fColorModelPS, layout2);
3905}
3906
3907////////////////////////////////////////////////////////////////////////////////
3908/// Add the 'Paper Size' group frame to the 'PS / PDF' tab.
3909
3911{
3912 TGGroupFrame *gf = new TGGroupFrame(f, "Paper Size");
3915 fPaperSizeX = AddNumberEntry(gf, 0, 0, 0, kPSPDFPaperSizeX, "Width:",
3919 fPaperSizeY = AddNumberEntry(gf, 0, 0, 0, kPSPDFPaperSizeY, "Height:",
3923 f->AddFrame(gf, fLayoutExpandXMargin);
3924
3925 fPaperSizeX->GetNumberEntry()->SetToolTipText("Width of the printing area");
3926 fPaperSizeY->GetNumberEntry()->SetToolTipText("Height of the printing area");
3927}
3928
3929////////////////////////////////////////////////////////////////////////////////
3930/// Add the 'Line scale' number entry to the 'PS / PDF' tab.
3931
3933{
3934 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 10, 20, 5, 5);
3935 fTrashListLayout->Add(layout);
3936
3939 fLineScalePS = AddNumberEntry(gf, 0, 0, 0, kPSPDFLineScalePS, "Line scale:",
3943 f->AddFrame(gf, layout);
3944
3945 fLineScalePS->GetNumberEntry()->SetToolTipText("Line scale factor when drawing lines on PostScript");
3946}
3947
3948////////////////////////////////////////////////////////////////////////////////
3949/// Add a title to the frame f.
3950
3952{
3953 TGLayoutHints *layout1 = new TGLayoutHints(kLHintsExpandX, 5, 0, 7);
3954 fTrashListLayout->Add(layout1);
3955 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsExpandX, 0, 0, 6, 6);
3956 fTrashListLayout->Add(layout2);
3957
3960
3961 TGLabel *lab = new TGLabel(h, s);
3963 h->AddFrame(lab);
3964
3967 h->AddFrame(line, layout1);
3968
3969 f->AddFrame(h, layout2);
3970}
3971
3972////////////////////////////////////////////////////////////////////////////////
3973/// Add a color entry to the frame f.
3974
3976{
3977 TGLayoutHints *layout = new TGLayoutHints(kLHintsBottom, 0, 5, 3, 3);
3978 fTrashListLayout->Add(layout);
3979
3980 TGColorSelect *cs = new TGColorSelect(f, 0, id);
3981 cs->Associate(this);
3982 f->AddFrame(cs, layout);
3983 return cs;
3984}
3985
3986////////////////////////////////////////////////////////////////////////////////
3987/// Add a fill style entry to the frame f.
3988
3990 Int_t id)
3991{
3992 TGLayoutHints *layout = new TGLayoutHints(kLHintsBottom, 0, 0, 3, 3);
3993 fTrashListLayout->Add(layout);
3994
3995 TGedPatternSelect *gps = new TGedPatternSelect(f, 0, id);
3996 gps->Associate(this);
3997 f->AddFrame(gps, layout);
3998 return gps;
3999}
4000
4001////////////////////////////////////////////////////////////////////////////////
4002/// Add a marker style entry to the frame f.
4003
4005 Int_t id)
4006{
4007 TGLayoutHints *layout = new TGLayoutHints(kLHintsCenterY, 0, 5, 3, 3);
4008 fTrashListLayout->Add(layout);
4009
4010 TGedMarkerSelect *gms = new TGedMarkerSelect(f, 0, id);
4011 gms->Associate(this);
4012 f->AddFrame(gms, layout);
4013 return gms;
4014}
4015
4016////////////////////////////////////////////////////////////////////////////////
4017/// Add a marker size entry to the frame f.
4018
4020{
4021 char a[10];
4022 TGComboBox *cb = new TGComboBox(f, id);
4023 cb->Associate(this);
4024 for (Int_t i = 1; i <= 15; i++) {
4025 snprintf(a, 10, "%.1f", 0.2 * i);
4026 cb->AddEntry(a, i);
4027 }
4028 cb->Resize(1, 22);
4029 f->AddFrame(cb, fLayoutExpandXCenterYMargin);
4030 return cb;
4031}
4032
4033////////////////////////////////////////////////////////////////////////////////
4034/// Add a number entry to the frame f. A caption can be added.
4035
4037 Int_t e2, Int_t e3, Int_t id, const char *s, Double_t init, Int_t digits,
4040{
4043 if (strlen(s)) {
4044 TGLabel *lab = new TGLabel(h, s);
4046 TGLayoutHints *layout = new TGLayoutHints(kLHintsNormal, e1, 0, 3);
4047 fTrashListLayout->Add(layout);
4048 h->AddFrame(lab, layout);
4049 }
4050 TGNumberEntry *ne = new TGNumberEntry(h, init, digits, id,
4051 nfS, nfA, nfL, min, max);
4052 ne->Associate(this);
4053 if ((e1 == 0) && (e2 == 0) && (e3 == 0)) {
4055 fTrashListLayout->Add(layout1);
4056 h->AddFrame(ne, layout1);
4057 } else {
4058 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsNormal, e2, e3);
4059 fTrashListLayout->Add(layout2);
4060 h->AddFrame(ne, layout2);
4061 }
4062 if (strlen(s)) {
4063 TGLayoutHints *layout3 =
4064 new TGLayoutHints(kLHintsExpandX | kLHintsCenterY, 0, 2, 3, 3);
4065 fTrashListLayout->Add(layout3);
4066 f->AddFrame(h, layout3);
4067 } else {
4068 TGLayoutHints *layout4 =
4069 new TGLayoutHints(kLHintsNormal | kLHintsCenterY, 0, 2, 3, 3);
4070 fTrashListLayout->Add(layout4);
4071 f->AddFrame(h, layout4);
4072 }
4073 return ne;
4074}
4075
4076////////////////////////////////////////////////////////////////////////////////
4077/// Add a line width entry to the frame f.
4078
4080 Int_t id)
4081{
4082 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 0, 0, 3, 3);
4083 fTrashListLayout->Add(layout);
4084
4087 TGLineWidthComboBox *lwcb = new TGLineWidthComboBox(h, id);
4088 lwcb->Associate(this);
4089 lwcb->Resize(1, 22);
4090 h->AddFrame(lwcb, fLayoutExpandX);
4091 f->AddFrame(h, layout);
4092 return lwcb;
4093}
4094
4095////////////////////////////////////////////////////////////////////////////////
4096/// Add a line style entry to the frame f.
4097
4099 Int_t id)
4100{
4101 TGLineStyleComboBox *lscb = new TGLineStyleComboBox(f, id);
4102 lscb->Associate(this);
4103 lscb->Resize(1, 22);
4104 f->AddFrame(lscb, fLayoutExpandXCenterYMargin);
4105 return lscb;
4106}
4107
4108////////////////////////////////////////////////////////////////////////////////
4109/// Add a text button to the frame f.
4110
4112 const char *s, Int_t id)
4113{
4114 TGLayoutHints *layout = new TGLayoutHints(kLHintsExpandX, 0, 0, 3, 3);
4115 fTrashListLayout->Add(layout);
4116
4117 TGTextButton *tb = new TGTextButton(f, s, id);
4118 tb->Associate(this);
4119 f->AddFrame(tb, layout);
4120 return tb;
4121}
4122
4123////////////////////////////////////////////////////////////////////////////////
4124/// Add a font type combo box to the frame f.
4125
4127 Int_t id)
4128{
4129 TGFontTypeComboBox *ftcb = new TGFontTypeComboBox(f, id);
4130 ftcb->Associate(this);
4131 ftcb->Resize(1, 22);
4132 f->AddFrame(ftcb, fLayoutExpandXCenterYMargin);
4133 return ftcb;
4134}
4135
4136////////////////////////////////////////////////////////////////////////////////
4137/// Add a text align combo box to the frame f.
4138
4140{
4141 TGComboBox *cb = new TGComboBox(f, id);
4142 cb->Associate(this);
4143 cb->AddEntry("11 Bottom, Left", 11);
4144 cb->AddEntry("21 Bottom, Middle", 21);
4145 cb->AddEntry("31 Bottom, Right", 31);
4146 cb->AddEntry("12 Middle, Left", 12);
4147 cb->AddEntry("22 Middle, Middle", 22);
4148 cb->AddEntry("32 Middle, Right", 32);
4149 cb->AddEntry("13 Top, Left", 13);
4150 cb->AddEntry("23 Top, Middle", 23);
4151 cb->AddEntry("33 Top, Right", 33);
4152 cb->Resize(1, 22);
4153 f->AddFrame(cb, fLayoutExpandXCenterYMargin);
4154 return cb;
4155}
4156
4157////////////////////////////////////////////////////////////////////////////////
4158/// Add a border mode button group to the frame f.
4159
4161 Int_t id1, Int_t id2, Int_t id3)
4162{
4163 TGButtonGroup *bg = new TGButtonGroup(f, "Border");
4164 TGRadioButton *sunk = new TGRadioButton(bg, "Sunken", id1);
4165 sunk->Associate(this);
4167 TGRadioButton *none = new TGRadioButton(bg, "None" , id2);
4168 none->Associate(this);
4170 TGRadioButton *rais = new TGRadioButton(bg, "Raised", id3);
4171 rais->Associate(this);
4173 bg->Show();
4174 f->AddFrame(bg, fLayoutExpandXYMargin);
4175 return bg;
4176}
4177
4178////////////////////////////////////////////////////////////////////////////////
4179/// Add a date format combo box to the frame f.
4180
4182{
4183 TGComboBox *cb = new TGComboBox(f, id);
4184 cb->Associate(this);
4185 cb->AddEntry("Wed Sep 25 17:10:35 2002", 1);
4186 cb->AddEntry("2002-09-25", 2);
4187 cb->AddEntry("2002-09-25 17:10:35", 3);
4188 cb->Resize(1, 22);
4189 cb->GetListBox()->Resize(cb->GetListBox()->GetDefaultSize().fWidth, 55);
4190 f->AddFrame(cb, fLayoutExpandXCenterYMargin);
4191 return cb;
4192}
4193
4194////////////////////////////////////////////////////////////////////////////////
4195/// Add a check button to the frame f.
4196
4198 Int_t id, Int_t e1, Int_t e2)
4199{
4200 TGLayoutHints *layout = new TGLayoutHints(kLHintsNormal, 0, e1, 4, e2);
4201 fTrashListLayout->Add(layout);
4202
4205 TGCheckButton *cb = new TGCheckButton(h, s, id);
4206 cb->Associate(this);
4207 h->AddFrame(cb, layout);
4208 f->AddFrame(h);
4209 return cb;
4210}
4211
4212////////////////////////////////////////////////////////////////////////////////
4213/// Add a text entry to the frame f. A caption can be added.
4214
4216 const char *s, Int_t id)
4217{
4220 if (strlen(s)) {
4221 TGLabel *lab = new TGLabel(h, s);
4223 TGLayoutHints *layout1 = new TGLayoutHints(kLHintsNormal, 0, 0, 3);
4224 fTrashListLayout->Add(layout1);
4225 h->AddFrame(lab, layout1);
4226 }
4227 TGTextEntry *te = new TGTextEntry(h, "", id);
4228 te->Associate(this);
4229 te->Resize(57, 22);
4230 if (strlen(s)) {
4231 TGLayoutHints *layout2 = new TGLayoutHints(kLHintsRight, 20);
4232 fTrashListLayout->Add(layout2);
4233 h->AddFrame(te, layout2);
4234 } else
4235 h->AddFrame(te, fLayoutExpandX);
4236 TGLayoutHints *layout3 =
4237 new TGLayoutHints(kLHintsExpandX | kLHintsCenterY, 0, 2, 3, 3);
4238 fTrashListLayout->Add(layout3);
4239 f->AddFrame(h, layout3);
4240 return te;
4241}
4242
4243////////////////////////////////////////////////////////////////////////////////
4244/// Add a prefered paper size combo box to the frame f.
4245
4247{
4248 TGComboBox *cb = new TGComboBox(f, id);
4249 cb->Associate(this);
4250 cb->AddEntry("Custom size (cm)", 1);
4251 cb->AddEntry("Custom size (inch)", 2);
4252 cb->AddEntry("A4 (cm)", 3);
4253 cb->AddEntry("US Letter (inch)", 4);
4254 cb->AddEntry("US Letter (cm)", 4);
4255 cb->Resize(1, 22);
4256 cb->GetListBox()->Resize(cb->GetListBox()->GetDefaultSize().fWidth, 70);
4257 f->AddFrame(cb, fLayoutExpandXCenterYMargin);
4258 return cb;
4259}
4260
4261////////////////////////////////////////////////////////////////////////////////
4262/// Slot called when an item of the menu is selected.
4263
4265{
4266 switch (menuID) {
4267 case kMenuNew: DoNew(); break;
4268 case kMenuDelete: DoDelete(); break;
4269 case kMenuRename: DoRename(); break;
4270 case kMenuImportCanvas: DoImportCanvas(); break;
4271 case kMenuImportMacro: DoImportMacro(kTRUE); break;
4272 case kMenuExport: DoExport(); break;
4273 case kMenuExit: DoExit(); break;
4274 case kMenuHelp: DoHelp(42); break;
4275 case kMenuHelpEditor: DoHelp(fCurTabNum); break;
4276 case kMenuHelpGeneral: DoHelp(0); break;
4277 case kMenuHelpCanvas: DoHelp(1); break;
4278 case kMenuHelpPad: DoHelp(2); break;
4279 case kMenuHelpHistos: DoHelp(3); break;
4280 case kMenuHelpAxis: DoHelp(4); break;
4281 case kMenuHelpTitle: DoHelp(5); break;
4282 case kMenuHelpStats: DoHelp(6); break;
4283 case kMenuHelpPSPDF: DoHelp(7); break;
4284 }
4285}
4286
4287////////////////////////////////////////////////////////////////////////////////
4288/// Slot called to import a style from a C++ macro file. If create=kTRUE,
4289/// a new style is created. Otherwise, the current style is reseted.
4290
4292{
4293 // Import a style from a macro.
4294 // If create = kTRUE, a new style is created.
4295 // Otherwise, the selected style is:
4296 // - reseted with the macro's values.
4297 // - recreated (if it is one of the 5 basic styles).
4298
4299 if ((!create) && (!strcmp(fCurSelStyle->GetName(), "Default"))) {
4300 if ((!strcmp(fCurSelStyle->GetName(),gStyle->GetName())))
4301 gStyle->Reset("Default");
4302 else {
4303 delete gROOT->GetStyle("Default");
4304 new TStyle("Default", "Default Style");
4305 }
4306 } else if ((!create) && (!strcmp(fCurSelStyle->GetName(), "Plain"))) {
4307 if ((!strcmp(fCurSelStyle->GetName(),gStyle->GetName())))
4308 gStyle->Reset("Plain");
4309 else {
4310 delete gROOT->GetStyle("Plain");
4311 new TStyle("Plain", "Plain Style (no colors/fill areas)");
4312 }
4313 } else if ((!create) && (!strcmp(fCurSelStyle->GetName(), "Bold"))) {
4314 if ((!strcmp(fCurSelStyle->GetName(),gStyle->GetName())))
4315 gStyle->Reset("Bold");
4316 else {
4317 delete gROOT->GetStyle("Bold");
4318 new TStyle("Bold", "Bold Style");
4319 }
4320 } else if ((!create) && (!strcmp(fCurSelStyle->GetName(), "Video"))) {
4321 if ((!strcmp(fCurSelStyle->GetName(),gStyle->GetName())))
4322 gStyle->Reset("Video");
4323 else {
4324 delete gROOT->GetStyle("Video");
4325 new TStyle("Video", "Style for video presentation histograms");
4326 }
4327 } else if ((!create) && (!strcmp(fCurSelStyle->GetName(), "Pub"))) {
4328 if ((!strcmp(fCurSelStyle->GetName(),gStyle->GetName())))
4329 gStyle->Reset("Pub");
4330 else {
4331 delete gROOT->GetStyle("Pub");
4332 new TStyle("Pub", "Style for Publications");
4333 }
4334 } else {
4335 CreateMacro();
4336 if (!create) {
4337 TString newName;
4338 newName.Form("Style_%s.C", fCurSelStyle->GetName());
4339 fCurMacro->fFilename = StrDup(newName.Data());
4340 }
4341 new TGFileDialog(gClient->GetRoot(), this, kFDOpen, fCurMacro);
4342 if (fCurMacro->fFilename != 0) {
4343 gROOT->ProcessLine(Form(".x %s", fCurMacro->fFilename));
4345 }
4346 }
4347
4348 BuildList();
4349}
4350
4351////////////////////////////////////////////////////////////////////////////////
4352/// Slot called when the user select an item in the available styles' list.
4353/// Update the preview, the editor, the status bar. The current selected
4354/// style is changed.
4355
4357{
4358 // Select the new style and update the state of the style manager.
4360 GetSelectedEntry())->GetText()->GetString());
4361
4363
4364 // Update the status bar.
4366
4367 // Update the editor (if opened).
4368 if (fMoreAndNotLess) {
4372 }
4373
4374 // Update the preview, if it exists and is visible.
4377
4378 // Refresh the tooltip of the fMakeDefault's button.
4379 TString newTip;
4380 newTip.Form("'%s'", fCurSelStyle->GetName());
4381 newTip += " become current style";
4382 fMakeDefault->SetToolTipText(newTip.Data());
4383
4384 // Refresh.
4387}
4388
4389////////////////////////////////////////////////////////////////////////////////
4390/// Slot called when the user click on the run time update check button.
4391/// If b=kTRUE, the user asks for a real time preview.
4392
4394{
4395 if (b) {
4399 } else {
4402 }
4403}
4404
4405////////////////////////////////////////////////////////////////////////////////
4406/// Slot called when the user click on the preview check button. If b=kTRUE,
4407/// the user asks for a preview, otherwise they want to close it.
4408
4410{
4411 if (b) {
4413 if (fPreviewWindow) {
4416 } else {
4417 if (fCurPad && fCurObj) {
4418 TQObject::Disconnect("TCanvas", "Closed()");
4420 TQObject::Connect("TCanvas", "Closed()", "TStyleManager", this, "DoSelectNoCanvas()");
4421 }
4422 }
4423 fPreviewWindow->Connect("CloseWindow()", "TStyleManager", this, "DoPreviewClosed()");
4425 if (fRealTimePreview) {
4428 } else {
4431 }
4432 } else DoPreviewClosed();
4433}
4434
4435////////////////////////////////////////////////////////////////////////////////
4436/// Slot called to close the preview, via the preview check button, or
4437/// when the preview window is closed via the window manager.
4438
4440{
4441 fPreviewWindow->Disconnect("CloseWindow()");
4446}
4447
4448////////////////////////////////////////////////////////////////////////////////
4449/// Slot called to make the current selected style (in the ComboBox)
4450/// become gStyle.
4451
4453{
4454 gROOT->SetStyle(fCurSelStyle->GetName());
4456}
4457
4458////////////////////////////////////////////////////////////////////////////////
4459/// Slot called to choose on which object(s) the 'Apply' button will
4460/// have an effect.
4461
4463{
4465}
4466
4467////////////////////////////////////////////////////////////////////////////////
4468/// Slot called when the user clicks on the 'Apply' button. Apply the
4469/// current selected style to the specified object(s)
4470
4472{
4473 TStyle *tmp = gStyle;
4475
4476 if (fAllAndNotCurrent) {
4477 // Apply on all canvases, excluding the preview.
4478 TCanvas *tmpCanvas = (TCanvas *) (gROOT->GetListOfCanvases()->First());
4479 while (tmpCanvas) {
4480 if ((!fPreviewWindow) || (tmpCanvas != fPreviewWindow->GetMainCanvas())) {
4481 tmpCanvas->UseCurrentStyle();
4482 tmpCanvas->Modified();
4483 tmpCanvas->Update();
4484 }
4485 tmpCanvas = (TCanvas *) (gROOT->GetListOfCanvases()->After(tmpCanvas));
4486 }
4487 } else
4488 if (fCurPad && fCurObj) {
4489 // Apply on selected object and refresh all canvases containing the object.
4491 TCanvas *tmpCanvas = (TCanvas *) (gROOT->GetListOfCanvases()->First());
4492 while (tmpCanvas) {
4493 if (((!fPreviewWindow) || (tmpCanvas != fPreviewWindow->GetMainCanvas()))
4494 && ((tmpCanvas == fCurObj) || tmpCanvas->FindObject(fCurObj))) {
4495 tmpCanvas->Modified();
4496 tmpCanvas->Update();
4497 }
4498 tmpCanvas = (TCanvas *) (gROOT->GetListOfCanvases()->After(tmpCanvas));
4499 }
4500 }
4501
4502 gStyle = tmp;
4503}
4504
4505////////////////////////////////////////////////////////////////////////////////
4506/// Slot called when the user try to show or hide the editor part of the
4507/// style manager.
4508
4510{
4512 if (fMoreAndNotLess) {
4513 // Redraw the tabs.
4518 fMoreLess->SetText("&Close <<");
4520
4521 // Update Editor's values.
4525 fMoreLess->SetToolTipText("Close the editor");
4526 } else {
4527 // Hide the tabs.
4531 fMoreLess->SetText("&Edit >>");
4534 fMoreLess->SetToolTipText("Open the editor");
4535 }
4536}
4537
4538////////////////////////////////////////////////////////////////////////////////
4539/// Slot called when the user clicks on the 'Update preview' button.
4540
4542{
4543 if ((!fCurPad) || (!fCurObj)) return;
4544
4545 if (fPreviewWindow) {
4546 TQObject::Disconnect("TCanvas", "Closed()");
4548 TQObject::Connect("TCanvas", "Closed()", "TStyleManager", this, "DoSelectNoCanvas()");
4549 }
4550}
4551
4552////////////////////////////////////////////////////////////////////////////////
4553/// Slot called when the user changes the current tab.
4554
4556{
4557 // Disconnect the signal/slots communication mechanism from the previous
4558 // tab and connect them onto the new one.
4560 fCurTabNum = i;
4563}
4564
4565////////////////////////////////////////////////////////////////////////////////
4566/// Slot called when the user changes the current axis tab.
4567
4569{
4570 fCurTabAxisNum = i;
4571}
4572
4573////////////////////////////////////////////////////////////////////////////////
4574/// Slot called when the user close a TCanvas. Update the labels and the
4575/// pointers to the current pad and the current object.
4576
4578{
4579 fCurPad = 0;
4580 fCurObj = 0;
4581
4584
4585 fCurPadTextEntry->SetText("No pad selected");
4586 fCurObjTextEntry->SetText("No object selected");
4593}
4594
4595////////////////////////////////////////////////////////////////////////////////
4596/// Slot called when the user clicks on a TCanvas or on any object inside
4597/// a TCanvas. Update the pointers to the current pad and the current object.
4598
4600{
4601 if (mouseButton != kButton2Down) return;
4602
4603 if (!pad || !obj) {
4605 return;
4606 }
4607
4608 // Disable the selection of the preview.
4610 return;
4611
4612 // Did the user select the same canvas as before ?
4613 Bool_t samePad = (fCurPad && (pad->GetCanvas() == fCurPad->GetCanvas()));
4614
4615 fCurPad = pad;
4616 fCurObj = obj;
4617 Bool_t preview = (fPreviewWindow && fPreviewWindow->IsMapped());
4618
4619 if ((!samePad) && preview) DoPreview(kFALSE);
4620
4621 // Update the information' label about the selected objects.
4622 TString sPad;
4623 if (fCurPad->GetName() && strlen(fCurPad->GetName()))
4624 sPad.Append(fCurPad->GetName());
4625 else
4626 sPad.Append("[no name]");
4627 sPad.Append(" - '");
4628 if (fCurPad->GetTitle() && strlen(fCurPad->GetTitle()))
4629 sPad.Append(fCurPad->GetTitle());
4630 else
4631 sPad.Append("[no title]");
4632 sPad.Append("'::");
4633 sPad.Append(fCurPad->ClassName());
4635 TString sObj;
4636 if (strlen(fCurObj->GetName()))
4637 sObj.Append(fCurObj->GetName());
4638 else
4639 sObj.Append("[no name]");
4640 sObj.Append("::");
4641 sObj.Append(fCurObj->ClassName());
4643
4644 if (!samePad) {
4648 if (preview) {
4650 } else {
4654 }
4655 }
4656}
4657
4658////////////////////////////////////////////////////////////////////////////////
4659/// Slot called to close the style manager via the window manager.
4660
4662{
4663 Hide();
4664}
4665
4666////////////////////////////////////////////////////////////////////////////////
4667/// Slot called whenever the fill color is modified by the user.
4668
4670{
4672 DoEditor();
4673}
4674
4675////////////////////////////////////////////////////////////////////////////////
4676/// Slot called whenever the fill style is modified by the user.
4677
4679{
4681 DoEditor();
4682}
4683
4684////////////////////////////////////////////////////////////////////////////////
4685/// Slot called whenever the hatches line width is modified by the user.
4686
4688{
4690 DoEditor();
4691}
4692
4693////////////////////////////////////////////////////////////////////////////////
4694/// Slot called whenever the hatches spacing is modified by the user.
4695
4697{
4699 DoEditor();
4700}
4701
4702////////////////////////////////////////////////////////////////////////////////
4703/// Slot called whenever the marker color is modified by the user.
4704
4706{
4708 DoEditor();
4709}
4710
4711////////////////////////////////////////////////////////////////////////////////
4712/// Slot called whenever the marker style is modified by the user.
4713
4715{
4717 DoEditor();
4718}
4719
4720////////////////////////////////////////////////////////////////////////////////
4721/// Slot called whenever the marker size is modified by the user.
4722
4724{
4726 DoEditor();
4727}
4728
4729////////////////////////////////////////////////////////////////////////////////
4730/// Slot called whenever the screen factor is modified by the user.
4731
4733{
4735 DoEditor();
4736}
4737
4738////////////////////////////////////////////////////////////////////////////////
4739/// Slot called whenever the line color is modified by the user.
4740
4742{
4744 DoEditor();
4745}
4746
4747////////////////////////////////////////////////////////////////////////////////
4748/// Slot called whenever the line width is modified by the user.
4749
4751{
4753 DoEditor();
4754}
4755
4756////////////////////////////////////////////////////////////////////////////////
4757/// Slot called whenever the line style is modified by the user.
4758
4760{
4762 DoEditor();
4763}
4764
4765////////////////////////////////////////////////////////////////////////////////
4766/// Slot called whenever the line style editor is opened by the user.
4767
4769{
4770 // TODO Open a LineStyle editor
4771}
4772
4773////////////////////////////////////////////////////////////////////////////////
4774/// Slot called whenever the text color is modified by the user.
4775
4777{
4779 DoEditor();
4780}
4781
4782////////////////////////////////////////////////////////////////////////////////
4783/// Slot called whenever the text size is modified by the user.
4784
4786{
4788 DoEditor();
4789}
4790
4791////////////////////////////////////////////////////////////////////////////////
4792/// Slot called whenever the text size mode is modified by the user.
4793
4795{
4796 Int_t tmp = fCurSelStyle->GetTextFont() / 10;
4797 Int_t mod = fCurSelStyle->GetTextFont() % 10;
4799 if (b) {
4800 fCurSelStyle->SetTextFont(tmp * 10 + 3);
4804 if (mod == 2)
4806 } else {
4807 fCurSelStyle->SetTextFont(tmp * 10 + 2);
4811 if (mod == 3)
4813 }
4815 DoEditor();
4816}
4817
4818////////////////////////////////////////////////////////////////////////////////
4819/// Slot called whenever the text font is modified by the user.
4820
4822{
4823 Int_t tmp = fCurSelStyle->GetTextFont() % 10;
4825 DoEditor();
4826}
4827
4828////////////////////////////////////////////////////////////////////////////////
4829/// Slot called whenever the text align is modified by the user.
4830
4832{
4834 DoEditor();
4835}
4836
4837////////////////////////////////////////////////////////////////////////////////
4838/// Slot called whenever the text angle is modified by the user.
4839
4841{
4843 DoEditor();
4844}
4845
4846////////////////////////////////////////////////////////////////////////////////
4847/// Slot called whenever the canvas color is modified by the user.
4848
4850{
4852 DoEditor();
4853}
4854
4855////////////////////////////////////////////////////////////////////////////////
4856/// Slot called whenever the canvas default abscissa is modified by the user.
4857
4859{
4861 DoEditor();
4862}
4863
4864////////////////////////////////////////////////////////////////////////////////
4865/// Slot called whenever the canvas default ordinate is modified by the user.
4866
4868{
4870 DoEditor();
4871}
4872
4873////////////////////////////////////////////////////////////////////////////////
4874/// Slot called whenever the canvas default width is modified by the user.
4875
4877{
4879 DoEditor();
4880}
4881
4882////////////////////////////////////////////////////////////////////////////////
4883/// Slot called whenever the canvas default height is modified by the user.
4884
4886{
4888 DoEditor();
4889}
4890
4891////////////////////////////////////////////////////////////////////////////////
4892/// Slot called whenever the canvas border mode is modified by the user.
4893
4895{
4897 TGButton *but = 0;
4898 while ((but = fCanvasBorderMode->Find(i)) && !but->IsDown())
4899 i++;
4901 DoEditor();
4902}
4903
4904////////////////////////////////////////////////////////////////////////////////
4905/// Slot called whenever the canvas border size is modified by the user.
4906
4908{
4910 DoEditor();
4911}
4912
4913////////////////////////////////////////////////////////////////////////////////
4914/// Slot called whenever the OptDate boolean is modified by the user.
4915
4917{
4918 if (fOptDateBool->IsDown())
4920 else
4925 DoEditor();
4926}
4927
4928////////////////////////////////////////////////////////////////////////////////
4929/// Slot called whenever the date text color is modified by the user.
4930
4932{
4933 // To modify this entry, the user must have check 'Show'
4935 DoEditor();
4936}
4937
4938////////////////////////////////////////////////////////////////////////////////
4939/// Slot called whenever the date text size is modified by the user.
4940
4942{
4944 DoEditor();
4945}
4946
4947////////////////////////////////////////////////////////////////////////////////
4948/// Slot called whenever the date text size mode is modified by the user.
4949
4951{
4952 Int_t tmp = fCurSelStyle->GetAttDate()->GetTextFont() / 10;
4953 Int_t mod = fCurSelStyle->GetAttDate()->GetTextFont() % 10;
4955
4956 if (b) {
4957 fCurSelStyle->GetAttDate()->SetTextFont(tmp * 10 + 3);
4961 if (mod == 2)
4963 } else {
4964 fCurSelStyle->GetAttDate()->SetTextFont(tmp * 10 + 2);
4968 if (mod == 3)
4970 }
4972 DoEditor();
4973}
4974
4975////////////////////////////////////////////////////////////////////////////////
4976/// Slot called whenever the date text format is modified by the user.
4977
4979{
4980 Int_t formatPrec = fCurSelStyle->GetOptDate() % 10;
4982 + formatPrec);
4983 DoEditor();
4984}
4985
4986////////////////////////////////////////////////////////////////////////////////
4987/// Slot called whenever the date text font is modified by the user.
4988
4990{
4991 Int_t fontPrec = fCurSelStyle->GetAttDate()->GetTextFont() % 10;
4993 + fontPrec);
4994 DoEditor();
4995}
4996
4997////////////////////////////////////////////////////////////////////////////////
4998/// Slot called whenever the date text align is modified by the user.
4999
5001{
5003 DoEditor();
5004}
5005
5006////////////////////////////////////////////////////////////////////////////////
5007/// Slot called whenever the date text angle is modified by the user.
5008
5010{
5012 DoEditor();
5013}
5014
5015////////////////////////////////////////////////////////////////////////////////
5016/// Slot called whenever the date abscissa is modified by the user.
5017
5019{
5021 DoEditor();
5022}
5023
5024////////////////////////////////////////////////////////////////////////////////
5025/// Slot called whenever the date ordinate is modified by the user.
5026
5028{
5030 DoEditor();
5031}
5032
5033////////////////////////////////////////////////////////////////////////////////
5034/// Slot called whenever the pad left margin is modified by the user.
5035
5037{
5039 DoEditor();
5040}
5041
5042////////////////////////////////////////////////////////////////////////////////
5043/// Slot called whenever the pad right margin is modified by the user.
5044
5046{
5048 DoEditor();
5049}
5050
5051////////////////////////////////////////////////////////////////////////////////
5052/// Slot called whenever the pad top margin is modified by the user.
5053
5055{
5057 DoEditor();
5058}
5059
5060////////////////////////////////////////////////////////////////////////////////
5061/// Slot called whenever the pad bottom margin is modified by the user.
5062
5064{
5066 DoEditor();
5067}
5068
5069////////////////////////////////////////////////////////////////////////////////
5070/// Slot called whenever the pad border mode is modified by the user.
5071
5073{
5075 TGButton *but = 0;
5076 while ((but = fPadBorderMode->Find(i)) && !but->IsDown())
5077 i++;
5079 DoEditor();
5080}
5081
5082////////////////////////////////////////////////////////////////////////////////
5083/// Slot called whenever the pad border size is modified by the user.
5084
5086{
5088 DoEditor();
5089}
5090
5091////////////////////////////////////////////////////////////////////////////////
5092/// Slot called whenever the pad color is modified by the user.
5093
5095{
5097 DoEditor();
5098}
5099
5100////////////////////////////////////////////////////////////////////////////////
5101/// Slot called whenever the pad tick X boolean is modified by the user.
5102
5104{
5106 DoEditor();
5107}
5108
5109////////////////////////////////////////////////////////////////////////////////
5110/// Slot called whenever the pad tick Y boolean is modified by the user.
5111
5113{
5115 DoEditor();
5116}
5117
5118////////////////////////////////////////////////////////////////////////////////
5119/// Slot called whenever the pad grid X boolean is modified by the user.
5120
5122{
5124 DoEditor();
5125}
5126
5127////////////////////////////////////////////////////////////////////////////////
5128/// Slot called whenever the pad grid Y boolean is modified by the user.
5129
5131{
5133 DoEditor();
5134}
5135
5136////////////////////////////////////////////////////////////////////////////////
5137/// Slot called whenever the grid line color is modified by the user.
5138
5140{
5142 DoEditor();
5143}
5144
5145////////////////////////////////////////////////////////////////////////////////
5146/// Slot called whenever the grid line width is modified by the user.
5147
5149{
5151 DoEditor();
5152}
5153
5154////////////////////////////////////////////////////////////////////////////////
5155/// Slot called whenever the grid line style is modified by the user.
5156
5158{
5160 DoEditor();
5161}
5162
5163////////////////////////////////////////////////////////////////////////////////
5164/// Slot called whenever the histos fill color is modified by the user.
5165
5167{
5169 DoEditor();
5170}
5171
5172////////////////////////////////////////////////////////////////////////////////
5173/// Slot called whenever the histos fill style is modified by the user.
5174
5176{
5178 DoEditor();
5179}
5180
5181////////////////////////////////////////////////////////////////////////////////
5182/// Slot called whenever the histos line color is modified by the user.
5183
5185{
5187 DoEditor();
5188}
5189
5190////////////////////////////////////////////////////////////////////////////////
5191/// Slot called whenever the histos line width is modified by the user.
5192
5194{
5196 DoEditor();
5197}
5198
5199////////////////////////////////////////////////////////////////////////////////
5200/// Slot called whenever the histos line style is modified by the user.
5201
5203{
5205 DoEditor();
5206}
5207
5208////////////////////////////////////////////////////////////////////////////////
5209/// Slot called whenever the histos bar width is modified by the user.
5210
5212{
5214 DoEditor();
5215}
5216
5217////////////////////////////////////////////////////////////////////////////////
5218/// Slot called whenever the histos bar offset is modified by the user.
5219
5221{
5223 DoEditor();
5224}
5225
5226////////////////////////////////////////////////////////////////////////////////
5227/// Slot called whenever the histos minimum zero boolean is modified
5228/// by the user.
5229
5231{
5233 DoEditor();
5234}
5235
5236////////////////////////////////////////////////////////////////////////////////
5237/// Slot called whenever the paint text format is modified by the user.
5238
5240{
5242 DoEditor();
5243}
5244
5245////////////////////////////////////////////////////////////////////////////////
5246/// Slot called whenever the number of contours is modified by the user.
5247
5249{
5251 DoEditor();
5252}
5253
5254////////////////////////////////////////////////////////////////////////////////
5255/// Slot called whenever the lego inner radius is modified by the user.
5256
5258{
5260 DoEditor();
5261}
5262
5263////////////////////////////////////////////////////////////////////////////////
5264/// Slot called whenever the frame fill color is modified by the user.
5265
5267{
5269 DoEditor();
5270}
5271
5272////////////////////////////////////////////////////////////////////////////////
5273/// Slot called whenever the frame fill style is modified by the user.
5274
5276{
5278 DoEditor();
5279}
5280
5281////////////////////////////////////////////////////////////////////////////////
5282/// Slot called whenever the frame line color is modified by the user.
5283
5285{
5287 DoEditor();
5288}
5289
5290////////////////////////////////////////////////////////////////////////////////
5291/// Slot called whenever the frame line width is modified by the user.
5292
5294{
5296 DoEditor();
5297}
5298
5299////////////////////////////////////////////////////////////////////////////////
5300/// Slot called whenever the frame line style is modified by the user.
5301
5303{
5305 DoEditor();
5306}
5307
5308////////////////////////////////////////////////////////////////////////////////
5309/// Slot called whenever the palette editor is opened by the user.
5310
5312{
5313 // TODO Open a palette editor
5314}
5315
5316////////////////////////////////////////////////////////////////////////////////
5317/// Slot called whenever the frame border mode is modified by the user.
5318
5320{
5322 TGButton *but = 0;
5323 while ((but = fFrameBorderMode->Find(i)) && !but->IsDown())
5324 i++;
5326 DoEditor();
5327}
5328
5329////////////////////////////////////////////////////////////////////////////////
5330/// Slot called whenever the frame border size is modified by the user.
5331
5333{
5335 DoEditor();
5336}
5337
5338////////////////////////////////////////////////////////////////////////////////
5339/// Slot called whenever the function line color is modified by the user.
5340
5342{
5344 DoEditor();
5345}
5346
5347////////////////////////////////////////////////////////////////////////////////
5348/// Slot called whenever the function line width is modified by the user.
5349
5351{
5353 DoEditor();
5354}
5355
5356////////////////////////////////////////////////////////////////////////////////
5357/// Slot called whenever the function line style is modified by the user.
5358
5360{
5362 DoEditor();
5363}
5364
5365////////////////////////////////////////////////////////////////////////////////
5366/// Slot called whenever the draw border boolean is modified by the user.
5367
5369{
5371 DoEditor();
5372}
5373
5374////////////////////////////////////////////////////////////////////////////////
5375/// Slot called whenever the end error size is modified by the user.
5376
5378{
5380 DoEditor();
5381}
5382
5383////////////////////////////////////////////////////////////////////////////////
5384/// Slot called whenever the error along X is modified by the user.
5385
5387{
5389 DoEditor();
5390}
5391
5392////////////////////////////////////////////////////////////////////////////////
5393/// Slot called whenever the time offset is modified by the user.
5394
5396{
5397 Double_t offset = 0;
5398 Int_t year = ((Int_t) fTimeOffsetDate->GetNumber())/10000;
5399 Int_t month = (((Int_t) fTimeOffsetDate->GetNumber())/100) % 100;
5400 Int_t day = ((Int_t) fTimeOffsetDate->GetNumber()) % 100;
5401
5402 while (day > 1) {
5403 day--;
5404 offset += 3600 * 24;
5405 }
5406
5407 Int_t oneMonthInSecs;
5408 while (month > 1) {
5409 month--;
5410 switch (month) {
5411 case 2:
5412 if (year % 4) oneMonthInSecs = 3600 * 24 * 28;
5413 else oneMonthInSecs = 3600 * 24 * 29;
5414 break;
5415 case 1: case 3: case 5: case 7: case 8: case 10: case 12:
5416 oneMonthInSecs = 3600 * 24 * 31;
5417 break;
5418 default:
5419 oneMonthInSecs = 3600 * 24 * 30;
5420 }
5421 offset += oneMonthInSecs;
5422 }
5423
5424 Int_t oneYearInSecs;
5425 while (year < 1995) {
5426 if (year % 4) oneYearInSecs = 3600 * 24 * 365;
5427 else oneYearInSecs = 3600 * 24 * 366;
5428 offset -= oneYearInSecs;
5429 year++;
5430 }
5431 while (year > 1995) {
5432 year--;
5433 if (year % 4) oneYearInSecs = 3600 * 24 * 365;
5434 else oneYearInSecs = 3600 * 24 * 366;
5435 offset += oneYearInSecs;
5436 }
5437
5438 offset += 788918400 + fTimeOffsetTime->GetNumber();
5439
5440 fCurSelStyle->SetTimeOffset(offset);
5441 DoEditor();
5442}
5443
5444////////////////////////////////////////////////////////////////////////////////
5445/// Slot called whenever the strip decimal boolean is modified by the user.
5446
5448{
5450 DoEditor();
5451}
5452
5453////////////////////////////////////////////////////////////////////////////////
5454/// Slot called whenever the apply on XYZ button is clicked. The settings of
5455/// the current selected axis pad are applyed on all axis.
5456/// NB: The logarithmic scale option isn't modified by this method.
5457
5459{
5460 switch (fCurTabAxisNum) {
5461 case 0: // X axis
5473 break;
5474 case 1: // Y axis
5486 break;
5487
5488 case 2: // Z axis
5500 break;
5501 }
5502
5506 DoEditor();
5507}
5508
5509////////////////////////////////////////////////////////////////////////////////
5510/// Slot called whenever the X axis title size is modified by the user.
5511
5513{
5515 DoEditor();
5516}
5517
5518////////////////////////////////////////////////////////////////////////////////
5519/// Slot called whenever the X axis title size mode is modified by the user.
5520
5522{
5523 Int_t tmp = fCurSelStyle->GetTitleFont("X") / 10;
5524 Int_t mod = fCurSelStyle->GetTitleFont("X") % 10;
5526 if (b) {
5527 fCurSelStyle->SetTitleFont(tmp * 10 + 3, "X");
5531 if (mod == 2)
5533 } else {
5534 fCurSelStyle->SetTitleFont(tmp * 10 + 2, "X");
5538 if (mod == 3)
5540 }
5542 DoEditor();
5543}
5544
5545////////////////////////////////////////////////////////////////////////////////
5546/// Slot called whenever the X axis title color is modified by the user.
5547
5549{
5551 DoEditor();
5552}
5553
5554////////////////////////////////////////////////////////////////////////////////
5555/// Slot called whenever the X axis title offset is modified by the user.
5556
5558{
5560 DoEditor();
5561}
5562
5563////////////////////////////////////////////////////////////////////////////////
5564/// Slot called whenever the X axis title font is modified by the user.
5565
5567{
5568 Int_t fontPrec = fCurSelStyle->GetTitleFont("X") % 10;
5569 fCurSelStyle->SetTitleFont(fXTitleFont->GetSelected() * 10 + fontPrec, "X");
5570 DoEditor();
5571}
5572
5573////////////////////////////////////////////////////////////////////////////////
5574/// Slot called whenever the X axis label size is modified by the user.
5575
5577{
5579 DoEditor();
5580}
5581
5582////////////////////////////////////////////////////////////////////////////////
5583/// Slot called whenever the X axis label size mode is modified by the user.
5584
5586{
5587 Int_t tmp = fCurSelStyle->GetLabelFont("X") / 10;
5588 Int_t mod = fCurSelStyle->GetLabelFont("X") % 10;
5590 if (b) {
5591 fCurSelStyle->SetLabelFont(tmp * 10 + 3, "X");
5595 if (mod == 2)
5597 } else {
5598 fCurSelStyle->SetLabelFont(tmp * 10 + 2, "X");
5602 if (mod == 3)
5604 }
5606 DoEditor();
5607}
5608
5609////////////////////////////////////////////////////////////////////////////////
5610/// Slot called whenever the X axis label color is modified by the user.
5611
5613{
5615 DoEditor();
5616}
5617
5618////////////////////////////////////////////////////////////////////////////////
5619/// Slot called whenever the X axis label offset is modified by the user.
5620
5622{
5624 DoEditor();
5625}
5626
5627////////////////////////////////////////////////////////////////////////////////
5628/// Slot called whenever the X axis label font is modified by the user.
5629
5631{
5632 Int_t fontPrec = fCurSelStyle->GetLabelFont("X") % 10;
5633 fCurSelStyle->SetLabelFont(fXLabelFont->GetSelected() * 10 + fontPrec, "X");
5634 DoEditor();
5635}
5636
5637////////////////////////////////////////////////////////////////////////////////
5638/// Slot called whenever the X axis color is modified by the user.
5639
5641{
5643 DoEditor();
5644}
5645
5646////////////////////////////////////////////////////////////////////////////////
5647/// Slot called whenever the X axis tick length is modified by the user.
5648
5650{
5652 DoEditor();
5653}
5654
5655////////////////////////////////////////////////////////////////////////////////
5656/// Slot called whenever the X axis log scale boolean is modified
5657/// by the user.
5658
5660{
5662 DoEditor();
5663}
5664
5665////////////////////////////////////////////////////////////////////////////////
5666/// Slot called whenever the X axis Number of divisions is modified
5667/// by the user.
5668
5670{
5671 Int_t sgn = -1;
5672 if (fXNdivisionsOptimize->IsDown()) sgn = 1;
5674 + 100 * fXNdivSub->GetIntNumber()
5675 + 10000 * fXNdivSubSub->GetIntNumber()), "X");
5676 DoEditor();
5677}
5678
5679////////////////////////////////////////////////////////////////////////////////
5680/// Slot called whenever the Y axis title size is modified by the user.
5681
5683{
5685 DoEditor();
5686}
5687
5688////////////////////////////////////////////////////////////////////////////////
5689/// Slot called whenever the Y axis title size mode is modified by the user.
5690
5692{
5693 Int_t tmp = fCurSelStyle->GetTitleFont("Y") / 10;
5694 Int_t mod = fCurSelStyle->GetTitleFont("Y") % 10;
5696 if (b) {
5697 fCurSelStyle->SetTitleFont(tmp * 10 + 3, "Y");
5701 if (mod == 2)
5703 } else {
5704 fCurSelStyle->SetTitleFont(tmp * 10 + 2, "Y");
5708 if (mod == 3)
5710 }
5712 DoEditor();
5713}
5714
5715////////////////////////////////////////////////////////////////////////////////
5716/// Slot called whenever the Y axis title color is modified by the user.
5717
5719{
5721 DoEditor();
5722}
5723
5724////////////////////////////////////////////////////////////////////////////////
5725/// Slot called whenever the Y axis title offset is modified by the user.
5726
5728{
5730 DoEditor();
5731}
5732
5733////////////////////////////////////////////////////////////////////////////////
5734/// Slot called whenever the Y axis title font is modified by the user.
5735
5737{
5738 Int_t fontPrec = fCurSelStyle->GetTitleFont("Y") % 10;
5739 fCurSelStyle->SetTitleFont(fYTitleFont->GetSelected() * 10 + fontPrec, "Y");
5740 DoEditor();
5741}
5742
5743////////////////////////////////////////////////////////////////////////////////
5744/// Slot called whenever the Y axis label size is modified by the user.
5745
5747{
5749 DoEditor();
5750}
5751
5752////////////////////////////////////////////////////////////////////////////////
5753/// Slot called whenever the Y axis label size mode is modified by the user.
5754
5756{
5757 Int_t tmp = fCurSelStyle->GetLabelFont("Y") / 10;
5758 Int_t mod = fCurSelStyle->GetLabelFont("Y") % 10;
5760 if (b) {
5761 fCurSelStyle->SetLabelFont(tmp * 10 + 3, "Y");
5765 if (mod == 2)
5767 } else {
5768 fCurSelStyle->SetLabelFont(tmp * 10 + 2, "Y");
5772 if (mod == 3)
5774 }
5776 DoEditor();
5777}
5778
5779////////////////////////////////////////////////////////////////////////////////
5780/// Slot called whenever the Y axis label color is modified by the user.
5781
5783{
5785 DoEditor();
5786}
5787
5788////////////////////////////////////////////////////////////////////////////////
5789/// Slot called whenever the Y axis label offset is modified by the user.
5790
5792{
5794 DoEditor();
5795}
5796
5797////////////////////////////////////////////////////////////////////////////////
5798/// Slot called whenever the Y axis label font is modified by the user.
5799
5801{
5802 Int_t fontPrec = fCurSelStyle->GetLabelFont("Y") % 10;
5803 fCurSelStyle->SetLabelFont(fYLabelFont->GetSelected() * 10 + fontPrec, "Y");
5804 DoEditor();
5805}
5806
5807////////////////////////////////////////////////////////////////////////////////
5808/// Slot called whenever the Y axis color is modified by the user.
5809
5811{
5813 DoEditor();
5814}
5815
5816////////////////////////////////////////////////////////////////////////////////
5817/// Slot called whenever the Y axis tick length is modified by the user.
5818
5820{
5822 DoEditor();
5823}
5824
5825////////////////////////////////////////////////////////////////////////////////
5826/// Slot called whenever the Y axis log scale boolean is modified by the user.
5827
5829{
5831 DoEditor();
5832}
5833
5834////////////////////////////////////////////////////////////////////////////////
5835/// Slot called whenever the Y axis Number of divisions is modified
5836/// by the user.
5837
5839{
5840 Int_t sgn = -1;
5841 if (fYNdivisionsOptimize->IsDown()) sgn = 1;
5843 + 100 * fYNdivSub->GetIntNumber()
5844 + 10000 * fYNdivSubSub->GetIntNumber()), "Y");
5845 DoEditor();
5846}
5847
5848////////////////////////////////////////////////////////////////////////////////
5849/// Slot called whenever the Z axis title size is modified by the user.
5850
5852{
5854 DoEditor();
5855}
5856
5857////////////////////////////////////////////////////////////////////////////////
5858/// Slot called whenever the Z axis title size mode is modified by the user.
5859
5861{
5862 Int_t tmp = fCurSelStyle->GetTitleFont("Z") / 10;
5863 Int_t mod = fCurSelStyle->GetTitleFont("Z") % 10;
5865 if (b) {
5866 fCurSelStyle->SetTitleFont(tmp * 10 + 3, "Z");
5870 if (mod == 2)
5872 } else {
5873 fCurSelStyle->SetTitleFont(tmp * 10 + 2, "Z");
5877 if (mod == 3)
5879 }
5881 DoEditor();
5882}
5883
5884////////////////////////////////////////////////////////////////////////////////
5885/// Slot called whenever the Z axis title color is modified by the user.
5886
5888{
5890 DoEditor();
5891}
5892
5893////////////////////////////////////////////////////////////////////////////////
5894/// Slot called whenever the Z axis title offset is modified by the user.
5895
5897{
5899 DoEditor();
5900}
5901
5902////////////////////////////////////////////////////////////////////////////////
5903/// Slot called whenever the Z axis title font is modified by the user.
5904
5906{
5907 Int_t fontPrec = fCurSelStyle->GetTitleFont("Z") % 10;
5908 fCurSelStyle->SetTitleFont(fZTitleFont->GetSelected() * 10 + fontPrec, "Z");
5909 DoEditor();
5910}
5911
5912////////////////////////////////////////////////////////////////////////////////
5913/// Slot called whenever the Z axis label size is modified by the user.
5914
5916{
5918 DoEditor();
5919}
5920
5921////////////////////////////////////////////////////////////////////////////////
5922/// Slot called whenever the Z axis Label size mode is modified by the user.
5923
5925{
5926 Int_t tmp = fCurSelStyle->GetLabelFont("Z") / 10;
5927 Int_t mod = fCurSelStyle->GetLabelFont("Z") % 10;
5929 if (b) {
5930 fCurSelStyle->SetLabelFont(tmp * 10 + 3, "Z");
5934 if (mod == 2)
5936 } else {
5937 fCurSelStyle->SetLabelFont(tmp * 10 + 2, "Z");
5941 if (mod == 3)
5943 }
5945 DoEditor();
5946}
5947
5948////////////////////////////////////////////////////////////////////////////////
5949/// Slot called whenever the Z axis label color is modified by the user.
5950
5952{
5954 DoEditor();
5955}
5956
5957////////////////////////////////////////////////////////////////////////////////
5958/// Slot called whenever the Z axis label offset is modified by the user.
5959
5961{
5963 DoEditor();
5964}
5965
5966////////////////////////////////////////////////////////////////////////////////
5967/// Slot called whenever the Z axis label font is modified by the user.
5968
5970{
5971 Int_t fontPrec = fCurSelStyle->GetLabelFont("Z") % 10;
5972 fCurSelStyle->SetLabelFont(fZLabelFont->GetSelected() * 10 + fontPrec, "Z");
5973 DoEditor();
5974}
5975
5976////////////////////////////////////////////////////////////////////////////////
5977/// Slot called whenever the Z axis color is modified by the user.
5978
5980{
5982 DoEditor();
5983}
5984
5985////////////////////////////////////////////////////////////////////////////////
5986/// Slot called whenever the Z axis tick length is modified by the user.
5987
5989{
5991 DoEditor();
5992}
5993
5994////////////////////////////////////////////////////////////////////////////////
5995/// Slot called whenever the Z axis log scale boolean is modified by the user.
5996
5998{
6000 DoEditor();
6001}
6002
6003////////////////////////////////////////////////////////////////////////////////
6004/// Slot called whenever the Z axis Number of divisions is modified
6005/// by the user.
6006
6008{
6009 Int_t sgn = -1;
6010 if (fZNdivisionsOptimize->IsDown()) sgn = 1;
6012 + 100 * fZNdivSub->GetIntNumber()
6013 + 10000 * fZNdivSubSub->GetIntNumber()), "Z");
6014 DoEditor();
6015}
6016
6017////////////////////////////////////////////////////////////////////////////////
6018/// Slot called whenever the OptTitle boolean is modified by the user.
6019
6021{
6026 DoEditor();
6027}
6028
6029////////////////////////////////////////////////////////////////////////////////
6030/// Slot called whenever the title fill color is modified by the user.
6031
6033{
6035 DoEditor();
6036}
6037
6038////////////////////////////////////////////////////////////////////////////////
6039/// Slot called whenever the title fill style is modified by the user.
6040
6042{
6044 DoEditor();
6045}
6046
6047////////////////////////////////////////////////////////////////////////////////
6048/// Slot called whenever the title text color is modified by the user.
6049
6051{
6053 DoEditor();
6054}
6055
6056////////////////////////////////////////////////////////////////////////////////
6057/// Slot called whenever the text size is modified by the user.
6058
6060{
6062 DoEditor();
6063}
6064
6065////////////////////////////////////////////////////////////////////////////////
6066/// Slot called whenever the text size mode is modified by the user.
6067
6069{
6070 Int_t tmp = fCurSelStyle->GetTitleFont() / 10;
6071 Int_t mod = fCurSelStyle->GetTitleFont() % 10;
6073 if (b) {
6074 fCurSelStyle->SetTitleFont(tmp * 10 + 3);
6078 if (mod == 2)
6080 } else {
6081 fCurSelStyle->SetTitleFont(tmp * 10 + 2);
6085 if (mod == 3)
6087 }
6089 DoEditor();
6090}
6091
6092////////////////////////////////////////////////////////////////////////////////
6093/// Slot called whenever the title text font is modified by the user.
6094
6096{
6097 Int_t tmp = fCurSelStyle->GetTitleFont() % 10;
6099 DoEditor();
6100}
6101
6102////////////////////////////////////////////////////////////////////////////////
6103/// Slot called whenever the title text align is modified by the user.
6104
6106{
6108 DoEditor();
6109}
6110
6111////////////////////////////////////////////////////////////////////////////////
6112/// Slot called whenever the title border size is modified by the user.
6113
6115{
6117 DoEditor();
6118}
6119
6120////////////////////////////////////////////////////////////////////////////////
6121/// Slot called whenever the legend border size is modified by the user.
6122
6124{
6126 DoEditor();
6127}
6128
6129////////////////////////////////////////////////////////////////////////////////
6130/// Slot called whenever the title abscissa is modified by the user.
6131
6133{
6135 DoEditor();
6136}
6137
6138////////////////////////////////////////////////////////////////////////////////
6139/// Slot called whenever the title ordinate is modified by the user.
6140
6142{
6144 DoEditor();
6145}
6146
6147////////////////////////////////////////////////////////////////////////////////
6148/// Slot called whenever the title width is modified by the user.
6149
6151{
6153 DoEditor();
6154}
6155
6156////////////////////////////////////////////////////////////////////////////////
6157/// Slot called whenever the title height is modified by the user.
6158
6160{
6162 DoEditor();
6163}
6164
6165////////////////////////////////////////////////////////////////////////////////
6166/// Slot called whenever the stats fill color is modified by the user.
6167
6169{
6171 DoEditor();
6172}
6173
6174////////////////////////////////////////////////////////////////////////////////
6175/// Slot called whenever the stats fill style is modified by the user.
6176
6178{
6179 fCurSelStyle->SetStatStyle(pattern);
6180 DoEditor();
6181}
6182
6183////////////////////////////////////////////////////////////////////////////////
6184/// Slot called whenever the stats text color is modified by the user.
6185
6187{
6189 DoEditor();
6190}
6191
6192////////////////////////////////////////////////////////////////////////////////
6193/// Slot called whenever the text size is modified by the user.
6194
6196{
6198 DoEditor();
6199}
6200
6201////////////////////////////////////////////////////////////////////////////////
6202/// Slot called whenever the text size mode is modified by the user.
6203
6205{
6206 Int_t tmp = fCurSelStyle->GetStatFont() / 10;
6207 Int_t mod = fCurSelStyle->GetStatFont() % 10;
6209 if (b) {
6210 fCurSelStyle->SetStatFont(tmp * 10 + 3);
6214 if (mod == 2)
6217 } else {
6218 fCurSelStyle->SetStatFont(tmp * 10 + 2);
6222 if (mod == 3)
6225 }
6227 DoEditor();
6228}
6229
6230////////////////////////////////////////////////////////////////////////////////
6231/// Slot called whenever the stats text font is modified by the user.
6232
6234{
6235 Int_t tmp = fCurSelStyle->GetStatFont() % 10;
6237 DoEditor();
6238}
6239
6240////////////////////////////////////////////////////////////////////////////////
6241/// Slot called whenever the stats abscissa is modified by the user.
6242
6244{
6246 DoEditor();
6247}
6248
6249////////////////////////////////////////////////////////////////////////////////
6250/// Slot called whenever the stats ordinate is modified by the user.
6251
6253{
6255 DoEditor();
6256}
6257
6258////////////////////////////////////////////////////////////////////////////////
6259/// Slot called whenever the stats width is modified by the user.
6260
6262{
6264 DoEditor();
6265}
6266
6267////////////////////////////////////////////////////////////////////////////////
6268/// Slot called whenever the stats height is modified by the user.
6269
6271{
6273 DoEditor();
6274}
6275
6276////////////////////////////////////////////////////////////////////////////////
6277/// Slot called whenever the stats border size is modified by the user.
6278
6280{
6282 DoEditor();
6283}
6284
6285////////////////////////////////////////////////////////////////////////////////
6286/// Slot called whenever one of the stats options is modified by the user.
6287
6289{
6290 Int_t stat = 0;
6291 if (fOptStatName->IsDown()) stat +=1;
6292 if (fOptStatEntries->IsDown()) stat +=10;
6293 if (fOptStatMean->IsDown()) stat +=100;
6294 if (fOptStatRMS->IsDown()) stat +=1000;
6295 if (fOptStatUnderflow->IsDown()) stat +=10000;
6296 if (fOptStatOverflow->IsDown()) stat +=100000;
6297 if (fOptStatIntegral->IsDown()) stat +=1000000;
6298 if (fOptStatSkewness->IsDown()) stat +=10000000;
6299 if (fOptStatKurtosis->IsDown()) stat +=100000000;
6300 if (fOptStatErrors->IsDown()) {
6301 if (fOptStatMean->IsDown()) stat +=100;
6302 if (fOptStatRMS->IsDown()) stat +=1000;
6303 if (fOptStatSkewness->IsDown()) stat +=10000000;
6304 if (fOptStatKurtosis->IsDown()) stat +=100000000;
6305 }
6306 if (stat == 1) stat = 1000000001;
6307 fCurSelStyle->SetOptStat(stat);
6308 DoEditor();
6309}
6310
6311////////////////////////////////////////////////////////////////////////////////
6312/// Slot called whenever the stats paint format is modified by the user.
6313
6314void TStyleManager::ModStatFormat(const char *sformat)
6315{
6316 fCurSelStyle->SetStatFormat(sformat);
6317 DoEditor();
6318}
6319
6320////////////////////////////////////////////////////////////////////////////////
6321/// Slot called whenever one of the fit options is modified by the user.
6322
6324{
6325 Int_t fit = 0;
6326 if (fOptFitValues->IsDown()) fit +=1;
6327 if (fOptFitErrors->IsDown()) fit +=10;
6328 if (fOptFitChi->IsDown()) fit +=100;
6329 if (fOptFitProbability->IsDown()) fit +=1000;
6330 if (fit == 1) fit = 10001;
6331 fCurSelStyle->SetOptFit(fit);
6332 DoEditor();
6333}
6334
6335////////////////////////////////////////////////////////////////////////////////
6336/// Slot called whenever the fit paint format is modified by the user.
6337
6338void TStyleManager::ModFitFormat(const char *fitformat)
6339{
6340 fCurSelStyle->SetFitFormat(fitformat);
6341 DoEditor();
6342}
6343
6344////////////////////////////////////////////////////////////////////////////////
6345/// Slot called whenever the PS header is modified by the user.
6346
6348{
6350 DoEditor();
6351}
6352
6353////////////////////////////////////////////////////////////////////////////////
6354/// Slot called whenever the PS title is modified by the user.
6355
6357{
6359 DoEditor();
6360}
6361
6362////////////////////////////////////////////////////////////////////////////////
6363/// Slot called whenever the PS color model is modified by the user.
6364
6366{
6368 TGButton *but = 0;
6369 while ((but = fColorModelPS->Find(i)) && !but->IsDown()) i++;
6371 DoEditor();
6372}
6373
6374////////////////////////////////////////////////////////////////////////////////
6375/// Slot called whenever the PS line scale is modified by the user.
6376
6378{
6380 DoEditor();
6381}
6382
6383////////////////////////////////////////////////////////////////////////////////
6384/// Slot called whenever the PS paper size is modified by the user.
6385
6387{
6388 Float_t papSizeX;
6389 Float_t papSizeY;
6390 fCurSelStyle->GetPaperSize(papSizeX, papSizeY);
6391
6392 if (fPaperSizePredef->GetSelected() == 1) {
6393 if (!fPaperSizeEnCm) {
6395 fPaperSizeX->SetNumber(papSizeX);
6396 fPaperSizeY->SetNumber(papSizeY);
6397 }
6398 } else if (fPaperSizePredef->GetSelected() == 2) {
6399 if (fPaperSizeEnCm) {
6401 fPaperSizeX->SetNumber(papSizeX * 0.394);
6402 fPaperSizeY->SetNumber(papSizeY * 0.394);
6403 }
6404 } else if (fPaperSizePredef->GetSelected() == 3) {
6408 fCurSelStyle->SetPaperSize(20, 26);
6409 } else if (fPaperSizePredef->GetSelected() == 4) {
6411 fPaperSizeX->SetNumber(20 * 0.394);
6412 fPaperSizeY->SetNumber(24 * 0.394);
6413 fCurSelStyle->SetPaperSize(20, 24);
6414 }
6415 DoEditor();
6416}
6417
6418////////////////////////////////////////////////////////////////////////////////
6419/// Slot called whenever the PS paper size is modified by the user.
6420
6422{
6423 if (fPaperSizeEnCm) {
6427 } else {
6429 fPaperSizeY->GetNumber() * 2.54);
6431 }
6432 DoEditor();
6433}
@ kButton2Down
Definition: Buttons.h:17
SVector< double, 2 > v
Definition: Dict.h:5
ULong_t Pixel_t
Definition: GuiTypes.h:39
Handle_t Window_t
Definition: GuiTypes.h:28
R__EXTERN const char gHelpSMTitle[]
Definition: HelpSMText.h:20
R__EXTERN const char gHelpSMPad[]
Definition: HelpSMText.h:17
R__EXTERN const char gHelpSMGeneral[]
Definition: HelpSMText.h:15
R__EXTERN const char gHelpSMAxis[]
Definition: HelpSMText.h:19
R__EXTERN const char gHelpSMTopLevel[]
Definition: HelpSMText.h:14
R__EXTERN const char gHelpSMHistos[]
Definition: HelpSMText.h:18
R__EXTERN const char gHelpSMStats[]
Definition: HelpSMText.h:21
R__EXTERN const char gHelpSMCanvas[]
Definition: HelpSMText.h:16
R__EXTERN const char gHelpSMPSPDF[]
Definition: HelpSMText.h:22
#define b(i)
Definition: RSha256.hxx:100
#define f(i)
Definition: RSha256.hxx:104
#define h(i)
Definition: RSha256.hxx:106
static Int_t init()
int Int_t
Definition: RtypesCore.h:41
unsigned int UInt_t
Definition: RtypesCore.h:42
const Bool_t kFALSE
Definition: RtypesCore.h:88
bool Bool_t
Definition: RtypesCore.h:59
double Double_t
Definition: RtypesCore.h:55
short Style_t
Definition: RtypesCore.h:76
float Float_t
Definition: RtypesCore.h:53
const Bool_t kTRUE
Definition: RtypesCore.h:87
#define ClassImp(name)
Definition: Rtypes.h:363
@ kButtonDown
Definition: TGButton.h:54
@ kButtonUp
Definition: TGButton.h:53
#define gClient
Definition: TGClient.h:166
@ kFDOpen
Definition: TGFileDialog.h:38
@ kFDSave
Definition: TGFileDialog.h:39
@ kNoCleanup
Definition: TGFrame.h:49
@ kChildFrame
Definition: TGFrame.h:57
@ kRaisedFrame
Definition: TGFrame.h:62
@ kVerticalFrame
Definition: TGFrame.h:59
@ kFitWidth
Definition: TGFrame.h:64
@ kHorizontalFrame
Definition: TGFrame.h:60
@ 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:410
char * Form(const char *fmt,...)
char * StrDup(const char *str)
Duplicate the string str.
Definition: TString.cxx:2465
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:406
R__EXTERN TSystem * gSystem
Definition: TSystem.h:540
#define gVirtualX
Definition: TVirtualX.h:345
#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:31
virtual void Update()
Update canvas pad buffers.
Definition: TCanvas.cxx:2286
void UseCurrentStyle()
Force a copy of current style for all objects in canvas.
Definition: TCanvas.cxx:1124
static ULong_t Number2Pixel(Int_t ci)
Static method that given a color index number, returns the corresponding pixel value.
Definition: TColor.cxx:1997
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:1758
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:395
virtual void SetStyle(UInt_t newstyle)
Set the button style (modern or classic).
Definition: TGButton.cxx:221
virtual void SetEnabled(Bool_t e=kTRUE)
Set enabled or disabled state of button.
Definition: TGButton.cxx:409
virtual Bool_t IsDown() const
Definition: TGButton.cxx:251
virtual void SetState(EButtonState state, Bool_t emit=kFALSE)
Set check button state.
Definition: TGButton.cxx:1200
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...
Definition: TGComboBox.cxx:443
virtual void Layout()
layout combobox
Definition: TGComboBox.cxx:527
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:982
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=0)
Add frame to the composite frame using the specified layout hints.
Definition: TGFrame.cxx:1099
virtual void ChangeOptions(UInt_t options)
Change composite frame options. Options is an OR of the EFrameTypes.
Definition: TGFrame.cxx:1025
virtual void SetCleanup(Int_t mode=kLocalCleanup)
Turn on automatic cleanup of child frames in dtor.
Definition: TGFrame.cxx:1054
virtual TGDimension GetDefaultSize() const
std::cout << fWidth << "x" << fHeight << std::endl;
Definition: TGFrame.h:375
virtual void MapSubwindows()
Map all sub windows that are part of the composite frame.
Definition: TGFrame.cxx:1146
virtual void ShowFrame(TGFrame *f)
Show sub frame.
Definition: TGFrame.cxx:1186
virtual void HideFrame(TGFrame *f)
Hide sub frame.
Definition: TGFrame.cxx:1172
UInt_t fWidth
Definition: TGDimension.h:29
char * fFilename
Definition: TGFileDialog.h:61
const char ** fFileTypes
Definition: TGFileDialog.h:63
char * fIniDir
Definition: TGFileDialog.h:62
virtual void Resize(UInt_t w=0, UInt_t h=0)
Resize the frame.
Definition: TGFrame.cxx:587
UInt_t GetHeight() const
Definition: TGFrame.h:272
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:611
virtual void MapWindow()
Definition: TGFrame.h:251
virtual void UnmapWindow()
Definition: TGFrame.h:253
virtual void Resize(UInt_t w, UInt_t h)
Resize the listbox widget.
Definition: TGListBox.cxx:1419
virtual TGDimension GetDefaultSize() const
Return default size of listbox widget.
Definition: TGListBox.cxx:1444
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:1862
void SetWindowName(const char *name=0)
Set window name. This is typically done via the window manager.
Definition: TGFrame.cxx:1746
virtual void AddPopup(TGHotString *s, TGPopupMenu *menu, TGLayoutHints *l, TGPopupMenu *before=0)
Add popup menu to menu bar.
Definition: TGMenu.cxx:415
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
virtual void AddPopup(TGHotString *s, TGPopupMenu *popup, TGMenuEntry *before=0, const TGPicture *p=0)
Add a (cascading) popup menu to a popup menu.
Definition: TGMenu.cxx:1149
virtual void AddEntry(TGHotString *s, Int_t id, void *ud=0, const TGPicture *p=0, TGMenuEntry *before=0)
Add a menu entry.
Definition: TGMenu.cxx:987
virtual void AddSeparator(TGMenuEntry *before=0)
Add a menu separator to the menu.
Definition: TGMenu.cxx:1057
virtual void DisableEntry(Int_t id)
Disable entry (disabled entries appear in a sunken relieve).
Definition: TGMenu.cxx:1714
virtual void EnableEntry(Int_t id)
Enable entry. By default entries are enabled.
Definition: TGMenu.cxx:1695
virtual void Associate(const TGWindow *w)
Definition: TGMenu.h:219
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:341
virtual void SetText(TGHotString *new_label)
Set new button text.
Definition: TGButton.cxx:594
const char * GetText() const
Definition: TGTextEntry.h:134
void SetEnabled(Bool_t flag=kTRUE)
Definition: TGTextEntry.h:164
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:84
virtual const TGWindow * GetMainFrame() const
Returns top level main frame.
Definition: TGWindow.cxx:133
const TGWindow * GetParent() const
Definition: TGWindow.h:85
virtual Bool_t IsMapped()
Returns kTRUE if window is mapped on screen, kFALSE otherwise.
Definition: TGWindow.cxx:180
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:327
virtual TObject * Remove(TObject *obj)
Remove object from the list.
Definition: TList.cxx:818
virtual void AddFirst(TObject *obj)
Add object at the beginning of the list.
Definition: TList.cxx:97
virtual TObject * First() const
Return the first object in the list. Returns 0 when list is empty.
Definition: TList.cxx:655
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:357
virtual const char * ClassName() const
Returns name of class to which the object belongs.
Definition: TObject.cxx:128
virtual void UseCurrentStyle()
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyl...
Definition: TObject.cxx:715
virtual TObject * FindObject(const char *name) const
Search if object named name is inside this pad or in pads inside this pad.
Definition: TPad.cxx:2585
void Modified(Bool_t flag=1)
Definition: TPad.h:415
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:867
Bool_t Disconnect(const char *signal=0, void *receiver=0, const char *slot=0)
Disconnects signal of this object from slot of receiver.
Definition: TQObject.cxx:1025
void SetText(const char *helpText)
Set help text from helpText buffer in TGTextView.
void Popup()
Show help dialog.
Basic string class.
Definition: TString.h:131
const char * Data() const
Definition: TString.h:364
TString & Append(const char *cs)
Definition: TString.h:559
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:2286
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
Definition: TString.cxx:2264
TGPictureButton * fToolBarHelp
Definition: TStyleManager.h:95
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
Definition: TStyleManager.h:80
TGNumberEntry * fXTitleOffset
void ConnectEditor(Int_t tabNum)
Connect every widget entry of the editor to its specific slot.
TStyle * fCurSelStyle
Definition: TStyleManager.h:69
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
Definition: TStyleManager.h:92
void ModStatBorderSize()
Slot called whenever the stats border size is modified by the user.
void AddPadTicks(TGCompositeFrame *f)
Add the 'Ticks' group frame to the 'Pad' tab.
void ModXTitleColor()
Slot called whenever the X axis title color is modified by the user.
TGTab * fAxisTab
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
Definition: TStyleManager.h:67
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
Definition: TStyleManager.h:84
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
Definition: TStyleManager.h:71
TGColorSelect * fStatColor
void ModHistLineWidth()
Slot called whenever the histos line width is modified by the user.
Bool_t fSigSlotConnected
Definition: TStyleManager.h:79
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
TGTab * fHistosTab
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
Definition: TStyleManager.h:85
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
Definition: TStyleManager.h:97
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
Definition: TStyleManager.h:89
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
UInt_t fSMHeight
Definition: TStyleManager.h:75
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
Definition: TStyleManager.h:82
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
Definition: TStyleManager.h:96
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
Definition: TStyleManager.h:87
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
Bool_t fLastChoice
Definition: TStyleManager.h:70
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'.
Int_t fCurTabAxisNum
Definition: TStyleManager.h:73
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
Definition: TStyleManager.h:86
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
Definition: TStyleManager.h:93
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
Definition: TStyleManager.h:99
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
Definition: TStyleManager.h:90
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
Definition: TStyleManager.h:76
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
Definition: TStyleManager.h:78
TGPictureButton * fToolBarDelete
Definition: TStyleManager.h:91
TGPictureButton * fToolBarExport
Definition: TStyleManager.h:94
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
Definition: TStyleManager.h:98
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
Definition: TStyleManager.h:81
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:27
Double_t GetTimeOffset() const
Definition: TStyle.h:256
Int_t GetOptLogy() const
Definition: TStyle.h:235
Color_t GetGridColor() const
Definition: TStyle.h:209
Int_t GetOptStat() const
Definition: TStyle.h:232
Color_t GetLabelColor(Option_t *axis="X") const
Return the label color number in the axis.
Definition: TStyle.cxx:921
void SetAxisColor(Color_t color=1, Option_t *axis="X")
Set color to draw the axis line and tick marks.
Definition: TStyle.cxx:1129
void SetPadBorderMode(Int_t mode=1)
Definition: TStyle.h:334
void SetOptTitle(Int_t tit=1)
Definition: TStyle.h:312
void SetFrameLineColor(Color_t color=1)
Definition: TStyle.h:350
void SetPadTopMargin(Float_t margin=0.1)
Definition: TStyle.h:336
Color_t GetStatTextColor() const
Definition: TStyle.h:245
void SetTitleX(Float_t x=0)
Definition: TStyle.h:390
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:1444
void SetHistFillColor(Color_t color=1)
Definition: TStyle.h:356
void SetLegoInnerR(Float_t rad=0.5)
Definition: TStyle.h:296
void SaveSource(const char *filename, Option_t *option=0)
Save the current style in a C++ macro file.
Definition: TStyle.cxx:1676
void SetOptLogx(Int_t logx=1)
Definition: TStyle.h:307
void SetDateX(Float_t x=0.01)
Definition: TStyle.h:315
void SetStatFormat(const char *format="6.4g")
Definition: TStyle.h:373
void SetPadBottomMargin(Float_t margin=0.1)
Definition: TStyle.h:335
Float_t GetTitleX() const
Definition: TStyle.h:267
void SetPaintTextFormat(const char *format="g")
Definition: TStyle.h:363
Int_t GetOptTitle() const
Definition: TStyle.h:233
void SetCanvasBorderSize(Width_t size=1)
Definition: TStyle.h:322
Float_t GetScreenFactor() const
Definition: TStyle.h:243
void SetCanvasDefX(Int_t topx=10)
Definition: TStyle.h:326
Color_t GetHistLineColor() const
Definition: TStyle.h:220
Int_t GetNdivisions(Option_t *axis="X") const
Return number of divisions.
Definition: TStyle.cxx:889
void SetFrameFillColor(Color_t color=1)
Definition: TStyle.h:349
Int_t GetPadTickX() const
Definition: TStyle.h:204
Color_t GetTitleColor(Option_t *axis="X") const
Return title color.
Definition: TStyle.cxx:1009
Color_t GetFrameLineColor() const
Definition: TStyle.h:213
Style_t GetGridStyle() const
Definition: TStyle.h:210
void SetStatFont(Style_t font=62)
Definition: TStyle.h:371
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:1146
Float_t GetStatFontSize() const
Definition: TStyle.h:248
Float_t GetBarOffset() const
Definition: TStyle.h:170
Float_t GetStatX() const
Definition: TStyle.h:251
Float_t GetLabelSize(Option_t *axis="X") const
Return label size.
Definition: TStyle.cxx:957
void SetStatStyle(Style_t style=1001)
Definition: TStyle.h:369
Color_t GetPadColor() const
Definition: TStyle.h:195
void SetHistLineStyle(Style_t styl=0)
Definition: TStyle.h:359
void SetPadRightMargin(Float_t margin=0.1)
Definition: TStyle.h:338
Style_t GetHistFillStyle() const
Definition: TStyle.h:221
void SetCanvasColor(Color_t color=19)
Definition: TStyle.h:321
void SetTitleFont(Style_t font=62, Option_t *axis="X")
Definition: TStyle.cxx:1580
Float_t GetPadRightMargin() const
Definition: TStyle.h:201
Float_t GetTickLength(Option_t *axis="X") const
Return tick length.
Definition: TStyle.cxx:997
void SetCanvasDefH(Int_t h=500)
Definition: TStyle.h:324
void SetTitleBorderSize(Width_t size=2)
Definition: TStyle.h:385
Style_t GetFrameFillStyle() const
Definition: TStyle.h:214
void SetStatTextColor(Color_t color=1)
Definition: TStyle.h:368
void SetStatX(Float_t x=0)
Definition: TStyle.h:374
Float_t GetTitleSize(Option_t *axis="X") const
Return title size.
Definition: TStyle.cxx:1045
Float_t GetLegoInnerR() const
Definition: TStyle.h:227
Style_t GetLabelFont(Option_t *axis="X") const
Return label font.
Definition: TStyle.cxx:933
void SetCanvasBorderMode(Int_t mode=1)
Definition: TStyle.h:323
Float_t GetTitleY() const
Definition: TStyle.h:268
void SetOptDate(Int_t datefl=1)
If optdate is non null, the current date/time will be printed in the canvas.
Definition: TStyle.cxx:1352
void SetFrameFillStyle(Style_t styl=0)
Definition: TStyle.h:351
Float_t GetDateX() const
Definition: TStyle.h:185
void SetCanvasDefW(Int_t w=700)
Definition: TStyle.h:325
void SetDateY(Float_t y=0.01)
Definition: TStyle.h:316
Float_t GetTitleOffset(Option_t *axis="X") const
Return title offset.
Definition: TStyle.cxx:1033
Color_t GetHistFillColor() const
Definition: TStyle.h:219
void SetFrameBorderMode(Int_t mode=1)
Definition: TStyle.h:355
Style_t GetTitleFont(Option_t *axis="X") const
Return title font.
Definition: TStyle.cxx:1021
void SetFuncColor(Color_t color=1)
Definition: TStyle.h:344
Bool_t GetHistMinimumZero() const
Definition: TStyle.h:224
void SetHeaderPS(const char *header)
Define a string to be inserted in the Postscript header.
Definition: TStyle.cxx:1168
Float_t GetStatY() const
Definition: TStyle.h:252
void SetPadTickY(Int_t ticky)
Definition: TStyle.h:342
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:1603
Color_t GetTitleFillColor() const
Definition: TStyle.h:258
Int_t GetCanvasDefH() const
Definition: TStyle.h:179
void SetColorModelPS(Int_t c=0)
Define the color model used by TPostScript and TPDF (RGB or CMYK).
Definition: TStyle.cxx:1081
Style_t GetTitleStyle() const
Definition: TStyle.h:260
void SetPadTickX(Int_t tickx)
Definition: TStyle.h:341
Float_t GetLabelOffset(Option_t *axis="X") const
Return label offset.
Definition: TStyle.cxx:945
Int_t GetCanvasDefX() const
Definition: TStyle.h:181
Int_t GetOptDate() const
Definition: TStyle.h:229
Bool_t GetPadGridY() const
Definition: TStyle.h:203
Color_t GetStatColor() const
Definition: TStyle.h:244
void SetPadGridX(Bool_t gridx)
Definition: TStyle.h:339
void SetTitleTextColor(Color_t color=1)
Definition: TStyle.h:382
Float_t GetPadLeftMargin() const
Definition: TStyle.h:200
Double_t GetHatchesSpacing() const
Definition: TStyle.h:189
Width_t GetLegendBorderSize() const
Definition: TStyle.h:190
void SetStatBorderSize(Width_t size=2)
Definition: TStyle.h:370
Float_t GetBarWidth() const
Definition: TStyle.h:171
void SetGridColor(Color_t color=0)
Definition: TStyle.h:347
Int_t GetColorModelPS() const
Definition: TStyle.h:184
void SetGridStyle(Style_t style=3)
Definition: TStyle.h:346
void SetErrorX(Float_t errorx=0.5)
Definition: TStyle.h:318
Int_t GetCanvasDefY() const
Definition: TStyle.h:182
void SetTitleColor(Color_t color=1, Option_t *axis="X")
Definition: TStyle.cxx:1559
void SetNumberContours(Int_t number=20)
Set the default number of contour levels when drawing 2-d plots.
Definition: TStyle.cxx:1306
void SetLabelFont(Style_t font=62, Option_t *axis="X")
Set font number used to draw axis labels.
Definition: TStyle.cxx:1219
void SetTitleFontSize(Float_t size=0)
Definition: TStyle.h:384
void SetDrawBorder(Int_t drawborder=1)
Definition: TStyle.h:320
Width_t GetFrameBorderSize() const
Definition: TStyle.h:217
void SetTimeOffset(Double_t toffset)
Change the time offset for time plotting.
Definition: TStyle.cxx:1655
void SetTitlePS(const char *pstitle)
Define a string to be used in the %Title of the Postscript files.
Definition: TStyle.cxx:1189
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:1094
Bool_t GetPadGridX() const
Definition: TStyle.h:202
Float_t GetStatH() const
Definition: TStyle.h:254
void SetPadLeftMargin(Float_t margin=0.1)
Definition: TStyle.h:337
void SetStatH(Float_t h=0.1)
Definition: TStyle.h:377
void SetPadGridY(Bool_t gridy)
Definition: TStyle.h:340
void SetOptLogy(Int_t logy=1)
Definition: TStyle.h:308
Width_t GetGridWidth() const
Definition: TStyle.h:211
Color_t GetFuncColor() const
Definition: TStyle.h:206
void SetLegendBorderSize(Width_t size=4)
Definition: TStyle.h:328
TAttText * GetAttDate()
Definition: TStyle.h:158
Int_t GetPadTickY() const
Definition: TStyle.h:205
Width_t GetPadBorderSize() const
Definition: TStyle.h:196
void SetStripDecimals(Bool_t strip=kTRUE)
Set option to strip decimals when drawing axis labels.
Definition: TStyle.cxx:1668
Width_t GetTitleBorderSize() const
Definition: TStyle.h:262
void SetHistLineColor(Color_t color=1)
Definition: TStyle.h:357
void SetLabelOffset(Float_t offset=0.005, Option_t *axis="X")
Set offset between axis and axis labels.
Definition: TStyle.cxx:1235
void SetFitFormat(const char *format="5.4g")
Definition: TStyle.h:282
Float_t GetErrorX() const
Definition: TStyle.h:174
void SetCanvasDefY(Int_t topy=10)
Definition: TStyle.h:327
void SetTitleSize(Float_t size=0.02, Option_t *axis="X")
Definition: TStyle.cxx:1622
void SetTitleFillColor(Color_t color=1)
Definition: TStyle.h:381
Color_t GetCanvasColor() const
Definition: TStyle.h:176
void SetTitleAlign(Int_t a=13)
Definition: TStyle.h:380
void SetBarOffset(Float_t baroff=0.5)
Definition: TStyle.h:313
void SetPaperSize(EPaperSize size)
Set paper size for PostScript output.
Definition: TStyle.cxx:1509
Float_t GetEndErrorSize() const
Definition: TStyle.h:173
Float_t GetPadBottomMargin() const
Definition: TStyle.h:198
void SetFrameLineWidth(Width_t width=1)
Definition: TStyle.h:353
void SetTickLength(Float_t length=0.03, Option_t *axis="X")
Set the tick marks length for an axis.
Definition: TStyle.cxx:1540
void SetNdivisions(Int_t n=510, Option_t *axis="X")
Set the number of divisions to draw an axis.
Definition: TStyle.cxx:1115
Width_t GetFuncWidth() const
Definition: TStyle.h:208
void SetFuncWidth(Width_t width=4)
Definition: TStyle.h:345
Int_t GetDrawBorder() const
Definition: TStyle.h:172
void SetOptLogz(Int_t logz=1)
Definition: TStyle.h:309
const char * GetTitlePS() const
Definition: TStyle.h:272
Int_t GetCanvasDefW() const
Definition: TStyle.h:180
void SetFrameBorderSize(Width_t size=1)
Definition: TStyle.h:354
Width_t GetStatBorderSize() const
Definition: TStyle.h:246
void GetPaperSize(Float_t &xsize, Float_t &ysize) const
Set paper size for PostScript output.
Definition: TStyle.cxx:988
Int_t GetStripDecimals() const
Definition: TStyle.h:255
void SetTitleW(Float_t w=0)
Definition: TStyle.h:392
Style_t GetHistLineStyle() const
Definition: TStyle.h:222
void SetTitleStyle(Style_t style=1001)
Definition: TStyle.h:383
void SetStatFontSize(Float_t size=0)
Definition: TStyle.h:372
void SetStatColor(Color_t color=19)
Definition: TStyle.h:367
void SetPadColor(Color_t color=19)
Definition: TStyle.h:332
void SetStatW(Float_t w=0.19)
Definition: TStyle.h:376
void SetHatchesSpacing(Double_t h)
Definition: TStyle.h:285
void SetTitleH(Float_t h=0)
Definition: TStyle.h:393
Int_t GetTitleAlign()
Definition: TStyle.h:257
virtual void Reset(Option_t *option="")
Reset.
Definition: TStyle.cxx:576
Color_t GetTitleTextColor() const
Definition: TStyle.h:259
void SetBarWidth(Float_t barwidth=0.5)
Definition: TStyle.h:314
void SetStatY(Float_t y=0)
Definition: TStyle.h:375
Int_t GetOptLogx() const
Definition: TStyle.h:234
Float_t GetTitleH() const
Definition: TStyle.h:270
Style_t GetStatStyle() const
Definition: TStyle.h:249
void SetTitleY(Float_t y=0.985)
Definition: TStyle.h:391
void SetHistFillStyle(Style_t styl=0)
Definition: TStyle.h:358
Width_t GetHistLineWidth() const
Definition: TStyle.h:223
Style_t GetFrameLineStyle() const
Definition: TStyle.h:215
Float_t GetStatW() const
Definition: TStyle.h:253
Float_t GetDateY() const
Definition: TStyle.h:186
const char * GetFitFormat() const
Definition: TStyle.h:187
void SetScreenFactor(Float_t factor=1)
Definition: TStyle.h:297
void SetHatchesLineWidth(Int_t l)
Definition: TStyle.h:284
Int_t GetCanvasBorderMode() const
Definition: TStyle.h:178
Int_t GetPadBorderMode() const
Definition: TStyle.h:197
void SetGridWidth(Width_t width=1)
Definition: TStyle.h:348
const char * GetHeaderPS() const
Definition: TStyle.h:271
const char * GetStatFormat() const
Definition: TStyle.h:250
void SetFuncStyle(Style_t style=1)
Definition: TStyle.h:343
Width_t GetCanvasBorderSize() const
Definition: TStyle.h:177
Int_t GetOptFit() const
Definition: TStyle.h:231
Int_t GetNumberContours() const
Definition: TStyle.h:228
void SetHistLineWidth(Width_t width=1)
Definition: TStyle.h:360
const char * GetPaintTextFormat() const
Definition: TStyle.h:237
Float_t GetLineScalePS() const
Definition: TStyle.h:275
void SetLabelColor(Color_t color=1, Option_t *axis="X")
Set axis labels color.
Definition: TStyle.cxx:1199
Style_t GetStatFont() const
Definition: TStyle.h:247
void SetLabelSize(Float_t size=0.04, Option_t *axis="X")
Set size of axis labels.
Definition: TStyle.cxx:1250
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:1396
Int_t GetOptLogz() const
Definition: TStyle.h:236
void SetPadBorderSize(Width_t size=1)
Definition: TStyle.h:333
Style_t GetFuncStyle() const
Definition: TStyle.h:207
Float_t GetTitleFontSize() const
Definition: TStyle.h:261
void SetFrameLineStyle(Style_t styl=0)
Definition: TStyle.h:352
Int_t GetHatchesLineWidth() const
Definition: TStyle.h:188
Color_t GetAxisColor(Option_t *axis="X") const
Return the axis color number in the axis.
Definition: TStyle.cxx:901
Int_t GetFrameBorderMode() const
Definition: TStyle.h:218
Float_t GetPadTopMargin() const
Definition: TStyle.h:199
void SetLineScalePS(Float_t scale=3)
Definition: TStyle.h:288
Width_t GetFrameLineWidth() const
Definition: TStyle.h:216
Color_t GetFrameFillColor() const
Definition: TStyle.h:212
Float_t GetTitleW() const
Definition: TStyle.h:269
virtual const char * UnixPathName(const char *unixpathname)
Convert from a Unix pathname to a local pathname.
Definition: TSystem.cxx:1053
virtual const char * BaseName(const char *pathname)
Base name of a file name. Base name of /user/root is root.
Definition: TSystem.cxx:941
TVirtualPad is an abstract base class for the Pad and Canvas classes.
Definition: TVirtualPad.h:50
virtual const char * GetTitle() const =0
Returns title of object.
virtual const char * GetName() const =0
Returns name 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
static constexpr double s
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
auto * a
Definition: textangle.C:12