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 / extension / SearchByAttributesExtension.java @ 44263

History | View | Annotate | Download (2.38 KB)

1
package org.gvsig.app.extension;
2

    
3
import org.gvsig.andami.plugins.Extension;
4
import org.gvsig.app.ApplicationLocator;
5
import org.gvsig.app.ApplicationManager;
6
import org.gvsig.app.project.documents.view.ViewDocument;
7
import org.gvsig.app.project.documents.view.gui.IView;
8
import org.gvsig.fmap.dal.feature.FeatureStore;
9
import org.gvsig.fmap.dal.swing.DALSwingLocator;
10
import org.gvsig.fmap.dal.swing.DataSwingManager;
11
import org.gvsig.fmap.dal.swing.searchpanel.FeatureStoreSearchPanel;
12
import org.gvsig.fmap.mapcontext.layers.FLayer;
13
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
14
import org.gvsig.tools.swing.api.ToolsSwingLocator;
15
import org.gvsig.tools.swing.api.windowmanager.WindowManager;
16

    
17
/**
18
 *
19
 * @author jjdelcerro
20
 */
21
public class SearchByAttributesExtension extends Extension {
22

    
23
    @Override
24
    public void initialize() {
25
    }
26

    
27
    @Override
28
    public void execute(String actionCommand) {
29
        ApplicationManager application = ApplicationLocator.getManager();
30

    
31
        IView view = (IView) application.getActiveComponent(ViewDocument.class);
32
        if (view == null) {
33
            return;
34
        }
35
        if ("search-by-attributes-layer".equals(actionCommand)) {
36
            DataSwingManager dataSwingManager = DALSwingLocator.getSwingManager();
37
            WindowManager winManager = ToolsSwingLocator.getWindowManager();
38
            
39
            ViewDocument document = view.getViewDocument();
40

    
41
            FLayer layer = document.getMapContext().getLayers().getActives()[0];
42
            String title = "Search: " + layer.getName();
43
            FeatureStore featureStore = ((FLyrVect) layer).getFeatureStore();
44
            
45
            FeatureStoreSearchPanel panel = dataSwingManager.createFeatureStoreSearchPanel(featureStore);
46
            winManager.showWindow(
47
                    panel.asJComponent(), 
48
                    title, 
49
                    WindowManager.MODE.WINDOW
50
            );
51
            
52
        }
53
    }
54

    
55
    @Override
56
    public boolean isEnabled() {
57
        return true;
58
    }
59

    
60
    @Override
61
    public boolean isVisible() {
62
        ApplicationManager application = ApplicationLocator.getManager();
63

    
64
        IView view = (IView) application.getActiveComponent(ViewDocument.class);
65
        if (view == null) {
66
            return false;
67
        }
68
        ViewDocument document = view.getViewDocument();
69
        return document.getMapContext().hasActiveVectorLayers();
70
    }
71
}