Example #1
0
bool CProcessInstance::dissociate(CItem* item, CGraphicsItem::LinkOrder order)
{
  qDebug("CProcessInstance::dissociate");
//  CProcessInstance* process;
  Q_ASSERT(item->type() == CFlow::CFLOW);
  CFlow* flow = dynamic_cast<CFlow*> (item);
  bool bOK = true;
  
  //TODO eviter de retirer si on est dans le meme process (dans le graphique en cours de modif)
  switch (order)
  {
    case CGraphicsItem::BEGIN:
      removeOutput(flow);
      flow->setInput(NULL);
      break;
      
    case CGraphicsItem::END:
      removeInput(flow);
      flow->setOutput(NULL);
      break;
      
    default:
      Q_ASSERT(false);
      bOK = false;
      break;
  }
  
  return bOK;
}
Example #2
0
bool CStore::dissociate(CItem* item, CGraphicsItem::LinkOrder order)
{
  qDebug("CStore::dissociate");
  
  Q_ASSERT(item->type() == CFlow::CFLOW);
  CFlow* flow = dynamic_cast<CFlow*> (item);
  bool bOK = true;

  switch (order)
  {
    case CGraphicsItem::BEGIN:
      removeOutput(flow);
      flow->setInput(NULL);
      break;

    case CGraphicsItem::END:
      removeInput(flow);
      flow->setOutput(NULL);
      break;

    default:
      Q_ASSERT(false);
      return false;
      break;
  }

  return bOK;
}
Example #3
0
/*!
    Adjusts object to \a object.
 */
void QUmlReadLinkObjectEndAction::setObject(QUmlInputPin *object)
{
    // This is a read-write association end

    if (_object != object) {
        // Adjust subsetted properties
        removeInput(_object);

        _object = object;
        if (object && object->asQModelingObject() && this->asQModelingObject())
            QObject::connect(object->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setObject()));
        object->asQModelingObject()->setParent(this->asQModelingObject());

        // Adjust subsetted properties
        if (object) {
            addInput(object);
        }
    }
}