void PlayGameEngine::engineError_(QProcess::ProcessError e) { Q_UNUSED(e); SB_PLAY_DEBUG("PlayGameEngine::engineError()" << Engine::processErrorText(e)); emit engineCrashed(Engine::processErrorText(e)); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { _inited = false; _dataSet = NULL; _tableModel = NULL; _currentOptionsWidget = NULL; _currentAnalysis = NULL; _optionsForm = NULL; ui->setupUi(this); ui->pageOptions->hide(); QList<int> sizes = QList<int>(); sizes.append(590); ui->splitter->setSizes(sizes); ui->tabBar->setFocusPolicy(Qt::NoFocus); ui->tabBar->addTab("File"); ui->tabBar->addTab("Common"); ui->tabBar->addLastTab("Options"); connect(ui->tabBar, SIGNAL(currentChanged(int)), this, SLOT(tabChanged(int))); #ifdef __WIN32__ QFont font = ui->tabBar->font(); font.setPointSize(10); ui->tabBar->setFont(font); #endif ui->ribbonAnalysis->setEnabled(false); ui->ribbonSEM->setEnabled(false); #ifdef QT_DEBUG ui->webViewResults->page()->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); #else ui->webViewResults->setContextMenuPolicy(Qt::NoContextMenu); #endif ui->webViewResults->setUrl(QUrl(QString("qrc:///core/index.html"))); _tableModel = new DataSetTableModel(); ui->tableView->setModel(_tableModel); ui->tabBar->setCurrentIndex(1); ui->tableView->setVerticalScrollMode(QTableView::ScrollPerPixel); ui->tableView->setHorizontalScrollMode(QTableView::ScrollPerPixel); _analyses = new Analyses(); _engineSync = new EngineSync(_analyses, this); connect(_engineSync, SIGNAL(engineTerminated()), this, SLOT(engineCrashed())); _analyses->analysisResultsChanged.connect(boost::bind(&MainWindow::analysisResultsChangedHandler, this, _1)); connect(ui->ribbonAnalysis, SIGNAL(itemSelected(QString)), this, SLOT(itemSelected(QString))); connect(ui->ribbonSEM, SIGNAL(itemSelected(QString)), this, SLOT(itemSelected(QString))); connect(ui->backStage, SIGNAL(dataSetSelected(QString)), this, SLOT(dataSetSelected(QString))); connect(ui->backStage, SIGNAL(closeDataSetSelected()), this, SLOT(dataSetCloseRequested())); connect(ui->backStage, SIGNAL(exportSelected(QString)), this, SLOT(exportSelected(QString))); _alert = new ProgressWidget(ui->tableView); _alert->setAutoFillBackground(true); _alert->resize(400, 100); _alert->move(100, 80); _alert->hide(); connect(&_loader, SIGNAL(complete(DataSet*)), this, SLOT(dataSetLoaded(DataSet*))); connect(&_loader, SIGNAL(progress(QString,int)), _alert, SLOT(setStatus(QString,int))); connect(&_loader, SIGNAL(fail(QString)), this, SLOT(dataSetLoadFailed(QString))); connect(this, SIGNAL(analysisSelected(int)), this, SLOT(analysisSelectedHandler(int))); connect(this, SIGNAL(analysisUnselected()), this, SLOT(analysisUnselectedHandler())); connect(this, SIGNAL(pushToClipboard(QString)), this, SLOT(pushToClipboardHandler(QString))); connect(this, SIGNAL(analysisChangedDownstream(int, QString)), this, SLOT(analysisChangedDownstreamHandler(int, QString))); _buttonPanel = new QWidget(ui->pageOptions); _buttonPanelLayout = new QVBoxLayout(_buttonPanel); _buttonPanelLayout->setSpacing(6); _buttonPanelLayout->setContentsMargins(0, 12, 24, 0); _buttonPanel->setLayout(_buttonPanelLayout); _okButton = new QPushButton(QString("OK"), _buttonPanel); _removeButton = new QPushButton(QString("Remove"), _buttonPanel); _buttonPanelLayout->addWidget(_okButton); _buttonPanelLayout->addWidget(_removeButton); _buttonPanel->resize(_buttonPanel->sizeHint()); QTimer::singleShot(0, this, SLOT(repositionButtonPanel())); connect(_okButton, SIGNAL(clicked()), this, SLOT(analysisOKed())); connect(_removeButton, SIGNAL(clicked()), this, SLOT(analysisRemoved())); connect(ui->splitter, SIGNAL(splitterMoved(int,int)), this, SLOT(splitterMovedHandler(int,int))); updateUIFromOptions(); }