Revision 1763 branches/gvSIG_CAD_Layout_version/applications/appgvSIG/src/com/iver/cit/gvsig/gui/layout/fframes/FFrameGraphics.java

View differences:

FFrameGraphics.java
45 45
package com.iver.cit.gvsig.gui.layout.fframes;
46 46

  
47 47
import com.iver.andami.PluginServices;
48

  
48 49
import com.iver.cit.gvsig.fmap.DriverException;
49 50
import com.iver.cit.gvsig.fmap.core.FGeometry;
50
import com.iver.cit.gvsig.fmap.core.FPoint2D;
51
import com.iver.cit.gvsig.fmap.core.FPolygon2D;
52
import com.iver.cit.gvsig.fmap.core.FPolyline2D;
53
import com.iver.cit.gvsig.fmap.core.FShape;
54
import com.iver.cit.gvsig.fmap.core.GeneralPathX;
55 51
import com.iver.cit.gvsig.fmap.core.Handler;
56 52
import com.iver.cit.gvsig.fmap.core.IGeometry;
57
import com.iver.cit.gvsig.fmap.core.v02.FConstant;
58 53
import com.iver.cit.gvsig.fmap.core.v02.FGraphicUtilities;
59
import com.iver.cit.gvsig.fmap.core.v02.FSymbol;
60 54
import com.iver.cit.gvsig.fmap.drivers.DriverIOException;
61 55
import com.iver.cit.gvsig.fmap.edition.EditableFeatureSource;
62 56
import com.iver.cit.gvsig.fmap.layers.SelectionSupport;
63 57
import com.iver.cit.gvsig.gui.cad.CADToolAdapter;
64
import com.iver.cit.gvsig.gui.cad.CadTool;
58
import com.iver.cit.gvsig.gui.cad.tools.SelectionCadTool;
59
import com.iver.cit.gvsig.gui.layout.GeometryComposite;
65 60
import com.iver.cit.gvsig.gui.layout.Layout;
66 61

  
67 62
import com.iver.utiles.XMLEntity;
68 63

  
69
import java.awt.Color;
70 64
import java.awt.Graphics2D;
71 65
import java.awt.geom.AffineTransform;
72
import java.awt.geom.Line2D;
73
import java.awt.geom.NoninvertibleTransformException;
74
import java.awt.geom.Point2D;
75 66
import java.awt.geom.Rectangle2D;
76 67
import java.awt.image.BufferedImage;
68

  
77 69
import java.io.IOException;
70

  
78 71
import java.util.ArrayList;
79 72

  
80 73

  
......
84 77
 * @author Vicente Caballero Navarro
85 78
 */
