TStyleManager.h

Go to the documentation of this file.
00001 // @(#)root/ged:$Id: TStyleManager.h,v 1.0 2005/09/08
00002 // Author: Denis Favre-Miville   08/09/05
00003 
00004 /*************************************************************************
00005  * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers.               *
00006  * All rights reserved.                                                  *
00007  *                                                                       *
00008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00010  *************************************************************************/
00011 
00012 #ifndef ROOT_TStyleManager
00013 #define ROOT_TStyleManager
00014 
00015 //////////////////////////////////////////////////////////////////////////
00016 //                                                                      //
00017 //  TStyleManager                                                       //
00018 //                                                                      //
00019 //  This class provides a Graphical User Interface to manage styles     //
00020 //       in ROOT. It allows the user to edit styles, import / export    //
00021 //       them to macros, apply a style on the selected object or on     //
00022 //       all canvases, change gStyle.                                   //
00023 //                                                                      //
00024 //////////////////////////////////////////////////////////////////////////
00025 
00026 #ifndef ROOT_TGFrame
00027 #include "TGFrame.h"
00028 #endif
00029 #ifndef ROOT_TGNumberEntry
00030 #include "TGNumberEntry.h"
00031 #endif
00032 
00033 class TGButtonGroup;
00034 class TGCheckButton;
00035 class TGColorSelect;
00036 class TGComboBox;
00037 class TGCompositeFrame;
00038 class TGedMarkerSelect;
00039 class TGedPatternSelect;
00040 class TGFileInfo;
00041 class TGFontTypeComboBox;
00042 class TGHButtonGroup;
00043 class TGHorizontal3DLine;
00044 class TGHorizontalFrame;
00045 class TGLabel;
00046 class TGLayoutHints;
00047 class TGLineStyleComboBox;
00048 class TGLineWidthComboBox;
00049 class TGMainFrame;
00050 class TGMatrixLayout;
00051 class TGMenuBar;
00052 class TGPicture;
00053 class TGPictureButton;
00054 class TGPopupMenu;
00055 class TGRadioButton;
00056 class TGStatusBar;
00057 class TGTab;
00058 class TGTextButton;
00059 class TGTextEntry;
00060 class TGToolBar;
00061 class TGVerticalFrame;
00062 class TList;
00063 class TObject;
00064 class TStyle;
00065 class TStylePreview;
00066 class TVirtualPad;
00067 
00068 class TStyleManager : public TGMainFrame {
00069 
00070 private:
00071    static TStyleManager *fgStyleManager;     // singleton style manager
00072 
00073    TStyle              *fCurSelStyle;        // current selected style
00074    Bool_t               fLastChoice;         //=kTRUE if the user choose OK in the last TStyleDialog
00075    Bool_t               fRealTimePreview;    //=kTRUE if auto refreshed preview
00076    Int_t                fCurTabNum;          // current opened tab number
00077    Int_t                fCurTabAxisNum;      // current opened axis tab number
00078    UInt_t               fSMWidth;            // style manager's width
00079    UInt_t               fSMHeight;           // style manager's height
00080    Bool_t               fStyleChanged;       //=kTRUE if the style has been modified
00081 
00082    Bool_t               fMoreAndNotLess;     //=kTRUE when editor is open
00083    Bool_t               fSigSlotConnected;   //=kTRUE when signal/slots connected
00084    Bool_t               fAllAndNotCurrent;   //=kTRUE when apply on 'All canvases'
00085    TList               *fTrashListFrame;     // to avoid memory leak
00086    TList               *fTrashListLayout;    // to avoid memory leak
00087 
00088    TGMenuBar           *fMenuBar;            // the main window menu bar
00089    TGPopupMenu         *fMenuStyle;          // the 'Style' popup menu
00090    TGPopupMenu         *fImportCascade;      // Cascaded menu 'Import'
00091    TGPopupMenu         *fMenuHelp;           // the 'Help' popup menu
00092 
00093    TGToolBar           *fToolBar;            // the tool bar
00094    TGPictureButton     *fToolBarNew;         // tool bar 'New' button
00095    TGPictureButton     *fToolBarDelete;      // tool bar 'Delete' button
00096    TGPictureButton     *fToolBarImportCanvas;// tool bar 'Import from canvas' button
00097    TGPictureButton     *fToolBarImportMacro; // tool bar 'Import from macro' button
00098    TGPictureButton     *fToolBarExport;      // tool bar 'Export' button
00099    TGPictureButton     *fToolBarHelp;        // tool bar 'Help' button
00100    const TGPicture     *fToolBarNewPic;      // tool bar 'New' picture
00101    const TGPicture     *fToolBarDeletePic;   // tool bar 'Delete' picture
00102    const TGPicture     *fToolBarImportCanvasPic;// tool bar 'Import from canvas' picture
00103    const TGPicture     *fToolBarImportMacroPic; // tool bar 'Import from macro' picture
00104    const TGPicture     *fToolBarExportPic;   // tool bar 'Export' picture
00105    const TGPicture     *fToolBarHelpPic;     // tool bar 'Help' picture
00106    TGHorizontal3DLine  *fHorizontal3DLine;   // a line under the tool bar
00107 
00108    TGLabel             *fListLabel;          // label 'Available Styles:'
00109    TGComboBox          *fListComboBox;       // list of available styles
00110    TGFileInfo          *fCurMacro;           // current macro
00111    TGLabel             *fCurStylabel;        // label 'gStyle is set to:'
00112    TGTextEntry         *fCurStyle;           // label showing gStyle's name
00113    TGLabel             *fCurPadLabel;        // label 'Canvas:'
00114    TGTextEntry         *fCurPadTextEntry;    // label showing current pad's name
00115    TVirtualPad         *fCurPad;             // current pad
00116    TGLabel             *fCurObjLabel;        // label 'Object:'
00117    TGTextEntry         *fCurObjTextEntry;    // label showing current object's name
00118    TObject             *fCurObj;             // current object
00119    TGCheckButton       *fPreviewButton;      // if checked, preview is visible
00120    TGCheckButton       *fPreviewRealTime;    // if checked, real time preview
00121    TStylePreview       *fPreviewWindow;      // preview
00122    TGPictureButton     *fMakeDefault;        // selected style becom gStyle
00123    const TGPicture     *fMakeDefaultPic;     // button picture
00124 
00125    TGHButtonGroup      *fApplyOnGroup;       // 'Apply on' button group
00126    TGRadioButton       *fApplyOnAll;         // 'Apply on' button group
00127    TGRadioButton       *fApplyOnSel;         // 'Apply on' button group
00128    TGTextButton        *fApplyOnButton;      // apply style on object(s)
00129 
00130    TGTextButton        *fMoreLess;           // open/close the editor
00131    TGStatusBar         *fStatusBar;          // status bar
00132 
00133    TGVerticalFrame     *fEditionFrame;       // editor
00134    TGTab               *fEditionTab;         // editor's tabs
00135    TGTab               *fHistosTab;          // histos' tabs
00136    TGTab               *fAxisTab;            // axis' tabs
00137    TGHorizontalFrame   *fEditionButtonFrame; // editor's buttons
00138 
00139    TGTextButton        *fEditionHelp;           // help button
00140    TGTextButton        *fEditionUpdatePreview;  // update preview button
00141    TGTextButton        *fEditionReset;          // reset button
00142 
00143    TGColorSelect       *fFillColor;          // general fill color selection widget
00144    TGedPatternSelect   *fFillStyle;          // general fill pattern selection widget
00145    TGLineWidthComboBox *fHatchesLineWidth;   // general hatches width combo box
00146    TGNumberEntry       *fHatchesSpacing;     // general hatches spacing number entry
00147    TGColorSelect       *fTextColor;          // general text color selection widget
00148    TGNumberEntry       *fTextSize;           // general text size number entry
00149    TGCheckButton       *fTextSizeInPixels;   // general text size check box
00150    TGFontTypeComboBox  *fTextFont;           // general text font combo box
00151    TGComboBox          *fTextAlign;          // general text align combo box
00152    TGNumberEntry       *fTextAngle;          // general text angle number entry
00153    TGColorSelect       *fLineColor;          // general line color selection widget
00154    TGLineWidthComboBox *fLineWidth;          // general line width combo box
00155    TGLineStyleComboBox *fLineStyle;          // general line style combo box
00156    TGTextButton        *fLineStyleEdit;      // general line style editor open button
00157    TGColorSelect       *fMarkerColor;        // general marker color selection widget
00158    TGedMarkerSelect    *fMarkerStyle;        // general marker style entry
00159    TGComboBox          *fMarkerSize;         // general marker size combo box
00160    TGNumberEntry       *fScreenFactor;       // general screen factor number entry
00161    TGColorSelect       *fCanvasColor;        // canvas fill color selection widget
00162    TGNumberEntry       *fCanvasDefX;         // canvas abscissa number entry
00163    TGNumberEntry       *fCanvasDefY;         // canvas ordinate number entry
00164    TGNumberEntry       *fCanvasDefW;         // canvas width number entry
00165    TGNumberEntry       *fCanvasDefH;         // canvas height number entry
00166    TGButtonGroup       *fCanvasBorderMode;   // canvas border mode button group
00167    TGLineWidthComboBox *fCanvasBorderSize;   // canvas border size combo box
00168    TGCheckButton       *fOptDateBool;        // canvas date show/hide check box
00169    TGColorSelect       *fAttDateTextColor;   // canvas date color selection widget
00170    TGNumberEntry       *fAttDateTextSize;    // canvas date size number entry
00171    TGCheckButton       *fAttDateTextSizeInPixels;  // canvas date size check box
00172    TGComboBox          *fOptDateFormat;      // canvas date format text entry
00173    TGFontTypeComboBox  *fAttDateTextFont;    // canvas date font combo box
00174    TGNumberEntry       *fAttDateTextAngle;   // canvas date angle number entry
00175    TGComboBox          *fAttDateTextAlign;   // canvas date align combo box
00176    TGNumberEntry       *fDateX;              // canvas date abscissa number entry
00177    TGNumberEntry       *fDateY;              // canvas date ordinate number entry
00178    TGNumberEntry       *fPadLeftMargin;      // pad left margin number entry
00179    TGNumberEntry       *fPadRightMargin;     // pad right margin number entry
00180    TGNumberEntry       *fPadTopMargin;       // pad top margin number entry
00181    TGNumberEntry       *fPadBottomMargin;    // pad bottom margin number entry
00182    TGButtonGroup       *fPadBorderMode;      // pad border mode button group
00183    TGLineWidthComboBox *fPadBorderSize;      // pad border size combo box
00184    TGColorSelect       *fPadColor;           // pad fill color selection widget
00185    TGCheckButton       *fPadTickX;           // pad ticks along X show/hide check box
00186    TGCheckButton       *fPadTickY;           // pad ticks along Y show/hide check box
00187    TGCheckButton       *fPadGridX;           // pad grid along X show/hide check box
00188    TGCheckButton       *fPadGridY;           // pad grid along Y show/hide check box
00189    TGColorSelect       *fGridColor;          // pad grid line color selection widget
00190    TGLineWidthComboBox *fGridWidth;          // pad grid line width combo box
00191    TGLineStyleComboBox *fGridStyle;          // pad grid line style combo box
00192    TGColorSelect       *fHistFillColor;      // histograms fill color selection widget
00193    TGedPatternSelect   *fHistFillStyle;      // histograms fill pattern selection widget
00194    TGColorSelect       *fHistLineColor;      // histograms fill color selection widget
00195    TGLineWidthComboBox *fHistLineWidth;      // histograms line width combo box
00196    TGLineStyleComboBox *fHistLineStyle;      // histograms line style combo box
00197    TGNumberEntry       *fBarWidth;           // histograms bar width number entry
00198    TGNumberEntry       *fBarOffset;          // histograms bar offset number entry
00199    TGCheckButton       *fHistMinimumZero;    // histograms minimum zero check box
00200    TGTextEntry         *fPaintTextFormat;    // histograms format text entry
00201    TGNumberEntry       *fNumberContours;     // histograms number of contours number entry
00202    TGNumberEntry       *fLegoInnerR;         // histograms lego inner radius number entry
00203    TGColorSelect       *fFrameFillColor;     // frame fill color selection widget
00204    TGedPatternSelect   *fFrameFillStyle;     // frame fill pattern selection widget
00205    TGColorSelect       *fFrameLineColor;     // frame line color selection widget
00206    TGLineWidthComboBox *fFrameLineWidth;     // frame line width combo box
00207    TGLineStyleComboBox *fFrameLineStyle;     // frame line style combo box
00208    TGTextButton        *fPaletteEdit;        // palette editor open button
00209    TGButtonGroup       *fFrameBorderMode;    // frame border mode button group
00210    TGLineWidthComboBox *fFrameBorderSize;    // frame border size combo box
00211    TGColorSelect       *fFuncColor;          // function color selection widget
00212    TGLineWidthComboBox *fFuncWidth;          // function width number entry
00213    TGLineStyleComboBox *fFuncStyle;          // function line style combo box
00214    TGCheckButton       *fDrawBorder;         // function border show/hide check box
00215    TGNumberEntry       *fEndErrorSize;       // end error size number entry
00216    TGNumberEntry       *fErrorX;             // error along abscissa number entry
00217    TGNumberEntry       *fTimeOffsetDate;     // axis time offset (mm/dd/yyyy) number entry
00218    TGNumberEntry       *fTimeOffsetTime;     // axis time offset (hh:mm:ss) number entry
00219    TGCheckButton       *fStripDecimals;      // axis label's decimal part show/hide check box
00220    TGTextButton        *fApplyOnXYZ;         // axis apply on XYZ text button
00221    TGNumberEntry       *fXTitleSize;         // X axis title size number entry
00222    TGCheckButton       *fXTitleSizeInPixels; // X axis title size check box
00223    TGColorSelect       *fXTitleColor;        // X axis title color selection widget
00224    TGNumberEntry       *fXTitleOffset;       // X axis title offset number entry
00225    TGFontTypeComboBox  *fXTitleFont;         // X axis title font combo box
00226    TGNumberEntry       *fXLabelSize;         // X axis label size number entry
00227    TGCheckButton       *fXLabelSizeInPixels; // X axis label size check box
00228    TGColorSelect       *fXLabelColor;        // X axis label color selection widget
00229    TGNumberEntry       *fXLabelOffset;       // X axis label offset number entry
00230    TGFontTypeComboBox  *fXLabelFont;         // X axis label font combo box
00231    TGColorSelect       *fXAxisColor;         // X axis color selection widget
00232    TGNumberEntry       *fXTickLength;        // X axis tick length number entry
00233    TGCheckButton       *fOptLogx;            // X axis logarithmic scale check box
00234    TGNumberEntry       *fXNdivMain;          // X axis primary division number entry
00235    TGNumberEntry       *fXNdivSub;           // X axis secondary division number entry
00236    TGNumberEntry       *fXNdivSubSub;        // X axis tertiary division number entry
00237    TGCheckButton       *fXNdivisionsOptimize;// X axis division optimization check box
00238    TGNumberEntry       *fYTitleSize;         // Y axis title size number entry
00239    TGCheckButton       *fYTitleSizeInPixels; // Y axis title size check box
00240    TGColorSelect       *fYTitleColor;        // Y axis title color selection widget
00241    TGNumberEntry       *fYTitleOffset;       // Y axis title offset number entry
00242    TGFontTypeComboBox  *fYTitleFont;         // Y axis title font combo box
00243    TGNumberEntry       *fYLabelSize;         // Y axis label size number entry
00244    TGCheckButton       *fYLabelSizeInPixels; // Y axis label size check box
00245    TGColorSelect       *fYLabelColor;        // Y axis label color selection widget
00246    TGNumberEntry       *fYLabelOffset;       // Y axis label offset number entry
00247    TGFontTypeComboBox  *fYLabelFont;         // Y axis label font combo box
00248    TGColorSelect       *fYAxisColor;         // Y axis color selection widget
00249    TGNumberEntry       *fYTickLength;        // Y axis tick length number entry
00250    TGCheckButton       *fOptLogy;            // Y axis logarithmic scale check box
00251    TGNumberEntry       *fYNdivMain;          // Y axis primary division number entry
00252    TGNumberEntry       *fYNdivSub;           // Y axis secondary division number entry
00253    TGNumberEntry       *fYNdivSubSub;        // Y axis tertiary division number entry
00254    TGCheckButton       *fYNdivisionsOptimize;// Y axis division optimization check box
00255    TGNumberEntry       *fZTitleSize;         // Z axis title size number entry
00256    TGCheckButton       *fZTitleSizeInPixels; // Z axis title size check box
00257    TGColorSelect       *fZTitleColor;        // Z axis title color selection widget
00258    TGNumberEntry       *fZTitleOffset;       // Z axis title offset number entry
00259    TGFontTypeComboBox  *fZTitleFont;         // Z axis title font combo box
00260    TGNumberEntry       *fZLabelSize;         // Z axis label size number entry
00261    TGCheckButton       *fZLabelSizeInPixels; // Z axis label size check box
00262    TGColorSelect       *fZLabelColor;        // Z axis label color selection widget
00263    TGNumberEntry       *fZLabelOffset;       // Z axis label offset number entry
00264    TGFontTypeComboBox  *fZLabelFont;         // Z axis label font combo box
00265    TGColorSelect       *fZAxisColor;         // Z axis color selection widget
00266    TGNumberEntry       *fZTickLength;        // Z axis tick length number entry
00267    TGCheckButton       *fOptLogz;            // Z axis logarithmic scale check box
00268    TGNumberEntry       *fZNdivMain;          // Z axis primary division number entry
00269    TGNumberEntry       *fZNdivSub;           // Z axis secondary division number entry
00270    TGNumberEntry       *fZNdivSubSub;        // Z axis tertiary division number entry
00271    TGCheckButton       *fZNdivisionsOptimize;// Z axis division optimization check box
00272    TGCheckButton       *fOptTitle;           // title show/hide check box
00273    TGColorSelect       *fTitleColor;         // title fill color selection widget
00274    TGedPatternSelect   *fTitleStyle;         // title fill pattern selection widget
00275    TGColorSelect       *fTitleTextColor;     // title text color selection widget
00276    TGNumberEntry       *fTitleFontSize;      // title font size number entry
00277    TGCheckButton       *fTitleFontSizeInPixels; // title font size check box
00278    TGFontTypeComboBox  *fTitleFont;          // title font combo box
00279    TGComboBox          *fTitleAlign;         // title align combo box
00280    TGLabel             *fTitleBorderSizeLabel;  // label 'Title's'
00281    TGLineWidthComboBox *fTitleBorderSize;    // title border size combo box
00282    TGNumberEntry       *fTitleX;             // title abscissa number entry
00283    TGNumberEntry       *fTitleY;             // title ordinate number entry
00284    TGNumberEntry       *fTitleW;             // title width number entry
00285    TGNumberEntry       *fTitleH;             // title height number entry
00286    TGLabel             *fLegendBorderSizeLabel; // label 'Legend's'
00287    TGLineWidthComboBox *fLegendBorderSize;   // legend border size combo box
00288    TGColorSelect       *fStatColor;          // stats fill color selection widget
00289    TGedPatternSelect   *fStatStyle;          // stats fill pattern selection widget
00290    TGColorSelect       *fStatTextColor;      // stats text color selection widget
00291    TGNumberEntry       *fStatFontSize;       // stats font size number entry
00292    TGCheckButton       *fStatFontSizeInPixels;  // stats font size check box
00293    TGFontTypeComboBox  *fStatFont;           // stats font type combo box
00294    TGNumberEntry       *fStatX;              // stats abscissa number entry
00295    TGNumberEntry       *fStatY;              // stats ordinate number entry
00296    TGNumberEntry       *fStatW;              // stats width number entry
00297    TGNumberEntry       *fStatH;              // stats height number entry
00298    TGLabel             *fStatBorderSizeLabel;   // label 'stats' shadow
00299    TGLineWidthComboBox *fStatBorderSize;     // stats border size combo box
00300    TGCheckButton       *fOptStatName;        // stats name show/hide check box
00301    TGCheckButton       *fOptStatEntries;     // stats entries show/hide check box
00302    TGCheckButton       *fOptStatOverflow;    // stats overflow show/hide check box
00303    TGCheckButton       *fOptStatMean;        // stats mean show/hide check box
00304    TGCheckButton       *fOptStatUnderflow;   // stats underflow show/hide check box
00305    TGCheckButton       *fOptStatRMS;         // stats RMS show/hide check box
00306    TGCheckButton       *fOptStatSkewness;    // stats Skewness show/hide check box
00307    TGCheckButton       *fOptStatIntegral;    // stats integral show/hide check box
00308    TGCheckButton       *fOptStatKurtosis;    // stats kurtosis show/hide check box
00309    TGCheckButton       *fOptStatErrors;      // stats errors check box
00310    TGLabel             *fStatFormatLabel;    // label 'stats format'
00311    TGTextEntry         *fStatFormat;         // stats format text entry
00312    TGCheckButton       *fOptFitValues;       // fit values show/hide check box
00313    TGCheckButton       *fOptFitErrors;       // fit errors check box
00314    TGCheckButton       *fOptFitProbability;  // fit probability show/hide check box
00315    TGCheckButton       *fOptFitChi;          // fit Chi show/hide check box
00316    TGLabel             *fFitFormatLabel;     // label 'fit format'
00317    TGTextEntry         *fFitFormat;          // fit format text entry
00318    TGTextEntry         *fHeaderPS;           // ps/pdf header text entry
00319    TGTextEntry         *fTitlePS;            // ps/pdf title text entry
00320    TGButtonGroup       *fColorModelPS;       // ps/pdf color model button group
00321    TGRadioButton       *fColorModelPSRGB;    // RGB radio button
00322    TGRadioButton       *fColorModelPSCMYK;   // CMYB radio button
00323    TGNumberEntry       *fLineScalePS;        // ps/pdf line scale number entry
00324    TGComboBox          *fPaperSizePredef;    // ps/pdf paper size combo box
00325    Bool_t               fPaperSizeEnCm;      //=kTRUE if the paper size is in cm
00326    TGNumberEntry       *fPaperSizeX;         // ps/pdf paper size width number entry
00327    TGNumberEntry       *fPaperSizeY;         // ps/pdf paper size height number entry
00328 
00329    TGLayoutHints       *fLayoutExpandX;               // often used layout
00330    TGLayoutHints       *fLayoutExpandXMargin;         // often used layout
00331    TGLayoutHints       *fLayoutExpandXY;              // often used layout
00332    TGLayoutHints       *fLayoutExpandXYMargin;        // often used layout
00333    TGLayoutHints       *fLayoutExpandXCenterYMargin;  // often used layout
00334 
00335    void AddMenus(TGCompositeFrame *p);
00336    void DoNew();
00337    void DoDelete();
00338    void DoRename();
00339    void DoExport();
00340    void DoExit();
00341    void DoHelp(Int_t i);
00342    void DoImportCanvas();
00343    void CreateMacro();
00344 
00345    void AddToolbar(TGCompositeFrame *p);
00346 
00347    void AddTopLevelInterface(TGCompositeFrame *cf);
00348    void UpdateStatusBar();
00349    void UpdateEditor(Int_t tabNum);
00350    void ConnectAll();
00351    void DisconnectAll();
00352    void ConnectEditor(Int_t tabNum);
00353    void DisconnectEditor(Int_t tabNum);
00354    void DoEditor();
00355 
00356    void AddEdition(TGCompositeFrame *p);
00357 
00358    void CreateTabGeneral(TGCompositeFrame *tab);
00359    void AddGeneralLine(TGCompositeFrame *f);
00360    void AddGeneralFill(TGCompositeFrame *f);
00361    void AddGeneralText(TGCompositeFrame *f);
00362    void AddGeneralMarker(TGCompositeFrame *f);
00363 
00364    void CreateTabCanvas(TGCompositeFrame *tab);
00365    void AddCanvasFill(TGCompositeFrame *f);
00366    void AddCanvasGeometry(TGCompositeFrame *f);
00367    void AddCanvasBorder(TGCompositeFrame *f);
00368    void AddCanvasDate(TGCompositeFrame *f);
00369 
00370    void CreateTabPad(TGCompositeFrame *tab);
00371    void AddPadMargin(TGCompositeFrame *f);
00372    void AddPadBorder(TGCompositeFrame *f);
00373    void AddPadFill(TGCompositeFrame *f);
00374    void AddPadTicks(TGCompositeFrame *f);
00375    void AddPadGrid(TGCompositeFrame *f);
00376 
00377    void CreateTabHistos(TGCompositeFrame *tab);
00378    void CreateTabHistosHistos(TGCompositeFrame *tab);
00379    void AddHistosHistosFill(TGCompositeFrame *f);
00380    void AddHistosHistosLine(TGCompositeFrame *f);
00381    void AddHistosHistosBar(TGCompositeFrame *f);
00382    void AddHistosHistosContours(TGCompositeFrame *f);
00383    void AddHistosHistosAxis(TGCompositeFrame *f);
00384    void AddHistosHistosLegoInnerR(TGCompositeFrame *f);
00385 
00386    void CreateTabHistosFrames(TGCompositeFrame *tab);
00387    void AddHistosFramesFill(TGCompositeFrame *f);
00388    void AddHistosFramesLine(TGCompositeFrame *f);
00389    void AddHistosFramesBorder(TGCompositeFrame *f);
00390 
00391    void CreateTabHistosGraphs(TGCompositeFrame *tab);
00392    void AddHistosGraphsLine(TGCompositeFrame *f);
00393    void AddHistosGraphsBorder(TGCompositeFrame *f);
00394    void AddHistosGraphsErrors(TGCompositeFrame *f);
00395 
00396    void CreateTabAxis(TGCompositeFrame *tab);
00397    void CreateTabAxisX(TGCompositeFrame *tab);
00398    void AddAxisXTitle(TGCompositeFrame *f);
00399    void AddAxisXLine(TGCompositeFrame *f);
00400    void AddAxisXLabels(TGCompositeFrame *f);
00401    void AddAxisXDivisions(TGCompositeFrame *f);
00402 
00403    void CreateTabAxisY(TGCompositeFrame *tab);
00404    void AddAxisYTitle(TGCompositeFrame *f);
00405    void AddAxisYLine(TGCompositeFrame *f);
00406    void AddAxisYLabels(TGCompositeFrame *f);
00407    void AddAxisYDivisions(TGCompositeFrame *f);
00408 
00409    void CreateTabAxisZ(TGCompositeFrame *tab);
00410    void AddAxisZTitle(TGCompositeFrame *f);
00411    void AddAxisZLine(TGCompositeFrame *f);
00412    void AddAxisZLabels(TGCompositeFrame *f);
00413    void AddAxisZDivisions(TGCompositeFrame *f);
00414 
00415    void CreateTabTitle(TGCompositeFrame *tab);
00416    void AddTitleFill(TGCompositeFrame *f);
00417    void AddTitleBorderSize(TGCompositeFrame *f);
00418    void AddTitleText(TGCompositeFrame *f);
00419    void AddTitleGeometry(TGCompositeFrame *f);
00420 
00421    void CreateTabStats(TGCompositeFrame *tab);
00422    void AddStatsFill(TGCompositeFrame *f);
00423    void AddStatsText(TGCompositeFrame *f);
00424    void AddStatsGeometry(TGCompositeFrame *f);
00425    void AddStatsStats(TGCompositeFrame *f);
00426    void AddStatsFit(TGCompositeFrame *f);
00427 
00428    void CreateTabPsPdf(TGCompositeFrame *tab);
00429    void AddPsPdfHeader(TGCompositeFrame *f);
00430    void AddPsPdfTitle(TGCompositeFrame *f);
00431    void AddPsPdfColorModel(TGCompositeFrame *f);
00432    void AddPsPdfPaperSize(TGCompositeFrame *f);
00433    void AddPsPdfLineScale(TGCompositeFrame *f);
00434 
00435    void                 AddTitle(TGCompositeFrame *f, const char *s);
00436    TGColorSelect       *AddColorEntry(TGCompositeFrame *f, Int_t id);
00437    TGedPatternSelect   *AddFillStyleEntry(TGCompositeFrame *f, Int_t id);
00438    TGedMarkerSelect    *AddMarkerStyleEntry(TGCompositeFrame *f, Int_t id);
00439    TGComboBox          *AddMarkerSizeEntry(TGCompositeFrame *f, Int_t id);
00440    TGNumberEntry       *AddNumberEntry(TGCompositeFrame *f, Int_t e1, Int_t e2,
00441                            Int_t e3, Int_t id, const char *s, Double_t init, Int_t digits,
00442                            TGNumberFormat::EStyle nfS, TGNumberFormat::EAttribute nfA,
00443                            TGNumberFormat::ELimit nfL, Double_t min, Double_t max);
00444    TGLineWidthComboBox *AddLineWidthEntry(TGCompositeFrame *f, Int_t id);
00445    TGLineStyleComboBox *AddLineStyleEntry(TGCompositeFrame *f, Int_t id);
00446    TGTextButton        *AddTextButton(TGCompositeFrame *f, const char *s, Int_t id);
00447    TGFontTypeComboBox  *AddFontTypeEntry(TGCompositeFrame *f, Int_t id);
00448    TGComboBox          *AddTextAlignEntry(TGCompositeFrame *f, Int_t id);
00449    TGButtonGroup       *AddBorderModeEntry(TGCompositeFrame *f, Int_t id1, Int_t id2, Int_t id3);
00450    TGComboBox          *AddDateFormatEntry(TGCompositeFrame *f, Int_t id);
00451    TGCheckButton       *AddCheckButton(TGCompositeFrame *f, const char *s, Int_t id, Int_t e1 = 0, Int_t e2 = 2);
00452    TGTextEntry         *AddTextEntry(TGCompositeFrame *f, const char *s, Int_t id);
00453    TGComboBox          *AddPaperSizeEntry(TGCompositeFrame *f, Int_t id);
00454 
00455 public:
00456    TStyleManager(const TGWindow *);
00457    virtual ~TStyleManager();
00458 
00459    static void Show();
00460    static void Terminate();
00461    static TStyleManager *&GetSM();
00462 
00463    void Init();
00464    void Hide();
00465 
00466    void SetCurSelStyle(TStyle *style) { fCurSelStyle = style; }
00467    void SetLastChoice(Bool_t choice)  { fLastChoice = choice; }
00468 
00469    void DoMenu(Int_t menuID);                // SLOT
00470    void DoImportMacro(Bool_t create);        // SLOT
00471    void DoListSelect();                      // SLOT
00472    void DoRealTime(Bool_t b);                // SLOT
00473    void DoPreview(Bool_t b);                 // SLOT
00474    void DoPreviewClosed();                   // SLOT
00475    void DoMakeDefault();                     // SLOT
00476    void DoApplyOnSelect(Int_t i);            // SLOT
00477    void DoApplyOn();                         // SLOT
00478    void DoMoreLess();                        // SLOT
00479    void DoEditionUpdatePreview();            // SLOT
00480    void DoChangeTab(Int_t i);                // SLOT
00481    void DoChangeAxisTab(Int_t i);            // SLOT
00482    void BuildList(TStyle *style = 0);
00483    void DoSelectNoCanvas();                  // SLOT
00484    void DoSelectCanvas(TVirtualPad *pad,
00485          TObject *obj, Int_t mouseButton);   // SLOT
00486    void CloseWindow();                       // SLOT
00487 
00488 // GENERAL
00489    void ModFillColor();                      // SLOT
00490    void ModFillStyle();                      // SLOT
00491    void ModHatchesLineWidth();               // SLOT
00492    void ModHatchesSpacing();                 // SLOT
00493    void ModMarkerColor();                    // SLOT
00494    void ModMarkerStyle();                    // SLOT
00495    void ModMarkerSize();                     // SLOT
00496    void ModScreenFactor();                   // SLOT
00497    void ModLineColor();                      // SLOT
00498    void ModLineWidth();                      // SLOT
00499    void ModLineStyle();                      // SLOT
00500    void ModLineStyleEdit();                  // SLOT
00501    void ModTextColor();                      // SLOT
00502    void ModTextSize();                       // SLOT
00503    void ModTextSizeInPixels(Bool_t b);       // SLOT
00504    void ModTextFont();                       // SLOT
00505    void ModTextAlign();                      // SLOT
00506    void ModTextAngle();                      // SLOT
00507 
00508 // CANVAS
00509    void ModCanvasColor();                    // SLOT
00510    void ModCanvasDefX();                     // SLOT
00511    void ModCanvasDefY();                     // SLOT
00512    void ModCanvasDefW();                     // SLOT
00513    void ModCanvasDefH();                     // SLOT
00514    void ModCanvasBorderMode();               // SLOT
00515    void ModCanvasBorderSize();               // SLOT
00516    void ModOptDateBool();                    // SLOT
00517    void ModAttDateTextColor();               // SLOT
00518    void ModAttDateTextSize();                // SLOT
00519    void ModAttDateTextSizeInPixels(Bool_t b);// SLOT
00520    void ModOptDateFormat();                  // SLOT
00521    void ModAttDateTextFont();                // SLOT
00522    void ModAttDateTextAngle();               // SLOT
00523    void ModAttDateTextAlign();               // SLOT
00524    void ModDateX();                          // SLOT
00525    void ModDateY();                          // SLOT
00526 
00527 // PAD
00528    void ModPadTopMargin();                   // SLOT
00529    void ModPadBottomMargin();                // SLOT
00530    void ModPadLeftMargin();                  // SLOT
00531    void ModPadRightMargin();                 // SLOT
00532    void ModPadBorderMode();                  // SLOT
00533    void ModPadBorderSize();                  // SLOT
00534    void ModPadColor();                       // SLOT
00535    void ModPadTickX();                       // SLOT
00536    void ModPadTickY();                       // SLOT
00537    void ModPadGridX();                       // SLOT
00538    void ModPadGridY();                       // SLOT
00539    void ModGridColor();                      // SLOT
00540    void ModGridWidth();                      // SLOT
00541    void ModGridStyle();                      // SLOT
00542 
00543  // HISTOS HISTOS
00544    void ModHistFillColor();                  // SLOT
00545    void ModHistFillStyle();                  // SLOT
00546    void ModHistLineColor();                  // SLOT
00547    void ModHistLineWidth();                  // SLOT
00548    void ModHistLineStyle();                  // SLOT
00549    void ModBarWidth();                       // SLOT
00550    void ModBarOffset();                      // SLOT
00551    void ModHistMinimumZero();                // SLOT
00552    void ModPaintTextFormat();                // SLOT
00553    void ModNumberContours();                 // SLOT
00554    void ModLegoInnerR();                     // SLOT
00555 
00556 // HISTOS FRAMES
00557    void ModFrameFillColor();                 // SLOT
00558    void ModFrameFillStyle();                 // SLOT
00559    void ModFrameLineColor();                 // SLOT
00560    void ModFrameLineWidth();                 // SLOT
00561    void ModFrameLineStyle();                 // SLOT
00562    void ModPaletteEdit();                    // SLOT
00563    void ModFrameBorderMode();                // SLOT
00564    void ModFrameBorderSize();                // SLOT
00565 
00566 // HISTOS GRAPHS
00567    void ModFuncColor();                      // SLOT
00568    void ModFuncWidth();                      // SLOT
00569    void ModFuncStyle();                      // SLOT
00570    void ModDrawBorder();                     // SLOT
00571    void ModEndErrorSize();                   // SLOT
00572    void ModErrorX();                         // SLOT
00573 
00574 // AXIS
00575    void ModTimeOffset();                     // SLOT
00576    void ModStripDecimals();                  // SLOT
00577    void ModApplyOnXYZ();                     // SLOT
00578 
00579 // AXIS X AXIS
00580    void ModXTitleSize();                     // SLOT
00581    void ModXTitleSizeInPixels(Bool_t b);     // SLOT
00582    void ModXTitleColor();                    // SLOT
00583    void ModXTitleOffset();                   // SLOT
00584    void ModXTitleFont();                     // SLOT
00585    void ModXLabelSize();                     // SLOT
00586    void ModXLabelSizeInPixels(Bool_t b);     // SLOT
00587    void ModXLabelColor();                    // SLOT
00588    void ModXLabelOffset();                   // SLOT
00589    void ModXLabelFont();                     // SLOT
00590    void ModXAxisColor();                     // SLOT
00591    void ModXTickLength();                    // SLOT
00592    void ModOptLogx();                        // SLOT
00593    void ModXNdivisions();                    // SLOT
00594 
00595 // AXIS Y AXIS
00596    void ModYTitleSize();                     // SLOT
00597    void ModYTitleSizeInPixels(Bool_t b);     // SLOT
00598    void ModYTitleColor();                    // SLOT
00599    void ModYTitleOffset();                   // SLOT
00600    void ModYTitleFont();                     // SLOT
00601    void ModYLabelSize();                     // SLOT
00602    void ModYLabelSizeInPixels(Bool_t b);     // SLOT
00603    void ModYLabelColor();                    // SLOT
00604    void ModYLabelOffset();                   // SLOT
00605    void ModYLabelFont();                     // SLOT
00606    void ModYAxisColor();                     // SLOT
00607    void ModYTickLength();                    // SLOT
00608    void ModOptLogy();                        // SLOT
00609    void ModYNdivisions();                    // SLOT
00610 
00611 // AXIS Z AXIS
00612    void ModZTitleSize();                     // SLOT
00613    void ModZTitleSizeInPixels(Bool_t b);     // SLOT
00614    void ModZTitleColor();                    // SLOT
00615    void ModZTitleOffset();                   // SLOT
00616    void ModZTitleFont();                     // SLOT
00617    void ModZLabelSize();                     // SLOT
00618    void ModZLabelSizeInPixels(Bool_t b);     // SLOT
00619    void ModZLabelColor();                    // SLOT
00620    void ModZLabelOffset();                   // SLOT
00621    void ModZLabelFont();                     // SLOT
00622    void ModZAxisColor();                     // SLOT
00623    void ModZTickLength();                    // SLOT
00624    void ModOptLogz();                        // SLOT
00625    void ModZNdivisions();                    // SLOT
00626 
00627 // TITLES
00628    void ModOptTitle();                       // SLOT
00629    void ModTitleFillColor();                 // SLOT
00630    void ModTitleStyle();                     // SLOT
00631    void ModTitleTextColor();                 // SLOT
00632    void ModTitleFontSize();                  // SLOT
00633    void ModTitleFontSizeInPixels(Bool_t b);  // SLOT
00634    void ModTitleFont();                      // SLOT
00635    void ModTitleAlign();                     // SLOT
00636    void ModTitleBorderSize();                // SLOT
00637    void ModTitleX();                         // SLOT
00638    void ModTitleY();                         // SLOT
00639    void ModTitleW();                         // SLOT
00640    void ModTitleH();                         // SLOT
00641    void ModLegendBorderSize();               // SLOT
00642 
00643 // STATS
00644    void ModStatColor(Pixel_t color);         // SLOT
00645    void ModStatStyle(Style_t pattern);       // SLOT
00646    void ModStatTextColor(Pixel_t color);     // SLOT
00647    void ModStatFontSize();                   // SLOT
00648    void ModStatFontSizeInPixels(Bool_t b);   // SLOT
00649    void ModStatFont();                       // SLOT
00650    void ModStatX();                          // SLOT
00651    void ModStatY();                          // SLOT
00652    void ModStatW();                          // SLOT
00653    void ModStatH();                          // SLOT
00654    void ModStatBorderSize();                 // SLOT
00655    void ModOptStat();                        // SLOT
00656    void ModStatFormat(const char *sformat);  // SLOT
00657    void ModOptFit();                         // SLOT
00658    void ModFitFormat(const char *fitformat); // SLOT
00659 
00660 // PS / PDF
00661    void ModHeaderPS();                       // SLOT
00662    void ModTitlePS();                        // SLOT
00663    void ModColorModelPS();                   // SLOT
00664    void ModLineScalePS();                    // SLOT
00665    void ModPaperSizePredef();                // SLOT
00666    void ModPaperSizeXY();                    // SLOT
00667 
00668    ClassDef(TStyleManager, 0) // Graphical User Interface for managing styles
00669 };
00670 
00671 #endif

Generated on Tue Jul 5 14:19:29 2011 for ROOT_528-00b_version by  doxygen 1.5.1