37 #define STRDUP(str)  ((str) != NULL ? (strcpy((char*)malloc((unsigned)strlen(str) + 1), str)) : (char*)NULL) 
   38 #define STRDEL(str) {if((str)!=NULL) {free(str);str=NULL;}} 
   51   interactorDirectory->
SetGuidance(
"UI interactors commands.");
 
   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.");
 
   88   (
"Add a non-checkable icon to the Icon toolbar.");
 
   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");
 
   92   (
"A command given without parameters will display a window that will allow one to choose the parameters (if needed) for this command.");
 
   94   (
"E.g: /gui/addIcon \"Change background color\" user_icon /vis/viewer/set/background ../Images/background.xpm");
 
   96   (
"Special cases for the Icon parameter:");
 
   98   (
" - open: Open an open-file-selector that can run the Command with File as argument.");
 
  100   (
" - save: Open a save-file-selector that can run the Command with File as argument.");
 
  102   (
" - move/rotate/pick/zoom_in/zoom_out: Theses icons are radio-button icons that can change cursor action.");
 
  104   (
" - wireframe/solid/hidden_line_removal/hidden_line_and_surface_removal: These icons are radio-button icons that can change drawing style.");
 
  106   (
" - perspective/ortho: These icons are radio-button icons that can change projection style.");
 
  115   (
"open save move rotate pick zoom_in zoom_out wireframe solid hidden_line_removal hidden_line_and_surface_removal perspective ortho user_icon");
 
  140   delete interactorDirectory;
 
  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) {
 
  159     } 
else if(command==sys) {
 
  160       system((
const char*)params[0]);
 
  172   if(value==NULL) 
return false;
 
  173   char* tok = strtok(value,
" ");
 
  174   for( 
int i=0; i<paramn;i++ ) {
 
  180     if( token(0)==
'"' ) {
 
  181       while( token(token.length()-1) != 
'"' ) {
 
  182     tok = strtok(NULL,
" ");
 
  183     if( (tok==NULL) || (*tok==
'\0')) {
 
  198     tok = strtok(NULL,
" ");
 
virtual void DefaultIcons(bool)
 
void SetParameter(G4UIparameter *const newParameter)
 
virtual ~G4InteractorMessenger()
 
G4String strip(G4int strip_Type=trailing, char c=' ')
 
void SetParameterCandidates(const char *theString)
 
void SetDefaultValue(const char *theDefaultValue)
 
virtual void AddMenu(const char *, const char *)
 
const XML_Char int const XML_Char * value
 
static G4bool ConvertToBool(const char *st)
 
void SetGuidance(const char *aGuidance)
 
G4InteractorMessenger(G4VInteractiveSession *session)
 
const char * data() const 
 
virtual void AddButton(const char *, const char *, const char *)
 
static G4bool GetValues(G4String, int, G4String *)
 
void SetNewValue(G4UIcommand *command, G4String newValue)
 
G4int GetParameterEntries() const 
 
virtual void AddIcon(const char *, const char *, const char *, const char *)