source: trunk/source/interfaces/html/G4VUIshell_8hh-source.html @ 818

Last change on this file since 818 was 571, checked in by garnier, 17 years ago

r581@mac-90108: laurentgarnier | 2007-08-17 17:30:26 +0200
deplacement de frame

  • Property svn:mime-type set to text/html
File size: 12.2 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3<title>G4VUIshell.hh Source File</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5</head><body>
6<!-- Generated by Doxygen 1.3.4 -->
7<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
8<h1>G4VUIshell.hh</h1><a href="G4VUIshell_8hh.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">//</span>
900002 <span class="comment">// ********************************************************************</span>
1000003 <span class="comment">// * License and Disclaimer                                           *</span>
1100004 <span class="comment">// *                                                                  *</span>
1200005 <span class="comment">// * The  Geant4 software  is  copyright of the Copyright Holders  of *</span>
1300006 <span class="comment">// * the Geant4 Collaboration.  It is provided  under  the terms  and *</span>
1400007 <span class="comment">// * conditions of the Geant4 Software License,  included in the file *</span>
1500008 <span class="comment">// * LICENSE and available at  http://cern.ch/geant4/license .  These *</span>
1600009 <span class="comment">// * include a list of copyright holders.                             *</span>
1700010 <span class="comment">// *                                                                  *</span>
1800011 <span class="comment">// * Neither the authors of this software system, nor their employing *</span>
1900012 <span class="comment">// * institutes,nor the agencies providing financial support for this *</span>
2000013 <span class="comment">// * work  make  any representation or  warranty, express or implied, *</span>
2100014 <span class="comment">// * regarding  this  software system or assume any liability for its *</span>
2200015 <span class="comment">// * use.  Please see the license in the file  LICENSE  and URL above *</span>
2300016 <span class="comment">// * for the full disclaimer and the limitation of liability.         *</span>
2400017 <span class="comment">// *                                                                  *</span>
2500018 <span class="comment">// * This  code  implementation is the result of  the  scientific and *</span>
2600019 <span class="comment">// * technical work of the GEANT4 collaboration.                      *</span>
2700020 <span class="comment">// * By using,  copying,  modifying or  distributing the software (or *</span>
2800021 <span class="comment">// * any work based  on the software)  you  agree  to acknowledge its *</span>
2900022 <span class="comment">// * use  in  resulting  scientific  publications,  and indicate your *</span>
3000023 <span class="comment">// * acceptance of all terms of the Geant4 Software license.          *</span>
3100024 <span class="comment">// ********************************************************************</span>
3200025 <span class="comment">//</span>
3300026 <span class="comment">//</span>
3400027 <span class="comment">// $Id: G4VUIshell.hh,v 1.6 2006/06/29 19:09:41 gunter Exp $</span>
3500028 <span class="comment">// GEANT4 tag $Name: geant4-08-01-patch-01 $</span>
3600029 <span class="comment">//</span>
3700030
3800031 <span class="preprocessor">#ifndef G4VUIshell_h</span>
3900032 <span class="preprocessor"></span><span class="preprocessor">#define G4VUIshell_h 1</span>
4000033 <span class="preprocessor"></span>
4100034 <span class="preprocessor">#include "globals.hh"</span>
4200035
4300036 <span class="comment">//</span>
4400037 <span class="comment">//   Description: </span>
4500038 <span class="comment">//   This class is the abstract base class for various UI shells.</span>
4600039 <span class="comment">//</span>
4700040 <span class="comment">//   GetCommadLine() (virtual) returns a command string input from</span>
4800041 <span class="comment">//    a commad line.</span>
4900042 <span class="comment">//</span>
5000043 <span class="comment">//   Two pre-inplemented shell commands(still virtual) are also included, </span>
5100044 <span class="comment">//   (somewhat differnt flavor from ones provided by G4VBasicShell)</span>
5200045 <span class="comment">//     ShowCurrentDirectory()   ... show current directory</span>
5300046 <span class="comment">//     ListCommand()            ... list commands</span>
5400047 <span class="comment">//</span>
5500048 <span class="comment">//   [prompt string substitution] (default)</span>
5600049 <span class="comment">//   %s ... current application status</span>
5700050 <span class="comment">//   %/ ... current working directory</span>
5800051 <span class="comment">//</span>
5900052
6000053 <span class="comment">// terminal color index</span>
61<a name="l00054"></a><a class="code" href="G4VUIshell_8hh.html#a8">00054</a> <span class="keyword">enum</span> <a class="code" href="G4VUIshell_8hh.html#a8">TermColorIndex</a>{ <a class="code" href="G4VUIshell_8hh.html#a8a0">BLACK</a>=0, <a class="code" href="G4VUIshell_8hh.html#a8a1">RED</a>, <a class="code" href="G4VUIshell_8hh.html#a8a2">GREEN</a>, <a class="code" href="G4VUIshell_8hh.html#a8a3">YELLOW</a>,
6200055                      <a class="code" href="G4VUIshell_8hh.html#a8a4">BLUE</a>, <a class="code" href="G4VUIshell_8hh.html#a8a5">PURPLE</a>, <a class="code" href="G4VUIshell_8hh.html#a8a6">CYAN</a>, <a class="code" href="G4VUIshell_8hh.html#a8a7">WHITE</a>};
6300056
6400057 <span class="keyword">class </span>G4UIcommandTree;
6500058
66<a name="l00059"></a><a class="code" href="classG4VUIshell.html">00059</a> <span class="keyword">class </span><a class="code" href="classG4VUIshell.html">G4VUIshell</a> {
6700060 <span class="keyword">protected</span>:
68<a name="l00061"></a><a class="code" href="classG4VUIshell.html#p0">00061</a>   G4String <a class="code" href="classG4VUIshell.html#p0">promptSetting</a>; <span class="comment">// including %-directive</span>
69<a name="l00062"></a><a class="code" href="classG4VUIshell.html#p1">00062</a>   G4String <a class="code" href="classG4VUIshell.html#p1">promptString</a>;
7000063   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classG4VUIshell.html#b0">MakePrompt</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* msg=0);  <span class="comment">// make prompt string</span>
71<a name="l00064"></a><a class="code" href="classG4VUIshell.html#p2">00064</a>   G4int <a class="code" href="classG4VUIshell.html#p2">nColumn</a><span class="comment">// column size of terminal (default=80)</span>
7200065
7300066   <span class="comment">// color code support (effective if your terminal supports color code.)</span>
7400067   <span class="comment">// default setting is off.</span>
75<a name="l00068"></a><a class="code" href="classG4VUIshell.html#p3">00068</a>   G4bool <a class="code" href="classG4VUIshell.html#p3">lsColorFlag</a>; <span class="comment">// color flag for list command</span>
76<a name="l00069"></a><a class="code" href="classG4VUIshell.html#p4">00069</a>   <a class="code" href="G4VUIshell_8hh.html#a8">TermColorIndex</a> <a class="code" href="classG4VUIshell.html#p4">directoryColor</a>;
77<a name="l00070"></a><a class="code" href="classG4VUIshell.html#p5">00070</a>   <a class="code" href="G4VUIshell_8hh.html#a8">TermColorIndex</a> <a class="code" href="classG4VUIshell.html#p5">commandColor</a>;
7800071
7900072   <span class="comment">// for treating G4 command tree...</span>
80<a name="l00073"></a><a class="code" href="classG4VUIshell.html#p6">00073</a>   G4String <a class="code" href="classG4VUIshell.html#p6">currentCommandDir</a>; <span class="comment">// current command directory (absolute path)</span>
8100074   <span class="comment">// get tree node</span>
8200075   G4UIcommandTree* <a class="code" href="classG4VUIshell.html#b1">GetCommandTree</a>(<span class="keyword">const</span> G4String&amp; dir) <span class="keyword">const</span>
8300076   <span class="comment">// absolute path name (ignore command)</span>
8400077   G4String <a class="code" href="classG4VUIshell.html#b2">GetAbsCommandDirPath</a>(<span class="keyword">const</span> G4String&amp; apath) <span class="keyword">const</span>;   
8500078   <span class="comment">// tail of path ( xxx/xxx/zzz -&gt; zzz, trancated //// -&gt; /)</span>
8600079   G4String <a class="code" href="classG4VUIshell.html#b3">GetCommandPathTail</a>(<span class="keyword">const</span> G4String&amp; apath) <span class="keyword">const</span>
8700080
8800081 <span class="keyword">public</span>:
8900082   <a class="code" href="classG4VUIshell.html#a0">G4VUIshell</a>(<span class="keyword">const</span> G4String&amp; prompt=<span class="stringliteral">"&gt; "</span>);
9000083   <span class="keyword">virtual</span> <a class="code" href="classG4VUIshell.html#a1">~G4VUIshell</a>();
9100084
9200085   <span class="keywordtype">void</span> <a class="code" href="classG4VUIshell.html#a2">SetNColumn</a>(G4int ncol);
9300086   <span class="keywordtype">void</span> <a class="code" href="classG4VUIshell.html#a3">SetPrompt</a>(<span class="keyword">const</span> G4String&amp; prompt);
9400087   <span class="keywordtype">void</span> <a class="code" href="classG4VUIshell.html#a4">SetCurrentDirectory</a>(<span class="keyword">const</span> G4String&amp; ccd);
9500088
9600089   <span class="comment">// shell commands</span>
9700090   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classG4VUIshell.html#a5">ShowCurrentDirectory</a>() <span class="keyword">const</span>;
9800091   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classG4VUIshell.html#a6">ListCommand</a>(<span class="keyword">const</span> G4String&amp; input,
9900092                            <span class="keyword">const</span> G4String&amp; candidate=<span class="stringliteral">""</span>) <span class="keyword">const</span>;
10000093   <span class="comment">//  "candidate" is specified with full path.</span>
10100094
10200095   <span class="comment">// get command string from a command line</span>
10300096   <span class="keyword">virtual</span> G4String <a class="code" href="classG4VUIshell.html#a7">GetCommandLine</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* msg=0)= 0;
10400097 };
10500098
10600099
10700100 <span class="comment">// inlines...</span>
108<a name="l00101"></a><a class="code" href="classG4VUIshell.html#a2">00101</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classG4VUIshell.html#a2">G4VUIshell::SetNColumn</a>(G4int ncol)
10900102 {
11000103   <a class="code" href="classG4VUIshell.html#p2">nColumn</a>= ncol;
11100104 }
11200105
113<a name="l00106"></a><a class="code" href="classG4VUIshell.html#a3">00106</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classG4VUIshell.html#a3">G4VUIshell::SetPrompt</a>(<span class="keyword">const</span> G4String&amp; prompt)
11400107 {
11500108   <a class="code" href="classG4VUIshell.html#p0">promptSetting</a>= prompt;
11600109 }
11700110
118<a name="l00111"></a><a class="code" href="classG4VUIshell.html#a4">00111</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classG4VUIshell.html#a4">G4VUIshell::SetCurrentDirectory</a>(<span class="keyword">const</span> G4String&amp; dir)
11900112 {
12000113   <a class="code" href="classG4VUIshell.html#p6">currentCommandDir</a>= dir;
12100114 }
12200115
123<a name="l00116"></a><a class="code" href="classG4VUIshell.html#a5">00116</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classG4VUIshell.html#a5">G4VUIshell::ShowCurrentDirectory</a>()<span class="keyword"> const</span>
12400117 <span class="keyword"></span>{
12500118   G4cout &lt;&lt; <a class="code" href="classG4VUIshell.html#p6">currentCommandDir</a> &lt;&lt; G4endl;
12600119 }
12700120
12800121 <span class="preprocessor">#endif</span>
129</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Jun 22 11:07:02 2007 by
130<a href="http://www.doxygen.org/index.html">
131<img src="doxygen.png" alt="doxygen" align="middle" border=0 > 
132</a>1.3.4 </small></address>
133</body>
134</html>
Note: See TracBrowser for help on using the repository browser.