Logo ROOT   6.14/05
Reference Guide
TGuiFactory.h
Go to the documentation of this file.
1 // @(#)root/base:$Id$
2 // Author: Fons Rademakers 15/11/95
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, 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 #ifndef ROOT_TGuiFactory
14 #define ROOT_TGuiFactory
15 
16 //////////////////////////////////////////////////////////////////////////
17 // //
18 // TGuiFactory //
19 // //
20 // This ABC is a factory for GUI components. Depending on which //
21 // factory is active one gets either ROOT native (X11 based with Win95 //
22 // look and feel), Win32 or Mac components. //
23 // In case there is no platform dependent implementation on can run in //
24 // batch mode directly using an instance of this base class. //
25 // //
26 //////////////////////////////////////////////////////////////////////////
27 
28 #include "TNamed.h"
29 
30 class TApplicationImp;
31 class TCanvasImp;
32 class TCanvas;
33 class TBrowserImp;
34 class TBrowser;
35 class TContextMenuImp;
36 class TContextMenu;
37 class TControlBarImp;
38 class TControlBar;
39 class TInspectorImp;
40 
41 
42 class TGuiFactory : public TNamed {
43 
44 public:
45  TGuiFactory(const char *name = "Batch", const char *title = "Batch GUI Factory");
46  virtual ~TGuiFactory() { }
47 
48  virtual TApplicationImp *CreateApplicationImp(const char *classname, int *argc, char **argv);
49 
50  virtual TCanvasImp *CreateCanvasImp(TCanvas *c, const char *title, UInt_t width, UInt_t height);
51  virtual TCanvasImp *CreateCanvasImp(TCanvas *c, const char *title, Int_t x, Int_t y, UInt_t width, UInt_t height);
52 
53  virtual TBrowserImp *CreateBrowserImp(TBrowser *b, const char *title, UInt_t width, UInt_t height, Option_t *opt="");
54  virtual TBrowserImp *CreateBrowserImp(TBrowser *b, const char *title, Int_t x, Int_t y, UInt_t width, UInt_t height, Option_t *opt="");
55 
56  virtual TContextMenuImp *CreateContextMenuImp(TContextMenu *c, const char *name, const char *title);
57 
58  virtual TControlBarImp *CreateControlBarImp(TControlBar *c, const char *title);
59  virtual TControlBarImp *CreateControlBarImp(TControlBar *c, const char *title, Int_t x, Int_t y);
60 
61  virtual TInspectorImp *CreateInspectorImp(const TObject *obj, UInt_t width, UInt_t height);
62 
63  ClassDef(TGuiFactory,0) //Abstract factory for GUI components
64 };
65 
68 
69 #endif
virtual TBrowserImp * CreateBrowserImp(TBrowser *b, const char *title, UInt_t width, UInt_t height, Option_t *opt="")
Create a batch version of TBrowserImp.
Definition: TGuiFactory.cxx:72
R__EXTERN TGuiFactory * gBatchGuiFactory
Definition: TGuiFactory.h:67
virtual ~TGuiFactory()
Definition: TGuiFactory.h:46
A Control Bar is a fully user configurable tool which provides fast access to frequently used operati...
Definition: TControlBar.h:22
ABC describing GUI independent main window (with menubar, scrollbars and a drawing area)...
Definition: TCanvasImp.h:30
This class provides an interface to GUI independent context sensitive popup menus.
const char Option_t
Definition: RtypesCore.h:62
image html pict1_TGaxis_012 png width
Define new text attributes for the label number "labNum".
Definition: TGaxis.cxx:2551
ABC describing GUI independent control bar.
int Int_t
Definition: RtypesCore.h:41
virtual TContextMenuImp * CreateContextMenuImp(TContextMenu *c, const char *name, const char *title)
Create a batch version of TContextMenuImp.
Definition: TGuiFactory.cxx:88
ABC describing GUI independent application implementation protocol.
Double_t x[n]
Definition: legend1.C:17
#define ClassDef(name, id)
Definition: Rtypes.h:320
virtual TApplicationImp * CreateApplicationImp(const char *classname, int *argc, char **argv)
Create a batch version of TApplicationImp.
Definition: TGuiFactory.cxx:48
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
R__EXTERN TGuiFactory * gGuiFactory
Definition: TGuiFactory.h:66
Using a TBrowser one can browse all ROOT objects.
Definition: TBrowser.h:37
This class provides an interface to context sensitive popup menus.
Definition: TContextMenu.h:40
unsigned int UInt_t
Definition: RtypesCore.h:42
virtual TInspectorImp * CreateInspectorImp(const TObject *obj, UInt_t width, UInt_t height)
Create a batch version of TInspectorImp.
TGuiFactory(const char *name="Batch", const char *title="Batch GUI Factory")
TGuiFactory ctor only called by derived classes.
Definition: TGuiFactory.cxx:40
The Canvas class.
Definition: TCanvas.h:31
Double_t y[n]
Definition: legend1.C:17
virtual TCanvasImp * CreateCanvasImp(TCanvas *c, const char *title, UInt_t width, UInt_t height)
Create a batch version of TCanvasImp.
Definition: TGuiFactory.cxx:56
Mother of all ROOT objects.
Definition: TObject.h:37
This ABC is a factory for GUI components.
Definition: TGuiFactory.h:42
#define R__EXTERN
Definition: DllImport.h:27
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
Definition: TRolke.cxx:630
#define c(i)
Definition: RSha256.hxx:101
ABC describing GUI independent object inspector (abstraction mainly needed for Win32.
Definition: TInspectorImp.h:30
virtual TControlBarImp * CreateControlBarImp(TControlBar *c, const char *title)
Create a batch version of TControlBarImp.
Definition: TGuiFactory.cxx:96
char name[80]
Definition: TGX11.cxx:109
ABC describing GUI independent browser implementation protocol.
Definition: TBrowserImp.h:29