Changeset 504 for trunk/geant4/interfaces/basic
- Timestamp:
- Jun 13, 2007, 12:46:15 PM (17 years ago)
- Location:
- trunk/geant4/interfaces/basic
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/geant4/interfaces/basic/include/G4UIQt.hh
r501 r504 42 42 #include <QtGui/qtextedit.h> 43 43 #include <QtGui/qlabel.h> 44 #include <QSignalMapper.h> 44 45 #include <QObject> 45 46 46 47 class G4UIsession; 48 47 49 48 50 // Class description : … … 100 102 101 103 // Widget form,shell,command,menuBar,text; 102 // std::map< Widget,G4String, std::less<Widget> > commands;104 // std::map<QAction*,G4String, std::less<QAction*> > commands; 103 105 // static void commandEnteredCallback(Widget,XtPointer,XtPointer); 104 106 // static void keyHandler(Widget,XtPointer,XEvent*,Boolean*); … … 110 112 QTextEdit *fTextArea; 111 113 QTextEdit *fCommandHistoryArea; 112 std::vector <QString*> menuName; 113 std::vector <QString*> menuLabel; 114 QSignalMapper *signalMapper ; 115 116 signals : 117 void myClicked(const QString &text); 114 118 115 119 private slots : 116 120 void clearButtonCallback(); 117 121 void commandEnteredCallback(); 122 void buttonCallback(const QString&); 118 123 }; 119 124 -
trunk/geant4/interfaces/basic/src/G4UIQt.cc
r503 r504 143 143 fMainWindow->setCentralWidget(splitter); 144 144 145 146 QMenu *fileMenu = fMainWindow->menuBar()->addMenu(tr("&File")); 147 fileMenu->addAction("repaint", fMainWindow, SLOT(repaint())); 145 QMenu *fileMenu = fMainWindow->menuBar()->addMenu("File"); 148 146 fileMenu->addAction("Quitter", fMainWindow, SLOT(close())); 149 fileMenu->addAction("Hide", fMainWindow, SLOT(hide()));150 147 151 148 // QMainWindow top = (QMainWindow)interactorManager->GetMainInteractor(); … … 403 400 { 404 401 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); 409 405 410 406 // QMenu *menu = new QMenu("test");//a_label); … … 438 434 /*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/ 439 435 { 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)); 440 448 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 446 450 // Widget widget = XmCreatePushButton(parent,(char*)a_label,NULL,0); 447 451 // XtManageChild (widget); 448 452 // XtAddCallback (widget,XmNactivateCallback,ButtonCallback,(XtPointer)this); 449 // commands[widget] = a_command; 450 } 453 // commands[action] = a_command; 454 } 455 456 451 457 // /***************************************************************************/ 452 // G4String G4UIXm::GetCommand (453 // Widgeta_widget454 // 458 //G4String G4UIQt::GetCommand ( 459 // QAction *a_widget 460 //) 455 461 // /***************************************************************************/ 456 462 // /*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/ … … 466 472 Send the command to geant4 467 473 */ 468 // TODO ! 474 void 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 */ 469 490 void G4UIQt::commandEnteredCallback ( 470 491 ) … … 482 503 } 483 504 } 484 fCommandArea->setText(""); 485 } 486 487 /***************************************************************************/ 505 fCommandArea->setText("");} 506 } 507 508 509 /***************************************************************************/ 488 510 void G4UIQt::clearButtonCallback ( 489 511 )
Note: See TracChangeset
for help on using the changeset viewer.