Ignore:
Timestamp:
Mar 3, 2010, 6:02:20 PM (14 years ago)
Author:
garnier
Message:

otpimisations

File:
1 edited

Legend:

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

    r1237 r1239  
    116116,fTabWidget(NULL)
    117117,fCoutText("Output")
     118
    118119{
    119120
     
    161162  QWidget *mainWidget = new QWidget(fMainWindow);
    162163#if QT_VERSION < 0x040000
    163   QSplitter *myVSplitter = new QSplitter(Qt::Horizontal,fMainWindow);
    164   fToolBox = new QToolBox(Qt::Horizontal,myVSplitter);
    165 #else
    166   QSplitter *myVSplitter = new QSplitter(Qt::Horizontal,fMainWindow);
     164  fMyVSplitter = new QSplitter(Qt::Horizontal,fMainWindow);
     165  fToolBox = new QToolBox(Qt::Horizontal,fMyVSplitter);
     166#else
     167  fMyVSplitter = new QSplitter(Qt::Horizontal,fMainWindow);
    167168  fToolBox = new QToolBox(mainWidget);
    168169#endif
     
    171172
    172173  // Add a empty tabwidget
    173   fTabWidget = new G4QTabWidget(myVSplitter);
     174  fTabWidget = new G4QTabWidget(fMyVSplitter);
    174175#if QT_VERSION >= 0x040500
    175176  fTabWidget->setTabsClosable (true);
     
    246247  fTabWidget->setSizePolicy(policy);
    247248
    248   myVSplitter->addWidget(fToolBox);
    249   myVSplitter->addWidget(fTabWidget);
     249  fEmptyViewerTabLabel = new QLabel("         If you want to have a Viewer, please use /vis/open commands. ");
     250
     251  fMyVSplitter->addWidget(fToolBox);
     252  fMyVSplitter->addWidget(fEmptyViewerTabLabel);
     253  //  fMyVSplitter->addWidget(fTabWidget);
     254
     255  // unset parent fot TabWidget
     256#if QT_VERSION < 0x040000
     257  fTabWidget->reparent(0,0,QPoint(0,0)); 
     258#else
     259  fTabWidget->setParent(0);
     260#endif
     261
    250262
    251263#if QT_VERSION >= 0x040000
     
    253265#endif
    254266  commandLineWidget->setSizePolicy (QSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum));
    255   mainLayout->addWidget(myVSplitter,1);
     267  mainLayout->addWidget(fMyVSplitter,1);
    256268  mainLayout->addWidget(commandLineWidget);
    257269
     
    287299
    288300  connect(fCommandArea, SIGNAL(returnPressed()), SLOT(CommandEnteredCallback()));
    289 
     301  connect(fTabWidget,   SIGNAL(tabCloseRequested(int)), this, SLOT(TabCloseCallback(int)));
     302  //  connect(fTabWidget,   SIGNAL(currentChanged(int)), this, SLOT(CurrentChangedCallback(int)));
     303  connect(fTabWidget, SIGNAL(currentChanged ( int ) ), SLOT(UpdateTabWidget(int)));
    290304  if(UI!=NULL) UI->SetCoutDestination(this);  // TO KEEP
    291305
     
    388402  QSplitter *splitter = new QSplitter(Qt::Horizontal);
    389403#endif
    390   helpLine = new QLineEdit(fHelpTBWidget);
     404  fHelpLine = new QLineEdit(fHelpTBWidget);
    391405  helpLayout->addWidget(new QLabel("Search :",helpWidget));
    392   helpLayout->addWidget(helpLine);
    393 #if QT_VERSION < 0x040000
    394   connect( helpLine, SIGNAL( returnPressed () ), this, SLOT( LookForHelpStringCallback() ) );
    395 #else
    396   connect( helpLine, SIGNAL( editingFinished () ), this, SLOT( LookForHelpStringCallback() ) );
     406  helpLayout->addWidget(fHelpLine);
     407#if QT_VERSION < 0x040000
     408  connect( fHelpLine, SIGNAL( returnPressed () ), this, SLOT( LookForHelpStringCallback() ) );
     409#else
     410  connect( fHelpLine, SIGNAL( editingFinished () ), this, SLOT( LookForHelpStringCallback() ) );
    397411#endif
    398412 
     
    509523  if (!aWidget) return false;
    510524 
     525  // Remove QLabel
     526  if ( fMyVSplitter->indexOf(fEmptyViewerTabLabel) != -1) {
     527#if QT_VERSION < 0x040000
     528    fEmptyViewerTabLabel->reparent(0,0,QPoint(0,0)); 
     529#else
     530    fEmptyViewerTabLabel->setParent(0);
     531#endif
     532    fMyVSplitter->addWidget(fTabWidget);
     533#if QT_VERSION < 0x040000
     534    aWidget->reparent(fTabWidget,0,QPoint(0,0)); 
     535#else
     536    aWidget->setParent(fTabWidget);
     537#endif
     538  }
     539
     540
     541
    511542#ifdef G4DEBUG_INTERFACES_BASIC
    512543  printf("G4UIQt::AddTabWidget ADD %d %d + %d %d---------------------------------------------------\n",sizeX, sizeY,sizeX-fTabWidget->width(),sizeY-fTabWidget->height());
    513544#endif
    514545 
    515 #if QT_VERSION < 0x040000
    516   aWidget->reparent(fTabWidget,0,QPoint(0,0)); 
    517 #else
    518   aWidget->setParent(fTabWidget);
    519 #endif
    520546#ifdef G4DEBUG_INTERFACES_BASIC
    521547  printf("G4UIQt::AddTabWidget resize VVVVVVVVVVVG4UIQt G4UIQt G4UIQt G4UIQt G4UIQt G4UIQt G4UIQt G4UIQt \n");
     
    529555
    530556  fTabWidget->insertTab(fTabWidget->count(),aWidget,name);
    531 
    532   if (fTabWidget->count() == 1) {
    533     connect(fTabWidget, SIGNAL(currentChanged ( int ) ), SLOT(UpdateTabWidget(int)));
    534     //  connect(fTabWidget, SIGNAL(resizeEvent (  QResizeEvent* ) ), SLOT(ResizeTabWidget( QResizeEvent*)));
    535   }
     557 
     558  //   if (fTabWidget->count() == 1) {
     559  //    connect(fTabWidget, SIGNAL(currentChanged ( int ) ), SLOT(UpdateTabWidget(int)));
     560  //  connect(fTabWidget, SIGNAL(resizeEvent (  QResizeEvent* ) ), SLOT(ResizeTabWidget( QResizeEvent*)));
     561  //   }
     562
     563  fTabWidget->setCurrentIndex(fTabWidget->count()-1);
     564  //  UpdateTabWidget(fTabWidget->count()-1);
    536565  // Set visible
    537566#if QT_VERSION >= 0x040000
     
    582611void G4UIQt::UpdateTabWidget(int tabNumber) {
    583612#ifdef G4DEBUG_INTERFACES_BASIC
    584   printf("G4UIQt::UpdateTabWidget\n");
     613  printf("G4UIQt::UpdateTabWidget %d\n",tabNumber);
    585614#endif
    586615  if (  fTabWidget == NULL) {
     
    588617  }
    589618 
     619
    590620#ifdef G4DEBUG_INTERFACES_BASIC
    591621  printf("G4UIQt::UpdateTabWidget CALL REPAINT tabGL\n");
    592622#endif
    593623
     624  fTabWidget->setCurrentIndex(tabNumber);
    594625  fTabWidget->setTabSelected();
    595626
     
    15751606)
    15761607{
    1577   QString searchText = helpLine->text();
     1608  QString searchText = fHelpLine->text();
    15781609
    15791610#if QT_VERSION < 0x040200
     
    18471878
    18481879
     1880 
     1881void G4UIQt::TabCloseCallback(int a){
     1882#ifdef G4DEBUG_INTERFACES_BASIC
     1883  printf("G4UIQt::TabCloseCallback   %d ---------------------------------\n",a);
     1884#endif
     1885  QWidget* temp = fTabWidget->widget(a);
     1886  fTabWidget->removeTab (a);
     1887  delete temp;
     1888
     1889  if (fTabWidget->count() == 0) {
     1890    fMyVSplitter->addWidget(fEmptyViewerTabLabel);
     1891#if QT_VERSION < 0x040000
     1892    fTabWidget->reparent(0,0,QPoint(0,0)); 
     1893#else
     1894    fTabWidget->setParent(0);
     1895#endif
     1896  }
     1897}
     1898
     1899
     1900void G4UIQt::CurrentChangedCallback(int a){
     1901#ifdef G4DEBUG_INTERFACES_BASIC
     1902  printf("G4UIQt::CurrentChangeCallback   %d ---------------------------------\n",a);
     1903#endif
     1904
     1905}
    18491906
    18501907void G4QTabWidget::paintEvent(
     
    18521909)
    18531910{
    1854   QCoreApplication::sendPostedEvents () ;
    18551911
    18561912  if (currentWidget()) {
     
    18581914    printf("G4QTabWidget::paintEvent repaint type : %d -- rect %d %d  region:%d %d page : %d %d  ________________________ for = %d i= %d w: %d\n", event->type(),event->rect().height(),event->rect().width(),event->region().boundingRect().width(),event->region().boundingRect().height(),currentWidget()->width(),currentWidget()->height(),this,currentIndex(),currentWidget());
    18591915#endif
    1860    
    18611916    if ( isTabSelected()) {
     1917
     1918      QCoreApplication::sendPostedEvents () ;
    18621919#ifdef G4DEBUG_INTERFACES_BASIC
    18631920      printf("G4QTabWidget::paintEvent OK\n");
     
    18651922      QString text = tabText (currentIndex());
    18661923      QString paramSelect = QString("/vis/viewer/select ")+text;
    1867       //  QString paramFlush = QString("/vis/viewer/flush ")+text;
    18681924      G4UImanager* UI = G4UImanager::GetUIpointer();
    18691925      if(UI!=NULL)  {
    18701926        UI->ApplyCommand(paramSelect.toStdString().c_str());
    1871         //    UI->ApplyCommand(paramFlush.toStdString().c_str());
    18721927      }
    1873 
    18741928      unselectTab();
    18751929      repaint();
Note: See TracChangeset for help on using the changeset viewer.