From 36c3a5bd6b10154ccfd7dd8d5b04a309190fe438 Mon Sep 17 00:00:00 2001 From: miettinen Date: Wed, 20 Nov 2013 13:24:11 +0000 Subject: [PATCH] Added loop to Sysdyn comment symbols. Loop has properties of direction of rotation and comment, of which both can be modified, but are not yet shown on diagram. (refs #3012) git-svn-id: https://www.simantics.org/svn/simantics/sysdyn/trunk@28345 ac1ea38d-2e2b-0410-8846-a27921b304fc --- org.simantics.sysdyn.ontology/graph.tg | Bin 157089 -> 163845 bytes ...alSymbols.pgraph => CommentSymbols.pgraph} | 22 +- .../graph/Sysdyn.pgraph | 2 +- .../graph/svg/loop.svg | 166 +++++++++++++ .../org/simantics/sysdyn/SysdynResource.java | 30 ++- org.simantics.sysdyn.ui/adapters.xml | 2 +- .../CreateVariablesShortcutParticipant.java | 6 + .../sysdyn/ui/elements/LoopFactory.java | 99 ++++++++ .../sysdyn/ui/properties/LoopTab.java | 220 ++++++++++++++++++ .../ResourceSelectionProcessor.java | 10 + .../simantics/sysdyn/representation/Loop.java | 92 ++++++++ .../sysdyn/representation/SysdynSchema.java | 1 + .../visitors/ElementVisitorVoidAdapter.java | 5 + .../visitors/IElementVisitorVoid.java | 3 + 14 files changed, 652 insertions(+), 6 deletions(-) rename org.simantics.sysdyn.ontology/graph/{GeneralSymbols.pgraph => CommentSymbols.pgraph} (68%) create mode 100644 org.simantics.sysdyn.ontology/graph/svg/loop.svg create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/LoopFactory.java create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/properties/LoopTab.java create mode 100644 org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Loop.java diff --git a/org.simantics.sysdyn.ontology/graph.tg b/org.simantics.sysdyn.ontology/graph.tg index d606923c15b4afbcbe8d492f504ceceb6247a62a..848075d67a95bded08f5f8d5bf1ab12b1d5375e6 100644 GIT binary patch literal 163845 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 Y;Xsy!p2RMEe86jUvSnZ;Ox;)XFU=Fhwg3PC literal 157089 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
  • v@K4jkwhN@j}1E{vq0n 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 z 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 diff --git a/org.simantics.sysdyn.ontology/graph/GeneralSymbols.pgraph b/org.simantics.sysdyn.ontology/graph/CommentSymbols.pgraph similarity index 68% rename from org.simantics.sysdyn.ontology/graph/GeneralSymbols.pgraph rename to org.simantics.sysdyn.ontology/graph/CommentSymbols.pgraph index 0f6a24a3..22f149e7 100644 --- a/org.simantics.sysdyn.ontology/graph/GeneralSymbols.pgraph +++ b/org.simantics.sysdyn.ontology/graph/CommentSymbols.pgraph @@ -2,8 +2,10 @@ L0 = G2D = DIA = SYSDYN = +IMAGE = +MOD = -GENERAL = SYSDYN.SymbolReferences.GeneralSymbols : DIA.SymbolReferenceLibrary +GENERAL = SYSDYN.SymbolReferences.CommentSymbols : DIA.SymbolReferenceLibrary L0.HasDescription "General graphical components" SYSDYN.AdditionalSymbols : L0.Library @@ -12,3 +14,21 @@ SYSDYN.AdditionalSymbols.MultilineText """ : L0.String + +SYSDYN.Loop -- SYSDYN.Loop.Clockwise --> L0.Boolean -- SYSDYN.Loop.Comment --> L0.String -- SYSDYN.Loop.Items --> L0.List -- SYSDYN.ConfigurationDiagram.selection --> DIA.Element + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/org.simantics.sysdyn.ontology/src/org/simantics/sysdyn/SysdynResource.java b/org.simantics.sysdyn.ontology/src/org/simantics/sysdyn/SysdynResource.java index f0b55a2f..b51c3e17 100644 --- a/org.simantics.sysdyn.ontology/src/org/simantics/sysdyn/SysdynResource.java +++ b/org.simantics.sysdyn.ontology/src/org/simantics/sysdyn/SysdynResource.java @@ -457,6 +457,14 @@ public class SysdynResource { public final Resource LookupExpression; public final Resource LookupExpression_lookup; public final Resource LookupExpression_lookup_Inverse; + public final Resource Loop; + public final Resource LoopSymbol; + public final Resource Loop_Clockwise; + public final Resource Loop_Clockwise_Inverse; + public final Resource Loop_Comment; + public final Resource Loop_Comment_Inverse; + public final Resource Loop_Items; + public final Resource Loop_Items_Inverse; public final Resource Migration; public final Resource Migration_from1$6to1$7; public final Resource Migration_from1$6to1$7_Ontologies; @@ -598,7 +606,7 @@ public class SysdynResource { public final Resource StockSymbol; public final Resource SymbolReferences; public final Resource SymbolReferences_BasicSymbols; - public final Resource SymbolReferences_GeneralSymbols; + public final Resource SymbolReferences_CommentSymbols; public final Resource Symbols; public final Resource SysdynConnectionType; public final Resource SysdynDiagramModelingRules; @@ -1203,6 +1211,14 @@ public class SysdynResource { public static final String LookupExpression = "http://www.simantics.org/Sysdyn-1.1/LookupExpression"; public static final String LookupExpression_lookup = "http://www.simantics.org/Sysdyn-1.1/LookupExpression/lookup"; public static final String LookupExpression_lookup_Inverse = "http://www.simantics.org/Sysdyn-1.1/LookupExpression/lookup/Inverse"; + public static final String Loop = "http://www.simantics.org/Sysdyn-1.1/Loop"; + public static final String LoopSymbol = "http://www.simantics.org/Sysdyn-1.1/LoopSymbol"; + public static final String Loop_Clockwise = "http://www.simantics.org/Sysdyn-1.1/Loop/Clockwise"; + public static final String Loop_Clockwise_Inverse = "http://www.simantics.org/Sysdyn-1.1/Loop/Clockwise/Inverse"; + public static final String Loop_Comment = "http://www.simantics.org/Sysdyn-1.1/Loop/Comment"; + public static final String Loop_Comment_Inverse = "http://www.simantics.org/Sysdyn-1.1/Loop/Comment/Inverse"; + public static final String Loop_Items = "http://www.simantics.org/Sysdyn-1.1/Loop/Items"; + public static final String Loop_Items_Inverse = "http://www.simantics.org/Sysdyn-1.1/Loop/Items/Inverse"; public static final String Migration = "http://www.simantics.org/Sysdyn-1.1/Migration"; public static final String Migration_from1$6to1$7 = "http://www.simantics.org/Sysdyn-1.1/Migration/from1.6to1.7"; public static final String Migration_from1$6to1$7_Ontologies = "http://www.simantics.org/Sysdyn-1.1/Migration/from1.6to1.7/Ontologies"; @@ -1344,7 +1360,7 @@ public class SysdynResource { public static final String StockSymbol = "http://www.simantics.org/Sysdyn-1.1/StockSymbol"; public static final String SymbolReferences = "http://www.simantics.org/Sysdyn-1.1/SymbolReferences"; public static final String SymbolReferences_BasicSymbols = "http://www.simantics.org/Sysdyn-1.1/SymbolReferences/BasicSymbols"; - public static final String SymbolReferences_GeneralSymbols = "http://www.simantics.org/Sysdyn-1.1/SymbolReferences/GeneralSymbols"; + public static final String SymbolReferences_CommentSymbols = "http://www.simantics.org/Sysdyn-1.1/SymbolReferences/CommentSymbols"; public static final String Symbols = "http://www.simantics.org/Sysdyn-1.1/Symbols"; public static final String SysdynConnectionType = "http://www.simantics.org/Sysdyn-1.1/SysdynConnectionType"; public static final String SysdynDiagramModelingRules = "http://www.simantics.org/Sysdyn-1.1/SysdynDiagramModelingRules"; @@ -1959,6 +1975,14 @@ public class SysdynResource { LookupExpression = getResourceOrNull(graph, URIs.LookupExpression); LookupExpression_lookup = getResourceOrNull(graph, URIs.LookupExpression_lookup); LookupExpression_lookup_Inverse = getResourceOrNull(graph, URIs.LookupExpression_lookup_Inverse); + Loop = getResourceOrNull(graph, URIs.Loop); + LoopSymbol = getResourceOrNull(graph, URIs.LoopSymbol); + Loop_Clockwise = getResourceOrNull(graph, URIs.Loop_Clockwise); + Loop_Clockwise_Inverse = getResourceOrNull(graph, URIs.Loop_Clockwise_Inverse); + Loop_Comment = getResourceOrNull(graph, URIs.Loop_Comment); + Loop_Comment_Inverse = getResourceOrNull(graph, URIs.Loop_Comment_Inverse); + Loop_Items = getResourceOrNull(graph, URIs.Loop_Items); + Loop_Items_Inverse = getResourceOrNull(graph, URIs.Loop_Items_Inverse); Migration = getResourceOrNull(graph, URIs.Migration); Migration_from1$6to1$7 = getResourceOrNull(graph, URIs.Migration_from1$6to1$7); Migration_from1$6to1$7_Ontologies = getResourceOrNull(graph, URIs.Migration_from1$6to1$7_Ontologies); @@ -2100,7 +2124,7 @@ public class SysdynResource { StockSymbol = getResourceOrNull(graph, URIs.StockSymbol); SymbolReferences = getResourceOrNull(graph, URIs.SymbolReferences); SymbolReferences_BasicSymbols = getResourceOrNull(graph, URIs.SymbolReferences_BasicSymbols); - SymbolReferences_GeneralSymbols = getResourceOrNull(graph, URIs.SymbolReferences_GeneralSymbols); + SymbolReferences_CommentSymbols = getResourceOrNull(graph, URIs.SymbolReferences_CommentSymbols); Symbols = getResourceOrNull(graph, URIs.Symbols); SysdynConnectionType = getResourceOrNull(graph, URIs.SysdynConnectionType); SysdynDiagramModelingRules = getResourceOrNull(graph, URIs.SysdynDiagramModelingRules); diff --git a/org.simantics.sysdyn.ui/adapters.xml b/org.simantics.sysdyn.ui/adapters.xml index f89f2e41..517bc7e2 100644 --- a/org.simantics.sysdyn.ui/adapters.xml +++ b/org.simantics.sysdyn.ui/adapters.xml @@ -10,5 +10,5 @@ VTT Technical Research Centre of Finland - initial API and implementation --> - none 0 fill 1 + none 0 fill 1 \ No newline at end of file diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/editor/participant/CreateVariablesShortcutParticipant.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/editor/participant/CreateVariablesShortcutParticipant.java index a5a2e5a3..4919ec2b 100644 --- a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/editor/participant/CreateVariablesShortcutParticipant.java +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/editor/participant/CreateVariablesShortcutParticipant.java @@ -163,6 +163,12 @@ public class CreateVariablesShortcutParticipant extends AbstractDiagramParticipa SysdynResource.URIs.ShadowSymbol, (ShapeNode)ShadowFactory.GHOST_IMAGE.init(parent) ); + /*} else if (kpe.keyCode == java.awt.event.KeyEvent.VK_L) { + variableInformation = new VariableInformation( + java.awt.event.KeyEvent.VK_L, + SysdynResource.URIs.LoopSymbol, + (ShapeNode)LoopFactory.LOOP_STATIC_IMAGE.init(parent) + );*/ } if (variableInformation != null) { diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/LoopFactory.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/LoopFactory.java new file mode 100644 index 00000000..f606fc72 --- /dev/null +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/LoopFactory.java @@ -0,0 +1,99 @@ +/******************************************************************************* + * Copyright (c) 2010 Association for Decentralized Information Management in + * Industry THTH ry. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +package org.simantics.sysdyn.ui.elements; + +import java.awt.BasicStroke; +import java.awt.Shape; +import java.awt.geom.Arc2D; +import java.awt.geom.Path2D; +import java.util.Collection; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.common.utils.NameUtils; +import org.simantics.db.exception.DatabaseException; +import org.simantics.diagram.stubs.G2DResource; +import org.simantics.g2d.canvas.ICanvasContext; +import org.simantics.g2d.diagram.IDiagram; +import org.simantics.g2d.element.ElementClass; +import org.simantics.g2d.element.handler.impl.BoundsOutline; +import org.simantics.g2d.element.handler.impl.DefaultTransform; +import org.simantics.g2d.element.handler.impl.ObjectTerminal; +import org.simantics.g2d.element.handler.impl.OutlinePick; +import org.simantics.g2d.element.handler.impl.SimpleElementLayers; +import org.simantics.g2d.element.handler.impl.StaticObjectAdapter; +import org.simantics.g2d.element.handler.impl.StaticSymbolImageInitializer; +import org.simantics.g2d.element.handler.impl.StaticSymbolImpl; +import org.simantics.g2d.element.handler.impl.TextColorImpl; +import org.simantics.g2d.element.handler.impl.TextFontImpl; +import org.simantics.g2d.element.handler.impl.TextImpl; +import org.simantics.g2d.elementclass.ImageClass.StaticImageElementHandler; +import org.simantics.g2d.image.DefaultImages; +import org.simantics.g2d.image.Image; +import org.simantics.g2d.image.impl.ShapeImage; +import org.simantics.g2d.svg.SVGImage; + +/** + * @author Tuomas Miettinen + */ +public class LoopFactory extends SysdynElementFactory { + + public static final Image LOOP_STATIC_IMAGE = new ShapeImage(getLoopShape(), null, new BasicStroke(1), true); + + @Override + public ElementClass create(ReadGraph graph, ICanvasContext canvas, + IDiagram diagram, Resource elementType) throws DatabaseException { + + G2DResource g2d = G2DResource.getInstance(graph); + String svgDoc = graph.getPossibleRelatedValue(elementType, g2d.HasSVGDocument); + Image image = null; + String id = "TextElement: " + NameUtils.getSafeName(graph, elementType); + if (svgDoc != null) + image = new SVGImage(id+".svg", svgDoc); + else + image = DefaultImages.ERROR_DECORATOR.get(); + + return ElementClass.compile( + SimpleElementLayers.INSTANCE, + OutlinePick.INSTANCE, + TextImpl.INSTANCE, + TextColorImpl.BLACK, + TextFontImpl.DEFAULT, + DefaultTransform.INSTANCE, + new StaticSymbolImpl(image), + new StaticImageElementHandler(image), + new StaticObjectAdapter(elementType), + StaticSymbolImageInitializer.INSTANCE, + //new HoverTextElementHandler(0, 0, Alignment.LEADING, 0, 1.5, 1.5, true), + BoundsOutline.INSTANCE + ).setId(LoopFactory.class.getSimpleName()); + } + + static Shape getLoopShape() { + Path2D loop = new Path2D.Double(); + loop.moveTo(1, 2); + loop.lineTo(0, 0); + loop.lineTo(-1, 2); + loop.closePath(); + + loop.append(new Arc2D.Double(-10, -3, 10, 10, 0, -270, Arc2D.OPEN), false); + return loop; + } + + @Override + protected ElementClass compileElementClass(Resource elementType, + Collection terminals) { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/properties/LoopTab.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/properties/LoopTab.java new file mode 100644 index 00000000..272e98d0 --- /dev/null +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/properties/LoopTab.java @@ -0,0 +1,220 @@ +/******************************************************************************* + * Copyright (c) 2010, 2012 Association for Decentralized Information Management in + * Industry THTH ry. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +package org.simantics.sysdyn.ui.properties; + +import org.eclipse.jface.layout.GridDataFactory; +import org.eclipse.jface.layout.GridLayoutFactory; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Group; +import org.eclipse.ui.IWorkbenchSite; +import org.simantics.browsing.ui.swt.widgets.Button; +import org.simantics.browsing.ui.swt.widgets.StringPropertyModifier; +import org.simantics.browsing.ui.swt.widgets.TrackedText; +import org.simantics.browsing.ui.swt.widgets.impl.ReadFactoryImpl; +import org.simantics.browsing.ui.swt.widgets.impl.SelectionListenerImpl; +import org.simantics.browsing.ui.swt.widgets.impl.WidgetSupport; +import org.simantics.databoard.Bindings; +import org.simantics.databoard.util.ObjectUtils; +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.WriteGraph; +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.management.ISessionContext; +import org.simantics.sysdyn.SysdynResource; +import org.simantics.utils.datastructures.Pair; +import org.simantics.utils.datastructures.Triple; + +/** + * Tab for displaying information of a loop + * @author Tuomas Miettinen + * + */ +public class LoopTab extends LabelPropertyTabContributor { + + Button auto, balancing, reinforcing, other, inside, outside; + TrackedText loopComment, polarityLocationText; + public static final String AUTO = "$$AUTO$$"; + + @Override + public void createControls(Composite body, IWorkbenchSite site, ISessionContext context, WidgetSupport support) { + Composite composite = new Composite(body, SWT.NONE); + GridDataFactory.fillDefaults().grab(true, true).applyTo(composite); + GridLayoutFactory.fillDefaults().margins(3, 3).numColumns(2).applyTo(composite); + + Group commentGroup = new Group(composite, SWT.NONE); + commentGroup.setText("Comment"); + GridDataFactory.fillDefaults().grab(true, false).applyTo(commentGroup); + GridLayoutFactory.fillDefaults().numColumns(5).applyTo(commentGroup); + + auto = new Button(commentGroup, support, SWT.RADIO); + auto.setText("Auto"); + auto.setSelectionFactory(new CommentRadioSelectionFactory("$$AUTO$$")); + auto.addSelectionListener(new CommentSelectionListener(context, "$$AUTO$$")); + + balancing = new Button(commentGroup, support, SWT.RADIO); + balancing.setText("B"); + balancing.setSelectionFactory(new CommentRadioSelectionFactory("B")); + balancing.addSelectionListener(new CommentSelectionListener(context, "B")); + + reinforcing = new Button(commentGroup, support, SWT.RADIO); + reinforcing.setText("R"); + reinforcing.setSelectionFactory(new CommentRadioSelectionFactory("R")); + reinforcing.addSelectionListener(new CommentSelectionListener(context, "R")); + + other = new Button(commentGroup, support, SWT.RADIO); + other.setText("other"); + other.setSelectionFactory(new OtherCommentSelectionFactory(new String[] {null, "B", "R", AUTO})); + + loopComment = new TrackedText(commentGroup, support, SWT.BORDER); + loopComment.setTextFactory(new OtherCommentStringPropertyFactory()); + loopComment.addModifyListener(new StringPropertyModifier(context, SysdynResource.URIs.Loop_Comment)); + GridDataFactory.fillDefaults().grab(true, false).applyTo(loopComment.getWidget()); + + Group rotationGroup = new Group(composite, SWT.NONE); + GridDataFactory.fillDefaults().applyTo(rotationGroup); + GridLayoutFactory.fillDefaults().applyTo(rotationGroup); + rotationGroup.setText("Direction of Rotation"); + + inside = new Button(rotationGroup, support, SWT.RADIO); + inside.setText("Clockwise"); + inside.setSelectionFactory(new ClockwiseRotationRadioSelectionFactory(true)); + inside.addSelectionListener(new ClockwiseRotationSelectionListener(context, true)); + + outside = new Button(rotationGroup, support, SWT.RADIO); + outside.setText("Counterclockwise"); + outside.setSelectionFactory(new ClockwiseRotationRadioSelectionFactory(false)); + outside.addSelectionListener(new ClockwiseRotationSelectionListener(context, false)); + } + + class OtherCommentStringPropertyFactory extends ReadFactoryImpl { + + private final String propertyURI; + + public OtherCommentStringPropertyFactory() { + this.propertyURI = SysdynResource.URIs.Loop_Comment; + } + + @Override + public Object getIdentity(Object inputContents) { + return new Triple((Resource)inputContents, propertyURI, getClass()); + } + + @Override + public String perform(ReadGraph graph, Resource resource) throws DatabaseException { + String value = graph.getPossibleRelatedValue(resource, graph.getResource(propertyURI));; + if (value == null || AUTO.equals(value)) + return ""; + return value; + } + } + + class ClockwiseRotationSelectionListener extends SelectionListenerImpl { + private boolean clockwise; + + public ClockwiseRotationSelectionListener(ISessionContext context, boolean clockwise) { + super(context); + this.clockwise = clockwise; + } + + @Override + public void apply(WriteGraph graph, Resource connectionElement) throws DatabaseException { + SysdynResource sr = SysdynResource.getInstance(graph); + graph.claimLiteral(connectionElement, sr.Loop_Clockwise, clockwise); + } + + } + + class ClockwiseRotationRadioSelectionFactory extends ReadFactoryImpl { + private boolean clockwise; + + public ClockwiseRotationRadioSelectionFactory(boolean clockwise) { + this.clockwise = clockwise; + } + + @Override + public Object getIdentity(Object inputContents) { + return new Triple>(inputContents, clockwise, getClass()); + } + + @Override + public Boolean perform(ReadGraph graph, Resource dependencyConnection) throws DatabaseException { + SysdynResource sr = SysdynResource.getInstance(graph); + Boolean clockwise = graph.getPossibleRelatedValue(dependencyConnection, sr.Loop_Clockwise, Bindings.BOOLEAN); + return ObjectUtils.objectEquals(this.clockwise, clockwise); + } + } + + class CommentSelectionListener extends SelectionListenerImpl { + private String comment; + + public CommentSelectionListener(ISessionContext context, String comment) { + super(context); + this.comment = comment; + } + + @Override + public void apply(WriteGraph graph, Resource connectionElement) throws DatabaseException { + SysdynResource sr = SysdynResource.getInstance(graph); + graph.claimLiteral(connectionElement, sr.Loop_Comment, comment.trim()); + } + + } + + class CommentRadioSelectionFactory extends ReadFactoryImpl { + private String comment; + + public CommentRadioSelectionFactory(String comment) { + this.comment = comment; + } + + @Override + public Object getIdentity(Object inputContents) { + return new Triple>(inputContents, comment, getClass()); + } + + @Override + public Boolean perform(ReadGraph graph, Resource dependencyConnection) throws DatabaseException { + SysdynResource sr = SysdynResource.getInstance(graph); + String comment = graph.getPossibleRelatedValue(dependencyConnection, sr.Loop_Comment, Bindings.STRING); + if(comment == null && this.comment.equals("")) + return true; + return ObjectUtils.objectEquals(comment, this.comment); + } + } + + class OtherCommentSelectionFactory extends ReadFactoryImpl { + + String[] limits; + + public OtherCommentSelectionFactory(String[] limits) { + this.limits = limits; + } + + @Override + public Object getIdentity(Object inputContents) { + return new Pair>(inputContents, getClass()); + } + + @Override + public Boolean perform(ReadGraph graph, Resource dependencyConnection) throws DatabaseException { + SysdynResource sr = SysdynResource.getInstance(graph); + String comment = graph.getPossibleRelatedValue(dependencyConnection, sr.Loop_Comment, Bindings.STRING); + for(String s : limits) { + if(ObjectUtils.objectEquals(comment, s)) + return false; + } + return true; + } + } + +} diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/properties/ResourceSelectionProcessor.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/properties/ResourceSelectionProcessor.java index 20adbc43..168fdf9b 100644 --- a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/properties/ResourceSelectionProcessor.java +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/properties/ResourceSelectionProcessor.java @@ -208,6 +208,16 @@ public class ResourceSelectionProcessor implements SelectionProcessor items = new ArrayList(); + + @Override + public void accept(IElementVisitorVoid v) { + v.visit(this); + } + + /** + * + * @return The name of this loop + */ + public String getName() { + return this.name; + } + + /** + * + * @return The comment of this loop + */ + public String getComment() { + return this.comment; + } + + /** + * + * @return The variables and dependencies of this loop + */ + public ArrayList getItems() { + return this.items; + } + + /** + * + * @return true iff loop rotates clockwise. + */ + public boolean isClockwise() { + return this.clockwise; + } + + /** + * + * @return Parent configuration of this loop (or null if something is wrong) + */ + public Configuration getParentConfiguration() { + if(parent instanceof Configuration) { + return (Configuration)parent; + } else { + return null; + } + } + +} diff --git a/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/SysdynSchema.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/SysdynSchema.java index 4d47a8c5..1cd9a727 100644 --- a/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/SysdynSchema.java +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/SysdynSchema.java @@ -58,6 +58,7 @@ public class SysdynSchema extends SimpleSchema { addLinkType(MappingSchemas.fromAnnotations(g, Entity.class)); addLinkType(MappingSchemas.fromAnnotations(g, ParameterOverride.class)); addLinkType(MappingSchemas.fromAnnotations(g, Shadow.class)); + addLinkType(MappingSchemas.fromAnnotations(g, Loop.class)); } catch (DatabaseException e) { e.printStackTrace(); } catch (InstantiationException e) { diff --git a/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/visitors/ElementVisitorVoidAdapter.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/visitors/ElementVisitorVoidAdapter.java index b48955c4..6b5465a9 100644 --- a/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/visitors/ElementVisitorVoidAdapter.java +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/visitors/ElementVisitorVoidAdapter.java @@ -21,6 +21,7 @@ import org.simantics.sysdyn.representation.Enumeration; import org.simantics.sysdyn.representation.Flow; import org.simantics.sysdyn.representation.Input; import org.simantics.sysdyn.representation.LibraryDummy; +import org.simantics.sysdyn.representation.Loop; import org.simantics.sysdyn.representation.Module; import org.simantics.sysdyn.representation.Stock; import org.simantics.sysdyn.representation.Valve; @@ -83,4 +84,8 @@ public class ElementVisitorVoidAdapter implements IElementVisitorVoid { @Override public void visit(Variable variable) { } + + @Override + public void visit(Loop loop) { + } } diff --git a/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/visitors/IElementVisitorVoid.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/visitors/IElementVisitorVoid.java index a15028dc..3b282583 100644 --- a/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/visitors/IElementVisitorVoid.java +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/visitors/IElementVisitorVoid.java @@ -21,6 +21,7 @@ import org.simantics.sysdyn.representation.Enumeration; import org.simantics.sysdyn.representation.Flow; import org.simantics.sysdyn.representation.Input; import org.simantics.sysdyn.representation.LibraryDummy; +import org.simantics.sysdyn.representation.Loop; import org.simantics.sysdyn.representation.Module; import org.simantics.sysdyn.representation.Stock; import org.simantics.sysdyn.representation.Valve; @@ -42,4 +43,6 @@ public interface IElementVisitorVoid { void visit(Book sheet); void visit(DiagramContainerDummy container); void visit(Variable variable); + void visit(Loop loop); + } -- 2.47.1