// @(#)root/gui:$Id$
// Author: Fons Rademakers   15/01/98

/*************************************************************************
 * 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_TRootGuiFactory
#define ROOT_TRootGuiFactory

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TRootGuiFactory                                                      //
//                                                                      //
// This class is a factory for ROOT GUI components. It overrides        //
// the member functions of the ABS TGuiFactory.                         //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TGuiFactory
#include "TGuiFactory.h"
#endif

class TApplicationImp;
class TCanvasImp;
class TBrowserImp;
class TContextMenuImp;
class TContextMenu;
class TControlBarImp;
class TControlBar;


class TRootGuiFactory : public TGuiFactory {

public:
   TRootGuiFactory(const char *name = "Root", const char *title = "ROOT GUI Factory");
   virtual ~TRootGuiFactory() { }

   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);

   ClassDef(TRootGuiFactory,0)  //Factory for ROOT GUI components
};

#endif
 TRootGuiFactory.h:1
 TRootGuiFactory.h:2
 TRootGuiFactory.h:3
 TRootGuiFactory.h:4
 TRootGuiFactory.h:5
 TRootGuiFactory.h:6
 TRootGuiFactory.h:7
 TRootGuiFactory.h:8
 TRootGuiFactory.h:9
 TRootGuiFactory.h:10
 TRootGuiFactory.h:11
 TRootGuiFactory.h:12
 TRootGuiFactory.h:13
 TRootGuiFactory.h:14
 TRootGuiFactory.h:15
 TRootGuiFactory.h:16
 TRootGuiFactory.h:17
 TRootGuiFactory.h:18
 TRootGuiFactory.h:19
 TRootGuiFactory.h:20
 TRootGuiFactory.h:21
 TRootGuiFactory.h:22
 TRootGuiFactory.h:23
 TRootGuiFactory.h:24
 TRootGuiFactory.h:25
 TRootGuiFactory.h:26
 TRootGuiFactory.h:27
 TRootGuiFactory.h:28
 TRootGuiFactory.h:29
 TRootGuiFactory.h:30
 TRootGuiFactory.h:31
 TRootGuiFactory.h:32
 TRootGuiFactory.h:33
 TRootGuiFactory.h:34
 TRootGuiFactory.h:35
 TRootGuiFactory.h:36
 TRootGuiFactory.h:37
 TRootGuiFactory.h:38
 TRootGuiFactory.h:39
 TRootGuiFactory.h:40
 TRootGuiFactory.h:41
 TRootGuiFactory.h:42
 TRootGuiFactory.h:43
 TRootGuiFactory.h:44
 TRootGuiFactory.h:45
 TRootGuiFactory.h:46
 TRootGuiFactory.h:47
 TRootGuiFactory.h:48
 TRootGuiFactory.h:49
 TRootGuiFactory.h:50
 TRootGuiFactory.h:51
 TRootGuiFactory.h:52
 TRootGuiFactory.h:53
 TRootGuiFactory.h:54
 TRootGuiFactory.h:55
 TRootGuiFactory.h:56
 TRootGuiFactory.h:57
 TRootGuiFactory.h:58
 TRootGuiFactory.h:59
 TRootGuiFactory.h:60