Revision 88

View differences:

org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.main/src/main/java/org/gvsig/vectorediting/main/Main.java
73 73
import org.gvsig.vectorediting.lib.api.EditingManager;
74 74
import org.gvsig.vectorediting.lib.api.exceptions.CreateEditingBehaviorException;
75 75
import org.gvsig.vectorediting.lib.prov.circlecr.CircleCREditingProviderFactory;
76
import org.gvsig.vectorediting.lib.prov.circlecr.CircumferenceCREditingProviderFactory;
76 77
import org.gvsig.vectorediting.lib.prov.insertpoint.InsertPointEditingProviderFactory;
77 78
import org.gvsig.vectorediting.lib.prov.internalpolygon.InternalPolygonEditingProviderFactory;
78 79
import org.gvsig.vectorediting.lib.prov.polyline.PolylineEditingProviderFactory;
......
156 157

  
157 158
  AbstractAction circleCr;
158 159

  
160
  AbstractAction circunferenceCr;
161

  
159 162
  AbstractAction polyline;
160 163

  
161 164
  AbstractAction symmetry;
......
425 428
      }
426 429
    };
427 430

  
431
    circunferenceCr = new AbstractAction("CircunferenceCrAction") {
428 432

  
433
        public void actionPerformed(ActionEvent e) {
434
          swingManager.activateService(CircumferenceCREditingProviderFactory.PROVIDER_NAME,
435
              mapControl);
436
        }
437
      };
