Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4UIXaw.hh
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26//
27// $Id$
28//
29#ifndef G4UIXaw_h
30#define G4UIXaw_h
31
32#if defined(G4UI_BUILD_XAW_SESSION) || defined(G4UI_USE_XAW)
33
34#include <X11/Intrinsic.h>
35
36#include "G4VBasicShell.hh"
37
38class G4UIsession;
39class G4UImanager;
40
41// Class description :
42//
43// G4UIXaw : class to handle an interactive session.
44// G4UIXaw is the "Athena" version of G4UIterminal.
45// It has been provided at a time where no free Motif
46// where available. Now that some exists (lesstif),
47// G4UIXm should be prefered. The look and feel of
48// G4UIXaw is hugly...
49//
50// No command completion is available.
51//
52// Class description - end :
53
54class G4UIXaw : public G4VBasicShell {
55public:
56 G4UIXaw(int,char**);
57 ~G4UIXaw();
59 void Prompt(const G4String&);
60 void SessionTerminate();
61 virtual void PauseSessionStart(const G4String&);
62 Widget GetDialog();
63private:
64 void SecondaryLoop(G4String);
65 virtual G4bool GetHelpChoice(G4int&);
66 virtual void ExitHelp() const;
67private:
68 Widget shell,dialog;
69 G4bool fHelp;
70 G4int fHelpChoice;
71 static void Callback(Widget,XtPointer,XtPointer);
72};
73
74#endif
75
76#endif
77
int G4int
Definition: G4Types.hh:66
bool G4bool
Definition: G4Types.hh:67
virtual void PauseSessionStart(const G4String &Prompt)=0
virtual G4UIsession * SessionStart()=0
virtual void ExitHelp() const =0
virtual G4bool GetHelpChoice(G4int &)=0