Statistics
| Revision:

svn-gvsig-desktop / tags / v2_0_0_Build_2061 / applications / appgvSIG / src / org / gvsig / app / project / documents / view / toc / actions / CopyLayersTocMenuEntry.java @ 39431

History | View | Annotate | Download (2.36 KB)

1
package org.gvsig.app.project.documents.view.toc.actions;
2

    
3
import java.awt.Component;
4

    
5
import javax.swing.JOptionPane;
6

    
7
import org.slf4j.Logger;
8
import org.slf4j.LoggerFactory;
9

    
10
import org.gvsig.andami.PluginServices;
11
import org.gvsig.app.project.documents.view.toc.AbstractTocContextMenuAction;
12
import org.gvsig.app.project.documents.view.toc.ITocItem;
13
import org.gvsig.fmap.mapcontext.layers.FLayer;
14
import org.gvsig.i18n.Messages;
15
import org.gvsig.tools.persistence.PersistentState;
16

    
17

    
18
public class CopyLayersTocMenuEntry extends AbstractTocContextMenuAction {
19
    
20
    private static Logger logger =
21
        LoggerFactory.getLogger(CopyLayersTocMenuEntry.class);
22
    
23
        public String getGroup() {
24
                return "copyPasteLayer";
25
        }
26

    
27
        public int getGroupOrder() {
28
                return 60;
29
        }
30

    
31
        public int getOrder() {
32
                return 0;
33
        }
34

    
35
        public String getText() {
36
                return PluginServices.getText(this, "copiar");
37
        }
38

    
39
        public boolean isEnabled(ITocItem item, FLayer[] selectedItems) {
40
                if ( selectedItems.length >= 1 && isTocItemBranch(item)){
41
                        for (int i=0;i< selectedItems.length;i++) {
42
                                if (selectedItems[i].isEditing()){
43
                                        return false;
44
                                }
45
                        }
46
                        return true;
47
                }
48
                return false;
49

    
50
        }
51

    
52

    
53
        public void execute(ITocItem item, FLayer[] selectedItems) {
54

    
55
               PersistentState lyrs_state = null;
56
                
57
                try {
58
                    lyrs_state = CopyPasteLayersUtils.getAsFLayersPersistentState(
59
                        selectedItems, this.getMapContext());
60
                    /*
61
                     * Saving layers data to clipboard.
62
                     * Files and URLs are not relativized
63
                     */
64
                    CopyPasteLayersUtils.saveToClipboard(lyrs_state);
65
                    
66
                    /*
67
                     * This code does not look right: why modified?
68
                     * 
69
                    Project project=((ProjectExtension)PluginServices.getExtension(ProjectExtension.class)).getProject();
70
                    project.setModified(true);
71
                    */
72

    
73
                } catch (Exception e) {
74
                    
75
                    JOptionPane.showMessageDialog(
76
                    (Component)PluginServices.getMainFrame(),
77
                    Messages.getText("No_ha_sido_posible_realizar_la_operacion")
78
                    + "\n\n" + e.getMessage(),
79
                    Messages.getText("copiar"),
80
                    JOptionPane.ERROR_MESSAGE
81
                    );
82
                    logger.info("While copying layers.", e);
83
                    return;
84
                }
85
        }
86

    
87

    
88
}