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; }
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; }
/*! 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); } } }