Revision 89 org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.app/org.gvsig.vectorediting.app.mainplugin/src/main/java/org/gvsig/vectorediting/app/mainplugin/extensions/InternalPolygonExtension.java

View differences:

InternalPolygonExtension.java
11 11
import org.gvsig.fmap.dal.exception.ReadException;
12 12
import org.gvsig.fmap.geom.type.GeometryType;
13 13
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
14
import org.gvsig.tools.service.ServiceException;
15 14
import org.gvsig.vectorediting.app.mainplugin.BaseEditingServiceExtension;
16 15
import org.gvsig.vectorediting.lib.api.EditingServiceInfo;
16
import org.gvsig.vectorediting.lib.api.exceptions.ServiceInformationException;
17 17
import org.gvsig.vectorediting.lib.prov.internalpolygon.InternalPolygonEditingProviderFactory;
18 18
import org.gvsig.vectorediting.lib.prov.symmetry.SymmetryEditingProviderFactory;
19
import org.gvsig.vectorediting.swing.api.EditingContext;
20
import org.gvsig.vectorediting.swing.impl.DefaultEditingBehavior;
21
import org.slf4j.Logger;
22
import org.slf4j.LoggerFactory;
19 23

  
20

  
21 24
public class InternalPolygonExtension extends BaseEditingServiceExtension {
22 25

  
26
  private static final Logger logger = LoggerFactory
27
      .getLogger(DefaultEditingBehavior.class);
28

  
23 29
  public void initialize() {
24 30
    registerIcons();
25 31
  }
26 32

  
27 33
  public void execute(String actionCommand) {
28
    DefaultViewPanel view = getActiveView();
29
    swingManager.activateService(InternalPolygonEditingProviderFactory.PROVIDER_NAME, view.getMapControl());
34
    if ("layer-modify-internal-polygon".equals(actionCommand)) {
35
      DefaultViewPanel view = getActiveView();
36
      EditingContext editingContext = swingManager.getEditingContext(view
37
          .getMapControl());
38
      editingContext
39
          .activateService(InternalPolygonEditingProviderFactory.PROVIDER_NAME);
40
    }
30 41
  }
31 42

  
32 43
  private void registerIcons() {
33
    IconThemeHelper.registerIcon("action", "layer-modify-internal-polygon", this);
34
    
44
    IconThemeHelper.registerIcon("action", "layer-modify-internal-polygon",
45
        this);
46

  
35 47
  }
36 48

  
37 49
  public boolean isEnabled() {
38 50
    EditingServiceInfo SymmetryInfo;
51
    FLyrVect layer = null;
39 52
    try {
40
      SymmetryInfo = manager.getServiceInfo(SymmetryEditingProviderFactory.PROVIDER_NAME);
53
      SymmetryInfo = manager
54
          .getServiceInfo(SymmetryEditingProviderFactory.PROVIDER_NAME);
41 55
      DefaultViewPanel view = getActiveView();
42
      FLyrVect layer = getActiveLayer(view);
56
      layer = getActiveLayer(view);
43 57

  
44 58
      int[] supportedTypes = SymmetryInfo.getSupportedPrimitiveGeometryTypes();
45 59
      GeometryType[] supportedGeoTypes = loadGeometryTypes(supportedTypes);
......
51 65
      return false;
52 66

  
53 67
    }
54
    catch (ServiceException e1) {
55
      // TODO Auto-generated catch block
56
      e1.printStackTrace();
68
    catch (ServiceInformationException e) {
69
      logger.error("Cant' get service information of "
70
          + InternalPolygonEditingProviderFactory.PROVIDER_NAME, e);
57 71
    }
58 72
    catch (ReadException e) {
59
      // TODO Auto-generated catch block
60
      e.printStackTrace();
73
      logger.error("Can't get shape type of " + layer.getName(), e);
61 74
    }
62 75
    return false;
63 76
  }

Also available in: Unified diff