Exemple #1
0
/// This method updates the widget with the current model ('w' vairable).
void GraphModelViewer::update(const AGMModel::SPtr &w)
{
// 	printf("%s: %d\n", __FILE__, __LINE__);
	model = w;
	updateStructure();
// 	recalculatePositions();
// 	printf("%s: %d\n", __FIdLE__, __LINE__);
}
void RObject::rCommandDone (RCommand *command) {
	RK_TRACE (OBJECTS);

	if (command->getFlags () == ROBJECT_UDPATE_STRUCTURE_COMMAND) {
		if (command->failed ()) {
			RK_DO (qDebug ("command failed while trying to update object '%s'. No longer present?", getShortName ().toLatin1 ().data ()), OBJECTS, DL_INFO);
			// this may happen, if the object has been removed in the workspace in between
			RKGlobals::tracker ()->removeObject (this, 0, true);
			return;
		}
		if (parent) parent->updateChildStructure (this, command);		// this may result in a delete, so nothing after this!
		else updateStructure (command);		// if we have no parent, likely we're the RObjectList 
		return;
	} else {
		RK_ASSERT (false);
	}
}
Exemple #3
0
// Doxygen skip:
/// @cond
void QueueManager::handleInProcessStructure_(Structure* s)
{
  Q_ASSERT(trackerContainsStructure(s, &m_inProcessTracker));
  removeFromTrackerWhenScopeEnds popper(s, &m_inProcessTracker);

  // Revalidate assumptions
  if (s->getStatus() != Structure::InProcess) {
    return;
  }

  QueueInterface* qi = m_opt->queueInterface(s->getCurrentOptStep());
  switch (qi->getStatus(s)) {
    case QueueInterface::Running:
    case QueueInterface::Queued:
    case QueueInterface::CommunicationError:
    case QueueInterface::Unknown:
    case QueueInterface::Pending:
    case QueueInterface::Started:
    {
      // Kill the structure if it has exceeded the allowable time.
      // Only perform this for remote queues.
      if (m_opt->cancelJobAfterTime() &&
          s->getOptElapsedHours() > m_opt->hoursForCancelJobAfterTime() &&
          qi->getIDString().toLower() != "local") {
        killStructure(s);
        emit structureUpdated(s);
        return;
      }
      // Nothing to do but wait
      break;
    }
    case QueueInterface::Success:
      updateStructure(s);
      break;
    case QueueInterface::Error:
      s->lock().lockForWrite();
      s->setStatus(Structure::Error);
      s->lock().unlock();
      emit structureUpdated(s);
      break;
  }

  return;
}