HubCanvas * HubCanvas::read(char *& st, UmlCanvas * canvas, char * k) { if (!strcmp(k, "hubcanvas_ref")) return ((HubCanvas *) dict_get(read_id(st), "hubcanvas", canvas)); if (strcmp(k, "hubcanvas")) return 0; int id = read_id(st); read_keyword(st, "xyz"); int x = (int) read_double(st); HubCanvas * result = new HubCanvas(canvas, x, (int) read_double(st), id); result->setZ(read_double(st)); result->show(); return result; }
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); }