Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4InteractorMessenger Class Reference

#include <G4InteractorMessenger.hh>

+ Inheritance diagram for G4InteractorMessenger:

Public Member Functions

 G4InteractorMessenger (G4VInteractiveSession *session)
 
virtual ~G4InteractorMessenger ()
 
void SetNewValue (G4UIcommand *command, G4String newValue)
 
- Public Member Functions inherited from G4UImessenger
 G4UImessenger ()
 
 G4UImessenger (const G4String &path, const G4String &dsc)
 
virtual ~G4UImessenger ()
 
virtual G4String GetCurrentValue (G4UIcommand *command)
 
virtual void SetNewValue (G4UIcommand *command, G4String newValue)
 
G4bool operator== (const G4UImessenger &messenger) const
 

Additional Inherited Members

- Protected Member Functions inherited from G4UImessenger
G4String ItoS (G4int i)
 
G4String DtoS (G4double a)
 
G4String BtoS (G4bool b)
 
G4int StoI (G4String s)
 
G4double StoD (G4String s)
 
G4bool StoB (G4String s)
 
void AddUIcommand (G4UIcommand *newCommand)
 
void CreateDirectory (const G4String &path, const G4String &dsc)
 
template<typename T >
T * CreateCommand (const G4String &cname, const G4String &dsc)
 
- Protected Attributes inherited from G4UImessenger
G4UIdirectorybaseDir
 
G4String baseDirName
 

Detailed Description

Definition at line 37 of file G4InteractorMessenger.hh.

Constructor & Destructor Documentation

◆ G4InteractorMessenger()

G4InteractorMessenger::G4InteractorMessenger ( G4VInteractiveSession session)

Definition at line 42 of file G4InteractorMessenger.cc.

45{
46 session = a_session;
47
48 G4UIparameter* parameter;
49
50 interactorDirectory = new G4UIdirectory("/gui/");
51 interactorDirectory->SetGuidance("UI interactors commands.");
52
53 // /gui/addMenu :
54 addMenu = new G4UIcommand("/gui/addMenu",this);
55 addMenu->SetGuidance("Add a menu to menu bar.");
56 parameter = new G4UIparameter("Name",'s',false);
57 parameter->SetDefaultValue("dummy");
58 addMenu->SetParameter (parameter);
59 parameter = new G4UIparameter("Label",'s',false);
60 parameter->SetDefaultValue("dummy");
61 addMenu->SetParameter (parameter);
62
63 // /gui/addButton :
64 addButton = new G4UIcommand("/gui/addButton",this);
65 addButton->SetGuidance("Add a button to menu.");
66 parameter = new G4UIparameter("Menu",'s',false);
67 parameter->SetDefaultValue("dummy");
68 addButton->SetParameter (parameter);
69 parameter = new G4UIparameter("Label",'s',false);
70 parameter->SetDefaultValue("dummy");
71 addButton->SetParameter (parameter);
72 parameter = new G4UIparameter("Command",'s',false);
73 parameter->SetDefaultValue("");
74 addButton->SetParameter (parameter);
75
76 // /gui/addIcon :
77 addIcon = new G4UIcommand("/gui/addIcon",this);
78 addIcon->SetGuidance
79 ("Add a non-checkable icon to the Icon toolbar.");
80 addIcon->SetGuidance
81 ("If the Icon parameter is set to \"user_icon\", you should provide the icon file in xpm format, otherwise you have to choose one of the candidate icons");
82 addIcon->SetGuidance
83 ("A command given without parameters will display a window that will allow one to choose the parameters (if needed) for this command.");
84 addIcon->SetGuidance
85 ("E.g: /gui/addIcon \"Change background color\" user_icon /vis/viewer/set/background ../Images/background.xpm");
86 addIcon->SetGuidance
87 ("Special cases for the Icon parameter:");
88 addIcon->SetGuidance
89 (" - open: Open an open-file-selector that can run the Command with File as argument.");
90 addIcon->SetGuidance
91 (" - save: Open a save-file-selector that can run the Command with File as argument.");
92 addIcon->SetGuidance
93 (" - move/rotate/pick/zoom_in/zoom_out: Theses icons are radio-button icons that can change cursor action.");
94 addIcon->SetGuidance
95 (" - wireframe/solid/hidden_line_removal/hidden_line_and_surface_removal: These icons are radio-button icons that can change drawing style.");
96 addIcon->SetGuidance
97 (" - perspective/ortho: These icons are radio-button icons that can change projection style.");
98
99 parameter = new G4UIparameter("Label",'s',false);
100 parameter->SetDefaultValue("");
101 addIcon->SetParameter (parameter);
102
103 parameter = new G4UIparameter("Icon",'s',false);
104 parameter->SetDefaultValue("");
105 parameter->SetParameterCandidates
106 ("open save move rotate pick zoom_in zoom_out wireframe solid hidden_line_removal hidden_line_and_surface_removal perspective ortho user_icon");
107 addIcon->SetParameter (parameter);
108
109 parameter = new G4UIparameter("Command",'s',true);
110 parameter->SetDefaultValue("no_command");
111 addIcon->SetParameter (parameter);
112
113 parameter = new G4UIparameter("File",'s',true);
114 parameter->SetDefaultValue("no_file");
115 addIcon->SetParameter (parameter);
116
117 // /gui/system :
118 sys = new G4UIcommand("/gui/system",this);
119 sys->SetGuidance("Send a command to the system.");
120 parameter = new G4UIparameter("Command",'s',false);
121 parameter->SetDefaultValue("");
122 sys->SetParameter (parameter);
123
124}
void SetParameter(G4UIparameter *const newParameter)
Definition: G4UIcommand.hh:147
void SetGuidance(const char *aGuidance)
Definition: G4UIcommand.hh:156
void SetDefaultValue(const char *theDefaultValue)
void SetParameterCandidates(const char *theString)

◆ ~G4InteractorMessenger()

G4InteractorMessenger::~G4InteractorMessenger ( )
virtual

Definition at line 126 of file G4InteractorMessenger.cc.

127{
128 delete addButton;
129 delete addIcon;
130 delete addMenu;
131 delete interactorDirectory;
132}

Member Function Documentation

◆ SetNewValue()

void G4InteractorMessenger::SetNewValue ( G4UIcommand command,
G4String  newValue 
)
virtual

Reimplemented from G4UImessenger.

Definition at line 134 of file G4InteractorMessenger.cc.

138{
139 int paramn = command->GetParameterEntries();
140 G4String* params = new G4String [paramn];
141 if(GetValues(newValue,paramn,params)==true) {
142 if(command==addMenu) {
143 session->AddMenu((const char*)params[0],(const char*)params[1]);
144 } else if(command==addButton) {
145 session->AddButton((const char*)params[0],(const char*)params[1],(const char*)params[2]);
146 } else if(command==addIcon) {
147 session->AddIcon((const char*)params[0],(const char*)params[1],(const char*)params[2],(const char*)params[3]);
148 } else if(command==sys) {
149 system((const char*)params[0]);
150 }
151 }
152 delete [] params;
153}
G4int GetParameterEntries() const
Definition: G4UIcommand.hh:138
virtual void AddMenu(const char *, const char *)
virtual void AddIcon(const char *, const char *, const char *, const char *)
virtual void AddButton(const char *, const char *, const char *)

The documentation for this class was generated from the following files: