12 #ifndef ROOT_TApplication
13 #define ROOT_TApplication
39 class TApplication :
public TObject,
public TQObject {
44 kProcessRemotely = BIT(15),
45 kDefaultApplication = BIT(16)
51 enum EExitOnException {
60 TApplicationImp *fAppImp;
62 Bool_t fReturnFromRun;
71 TSignalHandler *fSigHandler;
72 EExitOnException fExitOnException;
74 static Bool_t fgGraphNeeded;
75 static Bool_t fgGraphInit;
77 TApplication(
const TApplication&);
78 TApplication& operator=(
const TApplication&);
81 TApplication *fAppRemote;
83 static TList *fgApplications;
87 virtual Long_t ProcessRemote(
const char *line, Int_t *error = 0);
88 virtual void Help(
const char *line);
89 virtual void LoadGraphicsLibs();
90 virtual void MakeBatch();
91 void SetSignalHandler(TSignalHandler *sh) { fSigHandler = sh; }
93 static Int_t ParseRemoteLine(
const char *ln,
94 TString &hostdir, TString &user,
95 Int_t &dbg, TString &script);
96 static TApplication *Open(
const char *url, Int_t debug,
const char *script);
97 static void Close(TApplication *app);
100 TApplication(
const char *appClassName, Int_t *argc,
char **argv,
101 void *options = 0, Int_t numOptions = 0);
102 virtual ~TApplication();
104 void InitializeGraphics();
105 virtual void GetOptions(Int_t *argc,
char **argv);
106 TSignalHandler *GetSignalHandler()
const {
return fSigHandler; }
107 virtual void SetEchoMode(Bool_t mode);
108 void OpenInBrowser(
const TString & url);
109 void OpenReferenceGuideFor(
const TString & strippedClass);
110 virtual void HandleException(Int_t sig);
111 virtual void HandleIdleTimer();
112 virtual Bool_t HandleTermInput() {
return kFALSE; }
113 virtual void Init() { fAppImp->Init(); }
114 virtual Long_t ProcessLine(
const char *line, Bool_t sync = kFALSE, Int_t *error = 0);
115 virtual Long_t ProcessFile(
const char *file, Int_t *error = 0, Bool_t keep = kFALSE);
116 virtual void Run(Bool_t retrn = kFALSE);
117 virtual void SetIdleTimer(UInt_t idleTimeInSec,
const char *command);
118 virtual void RemoveIdleTimer();
119 const char *GetIdleCommand()
const {
return fIdleCommand; }
120 virtual void StartIdleing();
121 virtual void StopIdleing();
122 EExitOnException ExitOnException(EExitOnException opt = kExit);
124 virtual const char *ApplicationName()
const {
return fAppImp->ApplicationName(); }
125 virtual void Show() { fAppImp->Show(); }
126 virtual void Hide() { fAppImp->Hide(); }
127 virtual void Iconify() { fAppImp->Iconify(); }
128 virtual void Open() { fAppImp->Open(); }
129 virtual void Raise() { fAppImp->Raise(); }
130 virtual void Lower() { fAppImp->Lower(); }
131 virtual Bool_t IsCmdThread() {
return fAppImp ? fAppImp->IsCmdThread() : kTRUE; }
132 virtual TApplicationImp *GetApplicationImp() {
return fAppImp;}
134 virtual void ls(Option_t *option=
"")
const;
136 Int_t Argc()
const {
return fArgc; }
137 char **Argv()
const {
return fArgv; }
138 char *Argv(Int_t index)
const;
139 Bool_t NoLogOpt()
const {
return fNoLog; }
140 Bool_t NoLogoOpt()
const {
return fNoLogo; }
141 Bool_t QuitOpt()
const {
return fQuit; }
142 TObjArray *InputFiles()
const {
return fFiles; }
143 const char *WorkingDirectory()
const {
return fWorkDir; }
144 void ClearInputFiles();
146 TApplication *GetAppRemote()
const {
return fAppRemote; }
148 Bool_t IsRunning()
const {
return fIsRunning; }
149 Bool_t ReturnFromRun()
const {
return fReturnFromRun; }
150 void SetReturnFromRun(Bool_t ret) { fReturnFromRun = ret; }
152 virtual void LineProcessed(
const char *line);
153 virtual void Terminate(Int_t status = 0);
154 virtual void KeyPressed(Int_t key);
155 virtual void ReturnPressed(
char *text );
156 virtual Int_t TabCompletionHook(
char *buf,
int *pLoc, std::ostream& out);
158 static Long_t ExecuteFile(
const char *file, Int_t *error = 0, Bool_t keep = kFALSE);
159 static TList *GetApplications();
160 static void CreateApplication();
161 static void NeedGraphicsLibs();
163 ClassDef(TApplication,0)
166 R__EXTERN TApplication *gApplication;