Statistics
| Revision:

gvsig-vectorediting / 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 @ 80

History | View | Annotate | Download (2.28 KB)

1
/*
2
 * Copyright 2014 DiSiD Technologies S.L.L. All rights reserved.
3
 * 
4
 * Project  : DiSiD org.gvsig.vectorediting.app.mainplugin 
5
 * SVN Id   : $Id$
6
 */
7
package org.gvsig.vectorediting.app.mainplugin.extensions;
8

    
9
import org.gvsig.andami.IconThemeHelper;
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
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
14
import org.gvsig.tools.service.ServiceException;
15
import org.gvsig.vectorediting.app.mainplugin.BaseEditingServiceExtension;
16
import org.gvsig.vectorediting.lib.api.EditingServiceInfo;
17
import org.gvsig.vectorediting.lib.prov.internalpolygon.InternalPolygonEditingProviderFactory;
18
import org.gvsig.vectorediting.lib.prov.symmetry.SymmetryEditingProviderFactory;
19

    
20

    
21
public class InternalPolygonExtension extends BaseEditingServiceExtension {
22

    
23
  public void initialize() {
24
    registerIcons();
25
  }
26

    
27
  public void execute(String actionCommand) {
28
    DefaultViewPanel view = getActiveView();
29
    swingManager.activateService(InternalPolygonEditingProviderFactory.PROVIDER_NAME, view.getMapControl());
30
  }
31

    
32
  private void registerIcons() {
33
    IconThemeHelper.registerIcon("action", "layer-modify-internal-polygon", this);
34
    
35
  }
36

    
37
  public boolean isEnabled() {
38
    EditingServiceInfo SymmetryInfo;
39
    try {
40
      SymmetryInfo = manager.getServiceInfo(SymmetryEditingProviderFactory.PROVIDER_NAME);
41
      DefaultViewPanel view = getActiveView();
42
      FLyrVect layer = getActiveLayer(view);
43

    
44
      int[] supportedTypes = SymmetryInfo.getSupportedPrimitiveGeometryTypes();
45
      GeometryType[] supportedGeoTypes = loadGeometryTypes(supportedTypes);
46

    
47
      if (isApplicable(supportedGeoTypes, layer.getShapeType())) {
48
        return true;
49
      }
50

    
51
      return false;
52

    
53
    }
54
    catch (ServiceException e1) {
55
      // TODO Auto-generated catch block
56
      e1.printStackTrace();
57
    }
58
    catch (ReadException e) {
59
      // TODO Auto-generated catch block
60
      e.printStackTrace();
61
    }
62
    return false;
63
  }
64

    
65
  public boolean isVisible() {
66
    DefaultViewPanel view = getActiveView();
67
    if (view != null) {
68
      FLyrVect layer = getActiveLayer(view);
69
      if (layer != null && layer.isEditing()) {
70
        return true;
71
      }
72
    }
73
    return false;
74
  }
75

    
76
}