Revision 1634 trunk/org.gvsig.app.document.layout2.app/org.gvsig.app.document.layout2.app.mainplugin/src/main/java/org/gvsig/app/project/documents/layout/fframes/FFrameGroup.java
FFrameGroup.java | ||
---|---|---|
28 | 28 |
import java.awt.image.BufferedImage; |
29 | 29 |
import java.util.ArrayList; |
30 | 30 |
import java.util.List; |
31 |
|
|
32 | 31 |
import org.gvsig.andami.PluginServices; |
33 | 32 |
import org.gvsig.app.project.Project; |
34 | 33 |
import org.gvsig.app.project.documents.layout.FLayoutUtilities; |
... | ... | |
53 | 52 |
|
54 | 53 |
private static final String FFRAMES_FIELD = "fframes"; |
55 | 54 |
|
56 |
private List<IFFrame> m_fframes = new ArrayList<IFFrame>();
|
|
55 |
private List<IFFrame> m_fframes = new ArrayList<>(); |
|
57 | 56 |
private Rectangle2D.Double rg = null; |
58 | 57 |
private AffineTransform m_at; |
59 | 58 |
private Project project; |
... | ... | |
97 | 96 |
boolean first = true; |
98 | 97 |
Rectangle2D.Double rec = new Rectangle2D.Double(); |
99 | 98 |
IFFrame[] fframes = getFFrames(); |
100 |
for (int i = 0; i < fframes.length; i++) { |
|
101 |
Rectangle2D.Double rs = fframes[i].getBoundingBox(at); |
|
102 |
|
|
99 |
for (IFFrame fframe : fframes) { |
|
100 |
Rectangle2D.Double rs = fframe.getBoundingBox(at); |
|
103 | 101 |
if (first) { |
104 | 102 |
rec.setRect(rs); |
105 | 103 |
first = false; |
106 | 104 |
} |
107 |
|
|
108 | 105 |
rec.add(rs); |
109 | 106 |
} |
110 | 107 |
|
... | ... | |
128 | 125 |
* @param imgBase |
129 | 126 |
* Imagen utilizada para acelerar el dibujado. |
130 | 127 |
*/ |
128 |
@Override |
|
131 | 129 |
public void draw(Graphics2D g, AffineTransform at, Rectangle2D rv, |
132 | 130 |
BufferedImage imgBase) { |
133 | 131 |
Rectangle2D.Double r = getBoundingBox(at); |
... | ... | |
160 | 158 |
* @param r |
161 | 159 |
* Rect?ngulo. |
162 | 160 |
*/ |
161 |
@Override |
|
163 | 162 |
public void setBoundBox(Rectangle2D r) { |
164 | 163 |
getBoundBox().setRect(r.getX(), r.getY(), r.getWidth(), r.getHeight()); |
165 | 164 |
|
166 |
double dx = 1; |
|
167 |
double dy = 1; |
|
168 |
double dw = 1; |
|
169 |
double dh = 1; |
|
165 |
double dx; // = 1;
|
|
166 |
double dy; // = 1;
|
|
167 |
double dw; // = 1;
|
|
168 |
double dh; // = 1;
|
|
170 | 169 |
|
171 | 170 |
if (rg != null) { |
172 | 171 |
Rectangle2D.Double raux1 = |
... | ... | |
176 | 175 |
dw = r.getWidth() / raux1.width; |
177 | 176 |
dh = r.getHeight() / raux1.height; |
178 | 177 |
IFFrame[] fframes = getFFrames(); |
179 |
for (int i = 0; i < fframes.length; i++) { |
|
180 |
IFFrame fframe = fframes[i]; |
|
178 |
for (IFFrame fframe : fframes) { |
|
181 | 179 |
Rectangle2D.Double raux = new Rectangle2D.Double(); |
182 | 180 |
raux.setRect(fframe.getBoundBox()); |
183 | 181 |
|
... | ... | |
207 | 205 |
/** |
208 | 206 |
* @see org.gvsig.app.project.documents.layout.fframes.IFFrame#getNameFFrame() |
209 | 207 |
*/ |
208 |
@Override |
|
210 | 209 |
public String getNameFFrame() { |
211 | 210 |
return PluginServices.getText(this, "grupo") + num; |
212 | 211 |
} |
213 | 212 |
|
213 |
@Override |
|
214 | 214 |
public String getName() { |
215 | 215 |
return PERSISTENCE_DEFINITION_NAME; |
216 | 216 |
} |
... | ... | |
219 | 219 |
* @see org.gvsig.app.project.documents.layout.fframes.IFFrame#print(java.awt.Graphics2D, |
220 | 220 |
* java.awt.geom.AffineTransform) |
221 | 221 |
*/ |
222 |
@Override |
|
222 | 223 |
public void print(Graphics2D g, AffineTransform at, Geometry geom, |
223 | 224 |
PrintAttributes printingProperties) { |
224 | 225 |
Rectangle2D.Double r = getBoundingBox(at); |
225 | 226 |
g.rotate(Math.toRadians(getRotation()), r.x + (r.width / 2), r.y |
226 | 227 |
+ (r.height / 2)); |
227 | 228 |
IFFrame[] fframes = m_fframes.toArray(new IFFrame[0]); |
228 |
for (int i = 0; i < fframes.length; i++) {
|
|
229 |
fframes[i].print(g, at, geom, printingProperties);
|
|
229 |
for (IFFrame fframe : fframes) {
|
|
230 |
fframe.print(g, at, geom, printingProperties); |
|
230 | 231 |
} |
231 | 232 |
|
232 | 233 |
g.rotate(Math.toRadians(-getRotation()), r.x + (r.width / 2), r.y |
... | ... | |
239 | 240 |
* @param project |
240 | 241 |
* DOCUMENT ME! |
241 | 242 |
*/ |
243 |
@Override |
|
242 | 244 |
public void setProject(Project project) { |
243 | 245 |
this.project = project; |
244 | 246 |
} |
... | ... | |
259 | 261 |
m_fframes.remove(fframe); |
260 | 262 |
} |
261 | 263 |
|
264 |
@Override |
|
262 | 265 |
public IFFrame clone() throws CloneNotSupportedException { |
263 | 266 |
FFrameGroup frame = (FFrameGroup) super.clone(); |
264 | 267 |
frame.setSelected(this.getSelected() != IFFrame.NOSELECT); |
265 |
frame.m_fframes = new ArrayList<IFFrame>();
|
|
268 |
frame.m_fframes = new ArrayList<>(); |
|
266 | 269 |
|
267 | 270 |
for (int i = 0; i < m_fframes.size(); i++) { |
268 | 271 |
frame.addFFrame((IFFrame) m_fframes.get(i).clone()); |
269 | 272 |
} |
270 |
frame.m_at = new AffineTransform(m_at); |
|
273 |
if(m_at != null){ |
|
274 |
frame.m_at = new AffineTransform(m_at); |
|
275 |
} else { |
|
276 |
frame.m_at = new AffineTransform(); |
|
277 |
} |
|
271 | 278 |
frame.rg = new Rectangle2D.Double(rg.x, rg.y, rg.width, rg.height); |
272 | 279 |
return frame; |
273 | 280 |
} |
274 | 281 |
|
282 |
@Override |
|
275 | 283 |
public void setFFrameDependence(IFFrame f) { |
276 | 284 |
IFFrame[] frames = getFFrames(); |
277 |
for (int i = 0; i < frames.length; i++) {
|
|
278 |
if (frames[i] instanceof IFFrameViewDependence) {
|
|
279 |
((IFFrameViewDependence) frames[i]).setFFrameDependence(f);
|
|
285 |
for (IFFrame frame : frames) {
|
|
286 |
if (frame instanceof IFFrameViewDependence) { |
|
287 |
((IFFrameViewDependence) frame).setFFrameDependence(f); |
|
280 | 288 |
} |
281 | 289 |
} |
282 | 290 |
} |
283 | 291 |
|
292 |
@Override |
|
284 | 293 |
public IFFrame[] getFFrameDependence() { |
285 | 294 |
IFFrame[] frames = getFFrames(); |
286 |
ArrayList<IFFrame> dependences = new ArrayList<IFFrame>();
|
|
295 |
ArrayList<IFFrame> dependences = new ArrayList<>(); |
|
287 | 296 |
for (int i = 0; i < frames.length; i++) { |
288 | 297 |
if (frames[i] instanceof IFFrameViewDependence) { |
289 | 298 |
IFFrame[] framesAux = |
290 | 299 |
((IFFrameViewDependence) frames[i]).getFFrameDependence(); |
291 |
for (int j = 0; j < framesAux.length; j++) {
|
|
300 |
for (IFFrame framesAux1 : framesAux) {
|
|
292 | 301 |
dependences.add(framesAux[i]); |
293 | 302 |
} |
294 | 303 |
} |
... | ... | |
296 | 305 |
return dependences.toArray(new IFFrame[0]); |
297 | 306 |
} |
298 | 307 |
|
308 |
@Override |
|
299 | 309 |
public void refreshDependence(IFFrame fant, IFFrame fnew) { |
300 | 310 |
IFFrame[] frames = getFFrames(); |
301 |
for (int i = 0; i < frames.length; i++) { |
|
302 |
|
|
311 |
for (IFFrame frame : frames) { |
|
303 | 312 |
if (fnew instanceof FFrameGroup) { |
304 | 313 |
IFFrame[] framesGroupNew = ((FFrameGroup) fnew).getFFrames(); |
305 |
for (int j = 0; j < framesGroupNew.length; j++) {
|
|
314 |
for (IFFrame framesGroupNew1 : framesGroupNew) {
|
|
306 | 315 |
if (fant instanceof FFrameGroup) { |
307 | 316 |
IFFrame[] framesGroupAnt = |
308 |
((FFrameGroup) fant).getFFrames(); |
|
309 |
for (int k = 0; k < framesGroupAnt.length; k++) { |
|
310 |
if (framesGroupAnt[k] instanceof IFFrameViewDependence) { |
|
311 |
refreshDependence(framesGroupAnt[k], |
|
312 |
framesGroupNew[j]); |
|
317 |
((FFrameGroup) fant).getFFrames(); |
|
318 |
for (IFFrame framesGroupAnt1 : framesGroupAnt) { |
|
319 |
if (framesGroupAnt1 instanceof IFFrameViewDependence) { |
|
320 |
refreshDependence(framesGroupAnt1, framesGroupNew1); |
|
313 | 321 |
} |
314 | 322 |
} |
315 | 323 |
} |
316 | 324 |
} |
317 |
} else |
|
318 |
if (frames[i] instanceof IFFrameViewDependence) { |
|
319 |
((IFFrameViewDependence) frames[i]).refreshDependence(fant, |
|
320 |
fnew); |
|
321 |
} |
|
325 |
} else if (frame instanceof IFFrameViewDependence) { |
|
326 |
((IFFrameViewDependence) frame).refreshDependence(fant, fnew); |
|
327 |
} |
|
322 | 328 |
} |
323 | 329 |
} |
324 | 330 |
|
Also available in: Unified diff