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 / ViewElement.java @ 44262

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 org.gvsig.app.ApplicationLocator;
7
import org.gvsig.app.project.ProjectManager;
8
import org.gvsig.app.project.documents.Document;
9
import org.gvsig.app.project.documents.view.ViewDocument;
10
import org.gvsig.app.project.documents.view.ViewManager;
11
import org.gvsig.app.project.documents.view.expressionevaluator.viewcapturepoint.ViewCapturePointElement;
12
import org.gvsig.app.project.documents.view.expressionevaluator.viewcapturerectangle.ViewCaptureRectangleElement;
13
import org.gvsig.expressionevaluator.Function;
14
import org.gvsig.expressionevaluator.swing.Element;
15
import org.gvsig.expressionevaluator.swing.Element.GroupElement;
16
import org.gvsig.expressionevaluator.swing.ExpressionBuilderConfig;
17
import org.gvsig.expressionevaluator.swing.spi.AbstractElement;
18
import org.gvsig.tools.ToolsLocator;
19

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

    
29
    private final List<Element> children;
30
    
31
    public ViewElement() {
32
        super(
33
                "Views",
34
                ToolsLocator.getI18nManager().getTranslation("Views"), 
35
                "expressionbuilder-element-view"
36
        );
37
        this.children = new ArrayList<>();
38
        this.children.add(new ViewCaptureRectangleElement());
39
        this.children.add(new ViewCapturePointElement());
40
        this.children.add(new ViewTakeProjectionCodeElement());
41

    
42
        ProjectManager manager = ApplicationLocator.getProjectManager();
43
        List<Document> views = manager.getCurrentProject().getDocuments(ViewManager.TYPENAME);
44
        for (Document view : views) {
45
            Element e = new ViewLayersElement((ViewDocument) view);
46
            this.children.add(e);
47
        }
48
    }
49

    
50
    @Override
51
    public Element setConfig(ExpressionBuilderConfig config) {
52
        super.setConfig(config); 
53
        for (Element child : children) {
54
            child.setConfig(config);
55
        }
56
        return this;
57
    }
58
    
59
    @Override
60
    public Element get(int index) {
61
        return this.children.get(index);
62
    }
63

    
64
    @Override
65
    public int size() {
66
        return this.children.size();
67
    }
68

    
69
    @Override
70
    public Iterator<Element> iterator() {
71
        return this.children.iterator();
72
    }
73

    
74
    @Override
75
    public void addElement(Element element) {
76
        this.children.add(element);
77
    }
78

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

    
84
    @Override
85
    public List<Element> getElements() {
86
        return this.children;
87
    }
88

    
89
    @Override
90
    public boolean hasSubgroups() {
91
        return true;
92
    }
93

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