source: trunk/geant4/interfaces/html/G4UIQt_8hh-source.html @ 574

Last change on this file since 574 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: 13.3 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>G4UIQt.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>G4UIQt.hh</h1><a href="G4UIQt_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: G4UIQt.hh,v 1.13 2006/06/29 19:09:33 gunter Exp $</span>
3500028 <span class="comment">// GEANT4 tag $Name: geant4-08-01 $</span>
3600029 <span class="comment">//</span>
3700030 <span class="preprocessor">#ifndef G4UIQt_h</span>
3800031 <span class="preprocessor"></span><span class="preprocessor">#define G4UIQt_h </span>
3900032 <span class="preprocessor"></span>
4000033 <span class="preprocessor">#if defined(G4UI_BUILD_QT_SESSION) || defined(G4UI_USE_QT)</span>
4100034 <span class="preprocessor"></span>
4200035 <span class="preprocessor">#include &lt;map&gt;</span>
4300036
4400037 <span class="preprocessor">#include "<a class="code" href="G4VBasicShell_8hh.html">G4VBasicShell.hh</a>"</span>
4500038 <span class="preprocessor">#include "<a class="code" href="G4VInteractiveSession_8hh.html">G4VInteractiveSession.hh</a>"</span>
4600039
4700040 <span class="preprocessor">#include &lt;QtGui/qmainwindow.h&gt;</span>
4800041 <span class="preprocessor">#include &lt;QtGui/qlineedit.h&gt;</span>
4900042 <span class="preprocessor">#include &lt;QtGui/qlistwidget.h&gt;</span>
5000043 <span class="preprocessor">#include &lt;QtGui/qtextedit.h&gt;</span>
5100044 <span class="preprocessor">#include &lt;QtGui/qlabel.h&gt;</span>
5200045 <span class="preprocessor">#include &lt;QtGui/qtreewidget.h&gt;</span>
5300046 <span class="preprocessor">#include &lt;QSignalMapper.h&gt;</span>
5400047 <span class="preprocessor">#include &lt;QObject&gt;</span>
5500048
5600049 <span class="keyword">class </span>G4UIsession;
5700050
5800051
5900052 <span class="comment">// Class description :</span>
6000053 <span class="comment">//</span>
6100054 <span class="comment">//  G4UIQt : class to handle a Motif interactive session.</span>
6200055 <span class="comment">// G4UIQt is the Motif version of G4UIterminal.</span>
6300056 <span class="comment">//</span>
6400057 <span class="comment">//  A command box is at disposal for entering/recalling Geant4 commands.</span>
6500058 <span class="comment">//  A menubar could be customized through the AddMenu, AddButton methods.</span>
6600059 <span class="comment">//  Note that there are corresponding Geant4 commands to add a </span>
6700060 <span class="comment">// menus in the menubar and add buttons in a menu.</span>
6800061 <span class="comment">//  Ex : </span>
6900062 <span class="comment">//    /gui/addMenu   test Test</span>
7000063 <span class="comment">//    /gui/addButton test Init /run/initialize</span>
7100064 <span class="comment">//    /gui/addButton test "Set gun" "/control/execute gun.g4m"</span>
7200065 <span class="comment">//    /gui/addButton test "Run one event" "/run/beamOn 1"</span>
7300066 <span class="comment">//</span>
7400067 <span class="comment">//  Command completion, by typing "tab" key, is available on the </span>
7500068 <span class="comment">// command line.</span>
7600069 <span class="comment">//</span>
7700070 <span class="comment">// Class description - end :</span>
7800071
79<a name="l00072"></a><a class="code" href="classG4UIQt.html">00072</a> <span class="keyword">class </span><a class="code" href="classG4UIQt.html">G4UIQt</a> : <span class="keyword">public</span> QObject, <span class="keyword">public</span> <a class="code" href="classG4VBasicShell.html">G4VBasicShell</a>, <span class="keyword">public</span> <a class="code" href="classG4VInteractiveSession.html">G4VInteractiveSession</a> {
8000073   Q_OBJECT
8100074
8200075 <span class="keyword">public</span>: <span class="comment">// With description</span>
8300076   <a class="code" href="classG4UIQt.html#a0">G4UIQt</a>(<span class="keywordtype">int</span>,<span class="keywordtype">char</span>**);
8400077   <span class="comment">// (argv, argc) or (0, NULL) had to be given.</span>
8500078   G4UIsession* <a class="code" href="classG4UIQt.html#a1">SessionStart</a>();
8600079   <span class="comment">// To enter interactive X loop ; waiting/executing command,...</span>
8700080   <span class="keywordtype">void</span> <a class="code" href="classG4UIQt.html#a2">AddMenu</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>*,<span class="keyword">const</span> <span class="keywordtype">char</span>*);
8800081   <span class="comment">// To add a pulldown menu in the menu bar. </span>
8900082   <span class="comment">// First argument is the name of the menu.</span>
9000083   <span class="comment">// Second argument is the label of the cascade button.</span>
9100084   <span class="comment">// Ex : AddMenu("my_menu","My menu")</span>
9200085   <span class="keywordtype">void</span> <a class="code" href="classG4UIQt.html#a3">AddButton</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>*,<span class="keyword">const</span> <span class="keywordtype">char</span>*,<span class="keyword">const</span> <span class="keywordtype">char</span>*);
9300086   <span class="comment">// To add a push button in a pulldown menu.</span>
9400087   <span class="comment">// First argument is the name of the menu.</span>
9500088   <span class="comment">// Second argument is the label of the button.</span>
9600089   <span class="comment">// Third argument is the Geant4 command executed when the button is fired.</span>
9700090   <span class="comment">// Ex : AddButton("my_menu","Run","/run/beamOn 1"); </span>
9800091 <span class="keyword">public</span>:
9900092   <a class="code" href="classG4UIQt.html#a4">~G4UIQt</a>();
10000093   <span class="keywordtype">void</span> <a class="code" href="classG4UIQt.html#a5">Prompt</a>(G4String);
10100094   <span class="keywordtype">void</span> <a class="code" href="classG4UIQt.html#a6">SessionTerminate</a>();
10200095   <span class="keywordtype">void</span> <a class="code" href="classG4UIQt.html#a7">PauseSessionStart</a>(G4String);
10300096   G4int <a class="code" href="classG4UIQt.html#a8">ReceiveG4cout</a>(G4String);
10400097   G4int <a class="code" href="classG4UIQt.html#a9">ReceiveG4cerr</a>(G4String);
10500098   <span class="comment">//   G4String GetCommand(Widget);</span>
10600099
10700100 <span class="keyword">private</span>:
10800101   <span class="keywordtype">void</span> <a class="code" href="classG4UIQt.html#d0">SecondaryLoop</a>(G4String); <span class="comment">// a VIRER</span>
10900102   <span class="keywordtype">void</span> <a class="code" href="classG4UIQt.html#d1">TerminalHelp</a>(G4String);
11000103   <span class="keywordtype">void</span> <a class="code" href="classG4UIQt.html#d2">CreateChildTree</a>(QTreeWidgetItem*,G4UIcommandTree*);
11100104   QString <a class="code" href="classG4UIQt.html#d3">GetCommandList</a>(G4UIcommand*);
11200105
11300106   G4bool <a class="code" href="classG4UIQt.html#d4">GetHelpChoice</a>(G4int&amp;) ;<span class="comment">// have to be implemeted because we heritate from G4VBasicShell</span>
11400107   <span class="keywordtype">void</span> <a class="code" href="classG4UIQt.html#d5">ExitHelp</a>();<span class="comment">// have to be implemeted because we heritate from G4VBasicShell</span>
11500108   <span class="keywordtype">bool</span> <a class="code" href="classG4UIQt.html#d6">eventFilter</a>(QObject*,QEvent*);
11600109
11700110 <span class="keyword">private</span>:
11800111
11900112   <span class="comment">//  Widget form,shell,command,menuBar,text;</span>
12000113   <span class="comment">//  std::map&lt;QAction*,G4String, std::less&lt;QAction*&gt; &gt; commands;</span>
12100114   <span class="comment">//  static void commandEnteredCallback(Widget,XtPointer,XtPointer);</span>
12200115   <span class="comment">//  static void keyHandler(Widget,XtPointer,XEvent*,Boolean*);</span>
123<a name="l00116"></a><a class="code" href="classG4UIQt.html#r0">00116</a>   QMainWindow * <a class="code" href="classG4UIQt.html#r0">fMainWindow</a>;
124<a name="l00117"></a><a class="code" href="classG4UIQt.html#r1">00117</a>   QLabel *<a class="code" href="classG4UIQt.html#r1">fCommandLabel</a>;
125<a name="l00118"></a><a class="code" href="classG4UIQt.html#r2">00118</a>   QLineEdit * <a class="code" href="classG4UIQt.html#r2">fCommandArea</a>;
126<a name="l00119"></a><a class="code" href="classG4UIQt.html#r3">00119</a>   QTextEdit *<a class="code" href="classG4UIQt.html#r3">fTextArea</a>;
127<a name="l00120"></a><a class="code" href="classG4UIQt.html#r4">00120</a>   QTextEdit *<a class="code" href="classG4UIQt.html#r4">fHelpArea</a>;
128<a name="l00121"></a><a class="code" href="classG4UIQt.html#r5">00121</a>   QListWidget *<a class="code" href="classG4UIQt.html#r5">fCommandHistoryArea</a>;
129<a name="l00122"></a><a class="code" href="classG4UIQt.html#r6">00122</a>   QSignalMapper *<a class="code" href="classG4UIQt.html#r6">signalMapper</a> ;
130<a name="l00123"></a><a class="code" href="classG4UIQt.html#r7">00123</a>   QTreeWidget *<a class="code" href="classG4UIQt.html#r7">fHelpTreeWidget</a>;
131<a name="l00124"></a><a class="code" href="classG4UIQt.html#r8">00124</a>   QDialog *<a class="code" href="classG4UIQt.html#r8">fHelpDialog</a>;
13200125
13300126 signals :
13400127   <span class="keywordtype">void</span> <a class="code" href="classG4UIQt.html#l0">myClicked</a>(<span class="keyword">const</span> QString &amp;text);
13500128
13600129 <span class="keyword">private</span> slots :
13700130   <span class="keywordtype">void</span> <a class="code" href="classG4UIQt.html#k0">clearButtonCallback</a>();
13800131   <span class="keywordtype">void</span> <a class="code" href="classG4UIQt.html#k1">commandEnteredCallback</a>();
13900132   <span class="keywordtype">void</span> <a class="code" href="classG4UIQt.html#k2">buttonCallback</a>(<span class="keyword">const</span> QString&amp;);
14000133   <span class="keywordtype">void</span> <a class="code" href="classG4UIQt.html#k3">helpTreeCallback</a>();
14100134   <span class="keywordtype">void</span> <a class="code" href="classG4UIQt.html#k4">showHelpCallback</a>();
14200135   <span class="keywordtype">void</span> <a class="code" href="classG4UIQt.html#k5">commandHistoryCallback</a>();
14300136 };
14400137
14500138 <span class="preprocessor">#endif</span>
14600139 <span class="preprocessor"></span>
14700140 <span class="preprocessor">#endif</span>
14800141 <span class="preprocessor"></span>
149</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Jun 22 11:07:02 2007 by
150<a href="http://www.doxygen.org/index.html">
151<img src="doxygen.png" alt="doxygen" align="middle" border=0 > 
152</a>1.3.4 </small></address>
153</body>
154</html>
Note: See TracBrowser for help on using the repository browser.