]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.g3d/src/org/simantics/g3d/property/DoublePropertyManipulator.java
Eliminate rounding errors in property tabs.
[simantics/3d.git] / org.simantics.g3d / src / org / simantics / g3d / property / DoublePropertyManipulator.java
index 4f7c670fc71ab186e722c31ff72adc0bab35ca71..46f892f3c849b3c0171981c56965f0f6d7dcf523 100644 (file)
@@ -11,6 +11,8 @@
  *******************************************************************************/
 package org.simantics.g3d.property;
 
+import org.simantics.g3d.math.MathTools;
+
 public class DoublePropertyManipulator implements PropertyManipulator {
        
        ValueProvider provider;
@@ -43,6 +45,8 @@ public class DoublePropertyManipulator implements PropertyManipulator {
                try {
                        Object value = provider.getValue(input);
                        if (value == null) return null;
+                       if (value instanceof Double)
+                               return Double.toString(MathTools.round((Double)value, 10));
                        return value.toString();
                } catch (Exception e) {
                        return null;
@@ -70,7 +74,8 @@ public class DoublePropertyManipulator implements PropertyManipulator {
                editMode = b;
                if (editMode) {
                        try {
-                               editValue = provider.getValue(input).toString();
+                               Object value = provider.getValue(input);
+                               editValue = value.toString();
                        } catch (Exception e) {
                                
                        }