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 / InsertPointExtension.java @ 41

History | View | Annotate | Download (2.38 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.insertpoint.InsertPointEditingProvider;
18
import org.gvsig.vectorediting.lib.prov.insertpoint.InsertPointEditingProviderFactory;
19

    
20
public class InsertPointExtension extends BaseEditingServiceExtension {
21

    
22
  /**
23
   *
24
   */
25
  private static final long serialVersionUID = 5284754862994440445L;
26

    
27
  public void execute(String arg0) {
28

    
29
    DefaultViewPanel view = getActiveView();
30
    manager.activateTool(InsertPointEditingProviderFactory.PROVIDER_NAME, view.getMapControl());
31

    
32
    registerIcons();
33
  }
34

    
35
  private void registerIcons() {
36
    IconThemeHelper.registerIcon("action", "layer-insert-point", this);
37
  }
38

    
39
  public void initialize() {
40
    // TODO Auto-generated method stub
41

    
42
  }
43

    
44
  public boolean isEnabled() {
45
    EditingServiceInfo insertPointInfo;
46
    try {
47
      insertPointInfo = manager.getServiceInfo(InsertPointEditingProviderFactory.PROVIDER_NAME);
48
      DefaultViewPanel view = getActiveView();
49
      FLyrVect layer = getActiveLayer(view);
50

    
51
      int[] supportedTypes = insertPointInfo
52
          .getSupportedPrimitiveGeometryTypes();
53
      GeometryType[] supportedGeoTypes = loadGeometryTypes(supportedTypes);
54

    
55
      if (isApplicable(supportedGeoTypes, layer.getShapeType())) {
56
        return true;
57
      }
58

    
59
      return false;
60

    
61
    }
62
    catch (ServiceException e1) {
63
      // TODO Auto-generated catch block
64
      e1.printStackTrace();
65
    }
66
    catch (ReadException e) {
67
      // TODO Auto-generated catch block
68
      e.printStackTrace();
69
    }
70
    return false;
71
  }
72

    
73
  public boolean isVisible() {
74
    DefaultViewPanel view = getActiveView();
75
    if (view != null) {
76
      FLyrVect layer = getActiveLayer(view);
77
      if (layer != null && layer.isEditing()) {
78
        return true;
79
      }
80
    }
81
    return false;
82
  }
83
}