Statistics
| Revision:

gvsig-attributeeditor / org.gvsig.attributeeditor / trunk / org.gvsig.attributeeditor / org.gvsig.attributeeditor.app / org.gvsig.attributeeditor.app.mainplugin / src / main / java / org / gvsig / app / mainplugin / extension / CreateDefaultDefinitionExtension.java @ 43

History | View | Annotate | Download (2.71 KB)

1
/*
2
 * To change this license header, choose License Headers in Project Properties.
3
 * To change this template file, choose Tools | Templates
4
 * and open the template in the editor.
5
 */
6
package org.gvsig.app.mainplugin.extension;
7

    
8
import org.gvsig.andami.plugins.Extension;
9
import org.gvsig.app.ApplicationLocator;
10
import org.gvsig.app.ApplicationManager;
11
import org.gvsig.app.project.documents.view.ViewDocument;
12
import org.gvsig.app.project.documents.view.ViewManager;
13
import org.gvsig.featureform.swing.FeatureFormSwingLocator;
14
import org.gvsig.featureform.swing.FeatureFormSwingManager;
15
import org.gvsig.fmap.mapcontext.MapContext;
16
import org.gvsig.fmap.mapcontext.layers.FLayer;
17
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
18
import org.slf4j.Logger;
19
import org.slf4j.LoggerFactory;
20

    
21
/**
22
 *
23
 * @author jjdelcerro
24
 */
25
public class CreateDefaultDefinitionExtension extends Extension {
26

    
27
    private static final Logger logger = LoggerFactory.getLogger(CreateDefaultDefinitionExtension.class);
28
            
29
    public void initialize() {
30

    
31
    }
32

    
33
    public void execute(String actionCommand) {
34
        if( "tools-attributeditor-create-default-definition".equalsIgnoreCase(actionCommand) ) {
35
            ApplicationManager application = ApplicationLocator.getManager();
36
            ViewDocument viewDoc = (ViewDocument) application.getActiveDocument(ViewManager.TYPENAME);
37
            if( viewDoc == null ) {
38
                return;
39
            }
40
            MapContext mapContext = viewDoc.getMapContext();
41
            if( !mapContext.hasActiveVectorLayers() ) {
42
                return;
43
            }
44
            FeatureFormSwingManager featureFormManager = FeatureFormSwingLocator.getSwingManager();
45
            FLayer[] layers = mapContext.getLayers().getActives();
46
            for( int i=0; i<layers.length; i++ ) {
47
                if( layers[i] instanceof FLyrVect ) {
48
                    FLyrVect layer = (FLyrVect) layers[i];
49
                    try {
50
                        featureFormManager.getFeatureFormDefinitionsProvider().put(layer.getFeatureStore());
51
                    } catch (Exception ex) {
52
                        logger.warn("Can't save form definition for layer '"+layer.getName()+"'.",ex);
53
                    }
54
                    
55
                }
56
            }
57
        }
58
    }
59

    
60
    public boolean isEnabled() {
61
        ApplicationManager application = ApplicationLocator.getManager();
62
        ViewDocument viewDoc = (ViewDocument) application.getActiveDocument(ViewManager.TYPENAME);
63
        if( viewDoc == null ) {
64
            return false;
65
        }
66
        MapContext mapContext = viewDoc.getMapContext();
67
        return mapContext.hasActiveVectorLayers();
68
    }
69

    
70
    public boolean isVisible() {
71
        return true;
72
    }
73
    
74
}