Statistics
| Revision:

root / branches / v2_0_0_prep / applications / appgvSIG / src / org / gvsig / app / extension / TableFieldOperations.java @ 33205

History | View | Annotate | Download (2.59 KB)

1 29596 jpiera
package org.gvsig.app.extension;
2 2241 fernando
3 29596 jpiera
import org.gvsig.andami.PluginServices;
4
import org.gvsig.andami.plugins.Extension;
5
import org.gvsig.andami.ui.mdiManager.IWindow;
6
import org.gvsig.app.project.documents.table.gui.FeatureTableDocumentPanel;
7 24923 vcaballero
import org.gvsig.fmap.dal.exception.DataException;
8 31616 cordinyana
import org.gvsig.fmap.mapcontrol.dal.feature.swing.table.ConfigurableFeatureTableModel;
9 33205 cordinyana
import org.gvsig.tools.exception.BaseException;
10 22334 vcaballero
11 2241 fernando
/**
12 26053 vcaballero
 * Ascending or descending order operations.
13
 *
14
 * @author Vicente Caballero Navarro
15 2241 fernando
 */
16 5005 jorpiell
public class TableFieldOperations extends Extension{
17 26053 vcaballero
        private FeatureTableDocumentPanel table=null;
18 2241 fernando
    /**
19 29596 jpiera
     * @see org.gvsig.andami.plugins.IExtension#initialize()
20 2241 fernando
     */
21 5005 jorpiell
    public void initialize() {
22 14821 jmvivo
            registerIcons();
23 2241 fernando
    }
24
25 14821 jmvivo
    private void registerIcons(){
26 15647 jmvivo
            PluginServices.getIconTheme().registerDefault(
27 14821 jmvivo
                                "table-order-asc",
28
                                this.getClass().getClassLoader().getResource("images/orderasc.png")
29
                        );
30
31 15647 jmvivo
            PluginServices.getIconTheme().registerDefault(
32 14821 jmvivo
                                "table-order-desc",
33
                                this.getClass().getClassLoader().getResource("images/orderdesc.png")
34
                        );
35
    }
36
37 2241 fernando
    /**
38 29596 jpiera
     * @see org.gvsig.andami.plugins.IExtension#execute(java.lang.String)
39 2241 fernando
     */
40
    public void execute(String actionCommand) {
41 26053 vcaballero
                doExecute(actionCommand,table);
42
                table.getModel().setModified(true);
43 2241 fernando
    }
44 6010 caballero
45 4682 jorpiell
    /**
46
     * "execute" method acction
47
     * @param actionCommand
48
     * The acction command that executes this method
49
     * @param table
50
     * Table to operate
51
     */
52 25068 vcaballero
        protected void doExecute(String actionCommand,FeatureTableDocumentPanel table){
53 25089 jmvivo
//                FIXME
54 26053 vcaballero
                ConfigurableFeatureTableModel cftm=table.getTablePanel().getTableModel();
55
                try {
56
                        if ("ORDERASC".equals(actionCommand)){
57
                                cftm.orderByColumn(table.getTablePanel().getTable().getSelectedColumnsAttributeDescriptor()[0].getName(), true);
58
                        }else if ("ORDERDESC".equals(actionCommand)){
59
                                cftm.orderByColumn(table.getTablePanel().getTable().getSelectedColumnsAttributeDescriptor()[0].getName(), false);
60
                        }
61 33205 cordinyana
                } catch (BaseException e) {
62 26053 vcaballero
                        e.printStackTrace();
63
                }
64 4682 jorpiell
        }
65
66 2241 fernando
    /**
67 29596 jpiera
     * @see org.gvsig.andami.plugins.IExtension#isEnabled()
68 2241 fernando
     */
69
    public boolean isEnabled() {
70 26053 vcaballero
                try {
71
                        return (table.getTablePanel().getTable().getSelectedColumnCount()==1);
72
                } catch (DataException e) {
73
                        e.printStackTrace();
74 2241 fernando
                }
75
                return false;
76
    }
77
78
    /**
79 29596 jpiera
     * @see org.gvsig.andami.plugins.IExtension#isVisible()
80 2241 fernando
     */
81
    public boolean isVisible() {
82 6880 cesar
                IWindow v = PluginServices.getMDIManager().getActiveWindow();
83 26053 vcaballero
                if (v!=null && v instanceof FeatureTableDocumentPanel) {
84
                    table=(FeatureTableDocumentPanel)v;
85
                        return true;
86 2241 fernando
                }
87
                return false;
88
    }
89
90
}