]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.diagram/src/org/simantics/diagram/profile/MonitorTextGridResult.java
Fixed multiple issues causing dangling references to discarded queries
[simantics/platform.git] / bundles / org.simantics.diagram / src / org / simantics / diagram / profile / MonitorTextGridResult.java
index f0032a2ad22d5a373589cadb850d361fa9b0b7a8..eb804c458c515fff1df1faae0b4cf8f63f561a79 100644 (file)
-package org.simantics.diagram.profile;\r
-\r
-import java.awt.geom.AffineTransform;\r
-import java.util.Arrays;\r
-\r
-import org.simantics.common.color.Color;\r
-import org.simantics.common.format.Formatter;\r
-import org.simantics.databoard.Bindings;\r
-import org.simantics.databoard.binding.Binding;\r
-import org.simantics.databoard.util.Bean;\r
-import org.simantics.databoard.util.ObjectUtils;\r
-import org.simantics.datatypes.literal.Vec2d;\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.layer0.variable.RVI;\r
-import org.simantics.db.layer0.variable.Variable;\r
-import org.simantics.diagram.synchronization.graph.DiagramGraphUtil;\r
-import org.simantics.g2d.utils.Alignment;\r
-import org.simantics.scl.runtime.function.Function1;\r
-import org.simantics.utils.datastructures.map.Tuple;\r
-\r
-public class MonitorTextGridResult extends Tuple {\r
-       \r
-    public static class B extends Bean {\r
-       private static final Binding BINDING = Bindings.getBindingUnchecked(B.class);\r
-       public int index;\r
-       public double gain;\r
-       public double bias;\r
-       public B(int index, double gain, double bias) {\r
-               super(BINDING);\r
-               this.index = index;\r
-               this.gain = gain;\r
-               this.bias = bias;\r
-       }\r
-    }\r
-       \r
-    public MonitorTextGridResult(String rowId, String text1, String text2, String text3, boolean enabled, boolean up, double spacing, Function1<String, String> modifier, Function1<String, String> validator, Function1<Vec2d, Boolean> translator, AffineTransform parentTransform) {\r
-        super(rowId, text1, text2, text3, enabled, up, spacing, modifier, validator, translator, parentTransform, null, null, null, null, null, null, null, null);\r
-    }\r
-    public MonitorTextGridResult(String rowId, String text1, String text2, String text3, boolean enabled, boolean up, double spacing, Function1<String, String> modifier, Function1<String, String> validator, Function1<Vec2d, Boolean> translator, AffineTransform parentTransform, Vec2d offset) {\r
-        super(rowId, text1, text2, text3, enabled, up, spacing, modifier, validator, translator, parentTransform, offset, null, null, null, null, null, null, null);\r
-    }\r
-    public MonitorTextGridResult(String rowId, String text1, String text2, String text3, boolean enabled, boolean up, double spacing, Function1<String, String> modifier, Function1<String, String> validator, Function1<Vec2d, Boolean> translator, AffineTransform parentTransform, Vec2d offset, Color color) {\r
-        super(rowId, text1, text2, text3, enabled, up, spacing, modifier, validator, translator, parentTransform, offset, color, null, null, null, null, null, null);\r
-    }\r
-    public MonitorTextGridResult(String rowId, String text1, String text2, String text3, boolean enabled, boolean up, double spacing, Function1<String, String> modifier, Function1<String, String> validator, Function1<Vec2d, Boolean> translator, AffineTransform parentTransform, Vec2d offset, Color color, RVI rvi) {\r
-        super(rowId, text1, text2, text3, enabled, up, spacing, modifier, validator, translator, parentTransform, offset, color, rvi, null, null, null, null, null);\r
-    }\r
-    public MonitorTextGridResult(String rowId, String text1, String text2, String text3, boolean enabled, boolean up, double spacing, Function1<String, String> modifier, Function1<String, String> validator, Function1<Vec2d, Boolean> translator, AffineTransform parentTransform, Vec2d offset, Color color, RVI rvi, Variable property, Formatter formatter, B b) {\r
-        super(rowId, text1, text2, text3, enabled, up, spacing, modifier, validator, translator, parentTransform, offset, color, rvi, property, formatter, b, null, null);\r
-    }\r
-    public MonitorTextGridResult(String rowId, String text1, String text2, String text3, boolean enabled, boolean up, double spacing, Function1<String, String> modifier, Function1<String, String> validator, Function1<Vec2d, Boolean> translator, AffineTransform parentTransform, Vec2d offset, Color color, RVI rvi, Variable property, Formatter formatter, B b, Alignment[] alignment, Alignment[] verticalAlignment) {\r
-        super(rowId, text1, text2, text3, enabled, up, spacing, modifier, validator, translator, parentTransform, offset, color, rvi, property, formatter, b, alignment, verticalAlignment);\r
-    }\r
-    private MonitorTextGridResult(Object ... fields) {\r
-        super(fields);\r
-    }\r
-    public String getRowId() {\r
-        return (String) getField(0);\r
-    }\r
-    public String getText1() {\r
-        return (String) getField(1);\r
-    }\r
-    public String getText2() {\r
-        return (String) getField(2);\r
-    }\r
-    public String getText3() {\r
-        return (String) getField(3);\r
-    }\r
-    public Boolean getEnabled() {\r
-        return (Boolean) getField(4);\r
-    }\r
-    public Boolean getUp() {\r
-        return (Boolean) getField(5);\r
-    }\r
-    public Double getSpacing() {\r
-        return (Double) getField(6);\r
-    }\r
-    @SuppressWarnings("unchecked")\r
-    public Function1<String, String> getModifier() {\r
-        return (Function1<String, String>) getField(7);\r
-    }\r
-    @SuppressWarnings("unchecked")\r
-    public Function1<String, String> getValidator() {\r
-        return (Function1<String, String>) getField(8);\r
-    }\r
-    @SuppressWarnings("unchecked")\r
-    public Function1<Vec2d, Boolean> getTranslator() {\r
-        return (Function1<Vec2d, Boolean>) getField(9);\r
-    }\r
-    public AffineTransform getParentTransform() {\r
-        return (AffineTransform) getField(10);\r
-    }\r
-    public Vec2d getOffset() {\r
-        return (Vec2d) getField(11);\r
-    }\r
-    public Color getColor() {\r
-        return (Color) getField(12);\r
-    }\r
-    public RVI getRVI() {\r
-        return (RVI) getField(13);\r
-    }\r
-    public Variable getProperty() {\r
-        return (Variable) getField(14);\r
-    }\r
-    public Formatter getFormatter() {\r
-        return (Formatter) getField(15);\r
-    }\r
-    public B getB() {\r
-        return (B) getField(16);\r
-    }\r
-    public Alignment[] getAlignments() {\r
-        return (Alignment[]) getField(17);\r
-    }\r
-    public Alignment[] getVerticalAlignments() {\r
-        return (Alignment[]) getField(18);\r
-    }\r
-    public boolean getPending() {\r
-        Boolean b = tryGetTypedField(19);\r
-        return b != null && Boolean.TRUE.equals(b);\r
-    }\r
-    public Object getUnformattedValue() {\r
-        return tryGetField(20);\r
-    }\r
-    public boolean sameStructure(MonitorTextGridResult other) {\r
-       Object[] fields = getFields();\r
-       Object[] otherFields = other.getFields();\r
-       int level = getLevel();\r
-       if (fields.length != otherFields.length)\r
-           return false;\r
-       for(int i=0;i<2;i++) if(!ObjectUtils.objectEquals(fields[i],otherFields[i])) return false;\r
-       for(int i=3;i<level;i++) if(!ObjectUtils.objectEquals(fields[i],otherFields[i])) return false;\r
-       return true;\r
-    }\r
-    \r
-    public MonitorTextGridResult withValue(Object unformattedValue, String value) {\r
-        return withValue(unformattedValue, value, false);\r
-    }\r
-\r
-    public MonitorTextGridResult withValue(Object unformattedValue, String value, boolean pending) {\r
-        boolean hasValue = unformattedValue != null;\r
-        Object[] fs = Arrays.copyOf(getFields(), hasValue ? 21 : 20, Object[].class);\r
-        fs[2] = value;\r
-        fs[19] = pending;\r
-        if (hasValue)\r
-            fs[20] = unformattedValue;\r
-        return new MonitorTextGridResult(fs);\r
-    }\r
-\r
-    public static MonitorTextGridResult make(ReadGraph graph, Resource element, int index, String id, String label, String value, String unit) throws DatabaseException {\r
-               AffineTransform transform = DiagramGraphUtil.getAffineTransform(graph, element);\r
-               Vec2d offset = DiagramGraphUtil.getOffset(graph, element);\r
-               MonitorTextGridResult.B b = new MonitorTextGridResult.B(index, 1.0, 0.0);\r
-       return new MonitorTextGridResult(id, label, value, unit, true, true, 0.0, null, null, null, transform, offset, null, null, null, null, b, null, null);\r
-    }\r
-    \r
+package org.simantics.diagram.profile;
+
+import java.awt.geom.AffineTransform;
+import java.util.Arrays;
+
+import org.simantics.common.color.Color;
+import org.simantics.common.format.Formatter;
+import org.simantics.databoard.Bindings;
+import org.simantics.databoard.binding.Binding;
+import org.simantics.databoard.util.Bean;
+import org.simantics.databoard.util.ObjectUtils;
+import org.simantics.datatypes.literal.Vec2d;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.variable.RVI;
+import org.simantics.db.layer0.variable.Variable;
+import org.simantics.diagram.synchronization.graph.DiagramGraphUtil;
+import org.simantics.g2d.utils.Alignment;
+import org.simantics.scl.runtime.function.Function1;
+import org.simantics.utils.datastructures.map.Tuple;
+
+public class MonitorTextGridResult extends Tuple {
+       
+    public static class B extends Bean {
+       private static final Binding BINDING = Bindings.getBindingUnchecked(B.class);
+       public int index;
+       public double gain;
+       public double bias;
+       public B(int index, double gain, double bias) {
+               super(BINDING);
+               this.index = index;
+               this.gain = gain;
+               this.bias = bias;
+       }
+    }
+       
+    public MonitorTextGridResult(String rowId, String text1, String text2, String text3, boolean enabled, boolean up, double spacing, Function1<String, String> modifier, Function1<String, String> validator, Function1<Vec2d, Boolean> translator, AffineTransform parentTransform) {
+        super(rowId, text1, text2, text3, enabled, up, spacing, modifier, validator, translator, parentTransform, null, null, null, null, null, null, null, null);
+    }
+    public MonitorTextGridResult(String rowId, String text1, String text2, String text3, boolean enabled, boolean up, double spacing, Function1<String, String> modifier, Function1<String, String> validator, Function1<Vec2d, Boolean> translator, AffineTransform parentTransform, Vec2d offset) {
+        super(rowId, text1, text2, text3, enabled, up, spacing, modifier, validator, translator, parentTransform, offset, null, null, null, null, null, null, null);
+    }
+    public MonitorTextGridResult(String rowId, String text1, String text2, String text3, boolean enabled, boolean up, double spacing, Function1<String, String> modifier, Function1<String, String> validator, Function1<Vec2d, Boolean> translator, AffineTransform parentTransform, Vec2d offset, Color color) {
+        super(rowId, text1, text2, text3, enabled, up, spacing, modifier, validator, translator, parentTransform, offset, color, null, null, null, null, null, null);
+    }
+    public MonitorTextGridResult(String rowId, String text1, String text2, String text3, boolean enabled, boolean up, double spacing, Function1<String, String> modifier, Function1<String, String> validator, Function1<Vec2d, Boolean> translator, AffineTransform parentTransform, Vec2d offset, Color color, RVI rvi) {
+        super(rowId, text1, text2, text3, enabled, up, spacing, modifier, validator, translator, parentTransform, offset, color, rvi, null, null, null, null, null);
+    }
+    public MonitorTextGridResult(String rowId, String text1, String text2, String text3, boolean enabled, boolean up, double spacing, Function1<String, String> modifier, Function1<String, String> validator, Function1<Vec2d, Boolean> translator, AffineTransform parentTransform, Vec2d offset, Color color, RVI rvi, Variable property, Formatter formatter, B b) {
+        super(rowId, text1, text2, text3, enabled, up, spacing, modifier, validator, translator, parentTransform, offset, color, rvi, property, formatter, b, null, null);
+    }
+    public MonitorTextGridResult(String rowId, String text1, String text2, String text3, boolean enabled, boolean up, double spacing, Function1<String, String> modifier, Function1<String, String> validator, Function1<Vec2d, Boolean> translator, AffineTransform parentTransform, Vec2d offset, Color color, RVI rvi, Variable property, Formatter formatter, B b, Alignment[] alignment, Alignment[] verticalAlignment) {
+        super(rowId, text1, text2, text3, enabled, up, spacing, modifier, validator, translator, parentTransform, offset, color, rvi, property, formatter, b, alignment, verticalAlignment);
+    }
+    private MonitorTextGridResult(Object ... fields) {
+        super(fields);
+    }
+    public String getRowId() {
+        return (String) getField(0);
+    }
+    public String getText1() {
+        return (String) getField(1);
+    }
+    public String getText2() {
+        return (String) getField(2);
+    }
+    public String getText3() {
+        return (String) getField(3);
+    }
+    public Boolean getEnabled() {
+        return (Boolean) getField(4);
+    }
+    public Boolean getUp() {
+        return (Boolean) getField(5);
+    }
+    public Double getSpacing() {
+        return (Double) getField(6);
+    }
+    @SuppressWarnings("unchecked")
+    public Function1<String, String> getModifier() {
+        return (Function1<String, String>) getField(7);
+    }
+    @SuppressWarnings("unchecked")
+    public Function1<String, String> getValidator() {
+        return (Function1<String, String>) getField(8);
+    }
+    @SuppressWarnings("unchecked")
+    public Function1<Vec2d, Boolean> getTranslator() {
+        return (Function1<Vec2d, Boolean>) getField(9);
+    }
+    public AffineTransform getParentTransform() {
+        return (AffineTransform) getField(10);
+    }
+    public Vec2d getOffset() {
+        return (Vec2d) getField(11);
+    }
+    public Color getColor() {
+        return (Color) getField(12);
+    }
+    public RVI getRVI() {
+        return (RVI) getField(13);
+    }
+    public Variable getProperty() {
+        return (Variable) getField(14);
+    }
+    public Formatter getFormatter() {
+        return (Formatter) getField(15);
+    }
+    public B getB() {
+        return (B) getField(16);
+    }
+    public Alignment[] getAlignments() {
+        return (Alignment[]) getField(17);
+    }
+    public Alignment[] getVerticalAlignments() {
+        return (Alignment[]) getField(18);
+    }
+    public boolean getPending() {
+        Boolean b = tryGetTypedField(19);
+        return b != null && Boolean.TRUE.equals(b);
+    }
+    public Object getUnformattedValue() {
+        return tryGetField(20);
+    }
+    public boolean sameStructure(MonitorTextGridResult other) {
+       Object[] fields = getFields();
+       Object[] otherFields = other.getFields();
+       int level = getLevel();
+       if (fields.length != otherFields.length)
+           return false;
+       for(int i=0;i<2;i++) if(!ObjectUtils.objectEquals(fields[i],otherFields[i])) return false;
+       for(int i=3;i<level;i++) if(!ObjectUtils.objectEquals(fields[i],otherFields[i])) return false;
+       return true;
+    }
+    
+    public MonitorTextGridResult withValue(Object unformattedValue, String value) {
+        return withValue(unformattedValue, value, false);
+    }
+
+    public MonitorTextGridResult withValue(Object unformattedValue, String value, boolean pending) {
+        boolean hasValue = unformattedValue != null;
+        Object[] fs = Arrays.copyOf(getFields(), hasValue ? 21 : 20, Object[].class);
+        fs[2] = value;
+        fs[19] = pending;
+        if (hasValue)
+            fs[20] = unformattedValue;
+        return new MonitorTextGridResult(fs);
+    }
+
+    public static MonitorTextGridResult make(ReadGraph graph, Resource element, int index, String id, String label, String value, String unit) throws DatabaseException {
+               AffineTransform transform = DiagramGraphUtil.getAffineTransform(graph, element);
+               Vec2d offset = DiagramGraphUtil.getOffset(graph, element);
+               MonitorTextGridResult.B b = new MonitorTextGridResult.B(index, 1.0, 0.0);
+       return new MonitorTextGridResult(id, label, value, unit, true, true, 0.0, null, null, null, transform, offset, null, null, null, null, b, null, null);
+    }
+    
 }
\ No newline at end of file