source: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/UserInterface/userInterface.xml @ 904

Last change on this file since 904 was 904, checked in by garnier, 16 years ago

ajout de la doc

File size: 3.4 KB
Line 
1<!-- ******************************************************** -->
2<!--  Docbook Version:  For Toolkit Developers Guide          -->
3<!-- ******************************************************** -->
4
5<!-- ******************* Section (Level#1) ****************** -->
6<sect1 id="sect.DsgnFuncIntrCm">
7<title>
8Intercoms
9</title>
10
11<!-- ******************* Section (Level#2) ****************** -->
12<sect2 id="sect.DsgnFuncIntrCm.DsgPhlsp">
13<title>
14Design Philosophy
15</title>
16
17<para>
18The intercoms category implements an expandable command interpreter which
19is the key mechanism in Geant4 for realizing customizable and
20state-dependent user interactions with all categories without being
21perturbed by the dependencies among classes.  The capturing of commands is
22handled by a C++ abstract class <emphasis role="italic">G4UIsession</emphasis>
23Various concrete  implementations of the command capturer are contained in
24the [user] interfaces category.  Taking into account the rapid evolution
25of graphical user interface (GUI) technology and consequent dependence on
26external facilities, plural and extensible GUIs are offered.
27</para>
28
29<para>
30Programmers need only know how to register the commands and parameters
31appropriate to their problem domain;  no knowledge of GUI programming is
32required to allow an application to use them through one of the available
33GUIs.
34</para>
35
36<para>
37The intercoms category also provides the virtual base classes
38
39<itemizedlist spacing="compact">
40  <listitem><para>
41    G4VVisManager,
42  </para></listitem>
43  <listitem><para>
44    G4VGraphicsScene, and
45  </para></listitem>
46  <listitem><para>
47    G4VGlobalFastSimulationManager.
48  </para></listitem>
49</itemizedlist>
50</para>
51
52</sect2>
53
54<!-- ******************* Section (Level#2) ****************** -->
55<sect2 id="sect.DsgnFuncIntrCm.ClassDsg">
56<title>
57Class Design
58</title>
59
60<para>
61<itemizedlist spacing="compact">
62  <listitem><para>
63    <emphasis role="bold">G4UISession</emphasis> -
64  </para></listitem>
65  <listitem><para>
66    <emphasis role="bold">G4UIBatch</emphasis> -
67  </para></listitem>
68  <listitem><para>
69    <emphasis role="bold">G4UICommand</emphasis> -
70  </para></listitem>
71  <listitem><para>
72    <emphasis role="bold">G4UIparameter</emphasis> -
73  </para></listitem>
74  <listitem><para>
75    <emphasis role="bold">G4UImessenger</emphasis> -
76  </para></listitem>
77</itemizedlist>
78</para>
79
80<para>
81The object-oriented design of the 'user interface' related classes
82is shown in the class diagram <xref linkend="fig.DsgnFuncIntrCm_1" />.
83The diagram is described in the Booch notation.
84
85<figure id="fig.DsgnFuncIntrCm_1">
86<title>
87Overview of intercom classes
88</title>
89<mediaobject>
90  <imageobject role="fo">
91    <imagedata fileref="./AllResources/OOAnalysisDesign/UserInterface/classDgmUserInterface.gif" 
92               format="GIF" contentwidth="10.0cm" align="center" />
93  </imageobject>
94  <imageobject role="html">
95    <imagedata fileref="./AllResources/OOAnalysisDesign/UserInterface/classDgmUserInterface.gif" 
96               format="GIF" align="center" />
97  </imageobject>
98</mediaobject>
99</figure>
100</para>
101
102</sect2>
103
104<!-- ******* Bridgehead ******* -->
105<bridgehead role="revisionHistory" renderas='sect4'>
106[Status of this chapter]
107</bridgehead>
108
109<para>
110<simplelist type="var">
111  <member>
112    27.06.05 design philosophy (from Geant4 general paper) and class design
113    sections added by D.H. Wright
114  </member>
115  <member>
116    Dec. 2006 Conversion from latex to Docbook verson by K. Amako
117  </member>
118</simplelist>
119</para>
120
121
122</sect1>
Note: See TracBrowser for help on using the repository browser.