41   strESC+
"[30m", strESC+
"[31m", strESC+
"[32m", strESC+
"[33m", 
    42   strESC+
"[34m", strESC+
"[35m", strESC+
"[36m", strESC+
"[37m"    47   : promptSetting(prompt), promptString(
""), nColumn(80),  
    49     currentCommandDir(
"/")
   129   if(absPath.length()==0) 
return NULL;
   130   if(absPath[absPath.length()-1] != 
'/') 
return NULL; 
   131   if(absPath==
"/") 
return cmdTree;
   133   for(
G4int indx=1; indx<
G4int(absPath.length())-1; ) {
   135     if(jslash != 
G4int(G4String::npos)) {
   137         cmdTree= cmdTree-> GetTree(
G4String(absPath(0,jslash+1)));
   142   if(cmdTree == NULL) 
return NULL;
   150   if(apath.empty()) 
return apath;  
   159   for(
G4int indx=1; indx<=
G4int(bpath.length())-1; ) {
   165     if(jslash != 
G4int(G4String::npos)) {
   166       if(bpath.substr(indx,jslash-indx) == 
".."){  
   171         if(absPath.length() >= 2) {
   172           absPath.
remove(absPath.length()-1);  
   174           if(jpre != 
G4int(G4String::npos)) absPath.
remove(jpre+1);
   176       } 
else if(bpath.substr(indx,jslash-indx) == 
"."){  
   178         if( !(jslash==indx && bpath(indx)==
'/') ) 
   179           absPath+= bpath(indx, jslash-indx+1);
   196   if(apath.empty()) 
return apath;
   198   G4int lstr= apath.length();
   202   if(apath[(
size_t)(lstr-1)]==
'/') Qsla= 
TRUE;
   206   for(
G4int i=lstr-1; i>=0; i--) {
   207     if(Qsla && apath[(
size_t)i]!=
'/') Qsla= 
FALSE; 
   208     if(apath[(
size_t)i]==
'/' && !Qsla) {
   214   if(indx==-1) 
return apath;  
   216   if(indx==0  && lstr==1) { 
   222     newPath= newPath(indx+1,lstr-indx-1);
   243   G4int len= input.length();
   244   if(! input.empty()) {
   246     for(
G4int i=len-1; i>=0; i--) { 
   247       if(input[(
size_t)i]==
'/') {
   254     if(!(indx==0  && len==1)) vcmd= input(indx+1,len-indx-1); 
   270     G4cout << 
"<" << input << 
">: No such directory" << 
G4endl;
   278   G4int Ndir= atree-> GetTreeEntry();
   279   G4int Ncmd= atree-> GetCommandEntry();
   280   if(Ndir==0 && Ncmd==0) 
return;  
   283   for(
G4int idir=1; idir<=Ndir; idir++) {
   285     G4String fpdir= atree-> GetTree(idir)-> GetPathName();
   287     if(candidate.empty()) { 
   288       if(vcmd==
"" || fpdir==inputpath) {
   293       if( fpdir.
index(candidate, 0) == 0) {
   300   for(
G4int icmd=1; icmd<=Ncmd; icmd++){
   302     G4String fpcmd= atree-> GetPathName() +
   303              atree-> GetCommand(icmd) -> GetCommandName();
   305     if(candidate.empty()) { 
   306       if(vcmd==
"" || fpcmd==inputpath) {
   311       if( fpcmd.
index(candidate, 0) == 0) {
   318   if(!isMatch && candidate.empty()) 
   320        << 
">: No such directory or command" << std::flush;
 
virtual void MakePrompt(const char *msg=0)
 
G4String & remove(str_size)
 
TermColorIndex directoryColor
 
G4String strip(G4int strip_Type=trailing, char c=' ')
 
static const G4String strESC
 
str_size index(const char *, G4int pos=0) const
 
virtual void ListCommand(const G4String &input, const G4String &candidate="") const
 
static G4UImanager * GetUIpointer()
 
TermColorIndex commandColor
 
static G4StateManager * GetStateManager()
 
G4UIcommandTree * GetCommandTree(const G4String &dir) const
 
static const G4String TermColorString[8]
 
G4GLOB_DLL std::ostream G4cout
 
G4String GetCommandPathTail(const G4String &apath) const
 
G4String GetAbsCommandDirPath(const G4String &apath) const
 
virtual void ResetTerminal()
 
G4String & append(const G4String &)
 
G4String currentCommandDir
 
G4ApplicationState GetCurrentState() const
 
G4VUIshell(const G4String &prompt="> ")