void DeploymentDiagramView::dropEvent(QDropEvent * e) { BrowserNode * bn; QPoint p = viewportToContents(e->pos()); if ((bn = UmlDrag::decode(e, UmlDeploymentNode)) != 0) { history_save(); DeploymentNodeCanvas * d = new DeploymentNodeCanvas(bn, the_canvas(), p.x(), p.y(), 0); history_protected = TRUE; d->show(); d->upper(); canvas()->update(); history_protected = FALSE; window()->package_modified(); } else if ((bn = UmlDrag::decode(e, UmlComponent)) != 0) { history_save(); ComponentCanvas * c = new ComponentCanvas(bn, the_canvas(), p.x(), p.y()); history_protected = TRUE; c->show(); c->upper(); canvas()->update(); history_protected = FALSE; window()->package_modified(); } else if ((bn = UmlDrag::decode(e, UmlArtifact)) != 0) { history_save(); ArtifactCanvas * c = new ArtifactCanvas(bn, the_canvas(), p.x(), p.y()); history_protected = TRUE; c->show(); c->upper(); canvas()->update(); history_protected = FALSE; window()->package_modified(); } else if ((bn = UmlDrag::decode(e, UmlPackage)) != 0) { history_save(); PackageCanvas * pk = new PackageCanvas(bn, the_canvas(), p.x(), p.y(), 0); history_protected = TRUE; pk->show(); pk->upper(); canvas()->update(); window()->package_modified(); } else if ((bn = UmlDrag::decode(e, UmlSimpleRelations, TRUE)) != 0) { history_save(); history_protected = TRUE; SimpleRelationCanvas::drop(bn, the_canvas()); canvas()->update(); history_protected = FALSE; } else if (((bn = UmlDrag::decode(e, UmlClassDiagram)) != 0) || ((bn = UmlDrag::decode(e, UmlUseCaseDiagram)) != 0) || ((bn = UmlDrag::decode(e, UmlSeqDiagram)) != 0) || ((bn = UmlDrag::decode(e, UmlColDiagram)) != 0) || ((bn = UmlDrag::decode(e, UmlObjectDiagram)) != 0) || ((bn = UmlDrag::decode(e, UmlComponentDiagram)) != 0) || ((bn = UmlDrag::decode(e, UmlDeploymentDiagram)) != 0) || ((bn = UmlDrag::decode(e, UmlStateDiagram, TRUE)) != 0) || ((bn = UmlDrag::decode(e, UmlActivityDiagram, TRUE)) != 0)) { history_save(); IconCanvas * ic = new IconCanvas(bn, the_canvas(), p.x(), p.y(), 0); history_protected = TRUE; ic->show(); ic->upper(); canvas()->update(); history_protected = FALSE; window()->package_modified(); } }
void DeploymentDiagramView::contentsMousePressEvent(QMouseEvent * e) { if (!window()->frozen()) { UmlCode action = window()->buttonOn(); switch (action) { case UmlDeploymentNode: { history_protected = TRUE; unselect_all(); window()->selectOn(); history_save(); BrowserNode * b = BrowserDeploymentNode::get_deploymentnode(((BrowserNode *) window()->browser_diagram()->parent())); if (b != 0) { DeploymentNodeCanvas * d = new DeploymentNodeCanvas(b, the_canvas(), e->x(), e->y(), 0); d->show(); d->upper(); window()->package_modified(); } } break; case UmlComponent: { history_protected = TRUE; unselect_all(); window()->selectOn(); history_save(); BrowserNode * b = BrowserComponent::get_component(((BrowserNode *) window()->browser_diagram()->parent()), TRUE); if (b != 0) { ComponentCanvas * c = new ComponentCanvas(b, the_canvas(), e->x(), e->y()); c->show(); c->upper(); window()->package_modified(); } } break; case UmlArtifact: { history_protected = TRUE; unselect_all(); window()->selectOn(); history_save(); BrowserNode * b = BrowserArtifact::get_artifact(((BrowserNode *) window()->browser_diagram()->parent()), TRUE); if (b != 0) { ArtifactCanvas * c = new ArtifactCanvas(b, the_canvas(), e->x(), e->y()); c->show(); c->upper(); window()->package_modified(); } } break; case UmlHub: { history_protected = TRUE; unselect_all(); window()->selectOn(); history_save(); HubCanvas * h = new HubCanvas(the_canvas(), e->x(), e->y(), 0); h->show(); h->upper(); window()->package_modified(); } break; default: DiagramView::contentsMousePressEvent(e); return; } canvas()->update(); history_protected = FALSE; } else DiagramView::contentsMousePressEvent(e); }