Revision 241
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.app/org.gvsig.vectorediting.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties | ||
---|---|---|
25 | 25 |
continue= Continue |
26 | 26 |
do_not_save_yet_stay_in_editing_mode= Don't save changes and continue editing |
27 | 27 |
indicate_new_point= Indicate new point |
28 |
inserts_L_to_change_to_line_mode_double_click_to_finish_indate_new_point= Inserts [L] to change to line mode. Double-click to finish. Indicates new point. |
|
29 |
inserts_A_to_change_to_arc_mode_double_click_to_finish_indate_new_point= Inserts [A] to change to arc mode. Double-click to finish. Indicates new point. |
|
30 | 28 |
arc_mode = Arc mode |
31 | 29 |
line_mode = Line mode |
32 | 30 |
select_new_tool= Select a new tool |
... | ... | |
52 | 50 |
inscribed = Inscribed |
53 | 51 |
circumscribed = Circumscribed |
54 | 52 |
sides_of_regular_polygon = Indicate sides of regular polygon |
55 |
inscribed_or_circumscribed = Inscribed[I] o circumscribed[C] |
|
56 | 53 |
center_of_regular_polygon = Center of regular polygon |
57 | 54 |
point_of_circle = Point of circle of polygon |
58 | 55 |
sides = Sides |
59 |
mode = Mode (Inscribed or circumscribed) |
|
60 | 56 |
key_arc_mode = A |
61 | 57 |
key_line_mode = L |
62 | 58 |
key_close = C |
63 | 59 |
key_finish = F |
60 |
key_inscribed = I |
|
61 |
key_circumscribed = C |
|
64 | 62 |
close_polyline = Close polyline |
65 | 63 |
close_spline = Close spline curve |
66 |
indicate_new_point_spline = Indicate new point. [C]Close spline [F]Finish |
|
67 |
indicate_new_point_polyline = Indicate new point. [A]Arc mode [L]Line mode [C]Close polyline [F]Finish |
|
68 | 64 |
new_point = New point |
69 | 65 |
new_value = New value |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.app/org.gvsig.vectorediting.app.mainplugin/src/main/resources-plugin/i18n/text.properties | ||
---|---|---|
50 | 50 |
inscribed = Inscrito |
51 | 51 |
circumscribed = Circunscrito |
52 | 52 |
sides_of_regular_polygon = Indique los lados del poligono regular |
53 |
inscribed_or_circumscribed = Inscrito[I] o circunscrito[C] |
|
54 | 53 |
center_of_regular_polygon = Centro del pol\u00edguno regular |
55 | 54 |
point_of_circle = Punto del c\u00edrculo del pol\u00edgono |
56 | 55 |
sides = Lados |
57 |
mode = Modo (Inscrito or circunscrito) |
|
58 | 56 |
key_arc_mode = A |
59 | 57 |
key_line_mode = L |
60 | 58 |
key_close = C |
61 | 59 |
key_finish = T |
60 |
key_inscribed = I |
|
61 |
key_circumscribed = C |
|
62 | 62 |
close_polyline = Cerrar polil\u00ednea |
63 | 63 |
close_spline = Cerrar curva spline |
64 |
indicate_new_point_spline = Indique un nuevo punto. [C]Cerrar spline [T]Terminar |
|
65 |
indicate_new_point_polyline = Indique un nuevo punto. [A]Modo arco [L]Modo linea [C]Cerrar polil\u00ednea [T]Terminar |
|
66 | 64 |
new_point = Nuevo punto |
67 | 65 |
new_value = Nuevo valor |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.spi/src/main/java/org/gvsig/vectorediting/lib/spi/EditingProviderServices.java | ||
---|---|---|
25 | 25 |
package org.gvsig.vectorediting.lib.spi; |
26 | 26 |
|
27 | 27 |
import java.util.List; |
28 |
import java.util.Map; |
|
28 | 29 |
|
29 | 30 |
import org.gvsig.fmap.dal.exception.DataException; |
30 | 31 |
import org.gvsig.fmap.dal.feature.EditableFeature; |
... | ... | |
53 | 54 |
public interface EditingProviderServices extends ProviderServices { |
54 | 55 |
|
55 | 56 |
/** |
57 |
* Makes a console message. Parameters must be i18n keys. If you don't want |
|
58 |
* any text before options use null. The format of console message returned |
|
59 |
* is: |
|
60 |
* "preText". ["keyOption1"]valueOption1 ["keyOption2"]valueOption2... |
|
61 |
* |
|
62 |
* @param preText |
|
63 |
* i18n key of first part of message. |
|
64 |
* @param options |
|
65 |
* Map with accepted options. Keys of map should be first letter |
|
66 |
* of option and value of map should be an i18n key. For example, |
|
67 |
* a valid map could be <"A","arc_mode">, <"C","close_polyline"> |
|
68 |
* @return console message created |
|
69 |
*/ |
|
70 |
public String makeConsoleMessage(String preText, Map<String, String> options); |
|
71 |
|
|
72 |
/** |
|
56 | 73 |
* Inserts the feature into feature store. |
57 | 74 |
* |
58 | 75 |
* @param feature |
... | ... | |
181 | 198 |
*/ |
182 | 199 |
public Ellipse createFilledEllipse(Point firstPointAxisA, |
183 | 200 |
Point secondPointAxisA, double halfLengthAxisB, int subtype) |
184 |
throws CreateGeometryException;
|
|
201 |
throws CreateGeometryException; |
|
185 | 202 |
|
186 | 203 |
/** |
187 | 204 |
* Create point with x and y values. |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.impl/src/main/java/org/gvsig/vectorediting/lib/impl/DefaultEditingProviderServices.java | ||
---|---|---|
26 | 26 |
|
27 | 27 |
import java.util.Iterator; |
28 | 28 |
import java.util.List; |
29 |
import java.util.Map; |
|
29 | 30 |
|
30 | 31 |
import org.slf4j.Logger; |
31 | 32 |
import org.slf4j.LoggerFactory; |
... | ... | |
55 | 56 |
import org.gvsig.fmap.geom.type.GeometryType; |
56 | 57 |
import org.gvsig.fmap.mapcontext.layers.CancelationException; |
57 | 58 |
import org.gvsig.fmap.mapcontrol.MapControlLocator; |
59 |
import org.gvsig.tools.ToolsLocator; |
|
58 | 60 |
import org.gvsig.tools.exception.BaseException; |
61 |
import org.gvsig.tools.i18n.I18nManager; |
|
59 | 62 |
import org.gvsig.tools.service.spi.AbstractProviderServices; |
60 | 63 |
import org.gvsig.vectorediting.lib.spi.EditingProviderServices; |
61 | 64 |
|
62 | 65 |
public class DefaultEditingProviderServices extends AbstractProviderServices |
63 |
implements EditingProviderServices { |
|
66 |
implements EditingProviderServices {
|
|
64 | 67 |
|
65 | 68 |
private static final Logger logger = LoggerFactory |
66 | 69 |
.getLogger(DefaultEditingProviderServices.class); |
... | ... | |
94 | 97 |
if (notification.isCanceled()) { |
95 | 98 |
String msg = |
96 | 99 |
String |
97 |
.format( |
|
98 |
"Can't insert feature into %1$s, canceled by some observer.", |
|
99 |
featureStore.getName()); |
|
100 |
.format(
|
|
101 |
"Can't insert feature into %1$s, canceled by some observer.",
|
|
102 |
featureStore.getName());
|
|
100 | 103 |
throw new CancelationException(msg, null); |
101 | 104 |
} |
102 | 105 |
|
... | ... | |
149 | 152 |
if (notification.isCanceled()) { |
150 | 153 |
String msg = |
151 | 154 |
String |
152 |
.format( |
|
153 |
"Can't insert geometry into %1$s, canceled by some observer.", |
|
154 |
featureStore.getName()); |
|
155 |
.format(
|
|
156 |
"Can't insert geometry into %1$s, canceled by some observer.",
|
|
157 |
featureStore.getName());
|
|
155 | 158 |
throw new CancelationException(msg, null); |
156 | 159 |
} |
157 | 160 |
|
... | ... | |
216 | 219 |
if (notification.isCanceled()) { |
217 | 220 |
String msg = |
218 | 221 |
String |
219 |
.format( |
|
220 |
"Can't update feature in %1$s, canceled by some observer.", |
|
221 |
featureStore.getName()); |
|
222 |
.format(
|
|
223 |
"Can't update feature in %1$s, canceled by some observer.",
|
|
224 |
featureStore.getName());
|
|
222 | 225 |
throw new CancelationException(msg, null); |
223 | 226 |
} |
224 | 227 |
|
... | ... | |
269 | 272 |
|
270 | 273 |
public Ellipse createFilledEllipse(Point firstPointAxisA, |
271 | 274 |
Point secondPointAxisA, double halfLengthAxisB, int subtype) |
272 |
throws CreateGeometryException {
|
|
275 |
throws CreateGeometryException { |
|
273 | 276 |
Ellipse ellipse = (Ellipse) geomManager.create(TYPES.ELLIPSE, subtype); |
274 | 277 |
ellipse.setPoints(firstPointAxisA, secondPointAxisA, halfLengthAxisB); |
275 | 278 |
return ellipse; |
... | ... | |
522 | 525 |
} |
523 | 526 |
} |
524 | 527 |
|
525 |
/* |
|
526 |
* (non-Javadoc) |
|
527 |
* |
|
528 |
* @see |
|
529 |
* org.gvsig.vectorediting.lib.spi.EditingProviderServices#createLine(org |
|
530 |
* .gvsig.fmap.geom.primitive.Point, org.gvsig.fmap.geom.primitive.Point, |
|
531 |
* int) |
|
532 |
*/ |
|
533 | 528 |
public Curve createLine(Point p1, Point p2, int subtype) |
534 | 529 |
throws CreateGeometryException, DataException { |
535 | 530 |
return this.createLine(p1.getX(), p1.getY(), p2.getX(), p2.getY(), |
536 | 531 |
subtype); |
537 | 532 |
} |
538 | 533 |
|
539 |
/* |
|
540 |
* (non-Javadoc) |
|
541 |
* |
|
542 |
* @see |
|
543 |
* org.gvsig.vectorediting.lib.spi.EditingProviderServices#createSpline( |
|
544 |
* java.util.List, int) |
|
545 |
*/ |
|
546 | 534 |
public Spline createSpline(List<Point> points, int subtype) |
547 | 535 |
throws CreateGeometryException { |
548 | 536 |
Spline spline = null; |
... | ... | |
555 | 543 |
|
556 | 544 |
return spline; |
557 | 545 |
} |
546 |
|
|
547 |
public String makeConsoleMessage(String preText, Map<String, String> options) { |
|
548 |
|
|
549 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
|
550 |
|
|
551 |
StringBuilder stb = new StringBuilder(); |
|
552 |
|
|
553 |
if (preText != null) { |
|
554 |
stb.append(i18nManager.getTranslation(preText)); |
|
555 |
stb.append(" "); |
|
556 |
} |
|
557 |
|
|
558 |
for (String option : options.keySet()) { |
|
559 |
stb.append("["); |
|
560 |
stb.append(option); |
|
561 |
stb.append("]"); |
|
562 |
stb.append(i18nManager.getTranslation(options.get(option))); |
|
563 |
stb.append(" "); |
|
564 |
} |
|
565 |
|
|
566 |
return stb.toString(); |
|
567 |
} |
|
558 | 568 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.arc/src/main/java/org/gvsig/vectorediting/lib/prov/arc/ArcEditingProviderFactory.java | ||
---|---|---|
69 | 69 |
private final static String PROVIDER_DESCRIPTION = |
70 | 70 |
"Creates arcs with three points"; |
71 | 71 |
|
72 |
/* |
|
73 |
* (non-Javadoc) |
|
74 |
* |
|
75 |
* @see org.gvsig.tools.service.spi.ProviderFactory#initialize() |
|
76 |
*/ |
|
77 | 72 |
public void initialize() { |
78 | 73 |
} |
79 | 74 |
|
80 |
/* |
|
81 |
* (non-Javadoc) |
|
82 |
* |
|
83 |
* @see |
|
84 |
* org.gvsig.vectorediting.lib.spi.EditingProviderFactory#getServiceInfo() |
|
85 |
*/ |
|
86 | 75 |
public EditingServiceInfo getServiceInfo() { |
87 | 76 |
EditingServiceInfo serviceInfo = |
88 | 77 |
new DefaultEditingServiceinfo(PROVIDER_NAME, "", true, null, |
... | ... | |
91 | 80 |
return serviceInfo; |
92 | 81 |
} |
93 | 82 |
|
94 |
/* |
|
95 |
* (non-Javadoc) |
|
96 |
* |
|
97 |
* @see |
|
98 |
* org.gvsig.tools.service.spi.AbstractProviderFactory#doCreate(org.gvsig |
|
99 |
* .tools.dynobject.DynObject, org.gvsig.tools.service.spi.ProviderServices) |
|
100 |
*/ |
|
101 | 83 |
@Override |
102 | 84 |
protected Provider doCreate(DynObject parameters, ProviderServices services) { |
103 | 85 |
return new ArcEditingProvider(services, parameters); |
104 | 86 |
} |
105 | 87 |
|
106 |
/* |
|
107 |
* (non-Javadoc) |
|
108 |
* |
|
109 |
* @see org.gvsig.tools.service.spi.ProviderFactory#createParameters() |
|
110 |
*/ |
|
111 | 88 |
@Override |
112 | 89 |
public DynObject createParameters() { |
113 | 90 |
DynObject parameters = super.createParameters(); |
... | ... | |
115 | 92 |
return parameters; |
116 | 93 |
} |
117 | 94 |
|
118 |
/* |
|
119 |
* (non-Javadoc) |
|
120 |
* |
|
121 |
* @see |
|
122 |
* org.gvsig.tools.service.spi.AbstractProviderFactory#createParametersDynClass |
|
123 |
* () |
|
124 |
*/ |
|
125 | 95 |
@Override |
126 | 96 |
protected DynClass createParametersDynClass() { |
127 | 97 |
DynClass dynclass = |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.regularpolygon/src/main/java/org/gvsig/vectorediting/lib/prov/regularpolygon/RegularPolygonEditingProvider.java | ||
---|---|---|
65 | 65 |
* |
66 | 66 |
*/ |
67 | 67 |
public class RegularPolygonEditingProvider extends AbstractEditingProvider |
68 |
implements EditingProvider { |
|
68 |
implements EditingProvider {
|
|
69 | 69 |
|
70 | 70 |
protected EditingServiceParameter polygonSides; |
71 | 71 |
|
... | ... | |
86 | 86 |
super(providerServices); |
87 | 87 |
this.featureStore = |
88 | 88 |
(FeatureStore) parameters |
89 |
.getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD); |
|
89 |
.getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD);
|
|
90 | 90 |
|
91 | 91 |
polygonSides = |
92 | 92 |
new DefaultEditingServiceParameter("sides", |
... | ... | |
98 | 98 |
options.put(i18nManager.getTranslation("key_circumscribed"), |
99 | 99 |
"circumscribed"); |
100 | 100 |
|
101 |
EditingProviderServices editingProviderServices = |
|
102 |
(EditingProviderServices) getProviderServices(); |
|
103 |
|
|
104 |
String consoleMsg = |
|
105 |
editingProviderServices.makeConsoleMessage(null, options); |
|
106 |
|
|
101 | 107 |
mode = |
102 |
new DefaultEditingServiceParameter("mode", |
|
103 |
"inscribed_or_circumscribed", options, |
|
108 |
new DefaultEditingServiceParameter("mode", consoleMsg, options, |
|
104 | 109 |
EditingServiceParameter.TYPE.OPTION); |
105 | 110 |
|
106 | 111 |
center = |
... | ... | |
184 | 189 |
*/ |
185 | 190 |
protected Curve calculateRegularPolygon(String modeValue, |
186 | 191 |
Point centerValue, Point pointOfCircle, int sidesValue) |
187 |
throws BaseException {
|
|
192 |
throws BaseException { |
|
188 | 193 |
|
189 | 194 |
GeometryManager geometryManager = GeometryLocator.getGeometryManager(); |
190 | 195 |
|
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.spline/src/main/java/org/gvsig/vectorediting/lib/prov/spline/FilledSplineEditingProvider.java | ||
---|---|---|
62 | 62 |
public FilledSplineEditingProvider(ProviderServices services, |
63 | 63 |
DynObject parameters) { |
64 | 64 |
super(services, parameters); |
65 |
|
|
65 |
|
|
66 | 66 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
67 |
|
|
67 |
|
|
68 | 68 |
options = new LinkedHashMap<String, String>(); |
69 | 69 |
options.put(i18nManager.getTranslation("key_finish"), "finish"); |
70 |
|
|
70 |
|
|
71 |
EditingProviderServices editingProviderServices = |
|
72 |
(EditingProviderServices) getProviderServices(); |
|
73 |
|
|
74 |
String consoleMsg = |
|
75 |
editingProviderServices.makeConsoleMessage("indicate_new_point", |
|
76 |
options); |
|
77 |
|
|
71 | 78 |
this.points = |
72 |
new DefaultEditingServiceParameter("insert_point", |
|
73 |
"indicate_new_point_spline", options, |
|
74 |
EditingServiceParameter.TYPE.LIST_POSITIONS, |
|
79 |
new DefaultEditingServiceParameter("insert_point", consoleMsg, |
|
80 |
options, EditingServiceParameter.TYPE.LIST_POSITIONS, |
|
75 | 81 |
EditingServiceParameter.TYPE.OPTION); |
76 | 82 |
} |
77 |
|
|
83 |
|
|
78 | 84 |
public DrawingStatus getDrawingStatus(Point mousePosition) |
79 | 85 |
throws DrawServiceException { |
80 | 86 |
|
... | ... | |
94 | 100 |
editingProviderServices.createSpline(values, subtype); |
95 | 101 |
|
96 | 102 |
spline.addVertex(mousePosition); |
97 |
|
|
103 |
|
|
98 | 104 |
spline.addVertex(values.get(0)); |
99 | 105 |
|
100 | 106 |
drawingStatus.addGeometry(spline); |
... | ... | |
116 | 122 |
GeometryLocator.getGeometryManager(); |
117 | 123 |
|
118 | 124 |
try { |
119 |
// values.add(values.get(0));
|
|
125 |
// values.add(values.get(0));
|
|
120 | 126 |
|
121 | 127 |
int subtype = editingProviderServices.getSubType(featureStore); |
122 | 128 |
Spline spline = |
123 | 129 |
editingProviderServices.createSpline(values, subtype); |
124 |
|
|
130 |
|
|
125 | 131 |
spline.addVertex(values.get(0)); |
126 |
|
|
132 |
|
|
127 | 133 |
Surface surface = geometryManager.createPolygon(subtype); |
128 | 134 |
for (int i = 0; i < spline.getNumVertices(); i++) { |
129 | 135 |
surface.addVertex(spline.getVertex(i)); |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.spline/src/main/java/org/gvsig/vectorediting/lib/prov/spline/SplineEditingProvider.java | ||
---|---|---|
95 | 95 |
options.put(i18nManager.getTranslation("key_close"), "close_spline"); |
96 | 96 |
options.put(i18nManager.getTranslation("key_finish"), "finish"); |
97 | 97 |
|
98 |
EditingProviderServices editingProviderServices = |
|
99 |
(EditingProviderServices) getProviderServices(); |
|
100 |
|
|
101 |
String consoleMsg = |
|
102 |
editingProviderServices.makeConsoleMessage("indicate_new_point", |
|
103 |
options); |
|
104 |
|
|
98 | 105 |
this.points = |
99 |
new DefaultEditingServiceParameter("insert_point", |
|
100 |
"indicate_new_point_spline", options, |
|
101 |
EditingServiceParameter.TYPE.LIST_POSITIONS, |
|
106 |
new DefaultEditingServiceParameter("insert_point", consoleMsg, |
|
107 |
options, EditingServiceParameter.TYPE.LIST_POSITIONS, |
|
102 | 108 |
EditingServiceParameter.TYPE.OPTION); |
103 | 109 |
|
104 | 110 |
this.closeSpline = false; |
... | ... | |
210 | 216 |
EditingProviderServices editingProviderServices = |
211 | 217 |
(EditingProviderServices) getProviderServices(); |
212 | 218 |
try { |
213 |
|
|
219 |
|
|
214 | 220 |
if (closeSpline) { |
215 | 221 |
values.add(values.get(0)); |
216 | 222 |
} |
217 |
|
|
223 |
|
|
218 | 224 |
int subtype = editingProviderServices.getSubType(featureStore); |
219 | 225 |
Spline spline = |
220 | 226 |
editingProviderServices.createSpline(values, subtype); |
221 | 227 |
|
222 |
|
|
223 | 228 |
GeometryType geomType = |
224 | 229 |
editingProviderServices.getGeomType(featureStore); |
225 | 230 |
|
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.polyline/src/main/java/org/gvsig/vectorediting/lib/prov/polyline/PolygonEditingProvider.java | ||
---|---|---|
42 | 42 |
import org.gvsig.vectorediting.lib.spi.EditingProvider; |
43 | 43 |
|
44 | 44 |
public class PolygonEditingProvider extends PolylineEditingProvider implements |
45 |
EditingProvider { |
|
45 |
EditingProvider {
|
|
46 | 46 |
|
47 | 47 |
public PolygonEditingProvider(ProviderServices providerServices, |
48 | 48 |
DynObject parameters) { |
49 | 49 |
super(providerServices, parameters); |
50 |
|
|
50 |
|
|
51 | 51 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
52 |
|
|
52 |
|
|
53 | 53 |
this.options = new LinkedHashMap<String, String>(); |
54 | 54 |
options.put(i18nManager.getTranslation("key_arc_mode"), "arc_mode"); |
55 | 55 |
options.put(i18nManager.getTranslation("key_line_mode"), "line_mode"); |
56 | 56 |
options.put(i18nManager.getTranslation("key_finish"), "finish"); |
57 | 57 |
|
58 |
String consoleMsg = |
|
59 |
editingProviderServices.makeConsoleMessage("indicate_new_point", |
|
60 |
options); |
|
61 |
|
|
58 | 62 |
this.points = |
59 |
new DefaultEditingServiceParameter("insert_point", |
|
60 |
"indicate_new_point_polyline", options, TYPE.LIST_POSITIONS, |
|
61 |
TYPE.OPTION); |
|
63 |
new DefaultEditingServiceParameter("insert_point", consoleMsg, |
|
64 |
options, TYPE.LIST_POSITIONS, TYPE.OPTION); |
|
62 | 65 |
} |
63 | 66 |
|
64 | 67 |
@Override |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.polyline/src/main/java/org/gvsig/vectorediting/lib/prov/polyline/PolylineEditingProvider.java | ||
---|---|---|
64 | 64 |
import org.gvsig.vectorediting.lib.spi.EditingProviderServices; |
65 | 65 |
|
66 | 66 |
public class PolylineEditingProvider extends AbstractEditingProvider implements |
67 |
EditingProvider { |
|
67 |
EditingProvider {
|
|
68 | 68 |
|
69 | 69 |
protected EditingProviderServices editingProviderServices = |
70 | 70 |
(EditingProviderServices) getProviderServices(); |
... | ... | |
90 | 90 |
// Initialize all provider variables. |
91 | 91 |
this.featureStore = |
92 | 92 |
(FeatureStore) parameters |
93 |
.getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD); |
|
93 |
.getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD);
|
|
94 | 94 |
|
95 | 95 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
96 | 96 |
|
... | ... | |
100 | 100 |
options.put(i18nManager.getTranslation("key_close"), "close_polyline"); |
101 | 101 |
options.put(i18nManager.getTranslation("key_finish"), "finish"); |
102 | 102 |
|
103 |
String consoleMsg = |
|
104 |
editingProviderServices.makeConsoleMessage("indicate_new_point", |
|
105 |
options); |
|
106 |
|
|
103 | 107 |
points = |
104 |
new DefaultEditingServiceParameter("insert_point", |
|
105 |
"indicate_new_point_polyline", options, TYPE.LIST_POSITIONS, |
|
106 |
TYPE.OPTION); |
|
108 |
new DefaultEditingServiceParameter("insert_point", consoleMsg, |
|
109 |
options, TYPE.LIST_POSITIONS, TYPE.OPTION); |
|
107 | 110 |
|
108 | 111 |
arcMode = false; |
109 | 112 |
finishPolyline = false; |
... | ... | |
210 | 213 |
+ " [(%1$s,%2$s),(%3$s,%4$s)]" |
211 | 214 |
+ " and perperdicular" |
212 | 215 |
+ " [(%5$s,%6$s),(%7$s,%8$s)]", |
213 |
bisector[0].getX(), bisector[0].getY(),
|
|
214 |
bisector[1].getX(), bisector[1].getY(),
|
|
215 |
pointPerpendicular[0].getX(),
|
|
216 |
pointPerpendicular[0].getY(),
|
|
217 |
pointPerpendicular[1].getX(),
|
|
218 |
pointPerpendicular[1].getY());
|
|
216 |
bisector[0].getX(), bisector[0].getY(), |
|
217 |
bisector[1].getX(), bisector[1].getY(), |
|
218 |
pointPerpendicular[0].getX(), |
|
219 |
pointPerpendicular[0].getY(), |
|
220 |
pointPerpendicular[1].getX(), |
|
221 |
pointPerpendicular[1].getY()); |
|
219 | 222 |
|
220 | 223 |
throw new DrawServiceException(msg, null); |
221 | 224 |
} |
... | ... | |
287 | 290 |
startAngle, angleExt, subtype); |
288 | 291 |
Curve inverseArc = |
289 | 292 |
(Curve) GeometryLocator.getGeometryManager() |
290 |
.create(TYPES.CURVE, subtype); |
|
293 |
.create(TYPES.CURVE, subtype);
|
|
291 | 294 |
if (!point.equals(arco.getVertex(0))) { |
292 | 295 |
for (int j = arco.getNumVertices() - 1; j >= 0; j--) { |
293 | 296 |
inverseArc.addVertex(arco.getVertex(j)); |
... | ... | |
300 | 303 |
|
301 | 304 |
antm = |
302 | 305 |
-(nextPoint.getX() - center.getX()) |
303 |
/ (nextPoint.getY() - center.getY()); |
|
306 |
/ (nextPoint.getY() - center.getY());
|
|
304 | 307 |
if (antm == Double.POSITIVE_INFINITY) { |
305 | 308 |
antb = Double.NEGATIVE_INFINITY; |
306 | 309 |
if (nextPoint.getX() == 0) { |
org.gvsig.vectorediting.symmetry/trunk/org.gvsig.vectorediting.symmetry/org.gvsig.vectorediting.symmetry.lib/org.gvsig.vectorediting.symmetry.lib.prov/org.gvsig.vectorediting.symmetry.lib.prov.symmetry/src/main/java/org/gvsig/vectorediting/symmetry/lib/prov/symmetry/SymmetryEditingProvider.java | ||
---|---|---|
62 | 62 |
import org.gvsig.vectorediting.lib.spi.EditingProviderServices; |
63 | 63 |
|
64 | 64 |
public class SymmetryEditingProvider extends AbstractEditingProvider implements |
65 |
EditingProvider { |
|
65 |
EditingProvider {
|
|
66 | 66 |
|
67 | 67 |
private I18nManager i18nManager = ToolsLocator.getI18nManager(); |
68 | 68 |
|
... | ... | |
87 | 87 |
super(providerServices); |
88 | 88 |
this.featureStore = |
89 | 89 |
(FeatureStore) parameters |
90 |
.getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD); |
|
90 |
.getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD);
|
|
91 | 91 |
|
92 | 92 |
this.selectionParameter = |
93 |
new DefaultEditingServiceParameter("Selection",
|
|
93 |
new DefaultEditingServiceParameter("selection",
|
|
94 | 94 |
i18nManager.getTranslation("selection"), TYPE.SELECTION); |
95 | 95 |
|
96 | 96 |
this.firstPointParameter = |
... | ... | |
109 | 109 |
options.put(i18nManager.getTranslation("short_no"), |
110 | 110 |
"keep_original_geometries"); |
111 | 111 |
|
112 |
EditingProviderServices editingProviderServices = |
|
113 |
(EditingProviderServices) getProviderServices(); |
|
114 |
|
|
115 |
String consoleMsg = |
|
116 |
editingProviderServices.makeConsoleMessage( |
|
117 |
"delete_original_geometries_question", options); |
|
118 |
|
|
112 | 119 |
this.deleteOriginalGeometriesParameter = |
113 | 120 |
new DefaultEditingServiceParameter("Delete original geometries", |
114 |
i18nManager |
|
115 |
.getTranslation("delete_original_geometries_question") |
|
116 |
.concat(" (") |
|
117 |
.concat(i18nManager.getTranslation("short_yes")) |
|
118 |
.concat("/").concat(i18nManager.getTranslation("short_no")) |
|
119 |
.concat(") "), options, TYPE.OPTION); |
|
121 |
consoleMsg, options, TYPE.OPTION); |
|
120 | 122 |
} |
121 | 123 |
|
122 | 124 |
public DrawingStatus getDrawingStatus(Point mousePosition) |
... | ... | |
140 | 142 |
line = |
141 | 143 |
GeometryLocator.getGeometryManager().createLine( |
142 | 144 |
featureStore.getDefaultFeatureType() |
143 |
.getDefaultGeometryAttribute().getGeomType() |
|
144 |
.getSubType()); |
|
145 |
.getDefaultGeometryAttribute().getGeomType()
|
|
146 |
.getSubType());
|
|
145 | 147 |
line.addVertex(p1); |
146 | 148 |
line.addVertex(p2); |
147 | 149 |
|
... | ... | |
182 | 184 |
|
183 | 185 |
AffineTransform translate = |
184 | 186 |
AffineTransform |
185 |
.getTranslateInstance(-axisP1.getX(), -axisP1.getY()); |
|
187 |
.getTranslateInstance(-axisP1.getX(), -axisP1.getY());
|
|
186 | 188 |
|
187 | 189 |
EditingProviderServices editingProviderServices = |
188 | 190 |
(EditingProviderServices) getProviderServices(); |
... | ... | |
302 | 304 |
feature.getEditable(); |
303 | 305 |
editableFeature.setDefaultGeometry(geom); |
304 | 306 |
((EditingProviderServices) getProviderServices()) |
305 |
.updateFeatureInFeatureStore(editableFeature, |
|
306 |
featureStore); |
|
307 |
.updateFeatureInFeatureStore(editableFeature,
|
|
308 |
featureStore);
|
|
307 | 309 |
} else { |
308 | 310 |
// Se crea una feature nueva copiando los valores de |
309 | 311 |
// la feature original excepto aquellos que sean PK |
... | ... | |
311 | 313 |
(EditingProviderServices) getProviderServices(); |
312 | 314 |
EditableFeature editableFeature = |
313 | 315 |
editingProviderServices |
314 |
.getFeatureCopyWithoutPK(featureStore, |
|
315 |
feature); |
|
316 |
.getFeatureCopyWithoutPK(featureStore,
|
|
317 |
feature);
|
|
316 | 318 |
editableFeature.setDefaultGeometry(geom); |
317 | 319 |
((EditingProviderServices) getProviderServices()) |
318 |
.insertFeatureIntoFeatureStore(editableFeature, |
|
319 |
featureStore); |
|
320 |
.insertFeatureIntoFeatureStore(editableFeature,
|
|
321 |
featureStore);
|
|
320 | 322 |
} |
321 | 323 |
} |
322 | 324 |
it.dispose(); |
... | ... | |
339 | 341 |
try { |
340 | 342 |
selected = |
341 | 343 |
(FeatureSelection) featureStore.getFeatureSelection() |
342 |
.clone(); |
|
344 |
.clone();
|
|
343 | 345 |
} catch (DataException e) { |
344 | 346 |
throw new StartServiceException(e); |
345 | 347 |
} catch (CloneNotSupportedException e) { |
Also available in: Unified diff