Revision 17937 trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/georeferencing/ui/zoom/ZoomControl.java

View differences:

ZoomControl.java
87 87
	private JButton 				 bPrevZoom = null;
88 88
	private double                   stepScale = 2;
89 89
	private IExtensionRequest        extReq = null;
90
	private ZoomRecord               zoomRecord = null;
90 91
			
91 92
	/**
92 93
	 * Constructor. Crea el panel y asigna el lado donde se crear?n los botones
......
362 363
	public void setExtensionRequest(IExtensionRequest er) {
363 364
		this.extReq = er;
364 365
	}
366
	
367
	/**
368
	 * Obtiene el historico de zooms
369
	 * @return ZoomRecord
370
	 */
371
	public ZoomRecord getZoomRecord() {
372
		if(zoomRecord == null) {
373
			zoomRecord = new ZoomRecord();
374
			zoomRecord.setRequest(new Integer(FULL_VIEW));
375
		}
376
		return zoomRecord;
377
	}
365 378

  
366 379
	/**
367 380
	 * Eventos de los botones zoom m?s y zoom menos.
......
381 394
			double width = 0, height = 0;
382 395
			canvas.setZoom(1);
383 396
			if(e.getSource() == bFullView) {
397
				getZoomRecord().setRequest(new Integer(FULL_VIEW));
384 398
				extReq.fullExtent(new Dimension(canvas.getVisibleRect().width, canvas.getVisibleRect().height));
385 399
				return;
386 400
			}
387 401
			if(e.getSource() == bPrevZoom) {
388
				extReq.fullExtent(new Dimension(canvas.getVisibleRect().width, canvas.getVisibleRect().height));
402
				Object request = getZoomRecord().getRequest();
403
				if(request != null) {
404
					if(request instanceof Rectangle2D)
405
						extReq.request((Rectangle2D)request);
406
					if(request instanceof Integer && ((Integer)request).intValue() == FULL_VIEW)
407
						extReq.fullExtent(new Dimension(canvas.getVisibleRect().width, canvas.getVisibleRect().height));
408
				}
389 409
				return;
390 410
			}
391 411
			if(e.getSource() == bZoomMas) {
......
398 418
			}
399 419
			double x = canvas.getCenter().getX() - (width / 2);
400 420
			double y = canvas.getCenter().getY() - (height / 2);
401
			extReq.request(new Rectangle2D.Double(x, y, width, height));
421
			Rectangle2D request = new Rectangle2D.Double(x, y, width, height);
422
			getZoomRecord().setRequest(request);
423
			extReq.request(request);
402 424
		}
403 425
	}
404 426

  

Also available in: Unified diff