Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4InteractorMessenger Class Reference

#include <G4InteractorMessenger.hh>

Inheritance diagram for G4InteractorMessenger:
Collaboration 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)
 
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)
 
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
 
G4String baseDirName
 
G4bool commandsShouldBeInMaster
 

Detailed Description

Definition at line 37 of file G4InteractorMessenger.hh.

Constructor & Destructor Documentation

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:152
void SetParameterCandidates(const char *theString)
void SetDefaultValue(const char *theDefaultValue)
void SetGuidance(const char *aGuidance)
Definition: G4UIcommand.hh:161

Here is the call graph for this function:

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

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  system((const char*)params[0]);
161  }
162  }
163  delete [] params;
164 }
virtual void DefaultIcons(bool)
virtual void AddMenu(const char *, const char *)
static G4bool ConvertToBool(const char *st)
Definition: G4UIcommand.cc:437
virtual void AddButton(const char *, const char *, const char *)
static G4bool GetValues(G4String, int, G4String *)
G4int GetParameterEntries() const
Definition: G4UIcommand.hh:143
virtual void AddIcon(const char *, const char *, const char *, const char *)

Here is the call graph for this function:


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