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