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 / savedpoints / SavedPointsElement.java @ 44263

History | View | Annotate | Download (2.5 KB)

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

    
3
import java.util.ArrayList;
4
import java.util.Collection;
5
import java.util.Iterator;
6
import java.util.List;
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.spi.AbstractElement;
12
import org.gvsig.fmap.geom.primitive.Point;
13
import org.gvsig.temporarystorage.TemporaryStorageGroup;
14
import org.gvsig.temporarystorage.TemporaryStorageLocator;
15
import org.gvsig.temporarystorage.TemporaryStorageManager;
16
import org.gvsig.tools.ToolsLocator;
17

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

    
26
    private class PointEntryElement
27
            extends AbstractElement
28
            implements ConstantElement {
29

    
30
        public PointEntryElement(Object value, String name) {
31
            super(name, value, "expressionbuilder-element-constant");
32
        }
33

    
34
    }
35

    
36
    private final List<Element> childs;
37

    
38
    public SavedPointsElement() {
39
        super(
40
                "SavedPoints",
41
                ToolsLocator.getI18nManager().getTranslation("Saved points"), 
42
                "view-query-coordinate-capture"
43
        );
44

    
45
        TemporaryStorageManager manager = TemporaryStorageLocator.getTemporaryStorageManager();
46
        TemporaryStorageGroup storage = manager.create("Points", Point.class);
47

    
48
        this.childs = new ArrayList<>();
49
        for (Pair<String, Object> entry : storage.asList()) {
50
            ConstantElement e = new PointEntryElement(entry.getValue(),entry.getKey());
51
            this.childs.add(e);
52
        }
53
    }
54

    
55
    @Override
56
    public Element get(int index) {
57
        return this.childs.get(index);
58
    }
59

    
60
    @Override
61
    public int size() {
62
        return this.childs.size();
63
    }
64

    
65
    @Override
66
    public Iterator<Element> iterator() {
67
        return this.childs.iterator();
68
    }
69

    
70
    @Override
71
    public void addElement(Element element) {
72
        this.childs.add(element);
73
    }
74

    
75
    @Override
76
    public void addElement(Function function) {
77
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
78
    }
79

    
80
    @Override
81
    public List<Element> getElements() {
82
        return this.childs;
83
    }
84

    
85
    @Override
86
    public Collection<Element> getValues() {
87
        return this.childs;
88
    }
89

    
90
}