diff --git a/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/fx/controller/.ratings b/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/fx/controller/.ratings index b874bf6e0cf17b19c0fe6facc8225585d63770f7..b0f85014f5b2fcca7da4da0ee5361cea0c736709 100644 --- a/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/fx/controller/.ratings +++ b/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/fx/controller/.ratings @@ -7,6 +7,6 @@ KernelServiceBasedModelChangeProviderBase.java 18e48f17ea8dfba90de024a8959fc5a4b LayoutModelChangeProvider.java b5449d02eaf39086909720c43e21bd061005fc9e GREEN LayoutedContentAnchorageController.java 3794b41d76e9ce14ead0bd812cde5c1a6d348d5c GREEN LayoutedDiagramAnchorageController.java 1e1ac7c5fa26c632736f5023e90f05d09bc0710d GREEN -LayoutedEllipticResizableContentController.java 7f6f9a11f9bcb1e78cf8c95c69a9a26c5d4adf42 YELLOW +LayoutedEllipticResizableContentController.java b2c9c48190b9ff69a175bbe5f89761c1b08621ab YELLOW LayoutedLinkBendPointController.java a8372485ae96f2abf773d1baeb1f8c7b2b25985f GREEN LayoutedRectangularResizableContentController.java 1e18af3ee10dd3754325ed389fed664da65a0b61 GREEN diff --git a/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/fx/controller/LayoutedEllipticResizableContentController.java b/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/fx/controller/LayoutedEllipticResizableContentController.java index 7f6f9a11f9bcb1e78cf8c95c69a9a26c5d4adf42..b2c9c48190b9ff69a175bbe5f89761c1b08621ab 100644 --- a/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/fx/controller/LayoutedEllipticResizableContentController.java +++ b/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/fx/controller/LayoutedEllipticResizableContentController.java @@ -18,11 +18,16 @@ package org.fortiss.tooling.base.ui.editor.fx.controller; import static java.lang.Math.toRadians; import static java.util.Objects.requireNonNull; import static org.fortiss.tooling.base.ui.utils.LayoutDataUIUtils.setConnectorAngle; +import static org.fortiss.tooling.base.utils.LayoutDataUtils.getNodeSize; +import static org.fortiss.tooling.base.utils.LayoutDataUtils.moveNode; +import static org.fortiss.tooling.base.utils.LayoutDataUtils.setNodeSize; +import org.eclipse.systemfocus.kernel.common.ui.javafx.lwfxef.FeedbackChange; import org.eclipse.systemfocus.kernel.common.ui.javafx.lwfxef.controller.IController; import org.eclipse.systemfocus.kernel.common.ui.javafx.lwfxef.mvc.IContentAnchorageMVCBundle; import org.eclipse.systemfocus.kernel.common.ui.javafx.lwfxef.mvc.IContentMVCBundle; import org.fortiss.tooling.base.model.element.IConnector; +import org.fortiss.tooling.base.model.layout.Dimension; import org.fortiss.tooling.base.model.layout.ILayoutedModelElement; /** @@ -54,4 +59,20 @@ public class LayoutedEllipticResizableContentController<T extends ILayoutedModel setConnectorAngle(conn, toRadians(angleInDegree)); } } + + /** {@inheritDoc} */ + @Override + protected void move(FeedbackChange deltaChange) { + moveNode(getModelElement(), (int)deltaChange.getDeltaX(), (int)deltaChange.getDeltaY()); + } + + /** {@inheritDoc} */ + @Override + protected void resize(FeedbackChange delta) { + T element = getModelElement(); + Dimension d = getNodeSize(element); + int w = d.getWidth() + (int)delta.getDeltaW(); + int h = d.getHeight() + (int)delta.getDeltaH(); + setNodeSize(element, w, h); + } } diff --git a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/extension/base/factory/.ratings b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/extension/base/factory/.ratings index 75b475f75083ac3976a4740cc7fc19976f96542c..4984475657760524dd4ca24895e597494a2ed48d 100644 --- a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/extension/base/factory/.ratings +++ b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/extension/base/factory/.ratings @@ -1,4 +1,4 @@ DelegatingControllerFactory.java ad214d83b5821b39862b7c382c91a13c3dfddbd0 GREEN DelegatingFactoryBase.java f421742267610f41bb6196346026d2f239d90ed0 GREEN -DelegatingModelFactory.java 717b706781879efe9efcb5ce4bf53723e39a3e1b GREEN +DelegatingModelFactory.java 015ec36c9ca7e06235a0769e940c30b366c64075 YELLOW DelegatingVisualFactory.java 7e834acd12ae4d1c2b2b32a5456dc9f2b6d4e466 GREEN diff --git a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/extension/base/factory/DelegatingModelFactory.java b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/extension/base/factory/DelegatingModelFactory.java index 717b706781879efe9efcb5ce4bf53723e39a3e1b..015ec36c9ca7e06235a0769e940c30b366c64075 100644 --- a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/extension/base/factory/DelegatingModelFactory.java +++ b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/extension/base/factory/DelegatingModelFactory.java @@ -109,7 +109,8 @@ public class DelegatingModelFactory extends DelegatingFactoryBase<IModelFactory> /** {@inheritDoc} */ @Override public Object getRootModel() { - return editedObject; + return getDelegateFactories().stream().map(f -> f.getRootModel()).filter(cc -> cc != null) + .findFirst().orElse(null); } /** {@inheritDoc} */