Revision 24265
branches/v2_0_0_prep/extensions/extCAD/src/com/iver/cit/gvsig/gui/cad/tools/ComplexSelectionCADTool.java | ||
---|---|---|
54 | 54 |
import org.gvsig.fmap.data.exceptions.DataException; |
55 | 55 |
import org.gvsig.fmap.data.exceptions.InitializeException; |
56 | 56 |
import org.gvsig.fmap.data.exceptions.ReadException; |
57 |
import org.gvsig.fmap.data.feature.EditableFeature; |
|
57 | 58 |
import org.gvsig.fmap.data.feature.Feature; |
59 |
import org.gvsig.fmap.data.feature.FeatureSelection; |
|
58 | 60 |
import org.gvsig.fmap.data.feature.FeatureStore; |
59 | 61 |
import org.gvsig.fmap.data.feature.FeatureType; |
60 |
import org.gvsig.fmap.data.feature.exceptions.IsNotFeatureSettingException; |
|
61 | 62 |
import org.gvsig.fmap.geom.Geometry; |
62 |
import org.gvsig.fmap.geom.GeometryFactory; |
|
63 |
import org.gvsig.fmap.geom.GeometryManager; |
|
64 | 63 |
import org.gvsig.fmap.geom.handler.Handler; |
65 | 64 |
import org.gvsig.fmap.geom.operation.Draw; |
66 | 65 |
import org.gvsig.fmap.geom.operation.DrawOperationContext; |
... | ... | |
87 | 86 |
* @author Vicente Caballero Navarro |
88 | 87 |
*/ |
89 | 88 |
public class ComplexSelectionCADTool extends SelectionCADTool { |
90 |
//public final static int tolerance = 4; |
|
91 |
|
|
92 | 89 |
private ComplexSelectionCADToolContext _fsm; |
93 | 90 |
private List pointsPolygon=new ArrayList(); |
94 | 91 |
|
95 |
//private Point2D firstPoint; |
|
96 |
|
|
97 |
//private Point2D lastPoint; |
|
98 |
|
|
99 |
|
|
100 |
|
|
101 |
//private String nextState; |
|
102 |
// Registros de los que se ha sleccionado alg?n handler. |
|
103 |
//private ArrayList rowselectedHandlers=new ArrayList(); |
|
104 |
//private String type=PluginServices.getText(this,"inside_circle"); |
|
105 |
//private ArrayList pointsPolygon=new ArrayList(); |
|
106 | 92 |
/** |
107 | 93 |
* Crea un nuevo ComplexSelectionCADTool. |
108 | 94 |
*/ |
... | ... | |
154 | 140 |
// TODO Auto-generated catch block |
155 | 141 |
e.printStackTrace(); |
156 | 142 |
} |
157 |
// VectorialEditableAdapter vea=vle.getVEA(); |
|
158 | 143 |
ArrayList selectedHandler = vle.getSelectedHandler(); |
159 |
// ArrayList selectedRow = vle.getSelectedRow(); |
|
160 | 144 |
System.out.println("STATUS ACTUAL = " + _fsm.getTransition()); |
161 | 145 |
if (status.equals("Selection.FirstPoint")) { |
162 | 146 |
firstPoint=new Point2D.Double(x,y); |
... | ... | |
164 | 148 |
} else if (status.equals("Selection.SecondPoint")) { |
165 | 149 |
} else if (status.equals("Selection.WithFeatures")) { |
166 | 150 |
} else if (status.equals("Selection.WithHandlers")) { |
167 |
featureStore.getCommandsRecord().startComplex(); |
|
151 |
String description=PluginServices.getText(this,"move_handlers"); |
|
152 |
featureStore.beginEditingGroup(description); |
|
168 | 153 |
ArrayList selectedRowsAux=new ArrayList(); |
169 |
Iterator iterator=featureStore.getSelection().iterator();
|
|
170 |
while (iterator.hasNext()) {
|
|
171 |
Feature feature = (Feature) iterator.next();
|
|
154 |
Iterator iterator; |
|
155 |
try {
|
|
156 |
iterator = ((FeatureSelection)featureStore.getSelection()).iterator();
|
|
172 | 157 |
|
173 |
// } |
|
174 |
// for (int i = 0; i < selectedRow.size(); i++) { |
|
175 |
// IRowEdited row = (IRowEdited) selectedRow.get(i); |
|
176 |
// IFeature feat = (IFeature) row.getLinkedRow().cloneRow(); |
|
177 |
Geometry ig = ((Geometry)feature.getDefaultGeometry()).cloneGeometry(); |
|
178 |
// Movemos los handlers que hemos seleccionado |
|
179 |
// previamente dentro del m?todo select() |
|
180 |
Handler[] handlers=ig.getHandlers(Geometry.SELECTHANDLER); |
|
181 |
for (int k = 0; k < selectedHandler.size(); k++) { |
|
182 |
Handler h = (Handler)selectedHandler.get(k); |
|
183 |
for (int j=0;j<handlers.length;j++) { |
|
184 |
if (h.getPoint().equals(handlers[j].getPoint())) |
|
185 |
handlers[j].set(x,y); |
|
158 |
while (iterator.hasNext()) { |
|
159 |
Feature feature = (Feature) iterator.next(); |
|
160 |
|
|
161 |
// } |
|
162 |
Geometry ig = ((Geometry)feature.getDefaultGeometry()).cloneGeometry(); |
|
163 |
// Movemos los handlers que hemos seleccionado |
|
164 |
// previamente dentro del m?todo select() |
|
165 |
Handler[] handlers=ig.getHandlers(Geometry.SELECTHANDLER); |
|
166 |
for (int k = 0; k < selectedHandler.size(); k++) { |
|
167 |
Handler h = (Handler)selectedHandler.get(k); |
|
168 |
for (int j=0;j<handlers.length;j++) { |
|
169 |
if (h.getPoint().equals(handlers[j].getPoint())) |
|
170 |
handlers[j].set(x,y); |
|
171 |
} |
|
186 | 172 |
} |
173 |
EditableFeature eFeature=feature.getEditable(); |
|
174 |
eFeature.setGeometry(featureStore.getDefaultFeatureType().getDefaultGeometryAttributeName(), ig); |
|
175 |
featureStore.update(eFeature); |
|
176 |
selectedRowsAux.add(eFeature); |
|
187 | 177 |
} |
188 |
try { |
|
189 |
feature.editing(); |
|
190 |
feature.setGeometry(featureStore.getDefaultFeatureType().getDefaultGeometryAttributeName(), ig); |
|
191 |
featureStore.update(feature); |
|
192 |
} catch (IsNotFeatureSettingException e) { |
|
193 |
// TODO Auto-generated catch block |
|
194 |
e.printStackTrace(); |
|
195 |
} catch (DataException e) { |
|
196 |
// TODO Auto-generated catch block |
|
197 |
e.printStackTrace(); |
|
198 |
} |
|
199 |
// modifyFeature(row.getIndex(), feat); |
|
200 |
selectedRowsAux.add(feature); |
|
178 |
} catch (DataException e1) { |
|
179 |
// TODO Auto-generated catch block |
|
180 |
e1.printStackTrace(); |
|
201 | 181 |
} |
202 | 182 |
firstPoint=new Point2D.Double(x,y); |
203 | 183 |
// vle.setSelectionCache(VectorialLayerEdited.SAVEPREVIOUS, selectedRowsAux); |
204 |
String description=PluginServices.getText(this,"move_handlers"); |
|
205 |
featureStore.getCommandsRecord().endComplex(description);
|
|
184 |
|
|
185 |
featureStore.endEditingGroup();
|
|
206 | 186 |
}else if (status.equals("Selection.NextPointPolygon")) { |
207 | 187 |
pointsPolygon.add(new Point2D.Double(x,y)); |
208 | 188 |
} |
... | ... | |
214 | 194 |
* @param y |
215 | 195 |
* @return numFeatures selected |
216 | 196 |
*/ |
217 |
public int selectWithSecondPointOutRectangle(double x, double y, InputEvent event) {
|
|
197 |
public long selectWithSecondPointOutRectangle(double x, double y, InputEvent event) {
|
|
218 | 198 |
Point2D lastPoint=new Point2D.Double(x,y); |
219 | 199 |
GeneralPathX gpx=new GeneralPathX(); |
220 | 200 |
gpx.moveTo(firstPoint.getX(),firstPoint.getY()); |
... | ... | |
231 | 211 |
* @param y |
232 | 212 |
* @return numFeatures selected |
233 | 213 |
*/ |
234 |
public int selectWithCircle(double x, double y, InputEvent event) {
|
|
214 |
public long selectWithCircle(double x, double y, InputEvent event) {
|
|
235 | 215 |
Geometry circle=geomFactory.createCircle(firstPoint,new Point2D.Double(x,y)); |
236 | 216 |
return selectWithPolygon(circle); |
237 | 217 |
} |
238 |
public int selectWithPolygon(Geometry polygon) {
|
|
218 |
public long selectWithPolygon(Geometry polygon) {
|
|
239 | 219 |
VectorialLayerEdited vle = getVLE(); |
240 | 220 |
PluginServices.getMDIManager().setWaitCursor(); |
241 | 221 |
|
... | ... | |
246 | 226 |
} else if (getType().equals(PluginServices.getText(this,"out_circle")) || getType().equals(PluginServices.getText(this,"out_polygon")) || getType().equals(PluginServices.getText(this,"out_rectangle"))) { |
247 | 227 |
vle.selectOutPolygon(polygon); |
248 | 228 |
} |
249 |
int countSelection=0;
|
|
229 |
long countSelection=0;
|
|
250 | 230 |
try { |
251 |
countSelection = vle.getFeatureStore().getSelection().size();
|
|
231 |
countSelection = ((FeatureSelection)vle.getFeatureStore().getSelection()).getSize();
|
|
252 | 232 |
} catch (ReadException e) { |
253 | 233 |
// TODO Auto-generated catch block |
254 | 234 |
e.printStackTrace(); |
235 |
} catch (DataException e) { |
|
236 |
// TODO Auto-generated catch block |
|
237 |
e.printStackTrace(); |
|
255 | 238 |
} |
256 |
// ArrayList selectedRow = vle.getSelectedRow(); |
|
257 | 239 |
PluginServices.getMDIManager().restoreCursor(); |
258 | 240 |
if (countSelection>0){ |
259 |
// if (selectedRow.size() > 0) { |
|
260 | 241 |
nextState = "Selection.WithSelectedFeatures"; |
261 | 242 |
end(); |
262 | 243 |
} else |
... | ... | |
304 | 285 |
} catch (GeometryOperationException e) { |
305 | 286 |
e.printStackTrace(); |
306 | 287 |
} |
307 |
// geomFactory.createPolyline2D(elShape).draw((Graphics2D) g, |
|
308 |
// vp, |
|
309 |
// DefaultCADTool.geometrySelectSymbol); |
|
310 | 288 |
Image img = vle.getSelectionImage(); |
311 | 289 |
g.drawImage(img, 0, 0, null); |
312 | 290 |
return; |
... | ... | |
327 | 305 |
} catch (GeometryOperationException e) { |
328 | 306 |
e.printStackTrace(); |
329 | 307 |
} |
330 |
// circleSel.draw((Graphics2D) g, |
|
331 |
// vp, |
|
332 |
// DefaultCADTool.geometrySelectSymbol); |
|
333 | 308 |
Image img = vle.getSelectionImage(); |
334 | 309 |
g.drawImage(img, 0, 0, null); |
335 | 310 |
return; |
... | ... | |
347 | 322 |
} catch (GeometryOperationException e) { |
348 | 323 |
e.printStackTrace(); |
349 | 324 |
} |
350 |
// polygon.draw((Graphics2D) g, |
|
351 |
// vp, |
|
352 |
// DefaultCADTool.geometrySelectSymbol); |
|
353 | 325 |
Image img = vle.getSelectionImage(); |
354 | 326 |
g.drawImage(img, 0, 0, null); |
355 | 327 |
return; |
... | ... | |
381 | 353 |
} catch (GeometryOperationException e) { |
382 | 354 |
e.printStackTrace(); |
383 | 355 |
} |
384 |
// geom.draw((Graphics2D) g, vp, DefaultCADTool.axisReferencesSymbol); |
|
385 | 356 |
} |
386 | 357 |
for (int k = 0; k < selectedHandler.size(); k++) { |
387 | 358 |
Handler h = (Handler)selectedHandler.get(k); |
... | ... | |
446 | 417 |
} |
447 | 418 |
init(); |
448 | 419 |
} |
449 |
private int selectAll() {
|
|
420 |
private long selectAll() {
|
|
450 | 421 |
VectorialLayerEdited vle = getVLE(); |
451 | 422 |
PluginServices.getMDIManager().setWaitCursor(); |
452 | 423 |
vle.selectAll(); |
453 |
int countSelection=0;
|
|
424 |
long countSelection=0;
|
|
454 | 425 |
try { |
455 |
countSelection = vle.getFeatureStore().getSelection().size();
|
|
426 |
countSelection = ((FeatureSelection)vle.getFeatureStore().getSelection()).getSize();
|
|
456 | 427 |
} catch (ReadException e) { |
457 | 428 |
// TODO Auto-generated catch block |
458 | 429 |
e.printStackTrace(); |
430 |
} catch (DataException e) { |
|
431 |
// TODO Auto-generated catch block |
|
432 |
e.printStackTrace(); |
|
459 | 433 |
} |
460 |
// ArrayList selectedRow = vle.getSelectedRow(); |
|
461 | 434 |
PluginServices.getMDIManager().restoreCursor(); |
462 | 435 |
if (countSelection > 0) { |
463 | 436 |
nextState = "Selection.WithSelectedFeatures"; |
... | ... | |
520 | 493 |
vle.selectWithPoint(x,y,multipleSelection); |
521 | 494 |
PluginServices.getMDIManager().restoreCursor(); |
522 | 495 |
} |
523 |
int countSelection=0;
|
|
496 |
long countSelection=0;
|
|
524 | 497 |
try { |
525 |
countSelection = vle.getFeatureStore().getSelection().size();
|
|
498 |
countSelection = ((FeatureSelection)vle.getFeatureStore().getSelection()).getSize();
|
|
526 | 499 |
} catch (ReadException e) { |
527 | 500 |
// TODO Auto-generated catch block |
528 | 501 |
e.printStackTrace(); |
502 |
} catch (DataException e) { |
|
503 |
// TODO Auto-generated catch block |
|
504 |
e.printStackTrace(); |
|
529 | 505 |
} |
530 | 506 |
if (countSelection > 0) { |
531 | 507 |
nextState = "Selection.WithSelectedFeatures"; |
... | ... | |
543 | 519 |
|
544 | 520 |
VectorialLayerEdited vle = getVLE(); |
545 | 521 |
ArrayList selectedHandler = vle.getSelectedHandler(); |
546 |
// ArrayList selectedRow = vle.getSelectedRow(); |
|
547 |
// System.out.println("DENTRO DE selectHandlers. selectedRow.size= " |
|
548 |
// + selectedRow.size()); |
|
549 | 522 |
selectedHandler.clear(); |
550 | 523 |
|
551 | 524 |
// Se comprueba si se pincha en una gemometr?a |
... | ... | |
563 | 536 |
// TODO Auto-generated catch block |
564 | 537 |
e.printStackTrace(); |
565 | 538 |
} |
566 |
Iterator iterator=featureStore.getSelection().iterator(); |
|
539 |
Iterator iterator=null; |
|
540 |
try { |
|
541 |
iterator = ((FeatureSelection)featureStore.getSelection()).iterator(); |
|
542 |
} catch (DataException e1) { |
|
543 |
// TODO Auto-generated catch block |
|
544 |
e1.printStackTrace(); |
|
545 |
} |
|
567 | 546 |
while (iterator.hasNext()) { |
568 | 547 |
Feature feature = (Feature) iterator.next(); |
569 | 548 |
|
570 |
// } |
|
571 |
// for (int i = 0; i < selectedRow.size(); i++) { |
|
572 |
// IRowEdited rowEd = (IRowEdited) selectedRow.get(i); |
|
573 |
// |
|
574 |
// IFeature fea = (IFeature) rowEd.getLinkedRow(); |
|
575 | 549 |
Geometry geom=((Geometry)feature.getDefaultGeometry()).cloneGeometry(); |
576 | 550 |
handlers = geom.getHandlers(Geometry.SELECTHANDLER); |
577 | 551 |
// y miramos los handlers de cada entidad seleccionada |
578 | 552 |
double min = tam; |
579 |
// int hSel = -1; |
|
580 | 553 |
|
581 | 554 |
for (int j = 0; j < handlers.length; j++) { |
582 | 555 |
Point2D handlerPoint = handlers[j].getPoint(); |
583 | 556 |
double distance = auxPoint.distance(handlerPoint); |
584 | 557 |
if (distance <= min) { |
585 | 558 |
min = distance; |
586 |
// hSel = j; |
|
587 | 559 |
selectedHandler.add(handlers[j]); |
588 |
Feature f;
|
|
560 |
EditableFeature eFeature;
|
|
589 | 561 |
try { |
590 |
f = featureStore.createNewFeature(false); |
|
591 |
|
|
592 |
f.editing(); |
|
593 |
FeatureType featureType=featureStore.getDefaultFeatureType(); |
|
594 |
for (int i = 0; i < featureType.size(); i++) { |
|
595 |
f.setAttribute(i,feature.get(i)); |
|
596 |
} |
|
597 |
f.setGeometry(featureType.getDefaultGeometryAttributeName(), geom); |
|
562 |
eFeature = featureStore.createNewFeature(false); |
|
563 |
FeatureType featureType=featureStore.getDefaultFeatureType(); |
|
564 |
for (int i = 0; i < featureType.size(); i++) { |
|
565 |
eFeature.set(i,feature.get(i)); |
|
566 |
} |
|
567 |
eFeature.setGeometry(featureType.getDefaultGeometryAttributeName(), geom); |
|
598 | 568 |
} catch (InitializeException e) { |
599 | 569 |
// TODO Auto-generated catch block |
600 | 570 |
e.printStackTrace(); |
branches/v2_0_0_prep/extensions/extCAD/src/com/iver/cit/gvsig/gui/cad/tools/JoinCADTool.java | ||
---|---|---|
52 | 52 |
|
53 | 53 |
import org.gvsig.fmap.data.exceptions.DataException; |
54 | 54 |
import org.gvsig.fmap.data.exceptions.ReadException; |
55 |
import org.gvsig.fmap.data.feature.EditableFeature; |
|
55 | 56 |
import org.gvsig.fmap.data.feature.Feature; |
57 |
import org.gvsig.fmap.data.feature.FeatureSelection; |
|
56 | 58 |
import org.gvsig.fmap.data.feature.FeatureStore; |
57 | 59 |
import org.gvsig.fmap.geom.Geometry; |
58 | 60 |
import org.gvsig.fmap.geom.GeometryFactory; |
... | ... | |
164 | 166 |
VectorialLayerEdited vle=getVLE(); |
165 | 167 |
Iterator iterator=null; |
166 | 168 |
try { |
167 |
iterator = vle.getFeatureStore().getSelection().iterator();
|
|
169 |
iterator = ((FeatureSelection)vle.getFeatureStore().getSelection()).iterator();
|
|
168 | 170 |
} catch (ReadException e1) { |
169 | 171 |
// TODO Auto-generated catch block |
170 | 172 |
e1.printStackTrace(); |
173 |
} catch (DataException e) { |
|
174 |
// TODO Auto-generated catch block |
|
175 |
e.printStackTrace(); |
|
171 | 176 |
} |
172 | 177 |
// ArrayList selectedRows=vle.getSelectedRow(); |
173 | 178 |
ViewPort vp=CADExtension.getEditionManager().getMapControl().getViewPort(); |
... | ... | |
209 | 214 |
} |
210 | 215 |
} |
211 | 216 |
private Handler[] getHandlers() throws ReadException { |
212 |
Iterator iterator=getVLE().getFeatureStore().getSelection().iterator(); |
|
217 |
Iterator iterator = null; |
|
218 |
try { |
|
219 |
iterator = ((FeatureSelection)getVLE().getFeatureStore().getSelection()).iterator(); |
|
220 |
} catch (DataException e) { |
|
221 |
// TODO Auto-generated catch block |
|
222 |
e.printStackTrace(); |
|
223 |
} |
|
213 | 224 |
ArrayList handlers=new ArrayList(); |
214 | 225 |
while (iterator.hasNext()) { |
215 | 226 |
Feature feature = (Feature) iterator.next(); |
... | ... | |
287 | 298 |
VectorialLayerEdited vle = getVLE(); |
288 | 299 |
// VectorialEditableAdapter vea = vle.getVEA(); |
289 | 300 |
FeatureStore featureStore=vle.getFeatureStore(); |
290 |
featureStore.getCommandsRecord().startComplex();
|
|
301 |
featureStore.beginEditingGroup(getName());
|
|
291 | 302 |
|
292 | 303 |
// String newFID = vea.getNewFID(); |
293 | 304 |
GeneralPathX gpx = new GeneralPathX(); |
... | ... | |
295 | 306 |
gpx.lineTo(points[1].getX(), points[1].getY()); |
296 | 307 |
|
297 | 308 |
Geometry geom = geomFactory.createPolyline2D(gpx); |
298 |
Feature df1=featureStore.createNewFeature(false); |
|
299 |
df1.editing(); |
|
300 |
df1.setGeometry(featureStore.getDefaultFeatureType().getDefaultGeometryAttributeName(), geom); |
|
309 |
EditableFeature eFeature=featureStore.createNewFeature(); |
|
310 |
eFeature.setGeometry(featureStore.getDefaultFeatureType().getDefaultGeometryAttributeName(), geom); |
|
301 | 311 |
// DefaultFeature df1 = new DefaultFeature(geom, null, newFID); |
302 |
Iterator iterator=featureStore.getSelection().iterator();
|
|
312 |
Iterator iterator=((FeatureSelection)featureStore.getSelection()).iterator();
|
|
303 | 313 |
while (iterator.hasNext()) { |
304 | 314 |
Feature feature = (Feature) iterator.next(); |
305 | 315 |
|
... | ... | |
307 | 317 |
// for (int i = rows.length - 1; i >= 0; i--) { |
308 | 318 |
featureStore.delete(feature); |
309 | 319 |
} |
310 |
featureStore.insert(df1);
|
|
320 |
featureStore.insert(eFeature);
|
|
311 | 321 |
// int index1 = vea.addRow(df1, PluginServices.getText(this, "parte1"), |
312 | 322 |
// EditionEvent.GRAPHIC); |
313 | 323 |
//clearSelection(); |
314 | 324 |
ArrayList selectedRowAux = new ArrayList(); |
315 |
selectedRowAux.add(df1);
|
|
325 |
selectedRowAux.add(eFeature);
|
|
316 | 326 |
// vle.setSelectionCache(VectorialLayerEdited.NOTSAVEPREVIOUS, selectedRowAux); |
317 |
featureStore.getCommandsRecord().endComplex(getName());
|
|
327 |
featureStore.endEditingGroup();
|
|
318 | 328 |
|
319 | 329 |
} |
320 | 330 |
|
branches/v2_0_0_prep/extensions/extCAD/src/com/iver/cit/gvsig/gui/cad/DefaultCADTool.java | ||
---|---|---|
46 | 46 |
import java.awt.event.MouseEvent; |
47 | 47 |
import java.awt.geom.AffineTransform; |
48 | 48 |
import java.awt.geom.Point2D; |
49 |
import java.awt.geom.Rectangle2D; |
|
50 | 49 |
import java.awt.image.BufferedImage; |
51 | 50 |
import java.util.ArrayList; |
52 | 51 |
import java.util.Iterator; |
... | ... | |
54 | 53 |
import org.apache.log4j.Logger; |
55 | 54 |
import org.gvsig.fmap.data.exceptions.DataException; |
56 | 55 |
import org.gvsig.fmap.data.exceptions.ReadException; |
57 |
import org.gvsig.fmap.data.feature.AbstractFeature; |
|
58 | 56 |
import org.gvsig.fmap.data.feature.CommandsRecord; |
57 |
import org.gvsig.fmap.data.feature.EditableFeature; |
|
59 | 58 |
import org.gvsig.fmap.data.feature.Feature; |
60 | 59 |
import org.gvsig.fmap.data.feature.FeatureSet; |
61 | 60 |
import org.gvsig.fmap.data.feature.FeatureStore; |
... | ... | |
299 | 298 |
* @param geometry |
300 | 299 |
* DOCUMENT ME! |
301 | 300 |
*/ |
302 |
public void modifyFeature(Feature feature, Feature oldFeature) { |
|
303 |
try { |
|
304 |
CommandsRecord cr=((FLyrVect)getVLE().getLayer()).getFeatureStore().getCommandsRecord(); |
|
305 |
cr.update(feature, oldFeature); |
|
306 |
} catch (ReadException e) { |
|
307 |
NotificationManager.addError(e.getMessage(),e); |
|
308 |
} |
|
309 |
draw(((Geometry)feature.getDefaultGeometry()).cloneGeometry()); |
|
310 |
} |
|
301 |
// public void modifyFeature(Feature feature, Feature oldFeature) {
|
|
302 |
// try {
|
|
303 |
// CommandsRecord cr=((FLyrVect)getVLE().getLayer()).getFeatureStore().getCommandsRecord();
|
|
304 |
// cr.update(feature, oldFeature);
|
|
305 |
// } catch (ReadException e) {
|
|
306 |
// NotificationManager.addError(e.getMessage(),e);
|
|
307 |
// }
|
|
308 |
// draw(((Geometry)feature.getDefaultGeometry()).cloneGeometry());
|
|
309 |
// }
|
|
311 | 310 |
|
312 | 311 |
/** |
313 | 312 |
* DOCUMENT ME! |
... | ... | |
321 | 320 |
// int index = 0; |
322 | 321 |
try { |
323 | 322 |
FeatureStore featureStore = ((FLyrVect)getVLE().getLayer()).getFeatureStore(); |
324 |
Feature feature=featureStore.createNewFeature(true); |
|
325 |
feature.editing(); |
|
326 |
feature.setGeometry(featureStore.getDefaultFeatureType().getDefaultGeometryAttributeName(),geometry); |
|
323 |
EditableFeature eFeature=featureStore.createNewFeature(true); |
|
324 |
eFeature.setGeometry(featureStore.getDefaultFeatureType().getDefaultGeometryAttributeName(),geometry); |
|
327 | 325 |
for (int i = 0; i < values.length; i++) { |
328 |
feature.setAttribute(i,values[i]);
|
|
326 |
eFeature.set(i,values[i]);
|
|
329 | 327 |
} |
330 |
featureStore.insert(feature);
|
|
331 |
return feature;
|
|
328 |
featureStore.insert(eFeature);
|
|
329 |
return eFeature;
|
|
332 | 330 |
} catch (DataException e) { |
333 | 331 |
// TODO Auto-generated catch block |
334 | 332 |
e.printStackTrace(); |
... | ... | |
393 | 391 |
FeatureSet selection=null; |
394 | 392 |
try { |
395 | 393 |
selection = (FeatureSet)((FLyrVect)getVLE().getLayer()).getFeatureStore().getSelection(); |
394 |
|
|
395 |
Iterator iterator=selection.iterator(); |
|
396 |
while (iterator.hasNext()) { |
|
397 |
Feature feature = (Feature) iterator.next(); |
|
398 |
|
|
399 |
// } |
|
400 |
// for (int i = 0; i < selectedRows.size(); i++) { |
|
401 |
// IRowEdited edRow = (IRowEdited) selectedRows.get(i); |
|
402 |
// IFeature feat = (IFeature) edRow.getLinkedRow(); |
|
403 |
// IFeature feat = (IFeature) selectedRows.get(i); |
|
404 |
Geometry ig = ((Geometry)feature.getDefaultGeometry()).cloneGeometry(); |
|
405 |
if (ig == null) |
|
406 |
continue; |
|
407 |
Handler[] handlers = ig.getHandlers(Geometry.SELECTHANDLER); |
|
408 |
FGraphicUtilities.DrawHandlers((Graphics2D) g, at, handlers,DefaultCADTool.handlerSymbol); |
|
409 |
} |
|
396 | 410 |
} catch (ReadException e) { |
397 | 411 |
// TODO Auto-generated catch block |
398 | 412 |
e.printStackTrace(); |
413 |
} catch (DataException e) { |
|
414 |
// TODO Auto-generated catch block |
|
415 |
e.printStackTrace(); |
|
399 | 416 |
} |
400 |
Iterator iterator=selection.iterator(); |
|
401 |
while (iterator.hasNext()) { |
|
402 |
Feature feature = (Feature) iterator.next(); |
|
403 |
|
|
404 |
// } |
|
405 |
// for (int i = 0; i < selectedRows.size(); i++) { |
|
406 |
// IRowEdited edRow = (IRowEdited) selectedRows.get(i); |
|
407 |
// IFeature feat = (IFeature) edRow.getLinkedRow(); |
|
408 |
// IFeature feat = (IFeature) selectedRows.get(i); |
|
409 |
Geometry ig = ((Geometry)feature.getDefaultGeometry()).cloneGeometry(); |
|
410 |
if (ig == null) |
|
411 |
continue; |
|
412 |
Handler[] handlers = ig.getHandlers(Geometry.SELECTHANDLER); |
|
413 |
FGraphicUtilities.DrawHandlers((Graphics2D) g, at, handlers,DefaultCADTool.handlerSymbol); |
|
414 |
} |
|
415 | 417 |
} |
416 | 418 |
|
417 | 419 |
public void setDescription(String[] currentdescriptions) { |
... | ... | |
455 | 457 |
|
456 | 458 |
public void clearSelection() throws ReadException { |
457 | 459 |
VectorialLayerEdited vle = getVLE(); |
458 |
FeatureSet selection=(FeatureSet)((FLyrVect)vle.getLayer()).getFeatureStore().getSelection(); |
|
460 |
FeatureSet selection=null; |
|
461 |
try { |
|
462 |
selection = (FeatureSet)((FLyrVect)vle.getLayer()).getFeatureStore().getSelection(); |
|
463 |
} catch (DataException e) { |
|
464 |
// TODO Auto-generated catch block |
|
465 |
e.printStackTrace(); |
|
466 |
} |
|
459 | 467 |
// ArrayList selectedRow = vle.getSelectedRow(); |
460 | 468 |
ArrayList selectedHandlers = vle.getSelectedHandler(); |
461 |
selection.clear();
|
|
469 |
selection.dispose();
|
|
462 | 470 |
selectedHandlers.clear(); |
463 | 471 |
// VectorialEditableAdapter vea = vle.getVEA(); |
464 | 472 |
// FBitSet selection = vea.getSelection(); |
Also available in: Unified diff