Revision 4637 trunk/extensions/extCAD/src/com/iver/cit/gvsig/gui/cad/tools/CopyCADTool.java

View differences:

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