Changeset 1158 for trunk/source/interfaces/basic/src
- Timestamp:
- Nov 9, 2009, 6:56:57 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/interfaces/basic/src/G4UIQt.cc
r1156 r1158 57 57 #include <qtextedit.h> 58 58 #include <qsignalmapper.h> 59 #include <qtabwidget.h> 59 60 60 61 #include <qmainwindow.h> … … 103 104 ,char** argv 104 105 ) 105 :fHelpDialog(NULL) 106 :fHelpDialog(NULL), 107 fTabWidget(NULL) 106 108 { 107 109 G4Qt* interactorManager = G4Qt::getInstance (argc,argv,(char*)"Qt"); … … 143 145 144 146 #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); 146 148 #endif 147 149 #if QT_VERSION < 0x040000 … … 155 157 #endif 156 158 159 #ifdef G4DEBUG_INTERFACES_BASIC 160 printf("G4UIQt::G4UIQt :: 1\n"); 161 #endif 157 162 QWidget *mainWidget = new QWidget(fMainWindow); 158 163 #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 164 176 // Set layouts 165 177 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); 171 187 172 188 // fill them 173 189 174 fTextArea = new QTextEdit( topWidget);175 QPushButton *clearButton = new QPushButton("clear", topWidget);190 fTextArea = new QTextEdit(coutWidget); 191 QPushButton *clearButton = new QPushButton("clear",coutWidget); 176 192 connect(clearButton, SIGNAL(clicked()), SLOT(ClearButtonCallback())); 177 193 178 194 #if QT_VERSION < 0x040000 179 195 180 fCommandHistoryArea = new QListView( bottomWidget);196 fCommandHistoryArea = new QListView(historyWidget); 181 197 fCommandHistoryArea->setSorting (-1, FALSE); 182 198 fCommandHistoryArea->setSelectionMode(QListView::Single); … … 190 206 #endif 191 207 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); 195 214 fCommandArea->installEventFilter(this); 196 215 #if QT_VERSION < 0x040000 … … 209 228 fTextArea->setReadOnly(true); 210 229 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 214 238 #if QT_VERSION >= 0x040000 215 239 // topWidget->setLayout(layoutTop); 216 240 #endif 217 241 218 layout Bottom->addWidget(fCommandHistoryArea);219 layout Bottom->addWidget(fCommandLabel);220 layout Bottom->addWidget(fCommandArea);242 layoutHistory->addWidget(fCommandHistoryArea); 243 layoutCommandLine->addWidget(fCommandLabel); 244 layoutCommandLine->addWidget(fCommandArea); 221 245 #if QT_VERSION >= 0x040000 222 246 … … 224 248 QVBoxLayout *mainLayout = new QVBoxLayout(mainWidget); 225 249 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"); 231 267 #endif 232 268 … … 234 270 fMainWindow->setCentralWidget(mainWidget); 235 271 #else 236 fMainWindow->setCentralWidget( splitter);272 fMainWindow->setCentralWidget(visCoutSplitter); 237 273 #endif 238 274 … … 263 299 AddInteractor ("file",(G4Interactor)fileMenu); 264 300 AddInteractor ("help",(G4Interactor)helpMenu); 301 #ifdef G4DEBUG_INTERFACES_BASIC 302 printf("G4UIQt::G4UIQt :: 6\n"); 303 #endif 265 304 266 305 // Set the splitter size. The fTextArea sould be 2/3 on the fMainWindow 267 306 #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(); 271 310 #endif 272 311 // if(vals.size()==2) { … … 277 316 278 317 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 279 324 } 280 325 … … 295 340 296 341 342 /** Add a new tab widget. 343 Create the tab if it was not done 344 */ 345 void 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 297 368 298 369 /** Start the Qt main loop … … 350 421 351 422 352 QMainWindow * G4UIQt::getMainWindow (353 )354 {355 return fMainWindow;356 }357 423 358 424 void G4UIQt::SessionTerminate ( … … 929 995 return tmp; 930 996 } 997 931 998 932 999
Note: See TracChangeset
for help on using the changeset viewer.