Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/TVirtualPadEditor.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // @(#)root/base:$Id: TVirtualPadEditor.h,v 1.0 2003/11/25
0002 // Author: Rene Brun   25/11/03
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 #ifndef ROOT_TVirtualPadEditor
0012 #define ROOT_TVirtualPadEditor
0013 
0014 
0015 //////////////////////////////////////////////////////////////////////////
0016 //                                                                      //
0017 // TVirtualPadEditor                                                    //
0018 //                                                                      //
0019 // Abstract base class used by ROOT graphics editor                     //
0020 //                                                                      //
0021 //////////////////////////////////////////////////////////////////////////
0022 
0023 #include "TString.h"
0024 
0025 class TCanvas;
0026 
0027 class TVirtualPadEditor {
0028 
0029 protected:
0030    static TVirtualPadEditor *fgPadEditor;    // singleton editor dialog
0031    static TString            fgEditorName;   // name of the default pad editor "Ged"
0032 
0033 public:
0034    TVirtualPadEditor();
0035    virtual ~TVirtualPadEditor();
0036    virtual Bool_t   IsGlobal() const = 0;
0037 
0038    // methods related to the old editor interface
0039    virtual void     DrawLine(Double_t, Double_t , Double_t , Double_t ) { }
0040    virtual void     DrawLineNDC(Double_t , Double_t , Double_t , Double_t ) { }
0041    virtual void     DrawText(Double_t , Double_t , const char *) { }
0042    virtual void     DrawTextNDC(Double_t , Double_t , const char *) { }
0043    virtual void     FillAttributes(Int_t , Int_t ) { }
0044    virtual void     LineAttributes(Int_t , Int_t , Int_t ) { }
0045    virtual void     MarkerAttributes(Int_t , Int_t , Float_t ) { }
0046    virtual void     TextAttributes(Int_t ,Float_t ,Int_t ,Int_t ,Float_t ) { }
0047 
0048    virtual void     Build() { }
0049    virtual void     Show() { }
0050    virtual void     Hide() { }
0051    virtual void     DeleteEditors() { }
0052    virtual void     SetGlobal(Bool_t) { }
0053    virtual TCanvas* GetCanvas() const = 0;
0054 
0055    // methods related to the new editor interface
0056 
0057    //static methods for both interfaces
0058    static const char        *GetEditorName();
0059    static TVirtualPadEditor *GetPadEditor(Bool_t load = kTRUE);
0060    static TVirtualPadEditor *LoadEditor();
0061    static void      HideEditor();
0062    static void      ShowEditor();
0063    static void      SetPadEditorName(const char *name);
0064    static void      Terminate();
0065    static void      UpdateFillAttributes(Int_t col, Int_t sty);
0066    static void      UpdateLineAttributes(Int_t col, Int_t sty, Int_t width);
0067    static void      UpdateMarkerAttributes(Int_t col, Int_t sty, Float_t msiz);
0068    static void      UpdateTextAttributes(Int_t align,Float_t angle,Int_t col,Int_t font,Float_t tsize);
0069 
0070    ClassDef(TVirtualPadEditor,0)  //Abstract interface for graphics pad editor
0071 };
0072 
0073 #endif