Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TApplicationImp.h
Go to the documentation of this file.
1 // @(#)root/base:$Id$
2 // Author: Fons Rademakers 22/12/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_TApplicationImp
14 #define ROOT_TApplicationImp
15 
16 //////////////////////////////////////////////////////////////////////////
17 // //
18 // TApplicationImp //
19 // //
20 // ABC describing GUI independent application implementation protocol. //
21 // //
22 //////////////////////////////////////////////////////////////////////////
23 
24 #include "TString.h"
25 
26 class TGWin32Command;
27 
28 
29 class TApplicationImp {
30 
31 protected:
32  TString fApplicationName; // application name
33 
34 public:
35  TApplicationImp(): fApplicationName() { }
36  TApplicationImp(const char *appClassName, int *argc, char **argv);
37  virtual ~TApplicationImp();
38 
39  virtual const char *ApplicationName() const { return fApplicationName.Data(); }
40  virtual void Show() { }
41  virtual void Hide() { }
42  virtual void Iconify() { }
43  virtual Bool_t IsCmdThread() { return kTRUE; } // by default (for UNIX) ROOT is a single thread application
44  virtual void Init() { }
45  virtual void Open() { }
46  virtual void Raise() { }
47  virtual void Lower() { }
48  virtual Int_t ExecCommand(TGWin32Command *code, Bool_t synch);
49 
50  ClassDef(TApplicationImp,0) //ABC describing application protocol
51 };
52 
53 inline TApplicationImp::TApplicationImp(const char *appClassName, int *, char **)
54  : fApplicationName(appClassName) { }
55 inline Int_t TApplicationImp::ExecCommand(TGWin32Command *, Bool_t) { return 0; }
56 
57 #endif