74 Getlinem(kCleanUp, 0);
100 Break(
"TInterruptHandler::Notify",
"keyboard interrupt");
102 Getlinem(kInit,
"Root > ");
140 TRint::
TRint(const
char *appClassName,
Int_t *argc,
char **argv,
void *options,
142 TApplication(appClassName, argc, argv, options, numOptions),
146 fDefaultPrompt =
"root [%d] ";
151 if (!noLogo && !NoLogoOpt()) {
176 code =
"#include <iostream>\n"
177 "#include <string>\n"
178 "#include <DllImport.h>\n";
180 code +=
"#include <vector>\n"
181 "#include <utility>";
183 ProcessLine(code,
kTRUE);
204 TInterruptHandler *ih =
new TInterruptHandler();
206 SetSignalHandler(ih);
209 fInputHandler =
new TTermInputHandler(0);
210 fInputHandler->Add();
220 int hist_size =
gEnv->
GetValue(
"Rint.HistorySize", 500);
221 if (hist_size == 500)
223 int hist_save =
gEnv->
GetValue(
"Rint.HistorySave", 400);
224 if (hist_save == 400)
228 hist_size = atoi(envHist);
229 envHist = strchr(envHist,
':');
231 hist_save = atoi(envHist+1);
233 Gl_histsize(hist_size, hist_save);
234 Gl_histinit((
char *)logon);
237 static const char* defaultColorsBW[] = {
238 "bold blue",
"magenta",
"bold green",
"bold red underlined",
"default"
240 static const char* defaultColorsWB[] = {
241 "yellow",
"magenta",
"bold green",
"bold red underlined",
"default"
244 const char** defaultColors = defaultColorsBW;
247 defaultColors = defaultColorsWB;
254 Gl_setColors(colorType, colorTabCom, colorBracket, colorBadBracket, colorPrompt);
331 const char *logon =
gEnv->
GetValue(
"Rint.Logon", (
char*)0);
362 TObject *
w =
gROOT->GetListOfBrowsables()->FindObject(
"workdir");
382 retval = 0; error = 0;
404 const char *rfile = (
const char*)file->
String();
405 Printf(
"Attaching file %s as _file%d...", rfile, nfile);
406 snprintf(cmd,
kMAXPATHLEN+50,
"TFile *_file%d = TFile::Open(\"%s\")", nfile++, rfile);
408 Printf(
"Processing %s...", (
const char*)file->
String());
412 Getlinem(kCleanUp, 0);
419 needGetlinemInit =
kFALSE;
425 needGetlinemInit =
kTRUE;
439 if (retval < 0) retval = 1;
440 else if (retval > 125) retval = 1;
450 if (needGetlinemInit) Getlinem(kInit,
GetPrompt());
461 Getlinem(kCleanUp, 0);
472 std::vector<TString>
lines;
474 lines.emplace_back(
TString::Format(
"Welcome to ROOT %s%%shttp://root.cern.ch",
475 gROOT->GetVersion()));
476 lines.emplace_back(
TString::Format(
"%%s(c) 1995-2014, The ROOT Team"));
478 if (!strcmp(
gROOT->GetGitBranch(),
gROOT->GetGitCommit())) {
479 static const char *months[] = {
"January",
"February",
"March",
"April",
"May",
480 "June",
"July",
"August",
"September",
"October",
481 "November",
"December"};
483 Int_t iday = idatqq%100;
484 Int_t imonth = (idatqq/100)%100;
485 Int_t iyear = (idatqq/10000);
488 gROOT->GetGitBranch(),
489 iday,months[imonth-1],iyear));
494 gROOT->GetGitBranch(),
497 lines.emplace_back(
TString(
"Try '.help', '.demo', '.license', '.credits', '.quit'/'.q'%s"));
500 auto itLongest = std::max_element(lines.begin(), lines.end(),
502 return left.
Length() < right.Length(); });
503 Ssiz_t lenLongest = itLongest->Length();
507 for (
const auto&
line: lines) {
519 for (
int i = 0; i <
Argc(); i++)
520 if (!strcmp(
Argv(i),
"-splash"))
521 kill(getppid(), SIGUSR1);
552 if (newPrompt && strlen(newPrompt) <= 55)
555 Error(
"SetPrompt",
"newPrompt too long (> 55 characters)");
568 if ((line = Getlinem(kOneChar, 0))) {
569 if (line[0] == 0 && Gl_eof())
579 sline = sline.
Chop();
592 TTHREAD_TLS(
Bool_t) added;
641 Getlinem(kCleanUp, 0);
642 Getlinem(kInit,
"Root > ");
654 Getlinem(kCleanUp, 0);
684 Gl_config(
"noecho", mode ? 0 : 1);
725 if (line && line[0] !=
'.') {
729 SetPrompt(
"root (cont'ed, cancel with .@) [%d]");
734 if (line && line[0] ==
'.' && line[1] ==
'@') {
virtual Bool_t AccessPathName(const char *path, EAccessMode mode=kFileExists)
Returns FALSE if one can access a file using the specified access mode.
void Print(Option_t *option="") const
Print the real and cpu time passed between the start and stop events.
virtual Long_t ProcessLine(const char *line, Bool_t sync=kFALSE, Int_t *error=0)
Process a single command line, either a C++ statement or an interpreter command starting with a "...
virtual void Terminate(int status)
Terminate the application.
virtual Bool_t Notify()
Notify when event occurred on descriptor associated with this handler.
void Start(Bool_t reset=kTRUE)
Start the stopwatch.
virtual const char * WorkingDirectory()
Return working directory.
ClassImp(TSeqCollection) Int_t TSeqCollection TIter next(this)
Return index of object in collection.
Collectable string class.
R__EXTERN TClassTable * gClassTable
virtual const char * GetBuildArch() const
Return the build architecture.
TString & ReplaceAll(const TString &s1, const TString &s2)
virtual Bool_t HandleTermInput()
Handle input coming from terminal.
virtual const char * HomeDirectory(const char *userName=0)
Return the user's home directory.
virtual Bool_t ChangeDirectory(const char *path)
Change directory.
virtual int Load(const char *module, const char *entry="", Bool_t system=kFALSE)
Load a shared library.
Long_t ProcessLineNr(const char *filestem, const char *line, Int_t *error=0)
Calls ProcessLine() possibly prepending a line directive for better diagnostics.
virtual void ReturnPressed(char *text)
Emit signal when return key was pressed.
virtual char * Which(const char *search, const char *file, EAccessMode mode=kFileExists)
Find location of file in a search path.
void Break(const char *location, const char *msgfmt,...)
virtual void Terminate(Int_t status=0)
Terminate the application by call TSystem::Exit() unless application has been told to return from Run...
TString & Prepend(const char *cs)
R__EXTERN TApplication * gApplication
virtual Long_t ProcessRemote(const char *line, Int_t *error=0)
Process the content of a line starting with ".R" (already stripped-off) The format is [user@]host[:...
TObjArray * InputFiles() const
virtual void SetGetline(const char *(*getlineFunc)(const char *prompt), void(*histaddFunc)(const char *line))=0
Bool_t BeginsWith(const char *s, ECaseCompare cmp=kExact) const
void DeActivate()
De-activate a system event handler.
Bool_t ReturnFromRun() const
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
virtual Bool_t HandleTermInput()
static const char * GetMacroPath()
Get macro search path. Static utility function.
const char * Data() const
virtual void EndOfLineAction()=0
virtual void SetOption(Option_t *)
virtual Bool_t Notify()
Notify when signal occurs.
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString...
void ExecLogon()
Execute logon macro's.
virtual void Run(Bool_t retrn=kFALSE)
Main application eventloop. Calls system dependent eventloop via gSystem.
virtual void SetEchoMode(Bool_t mode)
Set console mode:
static Bool_t Initialized()
Return kTRUE if the TROOT object has been initialized.
Int_t Hook(char *buf, int *pLoc, std::ostream &out)
[private]
virtual const char * Getenv(const char *env)
Get environment variable.
std::vector< std::vector< double > > Data
static void ResetTermAtExit()
Restore terminal to non-raw mode.
virtual void ExitLoop()
Exit from event loop.
virtual Int_t GetMore() const =0
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
void ClearAll()
clears all lists except for user names and system include files.
virtual const char * SetPrompt(const char *newPrompt)
Set a new default prompt.
Describes an Operating System directory for the browser.
const char Int_t const char TProof Int_t const char * workdir
ClassImp(TRint) TRint
Create an application environment.
virtual Int_t TabCompletionHook(char *buf, int *pLoc, std::ostream &out)
Forward tab completion request to our TTabCom::Hook().
void ClearInputFiles()
Clear list containing macro files passed as program arguments.
Bool_t EndsWith(const char *pat, ECaseCompare cmp=kExact) const
Return true if string ends with the specified string.
R__EXTERN TSystem * gSystem
R__EXTERN TBenchmark * gBenchmark
virtual Int_t GetValue(const char *name, Int_t dflt)
Returns the integer value for a resource.
virtual void HandleException(Int_t sig)
Handle exceptions (kSigBus, kSigSegmentationViolation, kSigIllegalInstruction and kSigFloatingExcepti...
TObject * GetObject() const
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
Bool_t TestBit(UInt_t f) const
char * Form(const char *fmt,...)
TSubString Strip(EStripType s=kTrailing, char c= ' ') const
Return a substring of self stripped at beginning and/or end.
virtual void SaveContext()=0
TApplication * fAppRemote
This class is a ROOT utility to help benchmarking applications.
virtual void Run(Bool_t retrn=kFALSE)
Main application eventloop.
virtual void PrintLogo(Bool_t lite=kFALSE)
Print the ROOT logo on standard output.
R__EXTERN ExceptionContext_t * gException
virtual char * GetPrompt()=0
Long_t ProcessRemote(const char *line, Int_t *error=0)
Process the content of a line starting with ".R" (already stripped-off) The format is [user@]host[:...
static DictFuncPtr_t GetDict(const char *cname)
Given the class name returns the Dictionary() function of a class (uses hash of name).
virtual void KeyPressed(Int_t key)
Emit signal when console keyboard key was pressed.
Wrapper around a TObject so it can be stored in a TList.
static Int_t Key_Pressed(Int_t key)
ClassImp(TMCParticle) void TMCParticle printf(": p=(%7.3f,%7.3f,%9.3f) ;", fPx, fPy, fPz)
void Beep(Int_t freq=-1, Int_t duration=-1, Bool_t setDefault=kFALSE)
Beep for duration milliseconds with a tone of frequency freq.
virtual void LineProcessed(const char *line)
Emit signal when a line has been processed.
virtual void Remove()
Remove file event handler from system file handler list.
virtual void SaveGlobalsContext()=0
void Throw(int code)
If an exception context has been set (using the TRY and RETRY macros) jump back to where it was set...
Mother of all ROOT objects.
virtual void HandleException(Int_t sig)
Handle exceptions (kSigBus, kSigSegmentationViolation, kSigIllegalInstruction and kSigFloatingExcepti...
virtual char * GetPrompt()
Get prompt from interpreter. Either "root [n]" or "end with '}'".
virtual ~TRint()
Destructor.
R__EXTERN const char * gRootDir
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
virtual Bool_t ReadNotify()
Notify when something can be read from the descriptor associated with this handler.
const char * WorkingDirectory() const
This class creates the ROOT Application Environment that interfaces to the windowing system eventloop...
R__EXTERN void * gMmallocDesc
R__EXTERN TInterpreter * gCling
virtual const char * ApplicationName() const
R__EXTERN TTabCom * gTabCom
virtual char * ConcatFileName(const char *dir, const char *name)
Concatenate a directory and a file name. User must delete returned string.
TFileHandler * fInputHandler
void SetObject(TObject *obj)
virtual Long_t ProcessFile(const char *file, Int_t *error=0, Bool_t keep=kFALSE)
Process a file containing a C++ macro.