Revision 27525 branches/v2_0_0_prep/extensions/extEditing/src/com/iver/cit/gvsig/gui/cad/tools/CopyCADTool.java
CopyCADTool.java | ||
---|---|---|
44 | 44 |
import java.awt.Image; |
45 | 45 |
import java.awt.event.InputEvent; |
46 | 46 |
import java.awt.geom.Point2D; |
47 |
import java.util.Iterator; |
|
48 | 47 |
|
49 | 48 |
import org.gvsig.fmap.dal.exception.DataException; |
50 | 49 |
import org.gvsig.fmap.dal.exception.ReadException; |
50 |
import org.gvsig.fmap.dal.feature.DisposableIterator; |
|
51 | 51 |
import org.gvsig.fmap.dal.feature.Feature; |
52 | 52 |
import org.gvsig.fmap.dal.feature.FeatureSelection; |
53 | 53 |
import org.gvsig.fmap.dal.feature.FeatureSet; |
... | ... | |
149 | 149 |
FeatureStore featureStore=null; |
150 | 150 |
try { |
151 | 151 |
featureStore = vle.getFeatureStore(); |
152 |
// FeatureSelection selection = featureStore.createFeatureSelection(); |
|
153 |
// selection.select((FeatureSet) featureStore.getSelection()); |
|
154 |
FeatureSelection selection = (FeatureSelection) featureStore
|
|
155 |
.getSelection();
|
|
152 |
// FeatureSelection selection = featureStore.createFeatureSelection();
|
|
153 |
// selection.select((FeatureSet) featureStore.getSelection());
|
|
154 |
FeatureSelection selection = (FeatureSelection) featureStore
|
|
155 |
.getSelection();
|
|
156 | 156 |
if (status.equals("Copy.FirstPointToMove")) { |
157 | 157 |
firstPoint = new Point2D.Double(x, y); |
158 | 158 |
} else if (status.equals("Copy.SecondPointToMove")) { |
... | ... | |
161 | 161 |
featureStore.beginEditingGroup(getName()); |
162 | 162 |
|
163 | 163 |
FeatureSelection newSelection = featureStore |
164 |
.createFeatureSelection();
|
|
164 |
.createFeatureSelection();
|
|
165 | 165 |
|
166 |
Iterator iterator = selection.iterator();
|
|
166 |
DisposableIterator iterator = null;
|
|
167 | 167 |
|
168 |
featureStore.beginComplexNotification(); |
|
168 |
try{ |
|
169 |
iterator = selection.iterator(); |
|
169 | 170 |
|
170 |
while (iterator.hasNext()) { |
|
171 |
Feature feature = (Feature) iterator.next(); |
|
172 |
// Movemos la geometr?a |
|
173 |
Geometry geometry=(feature.getDefaultGeometry()).cloneGeometry(); |
|
174 |
// EditableFeature eFeature=featureStore.createNewFeature(true); |
|
175 |
UtilFunctions.moveGeom(geometry, lastPoint.getX() - |
|
176 |
firstPoint.getX(), lastPoint.getY() - firstPoint.getY()); |
|
177 |
// eFeature.setGeometry(featureStore.getDefaultFeatureType().getDefaultGeometryAttributeName(),geometry); |
|
178 |
// featureStore.insert(eFeature); |
|
179 |
newSelection.select(insertGeometry(geometry, feature)); |
|
171 |
featureStore.beginComplexNotification(); |
|
172 |
|
|
173 |
while (iterator.hasNext()) { |
|
174 |
Feature feature = (Feature) iterator.next(); |
|
175 |
// Movemos la geometr?a |
|
176 |
Geometry geometry=(feature.getDefaultGeometry()).cloneGeometry(); |
|
177 |
// EditableFeature eFeature=featureStore.createNewFeature(true); |
|
178 |
UtilFunctions.moveGeom(geometry, lastPoint.getX() - |
|
179 |
firstPoint.getX(), lastPoint.getY() - firstPoint.getY()); |
|
180 |
// eFeature.setGeometry(featureStore.getDefaultFeatureType().getDefaultGeometryAttributeName(),geometry); |
|
181 |
// featureStore.insert(eFeature); |
|
182 |
newSelection.select(insertGeometry(geometry, feature)); |
|
183 |
} |
|
184 |
// clearSelection(); |
|
185 |
featureStore.endComplexNotification(); |
|
186 |
featureStore.setSelection(newSelection); |
|
187 |
featureStore.endEditingGroup(); |
|
188 |
PluginServices.getMDIManager().restoreCursor(); |
|
189 |
} catch (DataException e) { |
|
190 |
featureStore.endComplexNotification(); |
|
191 |
throw e; |
|
192 |
} finally{ |
|
193 |
if (iterator != null){ |
|
194 |
iterator.dispose(); |
|
195 |
} |
|
180 | 196 |
} |
181 |
// clearSelection(); |
|
182 |
featureStore.endComplexNotification();
|
|
183 |
featureStore.setSelection(newSelection);
|
|
184 |
featureStore.endEditingGroup();
|
|
185 |
PluginServices.getMDIManager().restoreCursor();
|
|
197 |
|
|
198 |
} else {
|
|
199 |
}
|
|
200 |
} catch (DataException e) {
|
|
201 |
NotificationManager.addError(e.getMessage(),e);
|
|
186 | 202 |
} |
187 |
} catch (ReadException e) { |
|
188 |
NotificationManager.addError(e.getMessage(),e); |
|
189 |
} catch (DataException e) { |
|
190 |
// TODO Auto-generated catch block |
|
191 |
e.printStackTrace(); |
|
192 | 203 |
} |
193 |
} |
|
194 | 204 |
|
195 | 205 |
/** |
196 | 206 |
* M?todo para dibujar la lo necesario para el estado en el que nos |
Also available in: Unified diff