// @(#)root/base:$Name: $:$Id: TGuiFactory.h,v 1.2 2001/10/02 09:07:43 rdm Exp $
// Author: Fons Rademakers 15/11/95
/*************************************************************************
* Copyright (C) 1995-2000, 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_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
#include "TNamed.h"
#endif
class TApplicationImp;
class TCanvasImp;
class TCanvas;
class TBrowserImp;
class TBrowser;
class TContextMenuImp;
class TContextMenu;
class TControlBarImp;
class TControlBar;
class TInspectorImp;
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);
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);
virtual TInspectorImp *CreateInspectorImp(const TObject *obj, UInt_t width, UInt_t height);
ClassDef(TGuiFactory,0) //Abstract factory for GUI components
};
R__EXTERN TGuiFactory *gGuiFactory;
R__EXTERN TGuiFactory *gBatchGuiFactory;
#endif
syntax highlighted by Code2HTML, v. 0.9.1