p2izing the editor
[taxeditor.git] / eclipseprojects / eu.etaxonomy.taxeditor / src / eu / etaxonomy / taxeditor / propertysheet / MarkersPropertySource.java
1
2 package eu.etaxonomy.taxeditor.propertysheet;
3
4 import java.util.Collection;
5
6 import org.apache.log4j.Logger;
7
8 import eu.etaxonomy.cdm.model.common.Marker;
9 import eu.etaxonomy.cdm.model.common.MarkerType;
10
11 public class MarkersPropertySource extends CollectionPropertySource {
12 private static final Logger logger = Logger
13 .getLogger(MarkersPropertySource.class);
14
15
16 public MarkersPropertySource(Collection collection) {
17 super(collection);
18 // logger.warn("Markers collection contains " + collection.size() + " elements.");
19 }
20
21 protected void addDescriptor(Object item) {
22 String itemDisplayName = getItemDisplayName(item);
23 descriptors.addElement(
24 new CheckboxPropertyDescriptor(item, itemDisplayName));
25 }
26
27 @Override
28 protected String getItemDisplayName(Object item) {
29 String itemDisplayName = "";
30 if (item instanceof Marker) {
31 Marker marker = (Marker) item;
32 MarkerType markerType = marker.getMarkerType();
33 if (markerType != null) {
34 return markerType.getLabel();
35 }
36 }
37 return itemDisplayName;
38 }
39
40 @Override
41 public Object getPropertyValue(Object id) {
42 if (id instanceof Marker) {
43 Marker marker = (Marker) id;
44 if (marker.getFlag()) {
45 return Boolean.TRUE;
46 } else {
47 return Boolean.FALSE;
48 }
49 }
50 return null;
51 }
52
53 @Override
54 public void setPropertyValue(Object id, Object value) {
55 if (id instanceof Marker && value instanceof Boolean) {
56 logger.warn("Updating marker values");
57 Marker marker = (Marker) id;
58 marker.setFlag((Boolean) value);
59 } else {
60 logger.warn("Marker update failed type checks");
61 }
62 }
63
64 @Override
65 public String toString() {
66 // "Markers" header has no value
67 return "";
68 }
69 }