]> gerrit.simantics Code Review - simantics/3d.git/blob - org.simantics.g3d/src/org/simantics/g3d/property/DoublePropertyManipulator.java
3D framework (Simca 2012)
[simantics/3d.git] / org.simantics.g3d / src / org / simantics / g3d / property / DoublePropertyManipulator.java
1 package org.simantics.g3d.property;\r
2 \r
3 import java.lang.reflect.Method;\r
4 \r
5 public class DoublePropertyManipulator implements PropertyManipulator {\r
6         \r
7         ValueProvider provider;\r
8         Object input;\r
9         \r
10         boolean editMode;\r
11         String editValue = null;\r
12         \r
13         public DoublePropertyManipulator(ValueProvider provider, Object input) {\r
14                 this.provider = provider;\r
15                 this.input = input;\r
16         }\r
17         \r
18         @Override\r
19         public int getValueCount() {\r
20                 return 1;\r
21         }\r
22         \r
23         @Override\r
24         public String getDescription(int i) {\r
25                 if (i == 0)\r
26                         return "Value";\r
27                 return null;\r
28         }\r
29         \r
30         @Override\r
31         public String getValue(int i) {\r
32                 if (editMode)\r
33                         return editValue;\r
34                 try {\r
35                         return provider.getValue(input).toString();\r
36                 } catch (Exception e) {\r
37                         return null;\r
38                 }\r
39         }\r
40         \r
41         @Override\r
42         public String setValue(String value, int i) {\r
43                 try {\r
44                         editValue = value;\r
45                         provider.setValue(input, Double.parseDouble(value));\r
46                 } catch (Exception e) {\r
47                         return e.getMessage();\r
48                 }\r
49                 return null;\r
50         }\r
51 \r
52         @Override\r
53         public boolean getEditMode() {\r
54                 return editMode;\r
55         }\r
56         \r
57         @Override\r
58         public void setEditMode(boolean b) {\r
59                 editMode = b;\r
60                 if (editMode) {\r
61                         try {\r
62                                 editValue = provider.getValue(input).toString();\r
63                         } catch (Exception e) {\r
64                                 \r
65                         }\r
66                 }\r
67                 \r
68         }\r
69 }\r