Changeset 1239 for trunk


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

otpimisations

Location:
trunk/source/interfaces
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/interfaces/G4History.macro

    r579 r1239  
    66/vis/viewer/create ! ! 600
    77/vis/open OGLSQT
    8 /vis/sceneHandler/create OGLSQT
    9 /vis/sceneHandler/attach
    10 /vis/viewer/create ! ! 600
    11 /vis/viewer/refresh
    12 /vis/scene/notifyHandlers
    13 /vis/viewer/flush
    14 /vis/viewer/refresh viewer-1
    15 /vis/viewer/update viewer-1
    16 /vis/scene/add/trajectories
    17 /tracking/storeTrajectory 1
    18 /vis/scene/notifyHandlers
    19 /vis/modeling/trajectories/create/drawByCharge
    20 /vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true
    21 /vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2
    22 /vis/scene/endOfEventAction accumulate
    23 /vis/scene/notifyHandlers
    248/control/execute visTutor/gui.mac
    259/gui/addMenu file File
     
    3115/gui/addButton run run2 "/control/execute run2.mac"
    3216/gui/addMenu gun Gun
    33 /gui/addButton gun "50 MeV"  "/gun/energy 50 MeV"
    34 /gui/addButton gun "1 GeV"   "/gun/energy 1 GeV"
    35 /gui/addButton gun "10 GeV"  "/gun/energy 10 GeV"
    36 /gui/addButton gun "e-"      "/gun/particle e-"
    37 /gui/addButton gun "pi0"     "/gun/particle pi0"
    38 /gui/addButton gun "pi+"     "/gun/particle pi+"
     17/gui/addButton gun "50 MeV" "/gun/energy 50 MeV"
     18/gui/addButton gun "1 GeV" "/gun/energy 1 GeV"
     19/gui/addButton gun "10 GeV" "/gun/energy 10 GeV"
     20/gui/addButton gun "e-" "/gun/particle e-"
     21/gui/addButton gun "pi0" "/gun/particle pi0"
     22/gui/addButton gun "pi+" "/gun/particle pi+"
    3923/gui/addButton gun "neutron" "/gun/particle neutron"
    40 /gui/addButton gun "proton"  "/gun/particle proton"
     24/gui/addButton gun "proton" "/gun/particle proton"
    4125/gui/addMenu vis Vis
    4226/gui/addButton vis Vis0(OGLIX) "/control/execute visTutor/exN03Vis0.mac"
     
    4731/gui/addButton vis Vis12(OGLIQT) "/control/execute visTutor/exN03Vis12.mac"
    4832/gui/addButton vis Vis14(OGLSQT) "/control/execute visTutor/exN03Vis14.mac"
    49 /gui/addButton vis Vis5(OIX)   "/control/execute visTutor/exN03Vis5.mac"
     33/gui/addButton vis Vis5(OIX) "/control/execute visTutor/exN03Vis5.mac"
    5034/gui/addButton vis Vis6(VRML2FILE) "/control/execute visTutor/exN03Vis6.mac"
    5135/gui/addButton vis Vis7(DAWNFILE) "/control/execute visTutor/exN03Vis7.mac"
     
    5943/gui/addButton viewer "Update scene" "/vis/scene/notifyHandlers"
    6044/N03/event/printModulo 100
    61 /gun/energy 50 MeV
    62 /run/beamOn 1
    63 /control/execute visTutor/exN03Vis12.mac
    64 /vis/scene/create
    65 /vis/sceneHandler/create OGLIQT
    66 /vis/sceneHandler/attach
    67 /vis/viewer/create
    68 /vis/viewer/refresh
    69 /vis/scene/notifyHandlers
    70 /vis/scene/add/volume
    71 /tracking/storeTrajectory 1
    72 /vis/viewer/reset
    73 /vis/viewer/refresh
    74 /vis/viewer/set/viewpointThetaPhi   45 45
    75 /vis/viewer/refresh
    76 /vis/scene/notifyHandlers
    77 /control/verbose 2
    78 /vis/viewer/update
    79 /run/beamOn 1
    80 /control/execute visTutor/exN03Vis14.mac
    81 /vis/open OGLSQT
    82 /vis/sceneHandler/create OGLSQT
    83 /vis/sceneHandler/attach
    84 /vis/viewer/create ! ! 600
    85 /vis/viewer/refresh
    86 /vis/viewer/reset
    87 /vis/viewer/refresh
    88 /vis/viewer/set/viewpointThetaPhi  20 70
    89 /vis/viewer/refresh
    90 /vis/viewer/zoom               0.8
    91 /vis/viewer/refresh
    92 /vis/drawVolume
    93 /vis/scene/create
    94 /vis/scene/add/volume world
    95 /vis/scene/notifyHandlers
    96 /vis/sceneHandler/attach
    97 /vis/viewer/flush
    98 /vis/viewer/refresh viewer-3
    99 /vis/viewer/update viewer-3
    100 /vis/open DAWNFILE
    101 /vis/sceneHandler/create DAWNFILE
    102 /vis/sceneHandler/attach
    103 /vis/viewer/create ! ! 600
    104 /vis/viewer/reset
    105 /vis/viewer/zoom               1.1
    106 /vis/viewer/set/viewpointThetaPhi  35 35
    107 /vis/drawVolume           Absorber
    108 /vis/scene/create
    109 /vis/scene/add/volume Absorber
    110 /vis/sceneHandler/attach
    111 /vis/scene/add/axes      0 0 0 500 mm
    112 /vis/scene/notifyHandlers
    113 /vis/scene/add/text      0 0 0 mm  40 -100 -140   Absorber
    114 /vis/scene/notifyHandlers
    115 /vis/scene/add/scale     10 cm z 1 0 0 manual -2.5 -5 0  cm
    116 /vis/scene/notifyHandlers
    117 /vis/scene/notifyHandlers
    118 /vis/viewer/update
    119 /vis/viewer/reset
    120 /vis/viewer/zoom               1.1
    121 /vis/viewer/set/viewpointThetaPhi  35 35
    122 /vis/drawVolume                Gap
    123 /vis/scene/create
    124 /vis/scene/add/volume Gap
    125 /vis/sceneHandler/attach
    126 /vis/scene/add/axes       0 0 0 500 mm
    127 /vis/scene/notifyHandlers
    128 /vis/scene/add/text       0 0 0 mm  50 -100 -140   Gap
    129 /vis/scene/notifyHandlers
    130 /vis/scene/add/scale      10 cm z 1 0 0 manual -2.5 -5  0 cm
    131 /vis/scene/notifyHandlers
    132 /vis/scene/notifyHandlers
    133 /vis/viewer/update
    134 /vis/viewer/reset
    135 /vis/viewer/zoom               1.1
    136 /vis/viewer/set/viewpointThetaPhi  35 35
    137 /vis/viewer/set/culling         global false
    138 /vis/drawVolume
    139 /vis/scene/create
    140 /vis/scene/add/volume world
    141 /vis/scene/notifyHandlers
    142 /vis/sceneHandler/attach
    143 /vis/scene/add/axes      0 0 0 500 mm
    144 /vis/scene/notifyHandlers
    145 /vis/scene/add/text      0 0 0 mm 50 -100 -240   World
    146 /vis/scene/notifyHandlers
    147 /vis/scene/add/scale     10 cm x 1 0 0
    148 /vis/scene/notifyHandlers
    149 /vis/scene/notifyHandlers
    150 /vis/viewer/update
    151 /vis/viewer/set/culling       global true
    152 /run/beamOn 1
  • trunk/source/interfaces/basic/include/G4UIQt.hh

    r1237 r1239  
    185185  QWidget* fVisParametersTBWidget;
    186186  QWidget* fViewComponentsTBWidget;
    187   QLineEdit* helpLine;
     187  QLineEdit* fHelpLine;
    188188  G4QTabWidget* fTabWidget;
    189189  QString fCoutText;
     190  QLabel *fEmptyViewerTabLabel;
     191  QSplitter * fMyVSplitter;
    190192
    191193private slots :
     
    202204  void ResizeTabWidget( QResizeEvent* );
    203205  void CoutFilterCallback(const QString&);
     206  void TabCloseCallback(int);
     207  void CurrentChangedCallback(int);
    204208};
    205209
  • 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.