Changeset 1163 for trunk


Ignore:
Timestamp:
Nov 13, 2009, 10:33:58 AM (15 years ago)
Author:
garnier
Message:

Update pour les Tabs

Location:
trunk/source/interfaces
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/interfaces/basic/include/G4UIQt.hh

    r1158 r1163  
    157157  QWidget *visWidget;
    158158  QTabWidget* fTabWidget;
    159  
     159  QString fCoutText;
     160
    160161signals :
    161162  void myClicked(const QString &text);
     
    171172  void CommandHistoryCallback();
    172173  void lookForHelpStringCallback();
     174  void UpdateTabWidget(int);
    173175};
    174176
  • trunk/source/interfaces/basic/src/G4UIQt.cc

    r1158 r1163  
    104104,char** argv
    105105)
    106   :fHelpDialog(NULL),
    107  fTabWidget(NULL)
     106:fHelpDialog(NULL)
     107,fTabWidget(NULL)
     108,fCoutText("Output")
    108109{
    109110  G4Qt* interactorManager = G4Qt::getInstance (argc,argv,(char*)"Qt");
     
    162163  QWidget *mainWidget = new QWidget(fMainWindow);
    163164#if QT_VERSION < 0x040000
    164   QSplitter *visCoutSplitter = new QSplitter(Qt::Vertical,fMainWindow);
    165   QSplitter *coutHistorySplitter = new QSplitter(Qt::Vertical,fMainWindow);
     165  QSplitter *visHistorySplitter = new QSplitter(Qt::Vertical,fMainWindow);
    166166  QSplitter *historyCommandLineSplitter = new QSplitter(Qt::Vertical,fMainWindow);
    167167#else
    168   QSplitter *visCoutSplitter = new QSplitter(Qt::Vertical,mainWidget);
    169   QSplitter *coutHistorySplitter = new QSplitter(Qt::Vertical,mainWidget);
     168  QSplitter *visHistorySplitter = new QSplitter(Qt::Vertical,mainWidget);
    170169  QSplitter *historyCommandLineSplitter = new QSplitter(Qt::Vertical,mainWidget);
    171170#endif
     
    176175  // Set layouts
    177176
    178   visWidget = new QWidget(visCoutSplitter);
    179   QWidget* coutWidget = new QWidget(coutHistorySplitter);
     177  fTabWidget = new QTabWidget;
     178  connect(fTabWidget, SIGNAL(currentChanged ( int ) ), SLOT(UpdateTabWidget(int)));
     179
     180  visWidget = new QWidget(visHistorySplitter);
     181  QWidget* coutWidget = new QWidget(fTabWidget);
    180182  QWidget* historyWidget = new QWidget(historyCommandLineSplitter);
    181183  QWidget* commandLineWidget = new QWidget(historyCommandLineSplitter);
     
    188190  // fill them
    189191
     192  fTabWidget->addTab(coutWidget,fCoutText);
     193 
    190194  fTextArea = new QTextEdit(coutWidget);
    191195  QPushButton *clearButton = new QPushButton("clear",coutWidget);
     
    252256  historyCommandLineSplitter->addWidget(commandLineWidget);
    253257
    254   // The splitter for Cout/History
    255   coutHistorySplitter->addWidget(coutWidget);
    256   coutHistorySplitter->addWidget(historyCommandLineSplitter);
    257 
    258258  // The splitter for Vis/Cout
    259   visCoutSplitter->addWidget(visWidget);
    260   visCoutSplitter->addWidget(coutHistorySplitter);
    261 
    262   mainLayout->addWidget(visCoutSplitter);
     259  visHistorySplitter->addWidget(visWidget);
     260  visHistorySplitter->addWidget(historyCommandLineSplitter);
     261
     262  mainLayout->addWidget(visHistorySplitter);
    263263
    264264#endif
     
    270270  fMainWindow->setCentralWidget(mainWidget);
    271271#else
    272   fMainWindow->setCentralWidget(visCoutSplitter);
     272  fMainWindow->setCentralWidget(visHistorySplitter);
    273273#endif
    274274
     
    348348)
    349349{
    350   if (fTabWidget == NULL) {
    351     fTabWidget = new QTabWidget;
    352   }
    353   if (!aWidget) return;
    354 
    355 #if QT_VERSION < 0x040000
    356   aWidget->reparent(visWidget,0,QPoint(0,0)); 
    357 #else
    358   aWidget->setParent(visWidget);
    359 #endif
    360 
    361   fTabWidget->addTab(aWidget,name);
    362   QHBoxLayout *mainLayout = new QHBoxLayout(visWidget);
    363   mainLayout->setMargin(0);
    364   mainLayout->setSpacing(0);   
    365   mainLayout->addWidget(fTabWidget);
    366 }
     350  if (fTabWidget != NULL) {
     351    if (!aWidget) return;
     352   
     353#if QT_VERSION < 0x040000
     354    aWidget->reparent(visWidget,0,QPoint(0,0)); 
     355#else
     356    aWidget->setParent(visWidget);
     357#endif
     358   
     359    fTabWidget->addTab(aWidget,name);
     360    QHBoxLayout *mainLayout = new QHBoxLayout(visWidget);
     361    mainLayout->setMargin(0);
     362    mainLayout->setSpacing(0);   
     363    mainLayout->addWidget(fTabWidget);
     364  }
     365}
     366
     367
     368void G4UIQt::UpdateTabWidget(int tabNumber) {
     369  QString text = fTabWidget->tabText (tabNumber);
     370  if ( text != fCoutText) {
     371
     372    // Then we have to do /vis/viewer/select on the selelected tab
     373    QString paramSelect = QString("/vis/viewer/select ")+text;
     374    QString paramFlush = QString("/vis/viewer/flush ")+text;
     375    G4UImanager* UI = G4UImanager::GetUIpointer();
     376    if(UI!=NULL)  {
     377      UI->ApplyCommand(paramSelect.toStdString().c_str());
     378      UI->ApplyCommand(paramFlush.toStdString().c_str());
     379    }
     380    fTabWidget->currentWidget()->repaint();
     381  }
     382}
     383
    367384
    368385
  • trunk/source/interfaces/common/src/G4Qt.cc

    r1158 r1163  
    7878,char** a_args
    7979 ,char*  /*a_class */
    80 )
     80 )
     81:fG4UI(NULL)
    8182/***************************************************************************/
    8283/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
     
    210211/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
    211212{
     213#ifdef G4DEBUG_INTERFACES_COMMON
     214    printf("G4Qt::SetG4UI \n");
     215#endif
    212216  fG4UI = ui;
    213217}
     
    221225/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
    222226{
    223   if (fG4UI) {
     227  if (fG4UI != NULL) {
    224228    fG4UI->AddTabVisWidget(vis,name);
    225229    return true;
Note: See TracChangeset for help on using the changeset viewer.