Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.plugin / org.gvsig.app / org.gvsig.app.mainplugin / src / main / java / org / gvsig / app / project / documents / view / expressionevaluator / SavedPointsElement.java @ 44035

History | View | Annotate | Download (2.88 KB)

1
package org.gvsig.app.project.documents.view.expressionevaluator;
2

    
3
import java.util.ArrayList;
4
import java.util.Iterator;
5
import java.util.List;
6
import java.util.Objects;
7
import org.apache.commons.lang3.tuple.Pair;
8
import org.gvsig.expressionevaluator.Function;
9
import org.gvsig.expressionevaluator.swing.Element;
10
import org.gvsig.expressionevaluator.swing.Element.GroupElement;
11
import org.gvsig.expressionevaluator.swing.ExpressionEvaluatorSwingLocator;
12
import org.gvsig.expressionevaluator.swing.ExpressionEvaluatorSwingManager;
13
import org.gvsig.expressionevaluator.swing.spi.AbstractElement;
14
import org.gvsig.fmap.geom.primitive.Point;
15
import org.gvsig.temporarystorage.TemporaryStorageGroup;
16
import org.gvsig.temporarystorage.TemporaryStorageLocator;
17
import org.gvsig.temporarystorage.TemporaryStorageManager;
18
import org.gvsig.tools.ToolsLocator;
19

    
20
/**
21
 *
22
 * @author jjdelcerro
23
 */
24
public class SavedPointsElement
25
        extends AbstractElement
26
        implements GroupElement {
27

    
28
    private class PointEntryElement
29
            extends AbstractElement
30
            implements ConstantElement {
31

    
32
        private final Object value;
33

    
34
        public PointEntryElement(Object value, String name) {
35
            super(name, null, "expressionbuilder-element-constant");
36
            this.value = value;
37
        }
38

    
39
        @Override
40
        public Object getValue() {
41
            return value;
42
        }
43
    }
44

    
45
    private final List<Element> childs;
46

    
47
    public SavedPointsElement() {
48
        super(ToolsLocator.getI18nManager().getTranslation("Saved points"), null, "view-query-coordinate-capture");
49

    
50
        ExpressionEvaluatorSwingManager evManager = ExpressionEvaluatorSwingLocator.getManager();
51
        TemporaryStorageManager manager = TemporaryStorageLocator.getTemporaryStorageManager();
52
        TemporaryStorageGroup storage = manager.create("Points", Point.class);
53

    
54
        this.childs = new ArrayList<>();
55
        for (Pair<String, Object> entry : storage.asList()) {
56
            ConstantElement e = new PointEntryElement(entry.getValue(),entry.getKey());
57
            this.childs.add(e);
58
        }
59
    }
60

    
61
    @Override
62
    public Element get(int index) {
63
        return this.childs.get(index);
64
    }
65

    
66
    @Override
67
    public int size() {
68
        return this.childs.size();
69
    }
70

    
71
    @Override
72
    public Iterator<Element> iterator() {
73
        return this.childs.iterator();
74
    }
75

    
76
    @Override
77
    public void addElement(Element element) {
78
        this.childs.add(element);
79
    }
80

    
81
    @Override
82
    public void addElement(Function function) {
83
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
84
    }
85

    
86
    @Override
87
    public List<Element> getElements() {
88
        return this.childs;
89
    }
90

    
91
    @Override
92
    public boolean hasSubgroups() {
93
        return false;
94
    }
95

    
96
    @Override
97
    public boolean hasMoreElements() {
98
        return false;
99
    }
100

    
101
}