Revision 91 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/SymmetryExtension.java

View differences:

SymmetryExtension.java
8 8

  
9 9
import org.gvsig.andami.IconThemeHelper;
10 10
import org.gvsig.app.project.documents.view.gui.DefaultViewPanel;
11
import org.gvsig.fmap.dal.exception.ReadException;
12
import org.gvsig.fmap.geom.type.GeometryType;
13 11
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
14 12
import org.gvsig.vectorediting.app.mainplugin.BaseEditingServiceExtension;
15 13
import org.gvsig.vectorediting.lib.api.EditingServiceInfo;
16 14
import org.gvsig.vectorediting.lib.api.exceptions.ServiceInformationException;
17
import org.gvsig.vectorediting.lib.prov.circlecr.CircleCREditingProviderFactory;
18 15
import org.gvsig.vectorediting.lib.prov.symmetry.SymmetryEditingProviderFactory;
19 16
import org.gvsig.vectorediting.swing.api.EditingContext;
20 17
import org.gvsig.vectorediting.swing.impl.DefaultEditingBehavior;
......
46 43
  }
47 44

  
48 45
  public boolean isEnabled() {
49
    EditingServiceInfo SymmetryInfo;
46
    EditingServiceInfo symmetryInfo;
50 47
    FLyrVect layer = null;
51 48
    try {
52
      SymmetryInfo = manager
49
      symmetryInfo = manager
53 50
          .getServiceInfo(SymmetryEditingProviderFactory.PROVIDER_NAME);
54 51
      DefaultViewPanel view = getActiveView();
55 52
      layer = getActiveLayer(view);
56 53

  
57
      int[] supportedTypes = SymmetryInfo.getSupportedPrimitiveGeometryTypes();
58
      GeometryType[] supportedGeoTypes = loadGeometryTypes(supportedTypes);
54
      return symmetryInfo.isCompatibleWith(layer.getFeatureStore());
59 55

  
60
      if (isApplicable(supportedGeoTypes, layer.getShapeType())) {
61
        return true;
62
      }
63

  
64
      return false;
65

  
66 56
    }
67 57
    catch (ServiceInformationException e) {
68 58
      logger.error("Cant' get service information of "
69 59
          + SymmetryEditingProviderFactory.PROVIDER_NAME, e);
60
      return false;
70 61
    }
71
    catch (ReadException e) {
72
      logger.error("Can't get shape type of " + layer.getName(), e);
73
    }
74
    return false;
75 62
  }
76 63

  
77 64
  public boolean isVisible() {

Also available in: Unified diff