Revision 4458

View differences:

trunk/extensions/extCAD/src/com/iver/cit/gvsig/gui/cad/DefaultCADTool.java
72 72

  
73 73
/**
74 74
 * DOCUMENT ME!
75
 * 
75
 *
76 76
 * @author Vicente Caballero Navarro
77 77
 */
78 78
public abstract class DefaultCADTool implements CADTool {
......
96 96

  
97 97
	/**
98 98
	 * DOCUMENT ME!
99
	 * 
99
	 *
100 100
	 * @param cta
101 101
	 *            DOCUMENT ME!
102 102
	 */
......
106 106

  
107 107
	/**
108 108
	 * DOCUMENT ME!
109
	 * 
109
	 *
110 110
	 * @return DOCUMENT ME!
111 111
	 */
112 112
	public CADToolAdapter getCadToolAdapter() {
......
115 115

  
116 116
	/**
117 117
	 * DOCUMENT ME!
118
	 * 
118
	 *
119 119
	 * @param g
120 120
	 *            DOCUMENT ME!
121 121
	 * @param firstPoint
......
134 134

  
135 135
	/**
136 136
	 * DOCUMENT ME!
137
	 * 
137
	 *
138 138
	 * @param geometry
139 139
	 *            DOCUMENT ME!
140 140
	 */
......
174 174

  
175 175
	/**
176 176
	 * DOCUMENT ME!
177
	 * 
177
	 *
178 178
	 * @param geometry
179 179
	 *            DOCUMENT ME!
180 180
	 */
......
194 194

  
195 195
	/**
196 196
	 * DOCUMENT ME!
197
	 * 
197
	 *
198 198
	 * @param geometry
199 199
	 *            DOCUMENT ME!
200 200
	 * @param values
......
205 205

  
206 206
	/**
207 207
	 * Devuelve la cadena que corresponde al estado en el que nos encontramos.
208
	 * 
208
	 *
209 209
	 * @return Cadena para mostrar por consola.
210 210
	 */
211 211
	public String getQuestion() {
......
214 214

  
215 215
	/**
216 216
	 * Actualiza la cadena que corresponde al estado actual.
217
	 * 
217
	 *
218 218
	 * @param s
219 219
	 *            Cadena que aparecer? en consola.
220 220
	 */
......
229 229
		getCadToolAdapter().getMapControl().drawMap(false);
230 230
	}
231 231

  
232
	public void drawHandlers(Graphics g, FBitSet sel, AffineTransform at)
232
	/*public void drawHandlers(Graphics g, FBitSet sel, AffineTransform at)
233 233
			throws DriverIOException {
234 234
		for (int i = sel.nextSetBit(0); i >= 0; i = sel.nextSetBit(i + 1)) {
235 235
			IGeometry ig = getCadToolAdapter().getVectorialAdapter()
......
240 240
			FGraphicUtilities.DrawHandlers((Graphics2D) g, at, handlers);
241 241
		}
242 242
	}
243

  
243
*/
244 244
	public void drawHandlers(Graphics g, ArrayList selectedRows,
245 245
			AffineTransform at) {
246 246
		for (int i = 0; i < selectedRows.size(); i++) {
......
265 265

  
266 266
	/*
267 267
	 * (non-Javadoc)
268
	 * 
268
	 *
269 269
	 * @see com.iver.cit.gvsig.gui.cad.CADTool#end()
270 270
	 */
271 271
	public void end() {
trunk/extensions/extCAD/src/com/iver/cit/gvsig/gui/cad/tools/MoveCADTool.java
45 45
import java.awt.event.InputEvent;
46 46
import java.awt.geom.Point2D;
47 47
import java.io.IOException;
48
import java.util.ArrayList;
48 49

  
49 50
import com.iver.andami.PluginServices;
50 51
import com.iver.cit.gvsig.CADExtension;
51
import com.iver.cit.gvsig.fmap.core.DefaultFeature;
52
import com.iver.cit.gvsig.fmap.core.IFeature;
52 53
import com.iver.cit.gvsig.fmap.core.IGeometry;
53 54
import com.iver.cit.gvsig.fmap.drivers.DriverIOException;
55
import com.iver.cit.gvsig.fmap.edition.IRowEdited;
54 56
import com.iver.cit.gvsig.fmap.edition.UtilFunctions;
55 57
import com.iver.cit.gvsig.fmap.edition.VectorialEditableAdapter;
56 58
import com.iver.cit.gvsig.fmap.layers.FBitSet;
......
58 60
import com.iver.cit.gvsig.gui.cad.DefaultCADTool;
59 61
import com.iver.cit.gvsig.gui.cad.tools.smc.MoveCADToolContext;
60 62
import com.iver.cit.gvsig.gui.cad.tools.smc.MoveCADToolContext.MoveCADToolState;
63
import com.iver.cit.gvsig.layers.VectorialLayerEdited;
61 64

  
62 65

  
63 66
/**
......
130 133
        MoveCADToolState actualState = (MoveCADToolState) _fsm.getPreviousState();
131 134
        String status = actualState.getName();
132 135
        VectorialEditableAdapter vea = getCadToolAdapter().getVectorialAdapter();
133
        FBitSet selection = vea.getSelection();
136
        VectorialLayerEdited vle = (VectorialLayerEdited) CADExtension
137
		.getEditionManager().getActiveLayerEdited();
138
    	ArrayList selectedRow = vle.getSelectedRow();
134 139

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

  
142 147
            try {
143
                for (int i = selection.nextSetBit(0); i >= 0;
144
                        i = selection.nextSetBit(i + 1)) {
145
                    DefaultFeature fea = (DefaultFeature) vea.getRow(i)
146
                                                             .getLinkedRow()
147
                                                             .cloneRow();
148
                    // Movemos la geometr?a
149
                    UtilFunctions.moveGeom(fea.getGeometry(), lastPoint.getX() -
148
              for (int i = 0; i < selectedRow.size(); i++) {
149
        			IRowEdited edRow = (IRowEdited) selectedRow.get(i);
150
        			IFeature feat = (IFeature) edRow.getLinkedRow().cloneRow();
151
        			IGeometry ig = feat.getGeometry();
152
        			if (ig == null)
153
        				continue;
154
        			 // Movemos la geometr?a
155
                    UtilFunctions.moveGeom(ig, lastPoint.getX() -
150 156
                            firstPoint.getX(), lastPoint.getY() - firstPoint.getY());
151 157

  
152
                    vea.modifyRow(i,fea,getName());
153
                }
154

  
158
                    vea.modifyRow(edRow.getIndex(),feat,getName());
159
        		}
160
                selectedRow.clear();
155 161
                vea.endComplexRow();
156 162
            } catch (DriverIOException e) {
157
                // TODO Auto-generated catch block
158 163
                e.printStackTrace();
159 164
            } catch (IOException e) {
160
                // TODO Auto-generated catch block
161 165
                e.printStackTrace();
162 166
            }
163

  
164
            selection.clear();
165 167
            PluginServices.getMDIManager().restoreCursor();
166

  
167
            //ret = ret | copyStatus.transition("cancel");
168 168
        }
169 169
    }
170 170

  
......
179 179
    public void drawOperation(Graphics g, double x, double y) {
180 180
        MoveCADToolState actualState = ((MoveCADToolContext) _fsm).getState();
181 181
        String status = actualState.getName();
182
        VectorialEditableAdapter vea = getCadToolAdapter().getVectorialAdapter();
183
        FBitSet selection = vea.getSelection();
184

  
185
        try {
186
            drawHandlers(g, selection,
187
                getCadToolAdapter().getMapControl().getViewPort()
188
                    .getAffineTransform());
189
        } catch (DriverIOException e) {
190
            // TODO Auto-generated catch block
191
            e.printStackTrace();
192
        }
193

  
182
        	VectorialLayerEdited vle = (VectorialLayerEdited) CADExtension
183
			.getEditionManager().getActiveLayerEdited();
184
        	ArrayList selectedRow = vle.getSelectedRow();
185
        	drawHandlers(g, selectedRow,
186
                     getCadToolAdapter().getMapControl().getViewPort()
187
                         .getAffineTransform());
194 188
        if (status.equals("Move.SecondPointToMove")) {
195
            ///int dx = getCadToolAdapter().getMapControl().getViewPort().fromMapDistance(x - firstPoint.getX());
196
            ///int dy = -getCadToolAdapter().getMapControl().getViewPort().fromMapDistance(y - firstPoint.getY());
197
            ///Image img = getCadToolAdapter().getVectorialAdapter().getImage();
198
            ///g.drawImage(img, dx, dy, null);
199
            try {
200
                for (int i = selection.nextSetBit(0); i >= 0;
201
                        i = selection.nextSetBit(i + 1)) {
202
                    IGeometry geometry = vea.getShape(i).cloneGeometry();
203
                    // Movemos la geometr?a
204
                    UtilFunctions.moveGeom(geometry, x - firstPoint.getX(), y - firstPoint.getY());
205
                    // geometry.move(x - firstPoint.getX(), y - firstPoint.getY());
206
                    geometry.draw((Graphics2D) g,
207
                        getCadToolAdapter().getMapControl().getViewPort(),
208
                        CADTool.drawingSymbol);
209
                }
210
            } catch (DriverIOException e) {
211
                e.printStackTrace();
212
            }
189
            for (int i = 0; i < selectedRow.size(); i++) {
190
    			IRowEdited edRow = (IRowEdited) selectedRow.get(i);
191
    			IFeature feat = (IFeature) edRow.getLinkedRow();
192
    			IGeometry ig = feat.getGeometry().cloneGeometry();
193
    			if (ig == null)
194
    				continue;
195
    			// Movemos la geometr?a
196
                UtilFunctions.moveGeom(ig, x - firstPoint.getX(), y - firstPoint.getY());
197
                ig.draw((Graphics2D) g,
198
                    getCadToolAdapter().getMapControl().getViewPort(),
199
                    CADTool.drawingSymbol);
200
    		}
213 201
        }
214 202
    }
215 203

  
trunk/extensions/extCAD/src/com/iver/cit/gvsig/gui/cad/tools/CopyCADTool.java
45 45
import java.awt.event.InputEvent;
46 46
import java.awt.geom.Point2D;
47 47
import java.io.IOException;
48
import java.util.ArrayList;
48 49

  
49 50
import com.iver.andami.PluginServices;
50 51
import com.iver.cit.gvsig.CADExtension;
......
58 59
import com.iver.cit.gvsig.gui.cad.DefaultCADTool;
59 60
import com.iver.cit.gvsig.gui.cad.tools.smc.CopyCADToolContext;
60 61
import com.iver.cit.gvsig.gui.cad.tools.smc.CopyCADToolContext.CopyCADToolState;
62
import com.iver.cit.gvsig.layers.VectorialLayerEdited;
61 63

  
62 64

  
63 65
/**
......
182 184
        VectorialEditableAdapter vea = getCadToolAdapter().getVectorialAdapter();
183 185
        FBitSet selection = vea.getSelection();
184 186

  
185
        try {
187
       /* try {
186 188
            drawHandlers(g, selection,
187 189
                getCadToolAdapter().getMapControl().getViewPort()
188 190
                    .getAffineTransform());
......
190 192
            // TODO Auto-generated catch block
191 193
            e.printStackTrace();
192 194
        }
193

  
195
        */
196
        VectorialLayerEdited vle = (VectorialLayerEdited) CADExtension
197
		.getEditionManager().getActiveLayerEdited();
198
    	ArrayList selectedRow = vle.getSelectedRow();
199
    	drawHandlers(g, selectedRow,
200
                 getCadToolAdapter().getMapControl().getViewPort()
201
                     .getAffineTransform());
194 202
        if (status.equals("Copy.SecondPointToMove")) {
195 203
            ///int dx = getCadToolAdapter().getMapControl().getViewPort().fromMapDistance(x - firstPoint.getX());
196 204
            ///int dy = -getCadToolAdapter().getMapControl().getViewPort().fromMapDistance(y - firstPoint.getY());
trunk/extensions/extCAD/src/com/iver/cit/gvsig/gui/cad/tools/RotateCADTool.java
46 46
import java.awt.geom.AffineTransform;
47 47
import java.awt.geom.Point2D;
48 48
import java.io.IOException;
49
import java.util.ArrayList;
49 50

  
50 51
import com.iver.andami.PluginServices;
51 52
import com.iver.cit.gvsig.CADExtension;
......
61 62
import com.iver.cit.gvsig.gui.cad.DefaultCADTool;
62 63
import com.iver.cit.gvsig.gui.cad.tools.smc.RotateCADToolContext;
63 64
import com.iver.cit.gvsig.gui.cad.tools.smc.RotateCADToolContext.RotateCADToolState;
65
import com.iver.cit.gvsig.layers.VectorialLayerEdited;
64 66

  
65 67

  
66 68
/**
......
186 188
        VectorialEditableAdapter vea = getCadToolAdapter().getVectorialAdapter();
187 189
        FBitSet selection = vea.getSelection();
188 190

  
189
        try {
191
       /* try {
190 192
            drawHandlers(g, selection,
191 193
                getCadToolAdapter().getMapControl().getViewPort()
192 194
                    .getAffineTransform());
193 195
        } catch (DriverIOException e) {
194 196
            e.printStackTrace();
195 197
        }
196

  
198
*/
199
        VectorialLayerEdited vle = (VectorialLayerEdited) CADExtension
200
		.getEditionManager().getActiveLayerEdited();
201
    	ArrayList selectedRow = vle.getSelectedRow();
202
    	drawHandlers(g, selectedRow,
203
                 getCadToolAdapter().getMapControl().getViewPort()
204
                     .getAffineTransform());
197 205
        if (status.equals("Rotate.AngleOrPoint")) {
198 206
			/*Point2D point = getCadToolAdapter().getMapControl().getViewPort()
199 207
								.fromMapPoint(firstPoint.getX(),

Also available in: Unified diff