Revision 34511

View differences:

trunk/applications/appgvSIG/src/com/iver/cit/gvsig/project/documents/view/toc/actions/ReloadLayerTocMenuEntry.java
1 1
package com.iver.cit.gvsig.project.documents.view.toc.actions;
2 2

  
3
import javax.swing.JDialog;
4
import javax.swing.JOptionPane;
5

  
6
import org.apache.log4j.Logger;
7

  
3 8
import com.iver.andami.PluginServices;
4 9
import com.iver.cit.gvsig.fmap.layers.FLayer;
10
import com.iver.cit.gvsig.fmap.layers.FLyrVect;
5 11
import com.iver.cit.gvsig.project.documents.view.toc.AbstractTocContextMenuAction;
6 12
import com.iver.cit.gvsig.project.documents.view.toc.ITocItem;
13
import com.sun.corba.se.impl.protocol.giopmsgheaders.Message;
7 14

  
8 15
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
9 16
 *
......
67 74
* Entrada de men? para recargar una capa.
68 75
*/
69 76
public class ReloadLayerTocMenuEntry extends AbstractTocContextMenuAction{
70
	public String getGroup() {
77

  
78
    private static Logger logger = Logger.getLogger(ReloadLayerTocMenuEntry.class.getName());
79

  
80
    public String getGroup() {
71 81
		return "group3"; //FIXME
72 82
	}
73 83

  
......
84 94
	}
85 95

  
86 96
	public boolean isEnabled(ITocItem item, FLayer[] selectedItems) {
87
		return !getNodeLayer(item).isAvailable();
97
		FLayer layer = getNodeLayer(item);
98
		if(layer instanceof FLyrVect){
99
			if(((FLyrVect)layer).isEditing()){
100
				return false;
101
			}
102
		}
103
		return true;
88 104
	}
89 105

  
90 106
	public boolean isVisible(ITocItem item, FLayer[] selectedItems) {
......
98 114

  
99 115
	public void execute(ITocItem item, FLayer[] selectedItems) {
100 116
		try {
101
			getNodeLayer(item).reload();
117
			FLayer layer = getNodeLayer(item);
118
			if(layer instanceof FLyrVect){
119
				if(((FLyrVect)layer).isEditing()){
120
					JOptionPane.showMessageDialog(null, PluginServices.getText(this, "_cant_reload_an_editing_layer"));
121
				}
122
			}
123
			layer.reload();
102 124
		} catch (Exception ex) {
103
			ex.printStackTrace();
125
			logger.warn("_cant_reload_layer", ex);
126
			JOptionPane.showMessageDialog(null, PluginServices.getText(this, "_cant_reload_layer"));
104 127
		}
105 128
	}
106 129
}
107

  
trunk/libraries/libFMap/src/com/iver/cit/gvsig/exceptions/layers/ReloadLayerException.java
9 9
		super(l,exception);
10 10
		init();
11 11
	}
12

  
13
	public ReloadLayerException(String l) {
14
		super(l);
15
		init();
16
	}
12 17
	/**
13 18
	 *
14 19
	 */
trunk/libraries/libFMap/src/com/iver/cit/gvsig/exceptions/layers/LoadLayerException.java
16 16
		initCause(exception);
17 17
	}
18 18

  
19
	public LoadLayerException(String layer) {
20
		this.layer = layer;
21
		init();
22
	}
23

  
19 24
	private void init() {
20 25
		messageKey = "error_load_layer";
21 26
		formatString = "Can?t load the layer: %(layer) ";
trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/layers/FLyrVect.java
1796 1796
    }
1797 1797

  
1798 1798
    public void reload() throws ReloadLayerException {
1799
    	if(this.isEditing()){
1800
            throw new ReloadLayerException(getName());
1801
    	}
1799 1802
        this.setAvailable(true);
1800 1803
        super.reload();
1801 1804
        this.updateDrawVersion();

Also available in: Unified diff