#include <GoofyMessenger.h>
Public Member Functions | |
G4String | GetCurrentValue (G4UIcommand *command) |
GoofyMessenger (Goofy *v) | |
void | SetNewValue (G4UIcommand *command, G4String newValues) |
~GoofyMessenger () | |
Private Attributes | |
G4UIcommand * | echo |
G4UIcommand * | edit |
G4UIcommand * | load |
G4UIcommand * | quit |
Goofy * | rm |
G4UIcommand * | shell |
G4UIcommand * | unload |
|
00010 { 00011 rm=v; 00012 00013 shell=new G4UIcommand("/shell",this); 00014 shell->SetGuidance("Invokes a shell command"); 00015 G4UIparameter* parameter; 00016 G4bool omitable; 00017 parameter = new G4UIparameter ("Command", 's', omitable = false); 00018 shell->SetParameter(parameter); 00019 00020 echo=new G4UIcommand("/echo",this); 00021 echo->SetGuidance("Echoes a string"); 00022 echo->SetParameter(parameter); 00023 00024 edit=new G4UIcommand("/edit",this); 00025 edit->SetGuidance("Invokes the chosen editor"); 00026 parameter = new G4UIparameter ("File to be edited", 's', omitable = false); 00027 edit->SetParameter(parameter); 00028 00029 quit=new G4UIcommand("/quit",this); 00030 quit->SetGuidance("quits the application"); 00031 00032 load=new G4UIcommand("/load",this); 00033 load->SetGuidance("Dynamically loads a shared library"); 00034 parameter = new G4UIparameter ("Library to be loaded", 's', omitable = false); 00035 load->SetParameter(parameter); 00036 00037 unload=new G4UIcommand("/unload",this); 00038 unload->SetGuidance("Drops a shared library"); 00039 parameter = new G4UIparameter ("Library to be dropped", 's', omitable = false); 00040 unload->SetParameter(parameter); 00041 }
|
|
00044 { 00045 delete shell; 00046 delete echo; 00047 delete edit; 00048 delete load; 00049 delete unload; 00050 delete quit; 00051 }
|
|
00102 { 00103 G4String s="Undefined"; 00104 return s; 00105 }
|
|
00054 { 00055 if (command==shell) 00056 { 00057 std::string temp(newValues); 00058 unsigned int i=temp.find_first_not_of ('"'); 00059 if (i != std::string::npos) 00060 { 00061 if (i>0) temp = temp.substr (i); 00062 i = temp.find_last_not_of ('"'); 00063 if (i < temp.size ()) temp = temp.substr (0, i + 1); 00064 } 00065 i=Goofy::Shell(temp); 00066 } 00067 else if (command==echo) 00068 { 00069 std::string temp(newValues); 00070 unsigned int i=temp.find_first_not_of ('"'); 00071 if (i != std::string::npos) 00072 { 00073 if (i>0) temp = temp.substr (i); 00074 i = temp.find_last_not_of ('"'); 00075 if (i < temp.size ()) temp = temp.substr (0, i + 1); 00076 } 00077 i=Goofy::Shell("echo "+temp); 00078 } 00079 else if (command==quit) 00080 { 00081 G4UImanager *man=G4UImanager::GetUIpointer(); 00082 man->ApplyCommand("/exit"); 00083 } 00084 else if (command==edit) 00085 { 00086 std::string s="$GOOFY_EDITOR "+newValues+" &"; 00087 Goofy::Shell(s); 00088 } 00089 else if (command==load) 00090 { 00091 PackageLoader a(newValues.c_str()); 00092 } 00093 else if (command==unload) 00094 { 00095 bool test; 00096 PackageLoader a; 00097 test=a.unload(newValues); 00098 } 00099 }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|