/*(non-Javadoc) * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure() */ protected IFigure createFigure() { ComponentFigure figure = new ComponentFigure( Util.getSWTRGB(getCastedVisualModel().getBackgroundColor()), Util.getSWTRGB(getCastedVisualModel().getForegroundColor()), getCastedVisualModel().getLineStyle()); figure.setText(getCastedSemanticModel().getName()); if (getCastedVisualModel().getDetailLevel() == VisualModel.HIGH_DETAIL) figure.showResponsibilites(true); updateStereotypeName(figure); updateResponsibilities(figure); return figure; }
private void updateSizePortLocation(Rectangle newBounds) { Dimension size = newBounds.getSize(); int newRightXOffset = size.width - 40; int height = 0; int maxYPort = 0; List children = getCastedVisualModel().getChildren(); for (int i = 0; i < children.size(); i++) { VisualModel port = (VisualModel) children.get(i); height = 25; if (port.getChildren().size() > 0) height = 25 * port.getChildren().size(); port.setSize(Util.getDimension(40, height)); if (port.getLocation().getX() > 0) port.setLocation(Util.getPoint(newRightXOffset, port.getLocation().getY())); maxYPort = Math.max(maxYPort, port.getLocation().getY() + port.getSize().getHeight()); } int dif = size.height - maxYPort; if (dif < 0) getCastedVisualModel().setSize(Util.getDimension(size.width, size.height - dif + 10)); }