]> gerrit.simantics Code Review - simantics/3d.git/commitdiff
Show an error dialog when attempting to insert a too long component 60/3960/1
authorReino Ruusu <reino.ruusu@semantum.fi>
Mon, 2 Mar 2020 12:24:19 +0000 (14:24 +0200)
committerReino Ruusu <reino.ruusu@semantum.fi>
Mon, 2 Mar 2020 12:24:19 +0000 (14:24 +0200)
gitlab #97

Change-Id: I9f6b6b0fb7c0a9fc0a9f1b93b081d4041f5499c9

org.simantics.plant3d/src/org/simantics/plant3d/actions/AddComponentAction.java

index 0ee0f6bc2bbcfbf137148357f50f47e70edba792..9b3d90835e14a3961f5c9af0c48fd7ead86417dc 100644 (file)
@@ -6,6 +6,7 @@ import java.awt.event.MouseWheelEvent;
 import java.util.HashSet;
 import java.util.Set;
 
+import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.resource.ResourceLocator;
 import org.eclipse.swt.widgets.Display;
 import org.simantics.db.Resource;
@@ -187,6 +188,11 @@ public class AddComponentAction extends vtkSwtAction {
        
        public void doInsert(PositionType position) {
                try  {
+                       if (position == PositionType.SPLIT && length != null && length > component.getControlPoint().getLength()) {
+                               MessageDialog.openError(panel.getComponent().getShell(), "Error", "There is no room for a component of length " + length * lengthFactor + " units");
+                               return;
+                       }
+                       
                        InsertInstruction inst = new InsertInstruction();
                        inst.typeUri = toAdd.getUri();
                        inst.name = name;