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

View differences:

MoveCADTool.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.IFeature;
53 54
import com.iver.cit.gvsig.fmap.core.IGeometry;
54 55
import com.iver.cit.gvsig.fmap.drivers.DriverIOException;
56
import com.iver.cit.gvsig.fmap.edition.DefaultRowEdited;
55 57
import com.iver.cit.gvsig.fmap.edition.IRowEdited;
56 58
import com.iver.cit.gvsig.fmap.edition.UtilFunctions;
57 59
import com.iver.cit.gvsig.fmap.edition.VectorialEditableAdapter;
58
import com.iver.cit.gvsig.gui.cad.CADTool;
59 60
import com.iver.cit.gvsig.gui.cad.DefaultCADTool;
60 61
import com.iver.cit.gvsig.gui.cad.tools.smc.MoveCADToolContext;
61 62
import com.iver.cit.gvsig.gui.cad.tools.smc.MoveCADToolContext.MoveCADToolState;
63
import com.iver.cit.gvsig.layers.VectorialLayerEdited;
62 64

  
63 65

  
64 66
/**
......
128 130
    public void addPoint(double x, double y,InputEvent event) {
129 131
        MoveCADToolState actualState = (MoveCADToolState) _fsm.getPreviousState();
130 132
        String status = actualState.getName();
131
        VectorialEditableAdapter vea = getCadToolAdapter().getVectorialAdapter();
133
        VectorialLayerEdited vle=getVLE();
134
        VectorialEditableAdapter vea = vle.getVEA();
132 135
        ArrayList selectedRow=getSelectedRows();
133 136

  
134 137
    	if (status.equals("Move.FirstPointToMove")) {
135 138
            firstPoint = new Point2D.Double(x, y);
136 139
        } else if (status.equals("Move.SecondPointToMove")) {
137 140
            PluginServices.getMDIManager().setWaitCursor();
138
            lastPoint = new Point2D.Double(x, y);
141
           lastPoint = new Point2D.Double(x, y);
139 142
            vea.startComplexRow();
140 143

  
141 144
            try {
145
            	///ArrayList selectedRowAux=new ArrayList();
142 146
              for (int i = 0; i < selectedRow.size(); i++) {
143 147
        			IRowEdited edRow = (IRowEdited) selectedRow.get(i);
144 148
        			IFeature feat = (IFeature) edRow.getLinkedRow().cloneRow();
......
149 153
                    UtilFunctions.moveGeom(ig, lastPoint.getX() -
150 154
                            firstPoint.getX(), lastPoint.getY() - firstPoint.getY());
151 155

  
152
                    vea.modifyRow(edRow.getIndex(),feat,getName());
153
        		}
156
                    int index=vea.modifyRow(edRow.getIndex(),feat,getName());
157
                   /// selectedRowAux.add(new DefaultRowEdited(feat,IRowEdited.STATUS_MODIFIED,index));
158
              }
159
                vea.endComplexRow();
160
                clearSelection();
161
              	///selectedRow=selectedRowAux;
154 162

  
155
                clearSelection();
156
                vea.endComplexRow();
157 163
            } catch (DriverIOException e) {
158 164
                e.printStackTrace();
159 165
            } catch (IOException e) {
......
174 180
    public void drawOperation(Graphics g, double x, double y) {
175 181
        MoveCADToolState actualState = ((MoveCADToolContext) _fsm).getState();
176 182
        String status = actualState.getName();
177
        ArrayList selectedRow=getSelectedRows();
178
        	drawHandlers(g, selectedRow,
183
        VectorialLayerEdited vle=getVLE();
184
        //ArrayList selectedRow=getSelectedRows();
185
        	/*drawHandlers(g, selectedRow,
179 186
                     getCadToolAdapter().getMapControl().getViewPort()
180 187
                         .getAffineTransform());
188
        */
181 189
        if (status.equals("Move.SecondPointToMove")) {
182
            for (int i = 0; i < selectedRow.size(); i++) {
190
        	ViewPort vp=vle.getLayer().getFMap().getViewPort();
191
            int dx = vp.fromMapDistance(x - firstPoint.getX());
192
            int dy = -vp.fromMapDistance(y - firstPoint.getY());
193
            Image img = vle.getSelectionImage();
194
            g.drawImage(img, dx, dy, null);
195
        	/*for (int i = 0; i < selectedRow.size(); i++) {
183 196
    			IRowEdited edRow = (IRowEdited) selectedRow.get(i);
184 197
    			IFeature feat = (IFeature) edRow.getLinkedRow();
185 198
    			IGeometry ig = feat.getGeometry().cloneGeometry();
......
190 203
                ig.draw((Graphics2D) g,
191 204
                    getCadToolAdapter().getMapControl().getViewPort(),
192 205
                    CADTool.drawingSymbol);
193
    		}
206
    		}*/
207
        }else{
208
        	 Image imgSel = vle.getSelectionImage();
209
             g.drawImage(imgSel, 0, 0, null);
210
             Image imgHand = vle.getHandlersImage();
211
             g.drawImage(imgHand, 0, 0, null);
194 212
        }
195 213
    }
196 214

  

Also available in: Unified diff