Ignore:
Timestamp:
Jun 13, 2007, 12:46:15 PM (17 years ago)
Author:
garnier
Message:

r610@mac-90108: laurentgarnier | 2007-06-13 10:50:13 +0200
les menus sont ok, reste le exit qui n agit pas

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/geant4/interfaces/basic/src/G4UIQt.cc

    r503 r504  
    143143  fMainWindow->setCentralWidget(splitter);
    144144
    145 
    146   QMenu *fileMenu = fMainWindow->menuBar()->addMenu(tr("&File"));
    147   fileMenu->addAction("repaint", fMainWindow, SLOT(repaint()));
     145  QMenu *fileMenu = fMainWindow->menuBar()->addMenu("File");
    148146  fileMenu->addAction("Quitter", fMainWindow, SLOT(close()));
    149   fileMenu->addAction("Hide", fMainWindow, SLOT(hide()));
    150147
    151148//  QMainWindow top = (QMainWindow)interactorManager->GetMainInteractor();
     
    403400{
    404401  printf("G4UIQt::AddMenu %s %s\n",a_name,a_label);
    405   QString *name = new QString(a_name);
    406   QString *label = new QString(a_label);
    407   menuName.push_back(name);
    408   menuLabel.push_back(label);
     402
     403  QMenu *fileMenu = fMainWindow->menuBar()->addMenu(a_label);
     404  AddInteractor (a_name,(G4Interactor)fileMenu);
    409405
    410406  //  QMenu *menu = new QMenu("test");//a_label);
     
    438434/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
    439435{
     436  if(a_menu==NULL) return; // TO KEEP
     437  if(a_label==NULL) return; // TO KEEP
     438  if(a_command==NULL) return; // TO KEEP
     439  QMenu *parent = (QMenu*)GetInteractor(a_menu);
     440  if(parent==NULL) return;
     441 
     442  signalMapper = new QSignalMapper(this);
     443  QAction *action = parent->addAction(a_label, signalMapper, SLOT(map()));
     444  signalMapper->setMapping(action, QString(a_command));
     445  connect(signalMapper, SIGNAL(mapped(const QString &)),this, SLOT(buttonCallback(const QString&)));
     446 
     447  //  std::string slot = SLOT(buttonCallback(std::string));   
    440448  printf("G4UIQt::AddButton %s %s %s\n",a_menu,a_label,a_command);
    441 //   if(a_menu==NULL) return; // TO KEEP
    442 //   if(a_label==NULL) return; // TO KEEP
    443 //   if(a_command==NULL) return; // TO KEEP
    444 //   Widget parent = (Widget)GetInteractor(a_menu);
    445 //   if(parent==NULL) return;
     449
    446450//   Widget widget = XmCreatePushButton(parent,(char*)a_label,NULL,0);
    447451//   XtManageChild (widget);
    448452//   XtAddCallback (widget,XmNactivateCallback,ButtonCallback,(XtPointer)this);
    449 //   commands[widget] = a_command;
    450 }
     453//   commands[action] = a_command;
     454}
     455
     456
    451457// /***************************************************************************/
    452 // G4String G4UIXm::GetCommand (
    453 //  Widget a_widget
    454 // )
     458//G4String G4UIQt::GetCommand (
     459//  QAction *a_widget
     460//)
    455461// /***************************************************************************/
    456462// /*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
     
    466472  Send the command to geant4
    467473 */
    468 // TODO !
     474void G4UIQt::buttonCallback (
     475  const QString& a_command
     476)
     477/***************************************************************************/
     478/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
     479{
     480  if(fHelp==true) return; // Disabled when in help.
     481  G4String ss = G4String(a_command.toStdString().c_str());
     482  printf ("debug : execute:\n%s\n",ss.data());
     483  ApplyShellCommand(ss,exitSession,exitPause);
     484}
     485
     486/**
     487  Callback call when "click on a menu entry.
     488  Send the associated command to geant4
     489 */
    469490void G4UIQt::commandEnteredCallback (
    470491)
     
    482503    }
    483504  }
    484   fCommandArea->setText("");
    485 }
    486 
    487  /***************************************************************************/
     505  fCommandArea->setText("");}
     506}
     507
     508
     509/***************************************************************************/
    488510void G4UIQt::clearButtonCallback (
    489511)
Note: See TracChangeset for help on using the changeset viewer.