Changeset 603
- Timestamp:
- Nov 15, 2007, 11:55:49 AM (17 years ago)
- Location:
- trunk/geant4/interfaces/basic
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/geant4/interfaces/basic/include/G4UIQt.hh
r602 r603 43 43 class QLineEdit; 44 44 class G4UIsession; 45 #if QT_VERSION < 0x040000 46 class QListView; 47 class QListViewItem; 48 #else 45 49 class QListWidget; 50 class QTreeWidget; 51 class QTreeWidgetItem; 52 #endif 46 53 class QTextEdit; 47 54 class QLabel; 48 55 class QDialog; 49 class QTreeWidgetItem;50 class QTreeWidget;51 56 52 57 // Class description : … … 101 106 void SecondaryLoop(G4String); // a VIRER 102 107 void TerminalHelp(G4String); 108 #if QT_VERSION < 0x040000 109 void CreateChildTree(QListViewItem*,G4UIcommandTree*); 110 QListViewItem* FindTreeItem(QListViewItem *,const QString&); 111 #else 103 112 void CreateChildTree(QTreeWidgetItem*,G4UIcommandTree*); 104 113 QTreeWidgetItem* FindTreeItem(QTreeWidgetItem *,const QString&); 114 #endif 105 115 106 116 QString GetCommandList(const G4UIcommand*); … … 121 131 QTextEdit *fTextArea; 122 132 QTextEdit *fHelpArea; 133 #if QT_VERSION < 0x040000 134 QListView *fCommandHistoryArea; 135 QListView *fHelpTreeWidget; 136 #else 123 137 QListWidget *fCommandHistoryArea; 124 138 QTreeWidget *fHelpTreeWidget; 139 #endif 125 140 QDialog *fHelpDialog; 126 141 -
trunk/geant4/interfaces/basic/src/G4UIQt.cc
r602 r603 50 50 #include <qlineedit.h> 51 51 #include <qwidget.h> 52 #if QT_VERSION >= 0x04000053 #include <qmenu.h>54 #else55 #include <qpopupmenu.h>56 #endif57 52 #include <qmenubar.h> 58 53 #include <qlayout.h> … … 63 58 #include <qdialog.h> 64 59 #include <qevent.h> 60 #include <qtextedit.h> 61 #include <qsignalmapper.h> 62 63 #if QT_VERSION >= 0x040000 64 #include <qmenu.h> 65 65 #include <qlistwidget.h> 66 #include <qtextedit.h>67 66 #include <qtreewidget.h> 68 #include <qsignalmapper.h> 67 #else 68 #include <qaction.h> 69 #include <qheader.h> 70 #include <qlistview.h> 71 #include <qpopupmenu.h> 72 #endif 73 69 74 70 75 … … 106 111 107 112 fMainWindow = new QMainWindow(); 108 fMainWindow->setWindowTitle( "G4UI Session" ); 113 #if QT_VERSION < 0x040000 114 fMainWindow->setCaption( tr( "G4UI Session" )); 115 #else 116 fMainWindow->setWindowTitle( tr("G4UI Session") ); 117 #endif 109 118 fMainWindow->resize(800,600); 110 119 fMainWindow->move(QPoint(50,100)); … … 112 121 QSplitter *splitter = new QSplitter(Qt::Vertical); 113 122 fTextArea = new QTextEdit(); 114 QPushButton *clearButton = new QPushButton("clear" );123 QPushButton *clearButton = new QPushButton("clear",fMainWindow); 115 124 connect(clearButton, SIGNAL(clicked()), SLOT(ClearButtonCallback())); 116 125 126 #if QT_VERSION < 0x040000 127 fCommandHistoryArea = new QListView(); 128 fCommandHistoryArea->setSelectionMode(QListView::Single); 129 #else 117 130 fCommandHistoryArea = new QListWidget(); 118 131 fCommandHistoryArea->setSelectionMode(QAbstractItemView::SingleSelection); 132 #endif 119 133 connect(fCommandHistoryArea, SIGNAL(itemSelectionChanged()), SLOT(CommandHistoryCallback())); 120 134 fCommandHistoryArea->installEventFilter(this); 121 fCommandLabel = new QLabel( );122 123 fCommandArea = new QLineEdit( );135 fCommandLabel = new QLabel("",fMainWindow); 136 137 fCommandArea = new QLineEdit(fMainWindow); 124 138 fCommandArea->installEventFilter(this); 139 #if QT_VERSION < 0x040000 140 fCommandArea->setActiveWindow(); 141 #else 125 142 fCommandArea->activateWindow(); 143 #endif 126 144 connect(fCommandArea, SIGNAL(returnPressed()), SLOT(CommandEnteredCallback())); 145 #if QT_VERSION < 0x040000 146 fCommandArea->setFocusPolicy ( QWidget::StrongFocus ); 147 fCommandArea->setFocus(); 148 #else 127 149 fCommandArea->setFocusPolicy ( Qt::StrongFocus ); 128 150 fCommandArea->setFocus(Qt::TabFocusReason); 151 #endif 129 152 fTextArea->setReadOnly(true); 130 153 … … 132 155 // Set layouts 133 156 157 #if QT_VERSION < 0x040000 158 QWidget* topWidget = new QWidget(splitter); 159 QWidget* bottomWidget = new QWidget(splitter); 160 161 QVBoxLayout *layoutTop = new QVBoxLayout(topWidget); 162 QVBoxLayout *layoutBottom = new QVBoxLayout(bottomWidget); 163 #else 134 164 QWidget* topWidget = new QWidget(); 165 QWidget* bottomWidget = new QWidget(); 166 135 167 QVBoxLayout *layoutTop = new QVBoxLayout; 136 137 QWidget* bottomWidget = new QWidget();138 168 QVBoxLayout *layoutBottom = new QVBoxLayout; 169 #endif 170 139 171 140 172 141 173 layoutTop->addWidget(fTextArea); 142 174 layoutTop->addWidget(clearButton); 175 176 #if QT_VERSION >= 0x040000 143 177 topWidget->setLayout(layoutTop); 178 #endif 144 179 145 180 layoutBottom->addWidget(fCommandHistoryArea); 146 181 layoutBottom->addWidget(fCommandLabel); 147 182 layoutBottom->addWidget(fCommandArea); 183 #if QT_VERSION >= 0x040000 148 184 bottomWidget->setLayout(layoutBottom); 149 150 151 185 splitter->addWidget(topWidget); 152 186 splitter->addWidget(bottomWidget); 187 #endif 188 153 189 fMainWindow->setCentralWidget(splitter); 154 190 191 #if QT_VERSION < 0x040000 192 // Add a quit subMenu 193 QPopupMenu *fileMenu = new QPopupMenu( fMainWindow); 194 fileMenu->insertItem( "&Quitter", this, SLOT(close()), CTRL+Key_Q ); 195 fMainWindow->menuBar()->insertItem( QString("&File"), fileMenu ); 196 197 // Add a Help menu 198 QPopupMenu *helpMenu = new QPopupMenu( fMainWindow ); 199 helpMenu->insertItem( "&Show Help", this, SLOT(ShowHelpCallback()), CTRL+Key_H ); 200 fMainWindow->menuBar()->insertItem( QString("&Help"), helpMenu ); 201 202 #else 155 203 // Add a quit subMenu 156 204 QMenu *fileMenu = fMainWindow->menuBar()->addMenu("File"); … … 160 208 QMenu *helpMenu = fMainWindow->menuBar()->addMenu("Help"); 161 209 helpMenu->addAction("Show Help", this, SLOT(ShowHelpCallback())); 210 #endif 162 211 163 212 // Set the splitter size. The fTextArea sould be 2/3 on the fMainWindow 213 #if QT_VERSION < 0x040000 214 QValueList<int> vals = splitter->sizes(); 215 #else 164 216 QList<int> vals = splitter->sizes(); 217 #endif 165 218 if(vals.size()==2) { 166 219 vals[0] = (splitter->orientation()==Qt::Vertical ? splitter->height() : splitter->width())*3/4; … … 310 363 311 364 // printf(" **************** G4 Cout : %s\n",(char*)aString.data()); 365 #if QT_VERSION < 0x040000 366 fTextArea->append(QString((char*)aString.data()).simplifyWhiteSpace()); 367 fTextArea->verticalScrollBar()->setValue(fTextArea->verticalScrollBar()->maxValue()); 368 #else 312 369 fTextArea->append(QString((char*)aString.data()).trimmed()); 313 370 fTextArea->verticalScrollBar()->setSliderPosition(fTextArea->verticalScrollBar()->maximum()); 371 #endif 314 372 interactorManager->FlushAndWaitExecution(); 315 373 return 0; … … 330 388 if (!interactorManager) return 0; 331 389 390 #if QT_VERSION < 0x040000 391 QColor previousColor = fTextArea->color(); 392 fTextArea->setColor(Qt::red); 393 fTextArea->append(QString((char*)aString.data()).simplifyWhiteSpace()); 394 fTextArea->setColor(previousColor); 395 fTextArea->verticalScrollBar()->setValue(fTextArea->verticalScrollBar()->maxValue()); 396 #else 332 397 QColor previousColor = fTextArea->textColor(); 333 398 fTextArea->setTextColor(Qt::red); … … 335 400 fTextArea->setTextColor(previousColor); 336 401 fTextArea->verticalScrollBar()->setSliderPosition(fTextArea->verticalScrollBar()->maximum()); 402 #endif 337 403 interactorManager->FlushAndWaitExecution(); 338 404 return 0; … … 354 420 if (aLabel == NULL) return; 355 421 422 #if QT_VERSION < 0x040000 423 QPopupMenu *fileMenu = new QPopupMenu( fMainWindow); 424 fMainWindow->menuBar()->insertItem( aLabel, fileMenu ); 425 #else 356 426 QMenu *fileMenu = new QMenu(aLabel); 357 427 fMainWindow->menuBar()->insertMenu(fMainWindow->menuBar()->actions().last(),fileMenu); 428 #endif 429 358 430 AddInteractor (aName,(G4Interactor)fileMenu); 359 431 } … … 376 448 if(aCommand==NULL) return; // TO KEEP 377 449 450 #if QT_VERSION < 0x040000 451 QPopupMenu *parent = (QPopupMenu*)GetInteractor(aMenu); 452 #else 378 453 QMenu *parent = (QMenu*)GetInteractor(aMenu); 454 #endif 455 379 456 if(parent==NULL) return; 380 457 381 458 QSignalMapper *signalMapper = new QSignalMapper(this); 459 #if QT_VERSION < 0x040000 460 QAction *action = new QAction(QString(aLabel),QKeySequence::QKeySequence (),signalMapper, SLOT(map())); 461 action->addTo(parent); 462 #else 382 463 QAction *action = parent->addAction(aLabel, signalMapper, SLOT(map())); 464 #endif 383 465 signalMapper->setMapping(action, QString(aCommand)); 384 466 connect(signalMapper, SIGNAL(mapped(const QString &)),this, SLOT(ButtonCallback(const QString&))); … … 401 483 // Create the help dialog 402 484 if (!fHelpDialog) { 485 #if QT_VERSION < 0x040000 486 fHelpDialog = new QDialog(fMainWindow,0,FALSE,Qt::WStyle_Title | Qt::WStyle_SysMenu | Qt::WStyle_MinMax ); 487 #else 403 488 fHelpDialog = new QDialog(fMainWindow,Qt::WindowTitleHint | Qt::WindowSystemMenuHint | Qt::WindowMinMaxButtonsHint); 489 #endif 404 490 QSplitter *splitter = new QSplitter(Qt::Horizontal); 405 fHelpArea = new QTextEdit(); 406 QPushButton *exitButton = new QPushButton("Exit"); 491 QPushButton *exitButton = new QPushButton("Exit",fMainWindow); 407 492 connect(exitButton, SIGNAL(clicked()), fHelpDialog,SLOT(close())); 408 fHelpArea->setReadOnly(true);409 493 410 494 // the help tree … … 414 498 415 499 // build widget 500 #if QT_VERSION < 0x040000 501 fHelpTreeWidget = new QListView(splitter); 502 fHelpTreeWidget->setSelectionMode(QListView::Single); 503 fHelpTreeWidget->addColumn("Command"); 504 fHelpTreeWidget->addColumn("Description"); 505 fHelpTreeWidget->hideColumn(1); 506 fHelpTreeWidget->header()->setResizeEnabled(FALSE,1); 507 // QList<QListViewItem *> items; 508 #else 416 509 fHelpTreeWidget = new QTreeWidget(); 417 510 fHelpTreeWidget->setSelectionMode(QAbstractItemView::SingleSelection); … … 421 514 labels << QString("Command") << QString("Description"); 422 515 fHelpTreeWidget->setHeaderLabels(labels); 423 424 QList<QTreeWidgetItem *> items; 516 // QList<QTreeWidgetItem *> items; 517 #endif 518 519 #if QT_VERSION < 0x040000 520 fHelpArea = new QTextEdit(splitter); 521 #else 522 fHelpArea = new QTextEdit(); 523 #endif 524 fHelpArea->setReadOnly(true); 525 425 526 G4int treeSize = treeTop->GetTreeEntry(); 527 #if QT_VERSION < 0x040000 528 QListViewItem * newItem; 529 #else 426 530 QTreeWidgetItem * newItem; 531 #endif 427 532 for (int a=0;a<treeSize;a++) { 428 533 // Creating new item 429 QStringList stringList; 430 stringList << QString((char*)(treeTop->GetTree(a+1)->GetPathName()).data()).trimmed() ; 431 stringList << QString((char*)(treeTop->GetTree(a+1)->GetTitle()).data()).trimmed() ; 432 433 newItem = new QTreeWidgetItem(stringList); 534 535 #if QT_VERSION < 0x040000 536 newItem = new QListViewItem(fHelpTreeWidget); 537 newItem->setText(0,QString((char*)(treeTop->GetTree(a+1)->GetPathName()).data()).simplifyWhiteSpace()); 538 newItem->setText(1,QString((char*)(treeTop->GetTree(a+1)->GetTitle()).data()).simplifyWhiteSpace()); 539 #else 540 //FIXME : Qt 4.2 541 // QStringList stringList; 542 // stringList << QString((char*)(treeTop->GetTree(a+1)->GetPathName()).data()).trimmed() ; 543 // stringList << QString((char*)(treeTop->GetTree(a+1)->GetTitle()).data()).trimmed() ; 544 // newItem = new QTreeWidgetItem(stringList); 545 // FIXME : Qt 4.0 546 newItem = new QTreeWidgetItem(fHelpTreeWidget); 547 newItem->setText(0,QString((char*)(treeTop->GetTree(a+1)->GetPathName()).data()).trimmed()); 548 newItem->setText(1,QString((char*)(treeTop->GetTree(a+1)->GetTitle()).data()).trimmed()); 549 #endif 550 434 551 435 552 // look for childs 436 553 CreateChildTree(newItem,treeTop->GetTree(a+1)); 437 items.append(newItem);554 // items.append(newItem); 438 555 } 439 fHelpTreeWidget->insertTopLevelItems(0, items);440 556 441 557 connect(fHelpTreeWidget, SIGNAL(itemSelectionChanged ()),this, SLOT(HelpTreeClicCallback())); … … 444 560 // Set layouts 445 561 562 #if QT_VERSION < 0x040000 563 QVBoxLayout *vLayout = new QVBoxLayout(fHelpDialog); 564 #else 446 565 QVBoxLayout *vLayout = new QVBoxLayout; 447 448 566 splitter->addWidget(fHelpTreeWidget); 449 567 splitter->addWidget(fHelpArea); 568 #endif 569 450 570 451 571 vLayout->addWidget(splitter); 452 572 vLayout->addWidget(exitButton); 573 #if QT_VERSION >= 0x040000 453 574 fHelpDialog->setLayout(vLayout); 575 #endif 454 576 455 577 } … … 465 587 } 466 588 if (targetCom != "") { 589 #if QT_VERSION < 0x040000 590 QListViewItem* findItem = NULL; 591 QListViewItem* tmpItem = fHelpTreeWidget->firstChild(); 592 while (tmpItem != 0) { 593 if (!findItem) { 594 findItem = FindTreeItem(tmpItem,QString((char*)targetCom.data())); 595 } 596 tmpItem = tmpItem->nextSibling(); 597 } 598 #else 467 599 QTreeWidgetItem* findItem = NULL; 468 600 for (int a=0;a<fHelpTreeWidget->topLevelItemCount();a++) { … … 471 603 } 472 604 } 605 #endif 473 606 474 607 if (findItem) { 475 608 476 609 //collapsed open item 610 #if QT_VERSION < 0x040000 611 QList<QListViewItem *> selected; 612 #else 477 613 QList<QTreeWidgetItem *> selected; 614 #endif 478 615 selected = fHelpTreeWidget->selectedItems(); 479 616 if ( selected.count() != 0 ) { 617 #if QT_VERSION < 0x040000 618 QListViexItem * tmp =selected.at( 0 ); 619 #else 480 620 QTreeWidgetItem * tmp =selected.at( 0 ); 621 #endif 481 622 while ( tmp) { 482 623 tmp->setExpanded(false); … … 515 656 @param aCommandTree : commandTree node associate with this part of the Tree 516 657 */ 658 #if QT_VERSION < 0x040000 659 void G4UIQt::CreateChildTree( 660 QListViewItem *aParent 661 ,G4UIcommandTree *aCommandTree 662 #else 517 663 void G4UIQt::CreateChildTree( 518 664 QTreeWidgetItem *aParent 519 665 ,G4UIcommandTree *aCommandTree 666 #endif 520 667 ) 521 668 {
Note: See TracChangeset
for help on using the changeset viewer.