Changeset 1158


Ignore:
Timestamp:
Nov 9, 2009, 6:56:57 PM (15 years ago)
Author:
garnier
Message:

mise en place de Vis dans UI

Location:
trunk/source/interfaces
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/interfaces/GAG/include/G4UIGAG.hh

    r989 r1158  
    2626//
    2727// $Id: G4UIGAG.hh,v 1.7 2006/06/29 19:09:18 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     28// GEANT4 tag $Name: $
    2929//
    3030// G4UIGAG.hh
  • trunk/source/interfaces/GAG/include/G4UIGainServer.hh

    r989 r1158  
    2626//
    2727// $Id: G4UIGainServer.hh,v 1.5 2006/06/29 19:09:21 gunter Exp $
    28 // $Name: geant4-09-02-ref-02 $
     28// $Name: $
    2929//
    3030
  • trunk/source/interfaces/GAG/src/G4UIGAG.cc

    r989 r1158  
    2626//
    2727// $Id: G4UIGAG.cc,v 1.19 2007/10/30 10:14:34 kmura Exp $
    28 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     28// GEANT4 tag $Name: $
    2929//
    3030// G4UIGAG.cc
  • trunk/source/interfaces/GAG/src/G4UIGainServer.cc

    r989 r1158  
    2727// 12/06/2002 G4UIGainServer H. MInamimoto and H. Yoshida created
    2828// $Id: G4UIGainServer.cc,v 1.12 2008/07/18 06:39:43 kmura Exp $
    29 // $Name: geant4-09-02-ref-02 $
     29// $Name: $
    3030//
    3131#ifndef WIN32
  • trunk/source/interfaces/basic/include/G4UIQt.hh

    r1156 r1158  
    5555class QLabel;
    5656class QDialog;
     57class QTabWidget;
    5758
    5859// Class description :
     
    9596  // Third argument is the Geant4 command executed when the button is fired.
    9697  // Ex : AddButton("my_menu","Run","/run/beamOn 1");
     98
     99  void AddTabVisWidget(QWidget*,QString);
     100  // To add a tab for vis openGL Qt driver
     101
    97102public:
    98103  ~G4UIQt();
     
    103108  G4int ReceiveG4cerr(G4String);
    104109  //   G4String GetCommand(Widget);
    105   QMainWindow * getMainWindow();
    106110
    107111private:
     
    151155  QDialog *fHelpDialog;
    152156  QLineEdit *helpLine;
     157  QWidget *visWidget;
     158  QTabWidget* fTabWidget;
    153159 
    154160signals :
  • trunk/source/interfaces/basic/src/G4UIQt.cc

    r1156 r1158  
    5757#include <qtextedit.h>
    5858#include <qsignalmapper.h>
     59#include <qtabwidget.h>
    5960
    6061#include <qmainwindow.h>
     
    103104,char** argv
    104105)
    105   :fHelpDialog(NULL)
     106  :fHelpDialog(NULL),
     107 fTabWidget(NULL)
    106108{
    107109  G4Qt* interactorManager = G4Qt::getInstance (argc,argv,(char*)"Qt");
     
    143145
    144146#ifdef G4DEBUG_INTERFACES_BASIC
    145   printf("G4UIQt::Initialise after main window creation\n");
     147  printf("G4UIQt::Initialise after main window creation UImanager:%d G4UIQt(this) : %d+++++++++++\n",UI,this);
    146148#endif
    147149#if QT_VERSION < 0x040000
     
    155157#endif
    156158
     159#ifdef G4DEBUG_INTERFACES_BASIC
     160  printf("G4UIQt::G4UIQt :: 1\n");
     161#endif
    157162  QWidget *mainWidget = new QWidget(fMainWindow);
    158163#if QT_VERSION < 0x040000
    159   QSplitter *splitter = new QSplitter(Qt::Vertical,fMainWindow);
    160 #else
    161   QSplitter *splitter = new QSplitter(Qt::Vertical,mainWidget);
    162 #endif
    163 
     164  QSplitter *visCoutSplitter = new QSplitter(Qt::Vertical,fMainWindow);
     165  QSplitter *coutHistorySplitter = new QSplitter(Qt::Vertical,fMainWindow);
     166  QSplitter *historyCommandLineSplitter = new QSplitter(Qt::Vertical,fMainWindow);
     167#else
     168  QSplitter *visCoutSplitter = new QSplitter(Qt::Vertical,mainWidget);
     169  QSplitter *coutHistorySplitter = new QSplitter(Qt::Vertical,mainWidget);
     170  QSplitter *historyCommandLineSplitter = new QSplitter(Qt::Vertical,mainWidget);
     171#endif
     172
     173#ifdef G4DEBUG_INTERFACES_BASIC
     174  printf("G4UIQt::G4UIQt :: 2\n");
     175#endif
    164176  // Set layouts
    165177
    166   QWidget* topWidget = new QWidget(splitter);
    167   QWidget* bottomWidget = new QWidget(splitter);
    168 
    169   QVBoxLayout *layoutTop = new QVBoxLayout(topWidget);
    170   QVBoxLayout *layoutBottom = new QVBoxLayout(bottomWidget);
     178  visWidget = new QWidget(visCoutSplitter);
     179  QWidget* coutWidget = new QWidget(coutHistorySplitter);
     180  QWidget* historyWidget = new QWidget(historyCommandLineSplitter);
     181  QWidget* commandLineWidget = new QWidget(historyCommandLineSplitter);
     182
     183  //  QVBoxLayout *layoutVis = new QVBoxLayout(visWidget);
     184  QVBoxLayout *layoutCout = new QVBoxLayout(coutWidget);
     185  QVBoxLayout *layoutHistory = new QVBoxLayout(historyWidget);
     186  QVBoxLayout *layoutCommandLine = new QVBoxLayout(commandLineWidget);
    171187
    172188  // fill them
    173189
    174   fTextArea = new QTextEdit(topWidget);
    175   QPushButton *clearButton = new QPushButton("clear",topWidget);
     190  fTextArea = new QTextEdit(coutWidget);
     191  QPushButton *clearButton = new QPushButton("clear",coutWidget);
    176192  connect(clearButton, SIGNAL(clicked()), SLOT(ClearButtonCallback()));
    177193
    178194#if QT_VERSION < 0x040000
    179195
    180   fCommandHistoryArea = new QListView(bottomWidget);
     196  fCommandHistoryArea = new QListView(historyWidget);
    181197  fCommandHistoryArea->setSorting (-1, FALSE);
    182198  fCommandHistoryArea->setSelectionMode(QListView::Single);
     
    190206#endif
    191207  fCommandHistoryArea->installEventFilter(this);
    192   fCommandLabel = new QLabel("",bottomWidget);
    193 
    194   fCommandArea = new QLineEdit(bottomWidget);
     208  fCommandLabel = new QLabel("",commandLineWidget);
     209
     210#ifdef G4DEBUG_INTERFACES_BASIC
     211  printf("G4UIQt::G4UIQt :: 3\n");
     212#endif
     213  fCommandArea = new QLineEdit(commandLineWidget);
    195214  fCommandArea->installEventFilter(this);
    196215#if QT_VERSION < 0x040000
     
    209228  fTextArea->setReadOnly(true);
    210229
    211   layoutTop->addWidget(fTextArea);
    212   layoutTop->addWidget(clearButton);
    213 
     230  //  layoutVis->addWidget(visWidget);
     231
     232  layoutCout->addWidget(fTextArea);
     233  layoutCout->addWidget(clearButton);
     234
     235#ifdef G4DEBUG_INTERFACES_BASIC
     236  printf("G4UIQt::G4UIQt :: 4\n");
     237#endif
    214238#if QT_VERSION >= 0x040000
    215239  //  topWidget->setLayout(layoutTop);
    216240#endif
    217241
    218   layoutBottom->addWidget(fCommandHistoryArea);
    219   layoutBottom->addWidget(fCommandLabel);
    220   layoutBottom->addWidget(fCommandArea);
     242  layoutHistory->addWidget(fCommandHistoryArea);
     243  layoutCommandLine->addWidget(fCommandLabel);
     244  layoutCommandLine->addWidget(fCommandArea);
    221245#if QT_VERSION >= 0x040000
    222246
     
    224248  QVBoxLayout *mainLayout = new QVBoxLayout(mainWidget);
    225249
    226   splitter->addWidget(topWidget);
    227   splitter->addWidget(bottomWidget);
    228 
    229   mainLayout->addWidget(splitter);
    230 
     250  // the splitter for History/CommandLine
     251  historyCommandLineSplitter->addWidget(historyWidget);
     252  historyCommandLineSplitter->addWidget(commandLineWidget);
     253
     254  // The splitter for Cout/History
     255  coutHistorySplitter->addWidget(coutWidget);
     256  coutHistorySplitter->addWidget(historyCommandLineSplitter);
     257
     258  // The splitter for Vis/Cout
     259  visCoutSplitter->addWidget(visWidget);
     260  visCoutSplitter->addWidget(coutHistorySplitter);
     261
     262  mainLayout->addWidget(visCoutSplitter);
     263
     264#endif
     265#ifdef G4DEBUG_INTERFACES_BASIC
     266  printf("G4UIQt::G4UIQt :: 5\n");
    231267#endif
    232268
     
    234270  fMainWindow->setCentralWidget(mainWidget);
    235271#else
    236   fMainWindow->setCentralWidget(splitter);
     272  fMainWindow->setCentralWidget(visCoutSplitter);
    237273#endif
    238274
     
    263299  AddInteractor ("file",(G4Interactor)fileMenu);
    264300  AddInteractor ("help",(G4Interactor)helpMenu);
     301#ifdef G4DEBUG_INTERFACES_BASIC
     302  printf("G4UIQt::G4UIQt :: 6\n");
     303#endif
    265304
    266305  // Set the splitter size. The fTextArea sould be 2/3 on the fMainWindow
    267306#if QT_VERSION < 0x040000
    268   QValueList<int> vals = splitter->sizes();
    269 #else
    270   QList<int> vals = splitter->sizes();
     307  //  QValueList<int> vals = splitter->sizes();
     308#else
     309  //  QList<int> vals = splitter->sizes();
    271310#endif
    272311//    if(vals.size()==2) {
     
    277316
    278317  if(UI!=NULL) UI->SetCoutDestination(this);  // TO KEEP
     318
     319  interactorManager->SetG4UI(this);
     320
     321#ifdef G4DEBUG_INTERFACES_BASIC
     322  printf("G4UIQt::G4UIQt END\n");
     323#endif
    279324}
    280325
     
    295340
    296341
     342/**   Add a new tab widget.
     343  Create the tab if it was not done
     344*/
     345void G4UIQt::AddTabVisWidget(
     346 QWidget* aWidget
     347 ,QString name
     348)
     349{
     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}
     367
    297368
    298369/**   Start the Qt main loop
     
    350421
    351422
    352 QMainWindow * G4UIQt::getMainWindow (
    353 )
    354 {
    355   return fMainWindow;
    356 }
    357423
    358424void G4UIQt::SessionTerminate (
     
    929995  return tmp;
    930996}
     997
    931998
    932999
  • trunk/source/interfaces/common/include/G4Qt.hh

    r1155 r1158  
    3939#include "G4VInteractorManager.hh"
    4040
     41class G4UIQt;
     42class QWidget;
     43class QString;
     44
    4145// Class description :
    4246//
     
    5660  void FlushAndWaitExecution();
    5761  virtual ~G4Qt();                     
     62  bool AddTabVisWidget(QWidget*,QString);
     63  void SetG4UI(G4UIQt*);
     64
    5865private:
    5966  G4Qt (int,char**,char*);                     
     
    6168  int    argn;
    6269  char** args;
     70  G4UIQt* fG4UI;
    6371};
    6472
  • trunk/source/interfaces/common/src/G4Qt.cc

    r1155 r1158  
    3838
    3939#include "G4Qt.hh"
     40#include "G4UIQt.hh"
     41#include <qwidget.h>
    4042
    4143#include <qapplication.h>
     
    6668    instance = new G4Qt(a_argn,a_args,a_class);
    6769  }
     70#ifdef G4DEBUG_INTERFACES_COMMON
     71    printf("G4Qt::getInstance :%d\n",instance);
     72#endif
    6873  return instance;
    6974}
     
    143148#ifdef G4DEBUG_INTERFACES_COMMON
    144149  if (qApp) {
    145     printf("G4Qt::qApp exist\n");
     150    printf("G4Qt::qApp exist adress:%d\n",this);
    146151  }  else {
    147152    printf("G4Qt::qApp not exist\n");
     
    198203}
    199204
    200 #endif
    201 
    202 
    203 
     205/***************************************************************************/
     206void G4Qt::SetG4UI (
     207 G4UIQt* ui
     208)
     209/***************************************************************************/
     210/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
     211{
     212  fG4UI = ui;
     213}
     214
     215/***************************************************************************/
     216bool G4Qt::AddTabVisWidget (
     217 QWidget * vis
     218 ,QString name
     219)
     220/***************************************************************************/
     221/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
     222{
     223  if (fG4UI) {
     224    fG4UI->AddTabVisWidget(vis,name);
     225    return true;
     226  }
     227  return false;
     228}
     229#endif
     230
     231
     232
Note: See TracChangeset for help on using the changeset viewer.