//+SEQ,CopyRight,T=NOINCLUDE. #ifndef ROOT_TGuiFactory #define ROOT_TGuiFactory ////////////////////////////////////////////////////////////////////////// // // // TGuiFactory // // // // This ABC is a factory for GUI components. Depending on which // // factory is active one gets either ROOT native (X11 based with Win95 // // look and feel), Win32 or Mac components. // // In case there is no platform dependent implementation on can run in // // batch mode directly using an instance of this base class. // // // ////////////////////////////////////////////////////////////////////////// #ifndef ROOT_TNamed //*KEEP,TNamed. #include "TNamed.h" //*KEND. #endif class TApplicationImp; class TCanvasImp; class TCanvas; class TBrowserImp; class TBrowser; class TContextMenuImp; class TContextMenu; class TControlBarImp; class TControlBar; class TGLViewerImp; class TGuiFactory : public TNamed { public: TGuiFactory(const char *name = "Batch", const char *title = "Batch GUI Factory"); virtual ~TGuiFactory() { } virtual TApplicationImp *CreateApplicationImp(const char *classname, int *argc, char **argv, void *option, Int_t numOptions); virtual TCanvasImp *CreateCanvasImp(TCanvas *c, const char *title, UInt_t width, UInt_t height); virtual TCanvasImp *CreateCanvasImp(TCanvas *c, const char *title, Int_t x, Int_t y, UInt_t width, UInt_t height); virtual TBrowserImp *CreateBrowserImp(TBrowser *b, const char *title, UInt_t width, UInt_t height); virtual TBrowserImp *CreateBrowserImp(TBrowser *b, const char *title, Int_t x, Int_t y, UInt_t width, UInt_t height); virtual TContextMenuImp *CreateContextMenuImp(TContextMenu *c, const char *name, const char *title); virtual TControlBarImp *CreateControlBarImp(TControlBar *c, const char *title); virtual TControlBarImp *CreateControlBarImp(TControlBar *c, const char *title, Int_t x, Int_t y); ClassDef(TGuiFactory,0) //Abstract factory for GUI components }; R__EXTERN TGuiFactory *gGuiFactory; R__EXTERN TGuiFactory *gBatchGuiFactory; #endif