]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/SpreadsheetCellEditable.java
Changing existing log4j logging to use slf4j
[simantics/platform.git] / bundles / org.simantics.spreadsheet.graph / src / org / simantics / spreadsheet / graph / SpreadsheetCellEditable.java
1 package org.simantics.spreadsheet.graph;\r
2 \r
3 import java.util.Collections;\r
4 import java.util.Map;\r
5 \r
6 import org.simantics.databoard.binding.mutable.Variant;\r
7 \r
8 public class SpreadsheetCellEditable implements SheetNode {\r
9 \r
10     public final SpreadsheetCell cell;\r
11     \r
12     public SpreadsheetCellEditable(SpreadsheetCell spreadsheetCell) {\r
13         this.cell = spreadsheetCell;\r
14     }\r
15 \r
16     @Override\r
17     public String getName() {\r
18         return "editable";\r
19     }\r
20 \r
21     @Override\r
22     public Map getChildren() {\r
23         return Collections.emptyMap();\r
24     }\r
25 \r
26     @Override\r
27     public Map getProperties() {\r
28         return Collections.emptyMap();\r
29     }\r
30     \r
31     @Override\r
32     public int hashCode() {\r
33         final int prime = 31;\r
34         int result = 1;\r
35         result = prime * result + ((cell == null) ? 0 : cell.hashCode());\r
36         return result;\r
37     }\r
38 \r
39     @Override\r
40     public boolean equals(Object obj) {\r
41         if (this == obj)\r
42             return true;\r
43         if (obj == null)\r
44             return false;\r
45         if (getClass() != obj.getClass())\r
46             return false;\r
47         SpreadsheetCellEditable other = (SpreadsheetCellEditable) obj;\r
48         if (cell == null) {\r
49             if (other.cell != null)\r
50                 return false;\r
51         } else if (!cell.equals(other.cell))\r
52             return false;\r
53         return true;\r
54     }\r
55 \r
56     public boolean editable() {\r
57         if (cell.content == null || cell.content instanceof SpreadsheetFormula || cell.content instanceof SpreadsheetSCLConstant)\r
58             return false;\r
59         if (cell.content instanceof String) {\r
60                 String content = (String) cell.content;\r
61                 if (content.isEmpty())\r
62                         return false;\r
63         }\r
64         if (cell.content instanceof Variant) {\r
65                 Variant content = (Variant) cell.content;\r
66                 if (content.getValue() == null)\r
67                         return false;\r
68                 if (content.getValue() instanceof String) {\r
69                         String actualContent = (String) content.getValue();\r
70                         if (actualContent.isEmpty())\r
71                                 return false;\r
72                 }\r
73         }\r
74 //        System.out.println("content is " + cell.content);\r
75         return true;\r
76     }\r
77 \r
78 }\r