Ejemplo n.º 1
0
/******************************************************************************
* Performs the actual analysis. This method is executed in a worker thread.
******************************************************************************/
void CreateBondsModifier::BondsEngine::perform()
{
	setProgressText(tr("Generating bonds"));

	// Determine maximum cutoff.
	FloatType maxCutoff = _uniformCutoff;
	if(_particleTypes) {
		OVITO_ASSERT(_particleTypes->size() == _positions->size());
		for(const auto& innerList : _pairCutoffs)
			for(const auto& cutoff : innerList)
				if(cutoff > maxCutoff) maxCutoff = cutoff;
	}

	// Prepare the neighbor list.
	CutoffNeighborFinder neighborFinder;
	if(!neighborFinder.prepare(maxCutoff, _positions.data(), _simCell, this))
		return;

	// Generate (half) bonds.
	size_t particleCount = _positions->size();
	setProgressRange(particleCount);
	if(!_particleTypes) {
		for(size_t particleIndex = 0; particleIndex < particleCount; particleIndex++) {
			for(CutoffNeighborFinder::Query neighborQuery(neighborFinder, particleIndex); !neighborQuery.atEnd(); neighborQuery.next()) {
				_bonds->push_back({ neighborQuery.unwrappedPbcShift(), (unsigned int)particleIndex, (unsigned int)neighborQuery.current() });
			}
			// Update progress indicator.
			if((particleIndex % 4096) == 0) {
				setProgressValue(particleIndex);
				if(isCanceled())
					return;
			}
		}
	}
	else {
		for(size_t particleIndex = 0; particleIndex < particleCount; particleIndex++) {
			for(CutoffNeighborFinder::Query neighborQuery(neighborFinder, particleIndex); !neighborQuery.atEnd(); neighborQuery.next()) {
				int type1 = _particleTypes->getInt(particleIndex);
				int type2 = _particleTypes->getInt(neighborQuery.current());
				if(type1 >= 0 && type1 < (int)_pairCutoffs.size() && type2 >= 0 && type2 < (int)_pairCutoffs[type1].size()) {
					if(neighborQuery.distanceSquared() <= _pairCutoffs[type1][type2])
						_bonds->push_back({ neighborQuery.unwrappedPbcShift(), (unsigned int)particleIndex, (unsigned int)neighborQuery.current() });
				}
			}
			// Update progress indicator.
			if((particleIndex % 4096) == 0) {
				setProgressValue(particleIndex);
				if(isCanceled())
					return;
			}
		}
	}
	setProgressValue(particleCount);
}
Ejemplo n.º 2
0
QString FormatDBSupportTask::generateReport() const {
    QString res;
    if (isCanceled()) {
        res += QString(tr("Blast database creation has been cancelled")) + "<br>";
        if (QFile::exists(externalToolLog)) {
            res += prepareLink(externalToolLog);
        }
        return res;
    }
    if (!hasError()) {
        res += QString(tr("Blast database has been successfully created") + "<br><br>");
        res += QString(tr("Source sequences: "));
        foreach(const QString &filePath, settings.inputFilesPath){
            res += prepareLink(filePath);
            if(filePath.size() > 1){
                res += "<br>    ";
            }
        }
        res += "<br>";
        res += QString(tr("Database file path: %1")).arg(QDir::toNativeSeparators(settings.outputPath)) + "<br>";
        QString type = settings.isInputAmino ? "protein" : "nucleotide";
        res += QString(tr("Type: %1")).arg(type) + "<br>";
        if (QFile::exists(externalToolLog)) {
            res += QString(tr("Formatdb log file path: "));
            res += prepareLink(externalToolLog);
        }
    }else{
Ejemplo n.º 3
0
void World::run(){
	ZThread::PoolExecutor poolExecutor(sConfig->GetLong("threadPoolSize"));
	LOG(LVL_DEBUG,"World::run()");
	while(!isCanceled()){
		try{
			unsigned long delay = m_timersQueue.ShootTimers(GetTickCount());
			std::tr1::shared_ptr<WorldMessage> wMsg = m_messageQueue.next(delay);
//helper macros
#define DECLARE_PACKET_CASE(t,h) \
case PacketTypes::t: \
	poolExecutor.execute(ZThread::Task(new h(wMsg)));\
	break;
//end macros


			switch(wMsg->type){
				DECLARE_PACKET_CASE(TALK,TalkHandler);
				DECLARE_PACKET_CASE(AUTH_REQUEST,AuthHandler);
				DECLARE_PACKET_CASE(DISCONNECT,DisconnectHandler);
				default:
					LOG(LVL_WARNING, "Unknown message to World. Type: %d.", wMsg->type);
			}
		}
		catch (ZThread::Timeout_Exception toExcept){}//no msg added while waiting
		catch (...){LOG(LVL_ERROR,"World exception");}//other excpt, like Interrupted or Canceled
	}
	poolExecutor.wait();
}
Ejemplo n.º 4
0
Task::ReportResult GzipDecompressTask::report() {
    if (hasError() || isCanceled()) {
        QDir outputDir(unzippedUrl.dirPath());
        outputDir.remove(unzippedUrl.getURLString());
    }
    return ReportResult_Finished;
}
Ejemplo n.º 5
0
QList<Task*> GTest_uHMMERSearch::onSubTaskFinished(Task* subTask) {
    Q_UNUSED(subTask);
    QList<Task*> res;
    if (hasError() || isCanceled()) {
        return res;
    }


    if(saveTask && saveTask->isFinished()) {
        if (saveTask->hasError()) {
            stateInfo.setError(  "SaveDocumentTask: "+saveTask->getError() );
        }
        return res;
    } else if(searchTask!=NULL && searchTask->isFinished()) {

        if (searchTask->hasError()) {
            stateInfo.setError(  searchTask->getError() );
            return res;
        }

        if(aDoc == NULL) {
            stateInfo.setError(  QString("documet creating error") );
            return res;
        }
        if(!resultDocName.isEmpty()) {
            QFileInfo fi(aDoc->getURLString());
            fi.absoluteDir().mkpath(fi.absoluteDir().absolutePath());
            saveTask = new SaveDocumentTask(aDoc);
            res.append(saveTask);
        }
        return res;
    }
    return res;
}
Ejemplo n.º 6
0
bool ConstructionTask::update()
{
	if(mBuilder)
	{
		if(shouldReturnUnit())
		{
			if(!mBuilder->cancel())
				mBuilder->stop();
		}
		else
		{
			if(!mProducedUnit || !mProducedUnit->exists())
			{
				if(mReservedLocation && mReservedLocation->isCalculated())
					mBuilder->build(mReservedLocation->getTilePosition(), mType);
			}
			else if(mType.getRace() == BWAPI::Races::Terran && (!mBuilder->isConstructing() || !mProducedUnit->isBeingConstructed()))
				mBuilder->build(mProducedUnit);
		}
	}

	if((isStopped() || isCanceled()) && mProducedUnit && mProducedUnit->exists())
	{
		LOGMESSAGE(String_Builder() << "ConstructionTask : " << mType.getName() << " : Attempting to cancel build");
		mProducedUnit->cancel();
	}

	return hasEnded() && !mBuilder && !mProducedUnit;
}
Ejemplo n.º 7
0
void * ServerProxy::run() {
	



	while (! isCanceled()) {
		std::stringstream msg;
		unsigned int msgLen;
		std::string commandName;
		std::string commandXml;

		std::cerr<< std::endl << "################################"<< std::endl<<"ServerProxy leyendo encabezado " << std::endl;
		// deshardcodear este 32
		msg << socket->full_read(32);
		msg >> msgLen;
		msg >> commandName;

		std::cerr << "longitud " << msgLen << " nombre " << commandName << std::endl;
		commandXml = socket->full_read(msgLen);
		
		std::cerr << "serializacion " << commandXml << std::endl;
		gameManager->execute(commandName, commandXml);

	}
	return 0;
}
Ejemplo n.º 8
0
QList<Task*> DnaAssemblyMultiTask::onSubTaskFinished( Task* subTask ) {
    QList<Task*> subTasks;
    if (subTask->hasError() || isCanceled()) {
        return subTasks;
    }

    if (subTask == assemblyToRefTask) {
        qint64 time=(subTask->getTimeInfo().finishTime - subTask->getTimeInfo().startTime);
        taskLog.details(QString("Align to reference task time: %1").arg((double)time/(1000*1000)));
    }

    if ( subTask == assemblyToRefTask && settings.openView ) {
        if (assemblyToRefTask->hasResult()) {
            Task* openTask = AppContext::getProjectLoader()->openWithProjectTask(settings.resultFileName);
            if (openTask != NULL) {
                subTasks << openTask;
            }
        } else {
            QString message = tr("The short reads can't be mapped to the reference sequence!");
            coreLog.info(message);
            if (NULL != AppContext::getMainWindow()) {
                QMessageBox::information(AppContext::getMainWindow()->getQMainWindow(), L10N::warningTitle(), message);
            }
        }
    }

    return subTasks;
}
Ejemplo n.º 9
0
void GenomeAlignerFindTask::run() {

    // TODO: this is a fastfix of reopened https://ugene.net/tracker/browse/UGENE-1190
    // Problem:
    // If reference sequence contains Ns only, ShortReadAligners will return without waiting for all short reads.
    // GenomeAlignerTask will create another ReadShortReadsSubTask on GenomeAlignerFindTask->WriteAlignedReadsSubTask subtask finish

    // Wait while ReadShortReadsSubTask finished reading.
    while (true) {
        if (isCanceled()) {
            break;
        }
        QMutexLocker(&(alignContext->readingStatusMutex));
        bool isReadingStarted = alignContext->isReadingStarted;
        bool isReadingFinished = alignContext->isReadingFinished;
        if (isReadingStarted && isReadingFinished) {
            break;
        }
        alignContext->readShortReadsWait.wait(&(alignContext->readingStatusMutex));
    }

    QReadLocker locker(&alignContext->indexLock);
    alignContext->needIndex = false;
    alignContext->loadIndexTaskWait.wakeOne();
}
Ejemplo n.º 10
0
void ExportThread::exportItems( const QString& name, ItemList& items, quint32& currentItem, QTime& time )
{
    if( !items.isEmpty() ) {
        QDir dir( m_directory );
        if( dir.exists() ) {
            if( !dir.cd( name ) )
                dir.mkdir( name );
            dir.cd( name );

            QTime rate;
            rate.start();
            quint32 count = 0;
            foreach( TibiaItem* item, items ) {
                if( isCanceled() )
                    break;
                if( exportItem( dir, item ) ) {
                    emit valueChanged( currentItem );
                    currentItem++;

                    if( ( float )( rate.elapsed() / 1000 ) >= 1 ) {
                        emit labelText( tr( "%1\n\nElapsed Time: %2\nTime left: %3" ).arg( m_labelText ).arg( QTime().addMSecs( time.elapsed() ).toString( "hh:mm:ss" ) ).arg( QTime().addMSecs( ( int )( ( ( float )( m_maximum - currentItem ) / count ) * ( float )1000 ) ).toString( "hh:mm:ss" ) ) );
                        //emit rateChanged( count, libraryFile->getCount() - i, time.elapsed() ); // Items/sec, Items remaining
                        rate.restart();
                        count = 0;
                    }

                    count++;
                }
            }
        }
    }
Ejemplo n.º 11
0
QList<Task*> WorkflowRunFromCMDLineBase::onSubTaskFinished( Task* subTask ) {
    assert( subTask != NULL );
    QList<Task*> res;

    propagateSubtaskError();
    if( hasError() || isCanceled() ) {
        return res;
    }
    assert( !hasError() ); // if error, we won't be here

    if( loadTask == subTask ) {
        Schema * schema = loadTask->getSchema();
        assert( schema != NULL );
        remapping = loadTask->getRemapping();

        setSchemaCMDLineOptions( schema, optionsStartAt );
        if( schema->getDomain().isEmpty() ) {
            QList<QString> domainsId = WorkflowEnv::getDomainRegistry()->getAllIds();
            assert(!domainsId.isEmpty());
            if(!domainsId.isEmpty()) { schema->setDomain(domainsId.first()); }
        }

        QStringList l;
        bool good = WorkflowUtils::validate(*schema, l);
        if(!good) {
            QString schemaHelpStr = QString("\n\nsee 'ugene --help=%1' for details").arg(schemaName);
            setError("\n\n" + l.join("\n\n") + schemaHelpStr);
            return res;
        }

        workflowRunTask = getWorkflowRunTask();
        res << workflowRunTask;
    }
    return res;
}
Ejemplo n.º 12
0
Task::ReportResult BgzipTask::report() {
    if (hasError() || isCanceled()) {
        QDir outputDir(bgzfUrl.dirPath());
        outputDir.remove(bgzfUrl.getURLString());
    }
    return ReportResult_Finished;
}
Ejemplo n.º 13
0
void GzipDecompressTask::run() {
    taskLog.details(tr("Start decompression '%1'").arg(zippedUrl.getURLString()));

    SAFE_POINT_EXT(AppContext::getIOAdapterRegistry() != NULL, setError(tr("IOAdapterRegistry is NULL!")), );

    IOAdapterFactory* inFactory = AppContext::getIOAdapterRegistry()->getIOAdapterFactoryById(BaseIOAdapters::GZIPPED_LOCAL_FILE);
    SAFE_POINT_EXT(inFactory != NULL, setError(tr("IOAdapterFactory is NULL!")), );
    IOAdapterFactory* outFactory = AppContext::getIOAdapterRegistry()->getIOAdapterFactoryById(BaseIOAdapters::LOCAL_FILE);
    SAFE_POINT_EXT(outFactory != NULL, setError(tr("IOAdapterFactory is NULL!")), );

    QScopedPointer<IOAdapter> in(inFactory->createIOAdapter());
    SAFE_POINT_EXT(!in.isNull(), setError(tr("Can not create IOAdapter!")), );

    QScopedPointer<IOAdapter> out(outFactory->createIOAdapter());
    SAFE_POINT_EXT(!out.isNull(), setError(tr("Can not create IOAdapter!")), );

    if (unzippedUrl.isEmpty()) {
        QString unzippedUrlString = zippedUrl.dirPath() + "/" + QFileInfo(zippedUrl.getURLString()).completeBaseName();
        if (unzippedUrlString == zippedUrl.getURLString()) {
            unzippedUrlString.append("_decompressed");
        }
        unzippedUrl = GUrl(unzippedUrlString);
    }

    bool res = out->open( unzippedUrl, IOAdapterMode_Write);
    if (!res) {
        Task::setError(tr("Can not open output file '%1'").arg(unzippedUrl.getURLString()));
        return;
    }

    res = in->open( zippedUrl, IOAdapterMode_Read);
    if (!res) {
        Task::setError(tr("Can not open input file '%1'").arg(zippedUrl.getURLString()));
        return;
    }

    const int BUFFER_SIZE = 2097152;
    QByteArray readBuffer(BUFFER_SIZE, '\0');
    char* buffer = readBuffer.data();

    do {
        if ( isCanceled() ) {
            return;
        }

        int len = in->readBlock(buffer, BUFFER_SIZE);
        if (len == -1) {
            stateInfo.setError(tr("Error reading file"));
            return;
        }

        int written = out->writeBlock(buffer, len);
        if (written == -1) {
            stateInfo.setError(tr("Error writing to file"));
            return;
        }
    } while ( !in->isEof() );

    taskLog.details(tr("Decompression finished"));
}
Ejemplo n.º 14
0
void * PlayerProxy::run() {
	
	
	while (! isCanceled()) {
	
		std::stringstream msg;
		unsigned int msgLen;
		std::string commandName;
		std::string commandXml;
		
		std::cerr << std::endl << "################################"<< std::endl<< "PlayerProxy leyendo encabezado " << std::endl;
		
		// deshardcodear este 32
		std::cerr << "********** A PUNTO DE INVOCAR A SOCKET::FULL_READ(32)" << std::endl << std::endl;
        if (getSocket() != NULL) {
            std::cerr << "********* SOCKET ERA NULL" << std::endl;
        } else {
            std::cerr << "********* SOCKET NOOOO ES NULL" << std::endl;
        }
		msg << getSocket()->full_read(32);
        std::cerr << "********** SE INVOCO CORRECTAMENTE A SOCKET::FULL_READ(32)" << std::endl << std::endl;
		msg >> msgLen;
		msg >> commandName;

		std::cerr << "longitud " << msgLen << " nombre " << commandName << std::endl;
		commandXml = getSocket()->full_read(msgLen);
		
		//std::cerr << "serializacion " << commandXml << std::endl;
		// pasar *this para que los waiting·::joingame sepan
		
		gameManager->execute(commandName, commandXml);

	}
	return 0;
}
Ejemplo n.º 15
0
QList<Task*> FormatsMsaClipboardTask::onSubTaskFinished(Task *subTask) {
    QList<Task*> res;
    QList<Task*> subTasks;
    if (subTask->hasError() || isCanceled()) {
        return subTasks;
    }

    if(subTask == createSubalignmentTask){
        Document* doc = createSubalignmentTask->getDocument();
        SAFE_POINT_EXT(doc != NULL, setError(tr("No temporary document.")), subTasks);
        QScopedPointer<LocalFileAdapterFactory> factory( new LocalFileAdapterFactory());
        QScopedPointer<IOAdapter> io(factory->createIOAdapter());
        if(!io->open(doc->getURL(), IOAdapterMode_Read)){
            setError(tr("Cannot read the temporary file."));
            return subTasks;
        }

        QByteArray buf;
        while(!io->isEof()){
            buf.resize(READ_BUF_SIZE);
            buf.fill(0);
            bool terminatorFound = false;
            int read = io->readLine(buf.data(), READ_BUF_SIZE, &terminatorFound);
            buf.resize(read);
            result.append(buf);
            if (terminatorFound){
                result.append('\n');
            }
        }
    }
    return res;
}
Ejemplo n.º 16
0
        void RCSDiscoveryManager::DiscoveryTask::cancel()
        {
            if (isCanceled())
                return;

            RCSDiscoveryManagerImpl::getInstance()->cancel(m_id);
            m_id = RCSDiscoveryManagerImpl::INVALID_ID;
        }
Ejemplo n.º 17
0
  void showProgressWindow() {
    startJob();

    if (isCanceled())
      fop_stop(m_fop);

    waitJob();
  }
//----------------------------------------------------------------------------
void QFutureInterface<ctkCmdLineModuleResult>::reportErrorData(const QByteArray& errorData)
{
  QMutexLocker l(&d->Mutex);

  if (isCanceled() || isFinished()) return;
  d->ErrorData.append(errorData);
  d->sendCallOut(ctkCmdLineModuleFutureCallOutEvent(ctkCmdLineModuleFutureCallOutEvent::ErrorReady));
}
Ejemplo n.º 19
0
  void showProgressWindow() {
    startJob();

    if (isCanceled())
      m_fop->stop();

    waitJob();
  }
Ejemplo n.º 20
0
bool QgsVectorLayerFeatureCounter::run()
{
  QgsLegendSymbolList symbolList = mRenderer->legendSymbolItems();
  QgsLegendSymbolList::const_iterator symbolIt = symbolList.constBegin();

  for ( ; symbolIt != symbolList.constEnd(); ++symbolIt )
  {
    mSymbolFeatureCountMap.insert( symbolIt->label(), 0 );
  }

  // If there are no features to be counted, we can spare us the trouble
  if ( mFeatureCount > 0 )
  {
    int featuresCounted = 0;

    // Renderer (rule based) may depend on context scale, with scale is ignored if 0
    QgsRenderContext renderContext;
    renderContext.setRendererScale( 0 );
    renderContext.setExpressionContext( mExpressionContext );

    QgsFeatureRequest request;
    if ( !mRenderer->filterNeedsGeometry() )
      request.setFlags( QgsFeatureRequest::NoGeometry );
    request.setSubsetOfAttributes( mRenderer->usedAttributes( renderContext ), mSource->fields() );
    QgsFeatureIterator fit = mSource->getFeatures( request );

    // TODO: replace QgsInterruptionChecker with QgsFeedback
    // fit.setInterruptionChecker( mFeedback );

    mRenderer->startRender( renderContext, mSource->fields() );

    double progress = 0;
    QgsFeature f;
    while ( fit.nextFeature( f ) )
    {
      renderContext.expressionContext().setFeature( f );
      QSet<QString> featureKeyList = mRenderer->legendKeysForFeature( f, renderContext );
      Q_FOREACH ( const QString &key, featureKeyList )
      {
        mSymbolFeatureCountMap[key] += 1;
      }
      ++featuresCounted;

      double p = ( static_cast< double >( featuresCounted ) / mFeatureCount ) * 100;
      if ( p - progress > 1 )
      {
        progress = p;
        setProgress( progress );
      }

      if ( isCanceled() )
      {
        mRenderer->stopRender( renderContext );
        return false;
      }
    }
    mRenderer->stopRender( renderContext );
  }
Ejemplo n.º 21
0
void FutureInterfaceBase::reportResultReady()
{
	if(isCanceled() || isFinished())
		return;

	_state = State(_state | ResultSet);
    _waitCondition.wakeAll();
    sendCallOut(FutureWatcher::CallOutEvent::ResultReady);
}
Ejemplo n.º 22
0
bool QmlProfilerFileReader::loadQtd(QIODevice *device)
{
    QXmlStreamReader stream(device);

    bool validVersion = true;

    while (validVersion && !stream.atEnd() && !stream.hasError()) {
        if (isCanceled())
            return false;
        QXmlStreamReader::TokenType token = stream.readNext();
        const QStringRef elementName = stream.name();
        switch (token) {
        case QXmlStreamReader::StartDocument :  continue;
        case QXmlStreamReader::StartElement : {
            if (elementName == _("trace")) {
                QXmlStreamAttributes attributes = stream.attributes();
                if (attributes.hasAttribute(_("version")))
                    validVersion = attributes.value(_("version")) == _(PROFILER_FILE_VERSION);
                else
                    validVersion = false;
                if (attributes.hasAttribute(_("traceStart")))
                    m_traceStart = attributes.value(_("traceStart")).toLongLong();
                if (attributes.hasAttribute(_("traceEnd")))
                    m_traceEnd = attributes.value(_("traceEnd")).toLongLong();
            }

            if (elementName == _("eventData")) {
                loadEventTypes(stream);
                emit typesLoaded(m_eventTypes);
                break;
            }

            if (elementName == _("profilerDataModel")) {
                loadEvents(stream);
                break;
            }

            if (elementName == _("noteData")) {
                loadNotes(stream);
                emit notesLoaded(m_notes);
                break;
            }

            break;
        }
        default: break;
        }
    }

    if (stream.hasError()) {
        emit error(tr("Error while parsing trace data file: %1").arg(stream.errorString()));
        return false;
    } else {
        emit success();
        return true;
    }
}
Ejemplo n.º 23
0
void FutureInterfaceBase::reportException()
{
	//qDebug() << "EXCEPTION FutureInterfaceBase::reportException() this=" << this << "thread=" << QThread::currentThread() << "text=" << progressText();
	QMutexLocker locker(&_mutex);
	if(isCanceled() || isFinished())
		return;

	reportException(std::current_exception());
}
QList<Task*> PairwiseAlignmentHirschbergTask::onSubTaskFinished(Task *subTask) {
    QList<Task*> res;
    if (hasError() || isCanceled()) {
        return res;
    }
    if (subTask->hasError() || subTask->isCanceled()) {
        return res;
    }

    if (subTask == kalignSubTask) {
        if (settings->inNewWindow == true) {
            TaskStateInfo localStateInfo;
            Project * currentProject = AppContext::getProject();

            DocumentFormat * format = AppContext::getDocumentFormatRegistry()->getFormatById(BaseDocumentFormats::CLUSTAL_ALN);
            Document * alignmentDoc = NULL;

            QString newFileUrl = settings->resultFileName.getURLString();
            changeGivenUrlIfDocumentExists(newFileUrl, currentProject);

            alignmentDoc = format->createNewLoadedDocument(IOAdapterUtils::get(BaseIOAdapters::LOCAL_FILE), GUrl(newFileUrl), localStateInfo);
            CHECK_OP(localStateInfo, res);

            MAlignment resultMa = kalignSubTask->resultMA;

            MAlignmentObject * docObject = MAlignmentImporter::createAlignment(alignmentDoc->getDbiRef(), resultMa, localStateInfo);
            CHECK_OP(localStateInfo, res);

            alignmentDoc->addObject(docObject);

            SaveDocFlags flags = SaveDoc_Overwrite;
            flags |= SaveDoc_OpenAfter;
            res << new SaveDocumentTask(alignmentDoc, flags);
        } else {        //in current window
            U2OpStatus2Log os;
            DbiConnection con(settings->msaRef.dbiRef, os);
            CHECK_OP(os, res);

            QList<U2MsaRow> rows = con.dbi->getMsaDbi()->getRows(settings->msaRef.entityId, os);
            CHECK_OP(os, res);
            U2UseCommonUserModStep userModStep(settings->msaRef, os);
            Q_UNUSED(userModStep);
            SAFE_POINT_OP(os, res);
            for (int rowNumber = 0; rowNumber < rows.length(); ++rowNumber) {
                if (rows[rowNumber].sequenceId == settings->firstSequenceRef.entityId) {
                    con.dbi->getMsaDbi()->updateGapModel(settings->msaRef.entityId, rows[rowNumber].rowId, kalignSubTask->resultMA.getRow(0).getGapModel(), os);
                    CHECK_OP(os, res);
                }
                if (rows[rowNumber].sequenceId == settings->secondSequenceRef.entityId) {
                    con.dbi->getMsaDbi()->updateGapModel(settings->msaRef.entityId, rows[rowNumber].rowId, kalignSubTask->resultMA.getRow(1).getGapModel(), os);
                    CHECK_OP(os, res);
                }
            }
        }
    }
    return res;
}
Ejemplo n.º 25
0
 virtual void processProgressEvent(ossimProcessProgressEvent& /* event */)
 {
    if(isCanceled())
    {
       if(theCurrentProcessInterface)
       {
          theCurrentProcessInterface->abort();
       }
    }
 }
Ejemplo n.º 26
0
int
Thread::cancel()
{
    if (isNotOk() || !isStarted() || isDetached()) return(-1);
    if (isCanceled()) return(0);
    int status = ::pthread_cancel(state_.id_);
    ThreadMutexLock lock(state_.cs_);
    state_.canceled_ = true;
    setOk(status == 0);
    return(status);
}
Ejemplo n.º 27
0
void FutureInterfaceBase::setProgressText(const QString& progressText)
{
    QMutexLocker locker(&_mutex);
    //qDebug() << "FutureInterfaceBase::setProgressText() this=" << this << "thread=" << QThread::currentThread() << "text=" << progressText;

    if(isCanceled() || isFinished())
        return;

    _progressText = progressText;
    sendCallOut(FutureWatcher::CallOutEvent::ProgressText, progressText);
}
Ejemplo n.º 28
0
QString ImportPrimerFromObjectTask::generateReport() const {
    const QString docName = (NULL == sequenceObject->getDocument() ? tr("Without document") : sequenceObject->getDocument()->getName());
    QString report = QString("<b>%1</b> %2: <font color='%3'>%4</font>").arg(docName).arg(sequenceObject->getGObjectName());
    if (isCanceled()) {
        return report.arg(L10N::errorColorLabelHtmlStr()).arg(tr("cancelled"));
    }
    if (hasError()) {
        return report.arg(L10N::errorColorLabelHtmlStr()).arg(tr("error")) + ": " + getError();
    }
    return report.arg(L10N::successColorLabelHtmlStr()).arg(tr("success"));
}
Ejemplo n.º 29
0
QList<Task*> CopyDocumentTask::onSubTaskFinished(Task *subTask) {
    QList<Task*> result;
    if (hasError() || isCanceled()) {
        return result;
    }

    if (cloneTask == subTask) {
        QList<GObject*> objs = cloneTask->takeResult();
        foreach(GObject *dstObj, objs) {
            dstObj->moveToThread(QCoreApplication::instance()->thread());
            dstDoc->addObject(dstObj);
        }
Ejemplo n.º 30
0
bool TechTask::preUpdate()
{
	if(BWAPI::Broodwar->self()->hasResearched(mType))
		complete();

	if((isStopped() || isCanceled() || isCompleted()) && mUnit && !mUnit->isResearching())
		return true;

	updateRequirements();

	return false;
}