Geant4 10.7.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, G4bool commandsToBeBroadcasted=true)
 
virtual ~G4UImessenger ()
 
virtual G4String GetCurrentValue (G4UIcommand *command)
 
virtual void SetNewValue (G4UIcommand *command, G4String newValue)
 
G4bool operator== (const G4UImessenger &messenger) const
 
G4bool operator!= (const G4UImessenger &messenger) const
 
G4bool CommandsShouldBeInMaster () 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)
 
G4long StoL (G4String s)
 
G4double StoD (G4String s)
 
G4bool StoB (G4String s)
 
void AddUIcommand (G4UIcommand *newCommand)
 
void CreateDirectory (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
 
template<typename T >
T * CreateCommand (const G4String &cname, const G4String &dsc)
 
- Protected Attributes inherited from G4UImessenger
G4UIdirectorybaseDir = nullptr
 
G4String baseDirName = ""
 
G4bool commandsShouldBeInMaster = false
 

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/defaultIcons :
77 defaultIcons = new G4UIcommand("/gui/defaultIcons",this);
78 defaultIcons->SetGuidance("Set the Geant4 defaults icons in Qt driver.");
79 defaultIcons->SetGuidance("By default, Geant4 icons are enable.");
80
81 parameter = new G4UIparameter("bool",'b',true);
82 parameter->SetDefaultValue("true");
83 defaultIcons->SetParameter (parameter);
84
85 // /gui/addIcon :
86 addIcon = new G4UIcommand("/gui/addIcon",this);
87 addIcon->SetGuidance
88 ("Add a non-checkable icon to the Icon toolbar.");
89 addIcon->SetGuidance
90 ("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");
91 addIcon->SetGuidance
92 ("A command given without parameters will display a window that will allow one to choose the parameters (if needed) for this command.");
93 addIcon->SetGuidance
94 ("E.g: /gui/addIcon \"Change background color\" user_icon /vis/viewer/set/background ../Images/background.xpm");
95 addIcon->SetGuidance
96 ("Special cases for the Icon parameter:");
97 addIcon->SetGuidance
98 (" - open: Open an open-file-selector that can run the Command with File as argument.");
99 addIcon->SetGuidance
100 (" - save: Open a save-file-selector that can run the Command with File as argument.");
101 addIcon->SetGuidance
102 (" - move/rotate/pick/zoom_in/zoom_out: Theses icons are radio-button icons that can change cursor action.");
103 addIcon->SetGuidance
104 (" - wireframe/solid/hidden_line_removal/hidden_line_and_surface_removal: These icons are radio-button icons that can change drawing style.");
105 addIcon->SetGuidance
106 (" - perspective/ortho: These icons are radio-button icons that can change projection style.");
107
108 parameter = new G4UIparameter("Label",'s',false);
109 parameter->SetDefaultValue("");
110 addIcon->SetParameter (parameter);
111
112 parameter = new G4UIparameter("Icon",'s',false);
113 parameter->SetDefaultValue("");
114 parameter->SetParameterCandidates
115 ("open save move rotate pick zoom_in zoom_out wireframe solid hidden_line_removal hidden_line_and_surface_removal perspective ortho user_icon");
116 addIcon->SetParameter (parameter);
117
118 parameter = new G4UIparameter("Command",'s',true);
119 parameter->SetDefaultValue("no_command");
120 addIcon->SetParameter (parameter);
121
122 parameter = new G4UIparameter("File",'s',true);
123 parameter->SetDefaultValue("no_file");
124 addIcon->SetParameter (parameter);
125
126 // /gui/system :
127 sys = new G4UIcommand("/gui/system",this);
128 sys->SetGuidance("Send a command to the system.");
129 parameter = new G4UIparameter("Command",'s',false);
130 parameter->SetDefaultValue("");
131 sys->SetParameter (parameter);
132
133}
void SetParameter(G4UIparameter *const newParameter)
Definition: G4UIcommand.hh:146
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 135 of file G4InteractorMessenger.cc.

136{
137 delete addButton;
138 delete addIcon;
139 delete addMenu;
140 delete interactorDirectory;
141}

Member Function Documentation

◆ SetNewValue()

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

Reimplemented from G4UImessenger.

Definition at line 143 of file G4InteractorMessenger.cc.

147{
148 int paramn = command->GetParameterEntries();
149 G4String* params = new G4String [paramn];
150 if(GetValues(newValue,paramn,params)==true) {
151 if(command==addMenu) {
152 session->AddMenu((const char*)params[0],(const char*)params[1]);
153 } else if(command==addButton) {
154 session->AddButton((const char*)params[0],(const char*)params[1],(const char*)params[2]);
155 } else if(command==addIcon) {
156 session->AddIcon((const char*)params[0],(const char*)params[1],(const char*)params[2],(const char*)params[3]);
157 } else if(command==defaultIcons) {
158 session->DefaultIcons(command->ConvertToBool(newValue));
159 } else if(command==sys) {
160 int rc = system((const char*)params[0]);
161 if ( rc < 0 ){ }
162 }
163 }
164 delete [] params;
165}
std::size_t GetParameterEntries() const
Definition: G4UIcommand.hh:138
static G4bool ConvertToBool(const char *st)
Definition: G4UIcommand.cc:530
virtual void DefaultIcons(bool)
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: