Statistics
| Revision:

svn-gvsig-desktop / tags / Root_CqCMSGisPlanet / libraries / libCq CMS for java.old / src / org / cresques / ui / cmd / CmdSaveRaster.java @ 1933

History | View | Annotate | Download (3.12 KB)

1
package org.cresques.ui.cmd;
2

    
3
import java.awt.event.MouseEvent;
4
import java.awt.geom.Point2D;
5

    
6
import org.cresques.cts.IProjection;
7
import org.cresques.px.Extent;
8
import org.cresques.px.PxLayerList;
9
import org.cresques.ui.CQCursor;
10
import org.cresques.ui.CQMapCanvas;
11
import org.cresques.ui.CQSaveRaster;
12
import org.cresques.ui.raster.DataInputSaveRaster;
13
import org.cresques.ui.raster.SaveRasterDialogPanel;
14
import org.cresques.ui.raster.SaveSetupPanel;
15

    
16

    
17

    
18
/**
19
 * Comando save raster.
20
 * Permite seleccionar una zona del canvas para que pueda ser guardado
21
 * a formato raster georeferenciado.
22
 * @see org.cresques.geo.cover.Coverage
23
 * @author "Nacho Brodin" <brodin_ign@gva.es>
24
 */
25
public class CmdSaveRaster extends Cmd {
26
        
27
        private Point2D                         ptIni = null;
28
        private CQSaveRaster                saveRaster = null;
29
        private IProjection                        prj = null;
30
        private PxLayerList                        layerList = null;
31
                
32
        /**
33
         * Construye un nuevo CmdInfo para el Canvas
34
         * @param canvas
35
         */
36
        public CmdSaveRaster(CQMapCanvas canvas) {
37
                super(canvas);
38
                eventsWanted = (LEFT | RIGHT | PRESS | RELEASE | DRAG);
39
                cursor = CQCursor.getCursor(CQCursor.INFO_CURSOR);
40
        }
41

    
42
        /**
43
         * 
44
         * @param saveRaster
45
         */
46
        public void setCQSaveRaster(CQSaveRaster saveRaster){
47
                System.out.println("setCQSaveRaster");
48
                this.saveRaster = saveRaster;
49
                
50
        }
51
        
52
        /**
53
         * 
54
         * @param prj
55
         */
56
        public void setProjection(IProjection prj){
57
                System.out.println("setProjection");
58
                this.prj = prj;
59
                
60
        }
61
        
62
        /**
63
         * 
64
         * @param layerList
65
         */
66
        public void setLayerList(PxLayerList layerList){
67
                System.out.println("setLayerList");
68
                this.layerList = layerList;
69
                
70
        }
71
        
72
        /**
73
         * Recibe los eventos del rat?n.
74
         */
75
        public void cmd(Point2D pt, int bt, int mouseEvent) {
76
                //System.out.println("Save Raster: Evento = "+ mouseEvent);
77
                if (mouseEvent == PRESS && bt == MouseEvent.BUTTON1) {
78
                        ptIni = pt;
79
                } else if (mouseEvent == RELEASE && bt == MouseEvent.BUTTON1) {
80
                        if (pt.getX() == ptIni.getX() || pt.getY() == ptIni.getY()) {
81
                                System.err.println("Ptos coincidentes");
82
                        }else{
83
                                double iniX, iniY, finX, finY;
84
                                if(pt.getX()>ptIni.getX()){
85
                                        iniX =  ptIni.getX();
86
                                        finX = pt.getX();
87
                                }else{
88
                                        finX =  ptIni.getX();
89
                                        iniX = pt.getX();
90
                                }
91
                                if(pt.getY()>ptIni.getY()){
92
                                        iniY =  ptIni.getY();
93
                                        finY = pt.getY();
94
                                }else{
95
                                        finY =  ptIni.getY();
96
                                        iniY = pt.getY();
97
                                }
98
                                
99
                                
100
                                saveRaster.setProjection(this.prj);
101
                                saveRaster.setLayerList(this.layerList);
102
                                DataInputSaveRaster dialog = ((SaveSetupPanel)(((SaveRasterDialogPanel)saveRaster.getContentPane()).getContentPanel())).getSaveParameters();
103
                                int indexPoint = String.valueOf(finX).indexOf('.');
104
                                dialog.getTinf_derX().setText(String.valueOf(finX).substring(0,indexPoint+2));
105
                                indexPoint = String.valueOf(finY).indexOf('.');
106
                                dialog.getTinf_derY().setText(String.valueOf(finY).substring(0,indexPoint+2));
107
                                indexPoint = String.valueOf(iniX).indexOf('.');
108
                                dialog.getTsup_izqX().setText(String.valueOf(iniX).substring(0,indexPoint+2));
109
                                indexPoint = String.valueOf(iniY).indexOf('.');
110
                                dialog.getTsup_izqY().setText(String.valueOf(iniY).substring(0,indexPoint+2));
111
                                saveRaster.show();
112
                                
113
                        }
114
                                
115
                } 
116
        }
117
}