438

  
439

  
429 440
    polyline = new AbstractAction("PolylineAction") {
430 441

  
431 442
      public void actionPerformed(ActionEvent e) {
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.circlecr/src/main/java/org/gvsig/vectorediting/lib/prov/circlecr/CircleCREditingProvider.java
15 15
import org.gvsig.fmap.geom.Geometry;
16 16
import org.gvsig.fmap.geom.GeometryLocator;
17 17
import org.gvsig.fmap.geom.GeometryManager;
18
import org.gvsig.fmap.geom.aggregate.MultiCurve;
19 18
import org.gvsig.fmap.geom.aggregate.MultiSurface;
20 19
import org.gvsig.fmap.geom.primitive.Arc;
21 20
import org.gvsig.fmap.geom.primitive.Circle;
......
46 45

  
47 46
  protected GeometryManager geomManager = GeometryLocator.getGeometryManager();
48 47

  
49
  private EditingServiceParameter center = new DefaultEditingServiceParameter(
48
  protected EditingServiceParameter center = new DefaultEditingServiceParameter(
50 49
      "Center", i18nManager.getTranslation("center"), TYPE.POSITION);
51 50

  
52
  private EditingServiceParameter radius = new DefaultEditingServiceParameter(
51
  protected EditingServiceParameter radius = new DefaultEditingServiceParameter(
53 52
      "Radius", i18nManager.getTranslation("radius"), TYPE.POSITION, TYPE.VALUE);
54 53

  
55
  private Map<EditingServiceParameter, Object> values;
54
  protected Map<EditingServiceParameter, Object> values;
56 55

  
57
  private FeatureStore featureStore;
56
  protected FeatureStore featureStore;
58 57

  
59 58
  public CircleCREditingProvider(ProviderServices providerServices,
60 59
      DynObject parameters) {
......
164 163
      GeometryType storeGeomType = editingProviderServices
165 164
          .getGeomType(featureStore);
166 165
      Geometry geometry = null;
167
      if (storeGeomType.isTypeOf(SURFACE)) {
166
      if (storeGeomType.isTypeOf(SURFACE) || storeGeomType.isTypeOf(GEOMETRY)) {
168 167
        geometry = editingProviderServices.createCircle(centerPoint,
169 168
            radiusValue, featureStore);
170 169
      }
171
      else if (storeGeomType.isTypeOf(CURVE)) {
172
        geometry = editingProviderServices.createArc(centerPoint, radiusValue,
173
            0, 2 * Math.PI, featureStore);
174
      }
175 170
      else if (storeGeomType.isTypeOf(MULTISURFACE)) {
176 171
        geometry = editingProviderServices.createCircle(centerPoint,
177 172
            radiusValue, featureStore);
......
180 175
            .getSubType());
181 176
        multisurface.addSurface((Circle) geometry);
182 177
      }
183
      else if (storeGeomType.isTypeOf(MULTICURVE)) {
184
        geometry = editingProviderServices.createArc(centerPoint, radiusValue,
185
            0, 2 * Math.PI, featureStore);
186
        MultiCurve multicurve;
187
        multicurve = geomManager.createMultiCurve(storeGeomType.getSubType());
188
        multicurve.addCurve((Arc) geometry);
189
      }
190 178
      return geometry;
191 179
    }
192 180
    catch (Exception e) {
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.circlecr/src/main/java/org/gvsig/vectorediting/lib/prov/circlecr/CircumferenceCREditingProviderFactory.java
1
/*
2
 * Copyright 2014 DiSiD Technologies S.L.L. All rights reserved.
3
 *
4
 * Project  : DiSiD org.gvsig.vectorediting.lib.prov.circle2P
5
 * SVN Id   : $Id$
6
 */
7
package org.gvsig.vectorediting.lib.prov.circlecr;
8

  
9
import org.gvsig.fmap.geom.Geometry;
10
import org.gvsig.tools.ToolsLocator;
11
import org.gvsig.tools.dynobject.DynClass;
12
import org.gvsig.tools.dynobject.DynObject;
13
import org.gvsig.tools.service.spi.AbstractProviderFactory;
14
import org.gvsig.tools.service.spi.Provider;
15
import org.gvsig.tools.service.spi.ProviderServices;
16
import org.gvsig.vectorediting.lib.api.EditingServiceInfo;
17
import org.gvsig.vectorediting.lib.api.EditingServiceParameter;
18
import org.gvsig.vectorediting.lib.spi.DefaultEditingServiceinfo;
19
import org.gvsig.vectorediting.lib.spi.EditingProviderFactory;
20

  
21
public class CircumferenceCREditingProviderFactory extends AbstractProviderFactory
22
    implements EditingProviderFactory {
23

  
24
  public static final String PROVIDER_NAME = "insert-circumference-cr";
25

  
26
  private final static String PROVIDER_DESCRIPTION = "Creates circumferences from the center and radius";
27

  
28
  public void initialize() {
29

  
30
  }
31

  
32
  public EditingServiceInfo getServiceInfo() {
33
    EditingServiceInfo serviceInfo = new DefaultEditingServiceinfo(
34
        PROVIDER_NAME,
35
        "",
36
        true,
37
        null,
38
        null,
39
        new int[]{
40
        		Geometry.TYPES.CURVE,
41
        		Geometry.TYPES.MULTICURVE});
42

  
43
    return serviceInfo;
44
  }
45

  
46
  public EditingServiceParameter getServiceParameterInfo() {
47
    // TODO Auto-generated method stub
48
    return null;
49
  }
50

  
51
  @Override
52
  protected Provider doCreate(DynObject parameters, ProviderServices services) {
53
    return new CircumferenceCREditingProvider(services, parameters);
54
  }
55

  
56
  public DynObject createParameters() {
57
    DynObject parameters = super.createParameters();
58
    parameters.setDynValue(PROVIDER_NAME_FIELD, PROVIDER_NAME);
59
    return parameters;
60
  }
61

  
62
  @Override
63
  protected DynClass createParametersDynClass() {
64
    DynClass dynclass = ToolsLocator.getDynObjectManager().createDynClass(
65
        PROVIDER_NAME, PROVIDER_DESCRIPTION);
66

  
67
    dynclass.addDynFieldString(PROVIDER_NAME_FIELD);
68
    dynclass.addDynFieldObject(FEATURE_STORE_FIELD);
69
    return dynclass;
70

  
71
  }
72
}
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.circlecr/src/main/java/org/gvsig/vectorediting/lib/prov/circlecr/CircleCREditingProviderFactory.java
26 26
  private final static String PROVIDER_DESCRIPTION = "Creates circles from the center and radius";
27 27

  
28 28
  public void initialize() {
29
    
29

  
30 30
  }
31 31

  
32 32
  public EditingServiceInfo getServiceInfo() {
......
38 38
        null,
39 39
        new int[]{
40 40
        		Geometry.TYPES.SURFACE,
41
        		Geometry.TYPES.MULTISURFACE,
42
        		Geometry.TYPES.CURVE,
43
        		Geometry.TYPES.MULTICURVE});
41
        		Geometry.TYPES.MULTISURFACE});
44 42

  
45 43
    return serviceInfo;
46 44
  }
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.circlecr/src/main/java/org/gvsig/vectorediting/lib/prov/circlecr/CircumferenceCREditingProvider.java
1
/*
2
 * Copyright 2014 DiSiD Technologies S.L.L. All rights reserved.
3
 *
4
 * Project  : DiSiD org.gvsig.vectorediting.lib.prov.circle2P
5
 * SVN Id   : $Id$
6
 */
7
package org.gvsig.vectorediting.lib.prov.circlecr;
8

  
9
import java.util.HashMap;
10

  
11
import org.gvsig.fmap.geom.Geometry;
12
import org.gvsig.fmap.geom.aggregate.MultiCurve;
13
import org.gvsig.fmap.geom.primitive.Arc;
14
import org.gvsig.fmap.geom.primitive.Point;
15
import org.gvsig.fmap.geom.type.GeometryType;
16
import org.gvsig.tools.dynobject.DynObject;
17
import org.gvsig.tools.service.spi.ProviderServices;
18
import org.gvsig.vectorediting.lib.api.EditingServiceParameter;
19
import org.gvsig.vectorediting.lib.api.exceptions.FinishServiceException;
20
import org.gvsig.vectorediting.lib.api.exceptions.StartServiceException;
21
import org.gvsig.vectorediting.lib.spi.EditingProvider;
22
import org.gvsig.vectorediting.lib.spi.EditingProviderServices;
23

  
24
public class CircumferenceCREditingProvider extends CircleCREditingProvider implements
25
    EditingProvider {
26

  
27
  public CircumferenceCREditingProvider(ProviderServices providerServices,
28
      DynObject parameters) {
29
    super(providerServices, parameters);
30
  }
31

  
32
  public void finishAndStore() throws FinishServiceException {
33
	    EditingProviderServices editingProviderServices = (EditingProviderServices) getProviderServices();
34
	    Geometry geometry = finish();
35
	    editingProviderServices.insertGeometryIntoFeatureStore(geometry, featureStore);
36
	  }
37

  
38
  public Geometry finish() throws FinishServiceException {
39
    Point centerPoint = (Point) values.get(center);
40
    double radiusValue = (Double) values.get(radius);
41
    EditingProviderServices editingProviderServices = (EditingProviderServices) getProviderServices();
42
    try {
43
      GeometryType storeGeomType = editingProviderServices
44
          .getGeomType(featureStore);
45
      Geometry geometry = null;
46

  
47
      if (storeGeomType.isTypeOf(CURVE) || storeGeomType.isTypeOf(GEOMETRY)) {
48
        geometry = editingProviderServices.createArc(centerPoint, radiusValue,
49
            0, 2 * Math.PI, featureStore);
50
      }
51
      else if (storeGeomType.isTypeOf(MULTICURVE)) {
52
        geometry = editingProviderServices.createArc(centerPoint, radiusValue,
53
            0, 2 * Math.PI, featureStore);
54
        MultiCurve multicurve;
55
        multicurve = geomManager.createMultiCurve(storeGeomType.getSubType());
56
        multicurve.addCurve((Arc) geometry);
57
      }
58
      return geometry;
59
    }
60
    catch (Exception e) {
61
      throw new FinishServiceException(e);
62
    }
63
  }
64

  
65
  public void start() throws StartServiceException {
66
    this.values = new HashMap<EditingServiceParameter, Object>();
67
  }
68

  
69
  public String getName() {
70
    return CircumferenceCREditingProviderFactory.PROVIDER_NAME;
71
  }
72

  
73
}
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.impl/src/main/java/org/gvsig/vectorediting/lib/impl/DefaultEditingProviderLibrary.java
10 10
import org.gvsig.tools.library.AbstractLibrary;
11 11
import org.gvsig.tools.library.LibraryException;
12 12
import org.gvsig.vectorediting.lib.prov.circlecr.CircleCREditingProviderFactory;
13
import org.gvsig.vectorediting.lib.prov.circlecr.CircumferenceCREditingProviderFactory;
13 14
import org.gvsig.vectorediting.lib.prov.insertpoint.InsertPointEditingProviderFactory;
14 15
import org.gvsig.vectorediting.lib.prov.internalpolygon.InternalPolygonEditingProviderFactory;
15 16
import org.gvsig.vectorediting.lib.prov.polyline.PolylineEditingProviderFactory;
......
40 41

  
41 42
    manager.addProviderFactory(new InsertPointEditingProviderFactory());
42 43
    manager.addProviderFactory(new CircleCREditingProviderFactory());
44
    manager.addProviderFactory(new CircumferenceCREditingProviderFactory());
43 45
    manager.addProviderFactory(new PolylineEditingProviderFactory());
44 46
    manager.addProviderFactory(new SymmetryEditingProviderFactory());
45 47
    manager.addProviderFactory(new InternalPolygonEditingProviderFactory());
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/CircleCRExtension.java
15 15
import org.gvsig.vectorediting.app.mainplugin.BaseEditingServiceExtension;
16 16
import org.gvsig.vectorediting.lib.api.EditingServiceInfo;
17 17
import org.gvsig.vectorediting.lib.prov.circlecr.CircleCREditingProviderFactory;
18
import org.gvsig.vectorediting.lib.prov.circlecr.CircumferenceCREditingProviderFactory;
18 19

  
19 20
public class CircleCRExtension extends BaseEditingServiceExtension {
20 21

  
21
  public void initialize() {
22
    // TODO Auto-generated method stub
22
	public void initialize() {
23
		registerIcons();
24
	}
23 25

  
24
  }
26
	public void execute(String arg0) {
25 27

  
26
  public void execute(String arg0) {
28
		if ("insert-circle-cr".equalsIgnoreCase(arg0)) {
29
			DefaultViewPanel view = getActiveView();
30
			swingManager.activateService(
31
					CircleCREditingProviderFactory.PROVIDER_NAME,
32
					view.getMapControl());
33
		} else if ("insert-circumference-cr".equalsIgnoreCase(arg0)) {
34
			DefaultViewPanel view = getActiveView();
35
			swingManager.activateService(
36
					CircumferenceCREditingProviderFactory.PROVIDER_NAME,
37
					view.getMapControl());
38
		}
39
	}
27 40

  
28
    DefaultViewPanel view = getActiveView();
29
    swingManager.activateService(CircleCREditingProviderFactory.PROVIDER_NAME, view.getMapControl());
41
	private void registerIcons() {
42
		IconThemeHelper.registerIcon("action", "layer-insert-circumferencecr", this);
43
		IconThemeHelper.registerIcon("action", "layer-insert-circlecr", this);
44
	}
30 45

  
31
    registerIcons();
32
  }
46
	public boolean isEnabled() {
47
		EditingServiceInfo circle2PInfo;
48
		try {
49
			circle2PInfo = manager
50
					.getServiceInfo(CircleCREditingProviderFactory.PROVIDER_NAME);
51
			DefaultViewPanel view = getActiveView();
52
			FLyrVect layer = getActiveLayer(view);
33 53

  
34
  private void registerIcons() {
35
    IconThemeHelper.registerIcon("action", "layer-insert-circle", this);
36
  }
54
			int[] supportedTypes = circle2PInfo
55
					.getSupportedPrimitiveGeometryTypes();
56
			GeometryType[] supportedGeoTypes = loadGeometryTypes(supportedTypes);
37 57

  
38
  public boolean isEnabled() {
39
    EditingServiceInfo Circle2PInfo;
40
    try {
41
      Circle2PInfo = manager.getServiceInfo(CircleCREditingProviderFactory.PROVIDER_NAME);
42
      DefaultViewPanel view = getActiveView();
43
      FLyrVect layer = getActiveLayer(view);
58
			if (isApplicable(supportedGeoTypes, layer.getShapeType())) {
59
				return true;
60
			}
44 61

  
45
      int[] supportedTypes = Circle2PInfo.getSupportedPrimitiveGeometryTypes();
46
      GeometryType[] supportedGeoTypes = loadGeometryTypes(supportedTypes);
62
			return false;
47 63

  
48
      if (isApplicable(supportedGeoTypes, layer.getShapeType())) {
49
        return true;
50
      }
64
		} catch (ServiceException e1) {
65
			// TODO Auto-generated catch block
66
			e1.printStackTrace();
67
		} catch (ReadException e) {
68
			// TODO Auto-generated catch block
69
			e.printStackTrace();
70
		}
71
		return false;
72
	}
51 73

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

  
54
    }
55
    catch (ServiceException e1) {
56
      // TODO Auto-generated catch block
57
      e1.printStackTrace();
58
    }
59
    catch (ReadException e) {
60
      // TODO Auto-generated catch block
61
      e.printStackTrace();
62
    }
63
    return false;
64
  }
85
	@Override
86
	public boolean isVisible(String action) {
87
		return isVisible();
88
	}
65 89

  
66
  public boolean isVisible() {
67
    DefaultViewPanel view = getActiveView();
68
    if (view != null) {
69
      FLyrVect layer = getActiveLayer(view);
70
      if (layer != null && layer.isEditing()) {
71
        return true;
72
      }
73
    }
74
    return false;
75
  }
90
	@Override
91
	public boolean isEnabled(String action) {
92
		EditingServiceInfo circle2PInfo;
93
		try {
94
			if (action.equalsIgnoreCase("insert-circle-cr")) {
95
			circle2PInfo = manager
96
					.getServiceInfo(CircleCREditingProviderFactory.PROVIDER_NAME);
97
			} else if (action.equalsIgnoreCase("insert-circumference-cr")) {
98
				circle2PInfo = manager
99
						.getServiceInfo(CircumferenceCREditingProviderFactory.PROVIDER_NAME);
100
			} else {
101
				return false;
102
			}
103
			DefaultViewPanel view = getActiveView();
104
			FLyrVect layer = getActiveLayer(view);
76 105

  
106
			int[] supportedTypes = circle2PInfo
107
					.getSupportedPrimitiveGeometryTypes();
108
			GeometryType[] supportedGeoTypes = loadGeometryTypes(supportedTypes);
109

  
110
			if (isApplicable(supportedGeoTypes, layer.getShapeType())) {
111
				return true;
112
			}
113

  
114
			return false;
115

  
116
		} catch (ServiceException e1) {
117
			// TODO Auto-generated catch block
118
			e1.printStackTrace();
119
		} catch (ReadException e) {
120
			// TODO Auto-generated catch block
121
			e.printStackTrace();
122
		}
123
		return false;
124
	}
125
	public boolean canQueryByAction() {
126
		return true;
127
	}
128

  
129

  
130

  
77 131
}
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.app/org.gvsig.vectorediting.app.mainplugin/src/main/resources-plugin/config.xml
1 1
<?xml version="1.0" encoding="ISO-8859-1"?>
2
<!-- gvSIG. Desktop Geographic Information System. Copyright (C) 2007-2013 
3
	gvSIG Association. This program is free software; you can redistribute it 
4
	and/or modify it under the terms of the GNU General Public License as published 
5
	by the Free Software Foundation; either version 3 of the License, or (at 
6
	your option) any later version. This program is distributed in the hope that 
7
	it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty 
8
	of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 
9
	Public License for more details. You should have received a copy of the GNU 
10
	General Public License along with this program; if not, write to the Free 
11
	Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 
12
	USA. For any additional information, do not hesitate to contact us at info 
2
<!-- gvSIG. Desktop Geographic Information System. Copyright (C) 2007-2013
3
	gvSIG Association. This program is free software; you can redistribute it
4
	and/or modify it under the terms of the GNU General Public License as published
5
	by the Free Software Foundation; either version 3 of the License, or (at
6
	your option) any later version. This program is distributed in the hope that
7
	it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
8
	of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
9
	Public License for more details. You should have received a copy of the GNU
10
	General Public License along with this program; if not, write to the Free
11
	Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
12
	USA. For any additional information, do not hesitate to contact us at info
13 13
	AT gvsig.com, or visit our website www.gvsig.com. -->
14 14
<plugin-config>
15 15
	<depends plugin-name="org.gvsig.app.mainplugin" />
......
69 69

  
70 70
			<action name="insert-circle-cr" label="_Insert_circle_CR"
71 71
				tooltip="insert_circle_CR" position="601002100" action-command="insert-circle-cr"
72
				icon="layer-insert-circle" accelerator="" />
72
				icon="layer-insert-circlecr" accelerator="" />
73 73

  
74
			<action name="insert-circumference-cr" label="_Insert_circumference_CR"
75
				tooltip="insert_circumference_CR" position="601002101" action-command="insert-circumference-cr"
76
				icon="layer-insert-circumferencecr" accelerator="" />
77

  
74 78
			<menu text="Layer/Insert/insert_circle" name="insert-circle-cr" />
75 79

  
80
			<menu text="Layer/Insert/insert_circumference" name="insert-circumference-cr" />
81

  
76 82
			<tool-bar name="vector_editing" position="601002100">
83
				<selectable-tool name="insert-circumference-cr" />
77 84
				<selectable-tool name="insert-circle-cr" />
78 85
			</tool-bar>
79 86

  
87

  
88

  
80 89
		</extension>
81 90
		<extension
82 91
			class-name="org.gvsig.vectorediting.app.mainplugin.extensions.PolylineExtension"
83 92
			description="" active="true" priority="1">
84 93

  
85 94
			<action name="insert-polyline" label="_Insert_polyline"
86
				tooltip="insert_polyline" position="601002100" action-command="insert-polyline"
95
				tooltip="insert_polyline" position="601002200" action-command="insert-polyline"
87 96
				icon="layer-insert-polyline" accelerator="" />
88 97

  
89 98
			<menu text="Layer/Insert/insert_polyline" name="insert-polyline" />
......
99 108
			description="" active="true" priority="1">
100 109

  
101 110
			<action name="symmetry" label="_Symmetry" tooltip="symmetry"
102
				position="601002200" action-command="symmetry" icon="layer-modify-symmetry"
111
				position="601002300" action-command="symmetry" icon="layer-modify-symmetry"
103 112
				accelerator="" />
104 113

  
105 114
			<menu text="Layer/Insert/symmetry" name="symmetry" />
106 115

  
107
			<tool-bar name="vector_editing" position="601002200">
116
			<tool-bar name="vector_editing" position="601002300">
108 117
				<selectable-tool name="symmetry" />
109 118
			</tool-bar>
110 119

  
......
115 124
			description="" active="true" priority="1">
116 125

  
117 126
			<action name="layer-modify-internal-polygon" label="_Modify_internal_polygon"
118
				tooltip="_Modify_internal_polygon" position="601002300"
127
				tooltip="_Modify_internal_polygon" position="601002400"
119 128
				action-command="layer-modify-internal-polygon" icon="layer-modify-internal-polygon"
120 129
				accelerator="" />
121 130

  
122 131
			<menu name="layer-modify-internal-polygon" text="Layer/Modify/_Internal_polygon" />
123 132

  
124
			<tool-bar name="vector_editing" position="601002200">
133
			<tool-bar name="vector_editing" position="601002400">
125 134
				<selectable-tool name="layer-modify-internal-polygon" />
126 135
			</tool-bar>
127 136

  

Also available in: Unified diff