Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.plugin / org.gvsig.app.document.table.app / org.gvsig.app.document.table.app.mainplugin / src / main / java / org / gvsig / app / extension / SearchByAttributesInTableExtension.java @ 47213

History | View | Annotate | Download (3.22 KB)

1
package org.gvsig.app.extension;
2

    
3
import java.util.Collections;
4
import java.awt.GridBagConstraints;
5
import org.gvsig.andami.IconThemeHelper;
6
import org.gvsig.andami.plugins.Extension;
7
import org.gvsig.app.ApplicationLocator;
8
import org.gvsig.app.ApplicationManager;
9
import org.gvsig.app.project.documents.table.TableDocument;
10
import org.gvsig.app.project.documents.table.TableManager;
11
import org.gvsig.app.project.documents.table.gui.FeatureTableDocumentPanel;
12
import org.gvsig.fmap.dal.feature.FeatureStore;
13
import org.gvsig.fmap.dal.swing.DALSwingLocator;
14
import org.gvsig.fmap.dal.swing.DataSwingManager;
15
import org.gvsig.fmap.dal.swing.searchpanel.FeatureStoreSearchPanel;
16
import org.gvsig.tools.ToolsLocator;
17
import org.gvsig.tools.i18n.I18nManager;
18
import org.gvsig.tools.swing.api.ToolsSwingLocator;
19
import org.gvsig.tools.swing.api.ToolsSwingUtils;
20
import org.gvsig.tools.swing.api.windowmanager.WindowManager;
21
import org.gvsig.tools.swing.api.windowmanager.WindowManager_v2;
22

    
23
/**
24
 *
25
 * @author jjdelcerro
26
 */
27
public class SearchByAttributesInTableExtension extends Extension {
28

    
29
    @Override
30
    public void initialize() {
31
        IconThemeHelper.registerIcon("action", "search-by-attributes-table", this);                
32
    }
33

    
34
    @Override
35
    public void execute(String actionCommand) {
36
        ApplicationManager application = ApplicationLocator.getManager();
37

    
38
        if ("search-by-attributes-table".equals(actionCommand)) {
39
            DataSwingManager dataSwingManager = DALSwingLocator.getSwingManager();
40
            WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager();
41
            
42
            TableDocument tabledoc = (TableDocument) application.getActiveDocument(TableManager.TYPENAME);
43
            if( tabledoc == null ) {
44
                return;
45
            }
46
            I18nManager i18n = ToolsLocator.getI18nManager();
47
            final FeatureTableDocumentPanel tablePanel = (FeatureTableDocumentPanel) tabledoc.getMainComponent();
48
            final FeatureStore featureStore = tablePanel.getFeatureStore();
49
//            String title = i18n.getTranslation("search")+ ": " + featureStore.getName();
50
            String title = application.makeTitle("search",tabledoc.getName(), featureStore==null?null:featureStore.getName());
51
            
52
            FeatureStoreSearchPanel panel = dataSwingManager.createFeatureStoreSearchPanel(featureStore);
53
            ToolsSwingUtils.ensureHeightWitdh(
54
                    panel, 
55
                    ToolsSwingUtils.RELATIVE_TO_DESKTOPPANE,
56
                    0.75f, 0.75f, 0.85f, 0.85f
57
            );          
58

    
59
            winManager.showWindow(
60
                    panel.asJComponent(), 
61
                    title, 
62
                    WindowManager.MODE.WINDOW,
63
                    Collections.singletonMap("align", GridBagConstraints.CENTER)
64
            );
65
            
66
        }
67
    }
68

    
69
    @Override
70
    public boolean isEnabled() {
71
        return true;
72
    }
73

    
74
    @Override
75
    public boolean isVisible() {
76
        ApplicationManager application = ApplicationLocator.getManager();
77

    
78
        TableDocument tabledoc = (TableDocument) application.getActiveDocument(TableManager.TYPENAME);
79
        if( tabledoc == null ) {
80
            return false;
81
        }
82
        return true;
83
    }
84
}