This file is indexed.

/usr/include/root/TStyleManager.h is in libroot-gui-ged-dev 5.34.19+dfsg-1.2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
// @(#)root/ged:$Id: TStyleManager.h,v 1.0 2005/09/08
// Author: Denis Favre-Miville   08/09/05

/*************************************************************************
 * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TStyleManager
#define ROOT_TStyleManager

//////////////////////////////////////////////////////////////////////////
//                                                                      //
//  TStyleManager                                                       //
//                                                                      //
//  This class provides a Graphical User Interface to manage styles     //
//       in ROOT. It allows the user to edit styles, import / export    //
//       them to macros, apply a style on the selected object or on     //
//       all canvases, change gStyle.                                   //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TGFrame
#include "TGFrame.h"
#endif
#ifndef ROOT_TGNumberEntry
#include "TGNumberEntry.h"
#endif

class TGButtonGroup;
class TGCheckButton;
class TGColorSelect;
class TGComboBox;
class TGCompositeFrame;
class TGedMarkerSelect;
class TGedPatternSelect;
class TGFileInfo;
class TGFontTypeComboBox;
class TGHButtonGroup;
class TGHorizontal3DLine;
class TGHorizontalFrame;
class TGLabel;
class TGLayoutHints;
class TGLineStyleComboBox;
class TGLineWidthComboBox;
class TGMainFrame;
class TGMatrixLayout;
class TGMenuBar;
class TGPicture;
class TGPictureButton;
class TGPopupMenu;
class TGRadioButton;
class TGStatusBar;
class TGTab;
class TGTextButton;
class TGTextEntry;
class TGToolBar;
class TGVerticalFrame;
class TList;
class TObject;
class TStyle;
class TStylePreview;
class TVirtualPad;

class TStyleManager : public TGMainFrame {

private:
   static TStyleManager *fgStyleManager;     // singleton style manager

   TStyle              *fCurSelStyle;        // current selected style
   Bool_t               fLastChoice;         //=kTRUE if the user choose OK in the last TStyleDialog
   Bool_t               fRealTimePreview;    //=kTRUE if auto refreshed preview
   Int_t                fCurTabNum;          // current opened tab number
   Int_t                fCurTabAxisNum;      // current opened axis tab number
   UInt_t               fSMWidth;            // style manager's width
   UInt_t               fSMHeight;           // style manager's height
   Bool_t               fStyleChanged;       //=kTRUE if the style has been modified

   Bool_t               fMoreAndNotLess;     //=kTRUE when editor is open
   Bool_t               fSigSlotConnected;   //=kTRUE when signal/slots connected
   Bool_t               fAllAndNotCurrent;   //=kTRUE when apply on 'All canvases'
   TList               *fTrashListFrame;     // to avoid memory leak
   TList               *fTrashListLayout;    // to avoid memory leak

   TGMenuBar           *fMenuBar;            // the main window menu bar
   TGPopupMenu         *fMenuStyle;          // the 'Style' popup menu
   TGPopupMenu         *fImportCascade;      // Cascaded menu 'Import'
   TGPopupMenu         *fMenuHelp;           // the 'Help' popup menu

   TGToolBar           *fToolBar;            // the tool bar
   TGPictureButton     *fToolBarNew;         // tool bar 'New' button
   TGPictureButton     *fToolBarDelete;      // tool bar 'Delete' button
   TGPictureButton     *fToolBarImportCanvas;// tool bar 'Import from canvas' button
   TGPictureButton     *fToolBarImportMacro; // tool bar 'Import from macro' button
   TGPictureButton     *fToolBarExport;      // tool bar 'Export' button
   TGPictureButton     *fToolBarHelp;        // tool bar 'Help' button
   const TGPicture     *fToolBarNewPic;      // tool bar 'New' picture
   const TGPicture     *fToolBarDeletePic;   // tool bar 'Delete' picture
   const TGPicture     *fToolBarImportCanvasPic;// tool bar 'Import from canvas' picture
   const TGPicture     *fToolBarImportMacroPic; // tool bar 'Import from macro' picture
   const TGPicture     *fToolBarExportPic;   // tool bar 'Export' picture
   const TGPicture     *fToolBarHelpPic;     // tool bar 'Help' picture
   TGHorizontal3DLine  *fHorizontal3DLine;   // a line under the tool bar

   TGLabel             *fListLabel;          // label 'Available Styles:'
   TGComboBox          *fListComboBox;       // list of available styles
   TGFileInfo          *fCurMacro;           // current macro
   TGLabel             *fCurStylabel;        // label 'gStyle is set to:'
   TGTextEntry         *fCurStyle;           // label showing gStyle's name
   TGLabel             *fCurPadLabel;        // label 'Canvas:'
   TGTextEntry         *fCurPadTextEntry;    // label showing current pad's name
   TVirtualPad         *fCurPad;             // current pad
   TGLabel             *fCurObjLabel;        // label 'Object:'
   TGTextEntry         *fCurObjTextEntry;    // label showing current object's name
   TObject             *fCurObj;             // current object
   TGCheckButton       *fPreviewButton;      // if checked, preview is visible
   TGCheckButton       *fPreviewRealTime;    // if checked, real time preview
   TStylePreview       *fPreviewWindow;      // preview
   TGPictureButton     *fMakeDefault;        // selected style becom gStyle
   const TGPicture     *fMakeDefaultPic;     // button picture

   TGHButtonGroup      *fApplyOnGroup;       // 'Apply on' button group
   TGRadioButton       *fApplyOnAll;         // 'Apply on' button group
   TGRadioButton       *fApplyOnSel;         // 'Apply on' button group
   TGTextButton        *fApplyOnButton;      // apply style on object(s)

   TGTextButton        *fMoreLess;           // open/close the editor
   TGStatusBar         *fStatusBar;          // status bar

   TGVerticalFrame     *fEditionFrame;       // editor
   TGTab               *fEditionTab;         // editor's tabs
   TGTab               *fHistosTab;          // histos' tabs
   TGTab               *fAxisTab;            // axis' tabs
   TGHorizontalFrame   *fEditionButtonFrame; // editor's buttons

   TGTextButton        *fEditionHelp;           // help button
   TGTextButton        *fEditionUpdatePreview;  // update preview button
   TGTextButton        *fEditionReset;          // reset button

   TGColorSelect       *fFillColor;          // general fill color selection widget
   TGedPatternSelect   *fFillStyle;          // general fill pattern selection widget
   TGLineWidthComboBox *fHatchesLineWidth;   // general hatches width combo box
   TGNumberEntry       *fHatchesSpacing;     // general hatches spacing number entry
   TGColorSelect       *fTextColor;          // general text color selection widget
   TGNumberEntry       *fTextSize;           // general text size number entry
   TGCheckButton       *fTextSizeInPixels;   // general text size check box
   TGFontTypeComboBox  *fTextFont;           // general text font combo box
   TGComboBox          *fTextAlign;          // general text align combo box
   TGNumberEntry       *fTextAngle;          // general text angle number entry
   TGColorSelect       *fLineColor;          // general line color selection widget
   TGLineWidthComboBox *fLineWidth;          // general line width combo box
   TGLineStyleComboBox *fLineStyle;          // general line style combo box
   TGTextButton        *fLineStyleEdit;      // general line style editor open button
   TGColorSelect       *fMarkerColor;        // general marker color selection widget
   TGedMarkerSelect    *fMarkerStyle;        // general marker style entry
   TGComboBox          *fMarkerSize;         // general marker size combo box
   TGNumberEntry       *fScreenFactor;       // general screen factor number entry
   TGColorSelect       *fCanvasColor;        // canvas fill color selection widget
   TGNumberEntry       *fCanvasDefX;         // canvas abscissa number entry
   TGNumberEntry       *fCanvasDefY;         // canvas ordinate number entry
   TGNumberEntry       *fCanvasDefW;         // canvas width number entry
   TGNumberEntry       *fCanvasDefH;         // canvas height number entry
   TGButtonGroup       *fCanvasBorderMode;   // canvas border mode button group
   TGLineWidthComboBox *fCanvasBorderSize;   // canvas border size combo box
   TGCheckButton       *fOptDateBool;        // canvas date show/hide check box
   TGColorSelect       *fAttDateTextColor;   // canvas date color selection widget
   TGNumberEntry       *fAttDateTextSize;    // canvas date size number entry
   TGCheckButton       *fAttDateTextSizeInPixels;  // canvas date size check box
   TGComboBox          *fOptDateFormat;      // canvas date format text entry
   TGFontTypeComboBox  *fAttDateTextFont;    // canvas date font combo box
   TGNumberEntry       *fAttDateTextAngle;   // canvas date angle number entry
   TGComboBox          *fAttDateTextAlign;   // canvas date align combo box
   TGNumberEntry       *fDateX;              // canvas date abscissa number entry
   TGNumberEntry       *fDateY;              // canvas date ordinate number entry
   TGNumberEntry       *fPadLeftMargin;      // pad left margin number entry
   TGNumberEntry       *fPadRightMargin;     // pad right margin number entry
   TGNumberEntry       *fPadTopMargin;       // pad top margin number entry
   TGNumberEntry       *fPadBottomMargin;    // pad bottom margin number entry
   TGButtonGroup       *fPadBorderMode;      // pad border mode button group
   TGLineWidthComboBox *fPadBorderSize;      // pad border size combo box
   TGColorSelect       *fPadColor;           // pad fill color selection widget
   TGCheckButton       *fPadTickX;           // pad ticks along X show/hide check box
   TGCheckButton       *fPadTickY;           // pad ticks along Y show/hide check box
   TGCheckButton       *fPadGridX;           // pad grid along X show/hide check box
   TGCheckButton       *fPadGridY;           // pad grid along Y show/hide check box
   TGColorSelect       *fGridColor;          // pad grid line color selection widget
   TGLineWidthComboBox *fGridWidth;          // pad grid line width combo box
   TGLineStyleComboBox *fGridStyle;          // pad grid line style combo box
   TGColorSelect       *fHistFillColor;      // histograms fill color selection widget
   TGedPatternSelect   *fHistFillStyle;      // histograms fill pattern selection widget
   TGColorSelect       *fHistLineColor;      // histograms fill color selection widget
   TGLineWidthComboBox *fHistLineWidth;      // histograms line width combo box
   TGLineStyleComboBox *fHistLineStyle;      // histograms line style combo box
   TGNumberEntry       *fBarWidth;           // histograms bar width number entry
   TGNumberEntry       *fBarOffset;          // histograms bar offset number entry
   TGCheckButton       *fHistMinimumZero;    // histograms minimum zero check box
   TGTextEntry         *fPaintTextFormat;    // histograms format text entry
   TGNumberEntry       *fNumberContours;     // histograms number of contours number entry
   TGNumberEntry       *fLegoInnerR;         // histograms lego inner radius number entry
   TGColorSelect       *fFrameFillColor;     // frame fill color selection widget
   TGedPatternSelect   *fFrameFillStyle;     // frame fill pattern selection widget
   TGColorSelect       *fFrameLineColor;     // frame line color selection widget
   TGLineWidthComboBox *fFrameLineWidth;     // frame line width combo box
   TGLineStyleComboBox *fFrameLineStyle;     // frame line style combo box
   TGTextButton        *fPaletteEdit;        // palette editor open button
   TGButtonGroup       *fFrameBorderMode;    // frame border mode button group
   TGLineWidthComboBox *fFrameBorderSize;    // frame border size combo box
   TGColorSelect       *fFuncColor;          // function color selection widget
   TGLineWidthComboBox *fFuncWidth;          // function width number entry
   TGLineStyleComboBox *fFuncStyle;          // function line style combo box
   TGCheckButton       *fDrawBorder;         // function border show/hide check box
   TGNumberEntry       *fEndErrorSize;       // end error size number entry
   TGNumberEntry       *fErrorX;             // error along abscissa number entry
   TGNumberEntry       *fTimeOffsetDate;     // axis time offset (mm/dd/yyyy) number entry
   TGNumberEntry       *fTimeOffsetTime;     // axis time offset (hh:mm:ss) number entry
   TGCheckButton       *fStripDecimals;      // axis label's decimal part show/hide check box
   TGTextButton        *fApplyOnXYZ;         // axis apply on XYZ text button
   TGNumberEntry       *fXTitleSize;         // X axis title size number entry
   TGCheckButton       *fXTitleSizeInPixels; // X axis title size check box
   TGColorSelect       *fXTitleColor;        // X axis title color selection widget
   TGNumberEntry       *fXTitleOffset;       // X axis title offset number entry
   TGFontTypeComboBox  *fXTitleFont;         // X axis title font combo box
   TGNumberEntry       *fXLabelSize;         // X axis label size number entry
   TGCheckButton       *fXLabelSizeInPixels; // X axis label size check box
   TGColorSelect       *fXLabelColor;        // X axis label color selection widget
   TGNumberEntry       *fXLabelOffset;       // X axis label offset number entry
   TGFontTypeComboBox  *fXLabelFont;         // X axis label font combo box
   TGColorSelect       *fXAxisColor;         // X axis color selection widget
   TGNumberEntry       *fXTickLength;        // X axis tick length number entry
   TGCheckButton       *fOptLogx;            // X axis logarithmic scale check box
   TGNumberEntry       *fXNdivMain;          // X axis primary division number entry
   TGNumberEntry       *fXNdivSub;           // X axis secondary division number entry
   TGNumberEntry       *fXNdivSubSub;        // X axis tertiary division number entry
   TGCheckButton       *fXNdivisionsOptimize;// X axis division optimization check box
   TGNumberEntry       *fYTitleSize;         // Y axis title size number entry
   TGCheckButton       *fYTitleSizeInPixels; // Y axis title size check box
   TGColorSelect       *fYTitleColor;        // Y axis title color selection widget
   TGNumberEntry       *fYTitleOffset;       // Y axis title offset number entry
   TGFontTypeComboBox  *fYTitleFont;         // Y axis title font combo box
   TGNumberEntry       *fYLabelSize;         // Y axis label size number entry
   TGCheckButton       *fYLabelSizeInPixels; // Y axis label size check box
   TGColorSelect       *fYLabelColor;        // Y axis label color selection widget
   TGNumberEntry       *fYLabelOffset;       // Y axis label offset number entry
   TGFontTypeComboBox  *fYLabelFont;         // Y axis label font combo box
   TGColorSelect       *fYAxisColor;         // Y axis color selection widget
   TGNumberEntry       *fYTickLength;        // Y axis tick length number entry
   TGCheckButton       *fOptLogy;            // Y axis logarithmic scale check box
   TGNumberEntry       *fYNdivMain;          // Y axis primary division number entry
   TGNumberEntry       *fYNdivSub;           // Y axis secondary division number entry
   TGNumberEntry       *fYNdivSubSub;        // Y axis tertiary division number entry
   TGCheckButton       *fYNdivisionsOptimize;// Y axis division optimization check box
   TGNumberEntry       *fZTitleSize;         // Z axis title size number entry
   TGCheckButton       *fZTitleSizeInPixels; // Z axis title size check box
   TGColorSelect       *fZTitleColor;        // Z axis title color selection widget
   TGNumberEntry       *fZTitleOffset;       // Z axis title offset number entry
   TGFontTypeComboBox  *fZTitleFont;         // Z axis title font combo box
   TGNumberEntry       *fZLabelSize;         // Z axis label size number entry
   TGCheckButton       *fZLabelSizeInPixels; // Z axis label size check box
   TGColorSelect       *fZLabelColor;        // Z axis label color selection widget
   TGNumberEntry       *fZLabelOffset;       // Z axis label offset number entry
   TGFontTypeComboBox  *fZLabelFont;         // Z axis label font combo box
   TGColorSelect       *fZAxisColor;         // Z axis color selection widget
   TGNumberEntry       *fZTickLength;        // Z axis tick length number entry
   TGCheckButton       *fOptLogz;            // Z axis logarithmic scale check box
   TGNumberEntry       *fZNdivMain;          // Z axis primary division number entry
   TGNumberEntry       *fZNdivSub;           // Z axis secondary division number entry
   TGNumberEntry       *fZNdivSubSub;        // Z axis tertiary division number entry
   TGCheckButton       *fZNdivisionsOptimize;// Z axis division optimization check box
   TGCheckButton       *fOptTitle;           // title show/hide check box
   TGColorSelect       *fTitleColor;         // title fill color selection widget
   TGedPatternSelect   *fTitleStyle;         // title fill pattern selection widget
   TGColorSelect       *fTitleTextColor;     // title text color selection widget
   TGNumberEntry       *fTitleFontSize;      // title font size number entry
   TGCheckButton       *fTitleFontSizeInPixels; // title font size check box
   TGFontTypeComboBox  *fTitleFont;          // title font combo box
   TGComboBox          *fTitleAlign;         // title align combo box
   TGLabel             *fTitleBorderSizeLabel;  // label 'Title's'
   TGLineWidthComboBox *fTitleBorderSize;    // title border size combo box
   TGNumberEntry       *fTitleX;             // title abscissa number entry
   TGNumberEntry       *fTitleY;             // title ordinate number entry
   TGNumberEntry       *fTitleW;             // title width number entry
   TGNumberEntry       *fTitleH;             // title height number entry
   TGLabel             *fLegendBorderSizeLabel; // label 'Legend's'
   TGLineWidthComboBox *fLegendBorderSize;   // legend border size combo box
   TGColorSelect       *fStatColor;          // stats fill color selection widget
   TGedPatternSelect   *fStatStyle;          // stats fill pattern selection widget
   TGColorSelect       *fStatTextColor;      // stats text color selection widget
   TGNumberEntry       *fStatFontSize;       // stats font size number entry
   TGCheckButton       *fStatFontSizeInPixels;  // stats font size check box
   TGFontTypeComboBox  *fStatFont;           // stats font type combo box
   TGNumberEntry       *fStatX;              // stats abscissa number entry
   TGNumberEntry       *fStatY;              // stats ordinate number entry
   TGNumberEntry       *fStatW;              // stats width number entry
   TGNumberEntry       *fStatH;              // stats height number entry
   TGLabel             *fStatBorderSizeLabel;   // label 'stats' shadow
   TGLineWidthComboBox *fStatBorderSize;     // stats border size combo box
   TGCheckButton       *fOptStatName;        // stats name show/hide check box
   TGCheckButton       *fOptStatEntries;     // stats entries show/hide check box
   TGCheckButton       *fOptStatOverflow;    // stats overflow show/hide check box
   TGCheckButton       *fOptStatMean;        // stats mean show/hide check box
   TGCheckButton       *fOptStatUnderflow;   // stats underflow show/hide check box
   TGCheckButton       *fOptStatRMS;         // stats RMS show/hide check box
   TGCheckButton       *fOptStatSkewness;    // stats Skewness show/hide check box
   TGCheckButton       *fOptStatIntegral;    // stats integral show/hide check box
   TGCheckButton       *fOptStatKurtosis;    // stats kurtosis show/hide check box
   TGCheckButton       *fOptStatErrors;      // stats errors check box
   TGLabel             *fStatFormatLabel;    // label 'stats format'
   TGTextEntry         *fStatFormat;         // stats format text entry
   TGCheckButton       *fOptFitValues;       // fit values show/hide check box
   TGCheckButton       *fOptFitErrors;       // fit errors check box
   TGCheckButton       *fOptFitProbability;  // fit probability show/hide check box
   TGCheckButton       *fOptFitChi;          // fit Chi show/hide check box
   TGLabel             *fFitFormatLabel;     // label 'fit format'
   TGTextEntry         *fFitFormat;          // fit format text entry
   TGTextEntry         *fHeaderPS;           // ps/pdf header text entry
   TGTextEntry         *fTitlePS;            // ps/pdf title text entry
   TGButtonGroup       *fColorModelPS;       // ps/pdf color model button group
   TGRadioButton       *fColorModelPSRGB;    // RGB radio button
   TGRadioButton       *fColorModelPSCMYK;   // CMYB radio button
   TGNumberEntry       *fLineScalePS;        // ps/pdf line scale number entry
   TGComboBox          *fPaperSizePredef;    // ps/pdf paper size combo box
   Bool_t               fPaperSizeEnCm;      //=kTRUE if the paper size is in cm
   TGNumberEntry       *fPaperSizeX;         // ps/pdf paper size width number entry
   TGNumberEntry       *fPaperSizeY;         // ps/pdf paper size height number entry

   TGLayoutHints       *fLayoutExpandX;               // often used layout
   TGLayoutHints       *fLayoutExpandXMargin;         // often used layout
   TGLayoutHints       *fLayoutExpandXY;              // often used layout
   TGLayoutHints       *fLayoutExpandXYMargin;        // often used layout
   TGLayoutHints       *fLayoutExpandXCenterYMargin;  // often used layout

   void AddMenus(TGCompositeFrame *p);
   void DoNew();
   void DoDelete();
   void DoRename();
   void DoExport();
   void DoExit();
   void DoHelp(Int_t i);
   void DoImportCanvas();
   void CreateMacro();

   void AddToolbar(TGCompositeFrame *p);

   void AddTopLevelInterface(TGCompositeFrame *cf);
   void UpdateStatusBar();
   void UpdateEditor(Int_t tabNum);
   void ConnectAll();
   void DisconnectAll();
   void ConnectEditor(Int_t tabNum);
   void DisconnectEditor(Int_t tabNum);
   void DoEditor();

   void AddEdition(TGCompositeFrame *p);

   void CreateTabGeneral(TGCompositeFrame *tab);
   void AddGeneralLine(TGCompositeFrame *f);
   void AddGeneralFill(TGCompositeFrame *f);
   void AddGeneralText(TGCompositeFrame *f);
   void AddGeneralMarker(TGCompositeFrame *f);

   void CreateTabCanvas(TGCompositeFrame *tab);
   void AddCanvasFill(TGCompositeFrame *f);
   void AddCanvasGeometry(TGCompositeFrame *f);
   void AddCanvasBorder(TGCompositeFrame *f);
   void AddCanvasDate(TGCompositeFrame *f);

   void CreateTabPad(TGCompositeFrame *tab);
   void AddPadMargin(TGCompositeFrame *f);
   void AddPadBorder(TGCompositeFrame *f);
   void AddPadFill(TGCompositeFrame *f);
   void AddPadTicks(TGCompositeFrame *f);
   void AddPadGrid(TGCompositeFrame *f);

   void CreateTabHistos(TGCompositeFrame *tab);
   void CreateTabHistosHistos(TGCompositeFrame *tab);
   void AddHistosHistosFill(TGCompositeFrame *f);
   void AddHistosHistosLine(TGCompositeFrame *f);
   void AddHistosHistosBar(TGCompositeFrame *f);
   void AddHistosHistosContours(TGCompositeFrame *f);
   void AddHistosHistosAxis(TGCompositeFrame *f);
   void AddHistosHistosLegoInnerR(TGCompositeFrame *f);

   void CreateTabHistosFrames(TGCompositeFrame *tab);
   void AddHistosFramesFill(TGCompositeFrame *f);
   void AddHistosFramesLine(TGCompositeFrame *f);
   void AddHistosFramesBorder(TGCompositeFrame *f);

   void CreateTabHistosGraphs(TGCompositeFrame *tab);
   void AddHistosGraphsLine(TGCompositeFrame *f);
   void AddHistosGraphsBorder(TGCompositeFrame *f);
   void AddHistosGraphsErrors(TGCompositeFrame *f);

   void CreateTabAxis(TGCompositeFrame *tab);
   void CreateTabAxisX(TGCompositeFrame *tab);
   void AddAxisXTitle(TGCompositeFrame *f);
   void AddAxisXLine(TGCompositeFrame *f);
   void AddAxisXLabels(TGCompositeFrame *f);
   void AddAxisXDivisions(TGCompositeFrame *f);

   void CreateTabAxisY(TGCompositeFrame *tab);
   void AddAxisYTitle(TGCompositeFrame *f);
   void AddAxisYLine(TGCompositeFrame *f);
   void AddAxisYLabels(TGCompositeFrame *f);
   void AddAxisYDivisions(TGCompositeFrame *f);

   void CreateTabAxisZ(TGCompositeFrame *tab);
   void AddAxisZTitle(TGCompositeFrame *f);
   void AddAxisZLine(TGCompositeFrame *f);
   void AddAxisZLabels(TGCompositeFrame *f);
   void AddAxisZDivisions(TGCompositeFrame *f);

   void CreateTabTitle(TGCompositeFrame *tab);
   void AddTitleFill(TGCompositeFrame *f);
   void AddTitleBorderSize(TGCompositeFrame *f);
   void AddTitleText(TGCompositeFrame *f);
   void AddTitleGeometry(TGCompositeFrame *f);

   void CreateTabStats(TGCompositeFrame *tab);
   void AddStatsFill(TGCompositeFrame *f);
   void AddStatsText(TGCompositeFrame *f);
   void AddStatsGeometry(TGCompositeFrame *f);
   void AddStatsStats(TGCompositeFrame *f);
   void AddStatsFit(TGCompositeFrame *f);

   void CreateTabPsPdf(TGCompositeFrame *tab);
   void AddPsPdfHeader(TGCompositeFrame *f);
   void AddPsPdfTitle(TGCompositeFrame *f);
   void AddPsPdfColorModel(TGCompositeFrame *f);
   void AddPsPdfPaperSize(TGCompositeFrame *f);
   void AddPsPdfLineScale(TGCompositeFrame *f);

   void                 AddTitle(TGCompositeFrame *f, const char *s);
   TGColorSelect       *AddColorEntry(TGCompositeFrame *f, Int_t id);
   TGedPatternSelect   *AddFillStyleEntry(TGCompositeFrame *f, Int_t id);
   TGedMarkerSelect    *AddMarkerStyleEntry(TGCompositeFrame *f, Int_t id);
   TGComboBox          *AddMarkerSizeEntry(TGCompositeFrame *f, Int_t id);
   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);
   TGLineWidthComboBox *AddLineWidthEntry(TGCompositeFrame *f, Int_t id);
   TGLineStyleComboBox *AddLineStyleEntry(TGCompositeFrame *f, Int_t id);
   TGTextButton        *AddTextButton(TGCompositeFrame *f, const char *s, Int_t id);
   TGFontTypeComboBox  *AddFontTypeEntry(TGCompositeFrame *f, Int_t id);
   TGComboBox          *AddTextAlignEntry(TGCompositeFrame *f, Int_t id);
   TGButtonGroup       *AddBorderModeEntry(TGCompositeFrame *f, Int_t id1, Int_t id2, Int_t id3);
   TGComboBox          *AddDateFormatEntry(TGCompositeFrame *f, Int_t id);
   TGCheckButton       *AddCheckButton(TGCompositeFrame *f, const char *s, Int_t id, Int_t e1 = 0, Int_t e2 = 2);
   TGTextEntry         *AddTextEntry(TGCompositeFrame *f, const char *s, Int_t id);
   TGComboBox          *AddPaperSizeEntry(TGCompositeFrame *f, Int_t id);

public:
   TStyleManager(const TGWindow *);
   virtual ~TStyleManager();

   static void Show();
   static void Terminate();
   static TStyleManager *&GetSM();

   void Init();
   void Hide();

   void SetCurSelStyle(TStyle *style) { fCurSelStyle = style; }
   void SetLastChoice(Bool_t choice)  { fLastChoice = choice; }

   void DoMenu(Int_t menuID);                // SLOT
   void DoImportMacro(Bool_t create);        // SLOT
   void DoListSelect();                      // SLOT
   void DoRealTime(Bool_t b);                // SLOT
   void DoPreview(Bool_t b);                 // SLOT
   void DoPreviewClosed();                   // SLOT
   void DoMakeDefault();                     // SLOT
   void DoApplyOnSelect(Int_t i);            // SLOT
   void DoApplyOn();                         // SLOT
   void DoMoreLess();                        // SLOT
   void DoEditionUpdatePreview();            // SLOT
   void DoChangeTab(Int_t i);                // SLOT
   void DoChangeAxisTab(Int_t i);            // SLOT
   void BuildList(TStyle *style = 0);
   void DoSelectNoCanvas();                  // SLOT
   void DoSelectCanvas(TVirtualPad *pad,
         TObject *obj, Int_t mouseButton);   // SLOT
   void CloseWindow();                       // SLOT

// GENERAL
   void ModFillColor();                      // SLOT
   void ModFillStyle();                      // SLOT
   void ModHatchesLineWidth();               // SLOT
   void ModHatchesSpacing();                 // SLOT
   void ModMarkerColor();                    // SLOT
   void ModMarkerStyle();                    // SLOT
   void ModMarkerSize();                     // SLOT
   void ModScreenFactor();                   // SLOT
   void ModLineColor();                      // SLOT
   void ModLineWidth();                      // SLOT
   void ModLineStyle();                      // SLOT
   void ModLineStyleEdit();                  // SLOT
   void ModTextColor();                      // SLOT
   void ModTextSize();                       // SLOT
   void ModTextSizeInPixels(Bool_t b);       // SLOT
   void ModTextFont();                       // SLOT
   void ModTextAlign();                      // SLOT
   void ModTextAngle();                      // SLOT

// CANVAS
   void ModCanvasColor();                    // SLOT
   void ModCanvasDefX();                     // SLOT
   void ModCanvasDefY();                     // SLOT
   void ModCanvasDefW();                     // SLOT
   void ModCanvasDefH();                     // SLOT
   void ModCanvasBorderMode();               // SLOT
   void ModCanvasBorderSize();               // SLOT
   void ModOptDateBool();                    // SLOT
   void ModAttDateTextColor();               // SLOT
   void ModAttDateTextSize();                // SLOT
   void ModAttDateTextSizeInPixels(Bool_t b);// SLOT
   void ModOptDateFormat();                  // SLOT
   void ModAttDateTextFont();                // SLOT
   void ModAttDateTextAngle();               // SLOT
   void ModAttDateTextAlign();               // SLOT
   void ModDateX();                          // SLOT
   void ModDateY();                          // SLOT

// PAD
   void ModPadTopMargin();                   // SLOT
   void ModPadBottomMargin();                // SLOT
   void ModPadLeftMargin();                  // SLOT
   void ModPadRightMargin();                 // SLOT
   void ModPadBorderMode();                  // SLOT
   void ModPadBorderSize();                  // SLOT
   void ModPadColor();                       // SLOT
   void ModPadTickX();                       // SLOT
   void ModPadTickY();                       // SLOT
   void ModPadGridX();                       // SLOT
   void ModPadGridY();                       // SLOT
   void ModGridColor();                      // SLOT
   void ModGridWidth();                      // SLOT
   void ModGridStyle();                      // SLOT

 // HISTOS HISTOS
   void ModHistFillColor();                  // SLOT
   void ModHistFillStyle();                  // SLOT
   void ModHistLineColor();                  // SLOT
   void ModHistLineWidth();                  // SLOT
   void ModHistLineStyle();                  // SLOT
   void ModBarWidth();                       // SLOT
   void ModBarOffset();                      // SLOT
   void ModHistMinimumZero();                // SLOT
   void ModPaintTextFormat();                // SLOT
   void ModNumberContours();                 // SLOT
   void ModLegoInnerR();                     // SLOT

// HISTOS FRAMES
   void ModFrameFillColor();                 // SLOT
   void ModFrameFillStyle();                 // SLOT
   void ModFrameLineColor();                 // SLOT
   void ModFrameLineWidth();                 // SLOT
   void ModFrameLineStyle();                 // SLOT
   void ModPaletteEdit();                    // SLOT
   void ModFrameBorderMode();                // SLOT
   void ModFrameBorderSize();                // SLOT

// HISTOS GRAPHS
   void ModFuncColor();                      // SLOT
   void ModFuncWidth();                      // SLOT
   void ModFuncStyle();                      // SLOT
   void ModDrawBorder();                     // SLOT
   void ModEndErrorSize();                   // SLOT
   void ModErrorX();                         // SLOT

// AXIS
   void ModTimeOffset();                     // SLOT
   void ModStripDecimals();                  // SLOT
   void ModApplyOnXYZ();                     // SLOT

// AXIS X AXIS
   void ModXTitleSize();                     // SLOT
   void ModXTitleSizeInPixels(Bool_t b);     // SLOT
   void ModXTitleColor();                    // SLOT
   void ModXTitleOffset();                   // SLOT
   void ModXTitleFont();                     // SLOT
   void ModXLabelSize();                     // SLOT
   void ModXLabelSizeInPixels(Bool_t b);     // SLOT
   void ModXLabelColor();                    // SLOT
   void ModXLabelOffset();                   // SLOT
   void ModXLabelFont();                     // SLOT
   void ModXAxisColor();                     // SLOT
   void ModXTickLength();                    // SLOT
   void ModOptLogx();                        // SLOT
   void ModXNdivisions();                    // SLOT

// AXIS Y AXIS
   void ModYTitleSize();                     // SLOT
   void ModYTitleSizeInPixels(Bool_t b);     // SLOT
   void ModYTitleColor();                    // SLOT
   void ModYTitleOffset();                   // SLOT
   void ModYTitleFont();                     // SLOT
   void ModYLabelSize();                     // SLOT
   void ModYLabelSizeInPixels(Bool_t b);     // SLOT
   void ModYLabelColor();                    // SLOT
   void ModYLabelOffset();                   // SLOT
   void ModYLabelFont();                     // SLOT
   void ModYAxisColor();                     // SLOT
   void ModYTickLength();                    // SLOT
   void ModOptLogy();                        // SLOT
   void ModYNdivisions();                    // SLOT

// AXIS Z AXIS
   void ModZTitleSize();                     // SLOT
   void ModZTitleSizeInPixels(Bool_t b);     // SLOT
   void ModZTitleColor();                    // SLOT
   void ModZTitleOffset();                   // SLOT
   void ModZTitleFont();                     // SLOT
   void ModZLabelSize();                     // SLOT
   void ModZLabelSizeInPixels(Bool_t b);     // SLOT
   void ModZLabelColor();                    // SLOT
   void ModZLabelOffset();                   // SLOT
   void ModZLabelFont();                     // SLOT
   void ModZAxisColor();                     // SLOT
   void ModZTickLength();                    // SLOT
   void ModOptLogz();                        // SLOT
   void ModZNdivisions();                    // SLOT

// TITLES
   void ModOptTitle();                       // SLOT
   void ModTitleFillColor();                 // SLOT
   void ModTitleStyle();                     // SLOT
   void ModTitleTextColor();                 // SLOT
   void ModTitleFontSize();                  // SLOT
   void ModTitleFontSizeInPixels(Bool_t b);  // SLOT
   void ModTitleFont();                      // SLOT
   void ModTitleAlign();                     // SLOT
   void ModTitleBorderSize();                // SLOT
   void ModTitleX();                         // SLOT
   void ModTitleY();                         // SLOT
   void ModTitleW();                         // SLOT
   void ModTitleH();                         // SLOT
   void ModLegendBorderSize();               // SLOT

// STATS
   void ModStatColor(Pixel_t color);         // SLOT
   void ModStatStyle(Style_t pattern);       // SLOT
   void ModStatTextColor(Pixel_t color);     // SLOT
   void ModStatFontSize();                   // SLOT
   void ModStatFontSizeInPixels(Bool_t b);   // SLOT
   void ModStatFont();                       // SLOT
   void ModStatX();                          // SLOT
   void ModStatY();                          // SLOT
   void ModStatW();                          // SLOT
   void ModStatH();                          // SLOT
   void ModStatBorderSize();                 // SLOT
   void ModOptStat();                        // SLOT
   void ModStatFormat(const char *sformat);  // SLOT
   void ModOptFit();                         // SLOT
   void ModFitFormat(const char *fitformat); // SLOT

// PS / PDF
   void ModHeaderPS();                       // SLOT
   void ModTitlePS();                        // SLOT
   void ModColorModelPS();                   // SLOT
   void ModLineScalePS();                    // SLOT
   void ModPaperSizePredef();                // SLOT
   void ModPaperSizeXY();                    // SLOT

   ClassDef(TStyleManager, 0) // Graphical User Interface for managing styles
};

#endif