Revision 4637 trunk/extensions/extCAD/src/com/iver/cit/gvsig/gui/cad/tools/CopyCADTool.java
CopyCADTool.java | ||
---|---|---|
41 | 41 |
package com.iver.cit.gvsig.gui.cad.tools; |
42 | 42 |
|
43 | 43 |
import java.awt.Graphics; |
44 |
import java.awt.Graphics2D;
|
|
44 |
import java.awt.Image;
|
|
45 | 45 |
import java.awt.event.InputEvent; |
46 | 46 |
import java.awt.geom.Point2D; |
47 | 47 |
import java.io.IOException; |
... | ... | |
49 | 49 |
|
50 | 50 |
import com.iver.andami.PluginServices; |
51 | 51 |
import com.iver.cit.gvsig.CADExtension; |
52 |
import com.iver.cit.gvsig.fmap.ViewPort; |
|
52 | 53 |
import com.iver.cit.gvsig.fmap.core.DefaultFeature; |
53 |
import com.iver.cit.gvsig.fmap.core.IFeature; |
|
54 |
import com.iver.cit.gvsig.fmap.core.IGeometry; |
|
55 | 54 |
import com.iver.cit.gvsig.fmap.drivers.DriverIOException; |
56 | 55 |
import com.iver.cit.gvsig.fmap.edition.DefaultRowEdited; |
57 |
import com.iver.cit.gvsig.fmap.edition.IRowEdited; |
|
58 | 56 |
import com.iver.cit.gvsig.fmap.edition.UtilFunctions; |
59 | 57 |
import com.iver.cit.gvsig.fmap.edition.VectorialEditableAdapter; |
60 |
import com.iver.cit.gvsig.gui.cad.CADTool; |
|
61 | 58 |
import com.iver.cit.gvsig.gui.cad.DefaultCADTool; |
62 | 59 |
import com.iver.cit.gvsig.gui.cad.tools.smc.CopyCADToolContext; |
63 | 60 |
import com.iver.cit.gvsig.gui.cad.tools.smc.CopyCADToolContext.CopyCADToolState; |
61 |
import com.iver.cit.gvsig.layers.VectorialLayerEdited; |
|
64 | 62 |
|
65 | 63 |
|
66 | 64 |
/** |
... | ... | |
130 | 128 |
public void addPoint(double x, double y,InputEvent event) { |
131 | 129 |
CopyCADToolState actualState = (CopyCADToolState) _fsm.getPreviousState(); |
132 | 130 |
String status = actualState.getName(); |
133 |
VectorialEditableAdapter vea = getCadToolAdapter().getVectorialAdapter(); |
|
131 |
VectorialLayerEdited vle=getVLE(); |
|
132 |
VectorialEditableAdapter vea = vle.getVEA(); |
|
134 | 133 |
ArrayList selectedRow=getSelectedRows(); |
135 | 134 |
|
136 | 135 |
if (status.equals("Copy.FirstPointToMove")) { |
... | ... | |
141 | 140 |
vea.startComplexRow(); |
142 | 141 |
|
143 | 142 |
try { |
143 |
///ArrayList selectedRowAux=new ArrayList(); |
|
144 |
|
|
144 | 145 |
for (int i = 0; i < selectedRow.size(); i++) { |
145 | 146 |
DefaultFeature fea = (DefaultFeature) ((DefaultRowEdited)selectedRow.get(i)) |
146 | 147 |
.getLinkedRow() |
... | ... | |
149 | 150 |
UtilFunctions.moveGeom(fea.getGeometry(), lastPoint.getX() - |
150 | 151 |
firstPoint.getX(), lastPoint.getY() - firstPoint.getY()); |
151 | 152 |
|
152 |
vea.addRow(fea,getName()); |
|
153 |
int index=vea.addRow(fea,getName()); |
|
154 |
/// selectedRowAux.add(new DefaultRowEdited(fea,IRowEdited.STATUS_ADDED,index)); |
|
153 | 155 |
} |
154 |
|
|
155 |
vea.endComplexRow(); |
|
156 |
vea.endComplexRow(); |
|
157 |
clearSelection(); |
|
158 |
/// selectedRow=selectedRowAux; |
|
156 | 159 |
} catch (DriverIOException e) { |
157 | 160 |
e.printStackTrace(); |
158 | 161 |
} catch (IOException e) { |
159 | 162 |
e.printStackTrace(); |
160 | 163 |
} |
161 |
clearSelection(); |
|
164 |
|
|
162 | 165 |
PluginServices.getMDIManager().restoreCursor(); |
163 | 166 |
} |
164 | 167 |
} |
... | ... | |
174 | 177 |
public void drawOperation(Graphics g, double x, double y) { |
175 | 178 |
CopyCADToolState actualState = ((CopyCADToolContext) _fsm).getState(); |
176 | 179 |
String status = actualState.getName(); |
177 |
ArrayList selectedRow=getSelectedRows(); |
|
178 |
drawHandlers(g, selectedRow, |
|
179 |
getCadToolAdapter().getMapControl().getViewPort() |
|
180 |
.getAffineTransform()); |
|
180 |
VectorialLayerEdited vle=getVLE(); |
|
181 |
//ArrayList selectedRow=getSelectedRows(); |
|
182 |
// drawHandlers(g, selectedRow, |
|
183 |
// getCadToolAdapter().getMapControl().getViewPort() |
|
184 |
// .getAffineTransform()); |
|
181 | 185 |
if (status.equals("Copy.SecondPointToMove")) { |
182 |
///int dx = getCadToolAdapter().getMapControl().getViewPort().fromMapDistance(x - firstPoint.getX());
|
|
183 |
///int dy = -getCadToolAdapter().getMapControl().getViewPort().fromMapDistance(y - firstPoint.getY());
|
|
184 |
///Image img = getCadToolAdapter().getVectorialAdapter().getImage();
|
|
185 |
///g.drawImage(img, dx, dy, null);
|
|
186 |
for (int i = 0; i < selectedRow.size(); i++) {
|
|
187 |
//IGeometry geometry = vea.getShape(i).cloneGeometry();
|
|
186 |
ViewPort vp=vle.getLayer().getFMap().getViewPort();
|
|
187 |
int dx = vp.fromMapDistance(x - firstPoint.getX());
|
|
188 |
int dy = -vp.fromMapDistance(y - firstPoint.getY());
|
|
189 |
Image img = vle.getSelectionImage();
|
|
190 |
g.drawImage(img, dx, dy, null);
|
|
191 |
/* for (int i = 0; i < selectedRow.size(); i++) {
|
|
188 | 192 |
IRowEdited edRow = (IRowEdited) selectedRow.get(i); |
189 | 193 |
IFeature feat = (IFeature) edRow.getLinkedRow(); |
190 | 194 |
IGeometry geometry = feat.getGeometry().cloneGeometry(); |
... | ... | |
194 | 198 |
getCadToolAdapter().getMapControl().getViewPort(), |
195 | 199 |
CADTool.drawingSymbol); |
196 | 200 |
} |
201 |
*/ |
|
202 |
}else{ |
|
203 |
Image imgSel = vle.getSelectionImage(); |
|
204 |
g.drawImage(imgSel, 0, 0, null); |
|
205 |
Image imgHand = vle.getHandlersImage(); |
|
206 |
g.drawImage(imgHand, 0, 0, null); |
|
197 | 207 |
} |
198 | 208 |
} |
199 | 209 |
|
Also available in: Unified diff