86 79
public class FFrameGraphics extends FFrame {
87
	private ArrayList geometries=new ArrayList();
80
	private ArrayList geometries = new ArrayList();
88 81
	private CADToolAdapter cta;
89 82
	private SelectionSupport selectionSupport = new SelectionSupport();
90 83

  
91 84
	/**
92 85
	 * Crea un nuevo FFrameGraphics.
86
	 *
87
	 * @param c DOCUMENT ME!
93 88
	 */
94
	public FFrameGraphics(CADToolAdapter c){
95
		cta=c;
89
	public FFrameGraphics(CADToolAdapter c) {
90
		cta = c;
96 91
	}
92

  
97 93
	/*public FFrameGraphics() {
98
		mT = new AffineTransform();
99
		mT.setToIdentity();
100
	}*/
101
	public int getNumGeom(){
94
	   mT = new AffineTransform();
95
	   mT.setToIdentity();
96
	   }*/
97
	public int getNumGeom() {
102 98
		return geometries.size();
103 99
	}
104
	public IGeometry[] getGeometries(){
105
		return (IGeometry[])geometries.toArray(new IGeometry[0]);
100

  
101
	/**
102
	 * DOCUMENT ME!
103
	 *
104
	 * @return DOCUMENT ME!
105
	 */
106
	public IGeometry[] getGeometries() {
107
		return (IGeometry[]) geometries.toArray(new IGeometry[0]);
106 108
	}
107
	public void addGeometry(IGeometry g){
108
		geometries.add(g);
109

  
110
	/**
111
	 * DOCUMENT ME!
112
	 *
113
	 * @param g DOCUMENT ME!
114
	 */
115
	public void addGeometry(IGeometry g) {
116
		GeometryComposite gc = new GeometryComposite(SelectionCadTool.drawingSymbol,
117
				g);
118
		geometries.add(gc);
109 119
	}
120

  
110 121
	/**
111 122
	 * @see com.iver.cit.gvsig.gui.layout.fframes.IFFrame#getXMLEntity()
112 123
	 */
113 124
	public XMLEntity getXMLEntity() {
114 125
		XMLEntity xml = new XMLEntity();
126

  
115 127
		return xml;
116 128
	}
117 129

  
......
150 162
		throws DriverException {
151 163
		draw(g, at, null, null);
152 164
	}
165

  
153 166
	/**
154
	 * @see com.iver.cit.gvsig.gui.layout.fframes.FFrame#draw(java.awt.Graphics2D, java.awt.geom.AffineTransform, java.awt.geom.Rectangle2D, java.awt.image.BufferedImage)
167
	 * @see com.iver.cit.gvsig.gui.layout.fframes.FFrame#draw(java.awt.Graphics2D,
168
	 * 		java.awt.geom.AffineTransform, java.awt.geom.Rectangle2D,
169
	 * 		java.awt.image.BufferedImage)
155 170
	 */
156
	public void draw(Graphics2D g, AffineTransform at, Rectangle2D r, BufferedImage imgBase) throws DriverException {
157
		EditableFeatureSource efs=cta.getEditableFeatureSource();
171
	public void draw(Graphics2D g, AffineTransform at, Rectangle2D r,
172
		BufferedImage imgBase) throws DriverException {
173
		EditableFeatureSource efs = cta.getEditableFeatureSource();
174

  
158 175
		try {
159
			for (int i=0;i<efs.getGeometryCount();i++){
176
			for (int i = 0; i < efs.getGeometryCount(); i++) {
160 177
				try {
161
					IGeometry geometry=efs.getGeometry(i);
162
					geometry.draw(g,at,CadTool.drawingSymbol);//Cada gr?fico tendr? su propio s?mbolo.
163
					if (cta.getSelection().get(i)){
164
						Handler[] handlers=geometry.getHandlers(FGeometry.SELECTHANDLER);
165
							FGraphicUtilities.DrawHandlers((Graphics2D)g,new AffineTransform(),handlers);
166
						
178
					IGeometry geometry = efs.getGeometry(i);
179

  
180
					if (geometry != null) {
181
						geometry.draw(g, at, geometry.getSymbol()); //Cada gr?fico tendr? su propio s?mbolo.
182

  
183
						if (cta.getSelection().get(i)) {
184
							Handler[] handlers = geometry.getHandlers(FGeometry.SELECTHANDLER);
185
							FGraphicUtilities.DrawHandlers((Graphics2D) g,
186
								new AffineTransform(), handlers);
187
						}
167 188
					}
168 189
				} catch (IOException e1) {
169 190
					e1.printStackTrace();
170 191
				}
171 192
			}
172
			
173 193
		} catch (DriverIOException e) {
174 194
			e.printStackTrace();
175 195
		}
176
		
177 196
	}
197

  
198
	/**
199
	 * DOCUMENT ME!
200
	 *
201
	 * @param g DOCUMENT ME!
202
	 */
178 203
	public void drawHandlers(Graphics2D g) {
179
		EditableFeatureSource efs=cta.getEditableFeatureSource();
180
	/*	int[] indexes = efs.getGeometriesIndexes(r);
181
		//Recorrer todas las geometrias
182
		for (int i=0;i<geometries.size();i++){
183
			//Recorrer todos los handlers y ver 
184
			//si hay alguno que se ajuste al puntero del rat?n con su tolerancia.
185
			IGeometry ig = efs.getGeometry(indexes[i]);
186
			if (ig == null) continue;
187
			if (selectionSupport.isSelected(indexes[i])){
188
				Handler[] handlers=ig.getHandlers(FGeometry.SELECTHANDLER);
189
				FGraphicUtilities.DrawHandlers((Graphics2D)g,viewPort.getAffineTransform(),handlers);
190
				ig.draw(g, at, symbol);
191
			}
192
		}*/
193 204
	}
205

  
206
	/**
207
	 * DOCUMENT ME!
208
	 *
209
	 * @param i DOCUMENT ME!
210
	 *
211
	 * @return DOCUMENT ME!
212
	 */
213
	public IGeometry getGeometry(int i) {
214
		return (IGeometry) geometries.get(i);
215
	}
194 216
}

Also available in: Unified diff