-package org.simantics.diagram.profile;\r
-\r
-import org.simantics.Simantics;\r
-import org.simantics.datatypes.DatatypeResource;\r
-import org.simantics.datatypes.literal.Vec2d;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.WriteGraph;\r
-import org.simantics.db.common.request.IndexRoot;\r
-import org.simantics.db.common.request.WriteRequest;\r
-import org.simantics.db.common.utils.CommonDBUtils;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.diagram.stubs.DiagramResource;\r
-import org.simantics.scl.commands.Commands;\r
-import org.simantics.scl.runtime.function.Function1;\r
-import org.simantics.scl.runtime.function.FunctionImpl1;\r
-\r
-public class ElementTranslation {\r
-\r
- public static Function1<Vec2d, Boolean> function(final Resource element) {\r
- return new FunctionImpl1<Vec2d, Boolean>() {\r
-\r
- @Override\r
- public Boolean apply(final Vec2d delta) {\r
- Simantics.getSession().asyncRequest(new WriteRequest() {\r
- @Override\r
- public void perform(WriteGraph graph)\r
- throws DatabaseException {\r
- DiagramResource DIA = DiagramResource.getInstance(graph);\r
- Vec2d offset = graph.getRelatedValue(element, DIA.Element_profileMonitorOffset, Vec2d.BINDING);\r
- Commands.get(graph, "Simantics/Profile/setProfileMonitorPosition")\r
- .execute(graph, graph.syncRequest(new IndexRoot(element)), element, \r
- offset.x+delta.x, offset.y+delta.y);\r
- }\r
- });\r
- return null;\r
- }\r
-\r
- };\r
- }\r
-\r
- public static void setProfileMonitorPosition(WriteGraph graph, Resource element, double offsetX, double offsetY) throws DatabaseException {\r
- CommonDBUtils.selectClusterSet(graph, element);\r
- DiagramResource DIA = DiagramResource.getInstance(graph);\r
- DatatypeResource DATA = DatatypeResource.getInstance(graph);\r
- Vec2d newOffset = new Vec2d(offsetX, offsetY);\r
- graph.claimLiteral(element, DIA.Element_profileMonitorOffset, DATA.Vec2d, newOffset, Vec2d.BINDING);\r
- }\r
-\r
- public static void resetProfileMonitorPosition(WriteGraph graph, Resource element) throws DatabaseException {\r
- DiagramResource DIA = DiagramResource.getInstance(graph);\r
- graph.deny(element, DIA.Element_profileMonitorOffset);\r
- }\r
+package org.simantics.diagram.profile;
+
+import org.simantics.Simantics;
+import org.simantics.datatypes.DatatypeResource;
+import org.simantics.datatypes.literal.Vec2d;
+import org.simantics.db.Resource;
+import org.simantics.db.WriteGraph;
+import org.simantics.db.common.request.IndexRoot;
+import org.simantics.db.common.request.WriteRequest;
+import org.simantics.db.common.utils.CommonDBUtils;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.diagram.stubs.DiagramResource;
+import org.simantics.scl.commands.Commands;
+import org.simantics.scl.runtime.function.Function1;
+import org.simantics.scl.runtime.function.FunctionImpl1;
+
+public class ElementTranslation {
+
+ public static Function1<Vec2d, Boolean> function(final Resource element) {
+ return new FunctionImpl1<Vec2d, Boolean>() {
+
+ @Override
+ public Boolean apply(final Vec2d delta) {
+ Simantics.getSession().asyncRequest(new WriteRequest() {
+ @Override
+ public void perform(WriteGraph graph)
+ throws DatabaseException {
+ DiagramResource DIA = DiagramResource.getInstance(graph);
+ Vec2d offset = graph.getRelatedValue(element, DIA.Element_profileMonitorOffset, Vec2d.BINDING);
+ Commands.get(graph, "Simantics/Profile/setProfileMonitorPosition")
+ .execute(graph, graph.syncRequest(new IndexRoot(element)), element,
+ offset.x+delta.x, offset.y+delta.y);
+ }
+ });
+ return null;
+ }
+
+ };
+ }
+
+ public static void setProfileMonitorPosition(WriteGraph graph, Resource element, double offsetX, double offsetY) throws DatabaseException {
+ CommonDBUtils.selectClusterSet(graph, element);
+ DiagramResource DIA = DiagramResource.getInstance(graph);
+ DatatypeResource DATA = DatatypeResource.getInstance(graph);
+ Vec2d newOffset = new Vec2d(offsetX, offsetY);
+ graph.claimLiteral(element, DIA.Element_profileMonitorOffset, DATA.Vec2d, newOffset, Vec2d.BINDING);
+ }
+
+ public static void resetProfileMonitorPosition(WriteGraph graph, Resource element) throws DatabaseException {
+ DiagramResource DIA = DiagramResource.getInstance(graph);
+ graph.deny(element, DIA.Element_profileMonitorOffset);
+ }