Job * UniprotInputPlugin::openFile(const QString & fileName) { Job * job = new Job(QString("Open file \"%1\"").arg(fileName),this); UniprotXmlReader * reader = new UniprotXmlReader(fileName, this); _jobMap.insert(job->id(),reader); connect(reader, SIGNAL(statusChanged(const QString &)), job, SIGNAL(statusMessageChanged(const QString &))); connect(reader, SIGNAL(progressChanged(int)), job, SIGNAL(progressChanged(int))); connect(reader, SIGNAL(progressRangeChanged(int,int)), job, SIGNAL(progressRangeChanged(int,int))); connect(reader, SIGNAL(finished()),job,SIGNAL(finished())); connect(job, SIGNAL(startRequested()), reader, SLOT(start())); return job; }
MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent) , m_editor(0) , m_hooqPlayInjector(new PlatformInjector(this)) , m_hooqRecordInjector(new PlatformInjector(this)) , m_hooqLogger(0) , m_hooqPlayer(0) , m_interpreter(new Interpreter(this)) , m_server(new QTcpServer(this)) , m_testModel(new TestModel(this)) , m_testRunning(false) , m_testResultsWindow(new TestResultsDialog(this)) , m_xmlDump(0) { if(!m_interpreter->haveRequiredQtScriptExtensions()) { QMessageBox::critical(0, tr("Couldn't load required QtScript extensions"), tr("Please install qtscriptgenerator for the version of Qt you are currently using. While recording in Hooq may work, playback will not be possible.")); } if(!m_server->listen(QHostAddress::LocalHost, Hooq::Communication::serverPort())) { QMessageBox::critical(0, tr("Couldn't listen for applications"), tr("Hooq couldn't start listening for applications; you're probably running two copies of Hooq. Hooq will not work.")); } m_editor = new ScriptEditor(m_interpreter->engine()); setupUi(this); setStatusBar(0); populateTestSets(); m_testList->setModel(m_testModel); PushButtonDelegate* delegate = new PushButtonDelegate(m_testList, this); delegate->addButton(1, QApplication::style()->standardIcon(QStyle::SP_MediaPlay)); delegate->addButton(2, QApplication::style()->standardIcon(QStyle::SP_FileIcon)); m_testList->setItemDelegate(delegate); m_testList->header()->setResizeMode(0, QHeaderView::Stretch); m_testList->header()->setResizeMode(1, QHeaderView::Fixed); m_testList->header()->setResizeMode(2, QHeaderView::Fixed); m_testList->header()->setStretchLastSection(false); m_contextMenu = new QMenu(this); m_contextMenu->addAction(tr("Run"), this, SLOT(runCurrentTest())); m_contextMenu->addAction(tr("Edit"), this, SLOT(editCurrentTest())); m_contextMenu->addSeparator(); m_contextMenu->addAction(tr("Delete"), this, SLOT(deleteCurrentTest())); setTestSet(m_testSetEdit->currentText()); m_testList->setContextMenuPolicy(Qt::CustomContextMenu); QObject* deleteObserver = new ModelIndexKeyEventObserver(QKeySequence::Delete, m_testList); connect( deleteObserver, SIGNAL(released(QModelIndex)), SLOT(deleteCurrentTest()) ); connect( m_testList, SIGNAL(customContextMenuRequested(QPoint)), SLOT(showTestContextMenu(QPoint)) ); connect( m_testSetEdit, SIGNAL(activated(QString)), SLOT(setTestSet(QString)) ); connect( m_runAllButton, SIGNAL(clicked()), SLOT(runAllTests()) ); connect( m_addTestButton, SIGNAL(clicked()), SLOT(startRecording()) ); connect( m_hooqRecordInjector, SIGNAL(finished(int)), SLOT(finishRecording()) ); connect( m_testNameEdit, SIGNAL(textChanged(QString)), SLOT(updateActionStates()) ); connect( m_addTestSetButton, SIGNAL(clicked()), SLOT(addTestSet()) ); connect( m_newTestSet, SIGNAL(triggered()), SLOT(addTestSet()) ); connect( m_editTestSet, SIGNAL(triggered()), SLOT(editTestSet()) ); connect( m_removeTestSet, SIGNAL(triggered()), SLOT(removeTestSet()) ); connect( m_exportSet, SIGNAL(triggered()), SLOT(exportCurrentSet()) ); connect( m_importSet, SIGNAL(triggered()), SLOT(importTestSet()) ); connect( m_editor, SIGNAL(pickRequested()), m_interpreter, SLOT(pickObject()) ); connect( m_editor, SIGNAL(startRequested()), SLOT(runEditorTest()) ); connect( m_editor, SIGNAL(exceptionThrown(QString, QStringList)), SLOT(logException(QString, QStringList)) ); connect( m_interpreter, SIGNAL(objectPicked(ObjectInformation)), m_editor, SLOT(objectPicked(ObjectInformation)) ); connect( m_interpreter, SIGNAL(objectNotFound(QString)), m_editor, SLOT(objectNotFound(QString)) ); connect( m_interpreter, SIGNAL(executionFailed(int)), m_editor, SLOT(handleApplicationExit(int)) ); connect( m_interpreter, SIGNAL(finished()), SLOT(testFinished()) ); connect( m_interpreter, SIGNAL(startApplicationAndAttach()), SLOT(startApplication()) ); connect( m_quit, SIGNAL(triggered()), qApp, SLOT(quit()) ); connect( m_aboutQt, SIGNAL(triggered()), qApp, SLOT(aboutQt()) ); connect( m_about, SIGNAL(triggered()), SLOT(about()) ); ColumnClickMapper* mapper = new ColumnClickMapper(m_testList); mapper->addMapping(1, this, SLOT(runTestScript(QModelIndex))); mapper->addMapping(2, this, SLOT(editTestScript(QModelIndex))); updateActionStates(); }
connect(&mInterface, SIGNAL(filterDisconnected(PortId,PortId,int)), SLOT(check())); connect(&mInterface,SIGNAL(processorsDisconnected(int,int)), SLOT(check())); connect(&mInterface,SIGNAL(inputPortConnected(QString,PortId,int)), SLOT(check())); connect(&mInterface,SIGNAL(inputPortDisconnected(QString,PortId,int)), SLOT(check())); connect(&mInterface, SIGNAL(filterCreated(FilterInfo,int)), SLOT(check())); connect(&mInterface, SIGNAL(filterDeleted(FilterInfo)), SLOT(check())); connect(&mInterface, SIGNAL(processorCreated(ProcessorInfo)), SLOT(check())); connect(&mInterface, SIGNAL(processorDeleted(ProcessorInfo)), SLOT(check())); connect(&mInterface, SIGNAL(cleared()), SLOT(check())); connect(&mInterface, SIGNAL(executionFinished()), SLOT(onExecutionFinished())); connect(&mInterface, SIGNAL(executionStarted()), SLOT(onExecutionStarted())); connect(&mInterface, SIGNAL(makroInputCreated(QString,PortId,int)), SLOT(check())); connect(&mInterface, SIGNAL(makroInputRemoved(PortId,int)), SLOT(check())); // connect signals to olvis interface always QUEUED, to be sure gui has finished all repaints and animations connect(this, SIGNAL(startRequested()),& mInterface, SLOT(start()), Qt::QueuedConnection); connect(this, SIGNAL(stopRequested()), &mInterface, SLOT(stop()), Qt::QueuedConnection); connect(this, SIGNAL(pauseRequested()), &mInterface, SLOT(pause()), Qt::QueuedConnection); connect(this, SIGNAL(stepRequested(bool)), &mInterface, SLOT(step(bool)), Qt::QueuedConnection); connect(this, SIGNAL(setTraceEnabled(bool)), &mInterface, SLOT(setTracingEnabled(bool)), Qt::QueuedConnection); onExecutionFinished(); check(); } void MainToolBar::initMenu(QMenu* fileMenu, QMenu* olvisMenu) { if(fileMenu->actions().size() > 0) fileMenu->addSeparator(); if(olvisMenu->actions().size() > 0) olvisMenu->addSeparator();