#ifndef ROOT_TGuiFactory
#define ROOT_TGuiFactory
#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, Option_t *opt="");
virtual TBrowserImp *CreateBrowserImp(TBrowser *b, const char *title, Int_t x, Int_t y, UInt_t width, UInt_t height, Option_t *opt="");
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)
};
R__EXTERN TGuiFactory *gGuiFactory;
R__EXTERN TGuiFactory *gBatchGuiFactory;
#endif