Revision 2669 branches/CqCMSDvp/libraries/libCq CMS for java.old/src/org/cresques/ui/cmd/CmdSaveRaster.java

View differences:

CmdSaveRaster.java
1 1
/*
2 2
 * Cresques Mapping Suite. Graphic Library for constructing mapping applications.
3
 * 
4
 * Copyright (C) 2004-5. 
5 3
 *
4
 * Copyright (C) 2004-5.
5
 *
6 6
 * This program is free software; you can redistribute it and/or
7 7
 * modify it under the terms of the GNU General Public License
8 8
 * as published by the Free Software Foundation; either version 2
......
18 18
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
19 19
 *
20 20
 * For more information, contact:
21
 * 
21
 *
22 22
 * cresques@gmail.com
23 23
 */
24 24
package org.cresques.ui.cmd;
25 25

  
26
import java.awt.event.MouseEvent;
27
import java.awt.geom.Point2D;
26
import org.cresques.cts.IProjection;
28 27

  
29
import org.cresques.cts.IProjection;
30 28
import org.cresques.px.PxLayerList;
29

  
31 30
import org.cresques.ui.CQCursor;
32 31
import org.cresques.ui.CQMapCanvas;
33 32
import org.cresques.ui.CQSaveRaster;
......
35 34
import org.cresques.ui.raster.SaveRasterDialogPanel;
36 35
import org.cresques.ui.raster.SaveSetupPanel;
37 36

  
37
import java.awt.event.MouseEvent;
38
import java.awt.geom.Point2D;
38 39

  
40

  
39 41
/**
40 42
 * Comando save raster.
41 43
 * Permite seleccionar una zona del canvas para que pueda ser guardado
......
44 46
 * @author "Nacho Brodin" (brodin_ign@gva.es)
45 47
 */
46 48
public class CmdSaveRaster extends Cmd {
47
	
48
	private Point2D 			ptIni = null;
49
	private CQSaveRaster		saveRaster = null;
50
	private IProjection			prj = null;
51
	private PxLayerList			layerList = null;
52
		
53
	/**
54
	 * Construye un nuevo CmdInfo para el Canvas
55
	 * @param canvas
56
	 */
57
	public CmdSaveRaster(CQMapCanvas canvas) {
58
		super(canvas);
59
		eventsWanted = (LEFT | RIGHT | PRESS | RELEASE | DRAG);
60
		cursor = CQCursor.getCursor(CQCursor.INFO_CURSOR);
61
	}
49
    private Point2D ptIni = null;
50
    private CQSaveRaster saveRaster = null;
51
    private IProjection prj = null;
52
    private PxLayerList layerList = null;
62 53

  
63
	/**
64
	 * 
65
	 * @param saveRaster
66
	 */
67
	public void setCQSaveRaster(CQSaveRaster saveRaster){
68
		System.out.println("setCQSaveRaster");
69
		this.saveRaster = saveRaster;
70
		
71
	}
72
	
73
	/**
74
	 * 
75
	 * @param prj
76
	 */
77
	public void setProjection(IProjection prj){
78
		System.out.println("setProjection");
79
		this.prj = prj;
80
		
81
	}
82
	
83
	/**
84
	 * 
85
	 * @param layerList
86
	 */
87
	public void setLayerList(PxLayerList layerList){
88
		System.out.println("setLayerList");
89
		this.layerList = layerList;
90
		
91
	}
92
	
93
	/**
94
	 * Recibe los eventos del rat?n.
95
	 */
96
	public void cmd(Point2D pt, int bt, int mouseEvent) {
97
		//System.out.println("Save Raster: Evento = "+ mouseEvent);
98
		if (mouseEvent == PRESS && bt == MouseEvent.BUTTON1) {
99
			ptIni = pt;
100
		} else if (mouseEvent == RELEASE && bt == MouseEvent.BUTTON1) {
101
			if (pt.getX() == ptIni.getX() || pt.getY() == ptIni.getY()) {
102
				System.err.println("Ptos coincidentes");
103
			}else{
104
				double iniX, iniY, finX, finY;
105
				if(pt.getX()>ptIni.getX()){
106
					iniX =  ptIni.getX();
107
					finX = pt.getX();
108
				}else{
109
					finX =  ptIni.getX();
110
					iniX = pt.getX();
111
				}
112
				if(pt.getY()>ptIni.getY()){
113
					iniY =  ptIni.getY();
114
					finY = pt.getY();
115
				}else{
116
					finY =  ptIni.getY();
117
					iniY = pt.getY();
118
				}
119
				
120
				
121
				saveRaster.setProjection(this.prj);
122
				saveRaster.setLayerList(this.layerList);
123
				DataInputSaveRaster dialog = ((SaveSetupPanel)(((SaveRasterDialogPanel)saveRaster.getContentPane()).getContentPanel())).getSaveParameters();
124
				int indexPoint = String.valueOf(finX).indexOf('.');
125
				dialog.getTinf_derX().setText(String.valueOf(finX).substring(0,indexPoint+2));
126
				indexPoint = String.valueOf(finY).indexOf('.');
127
				dialog.getTinf_derY().setText(String.valueOf(finY).substring(0,indexPoint+2));
128
				indexPoint = String.valueOf(iniX).indexOf('.');
129
				dialog.getTsup_izqX().setText(String.valueOf(iniX).substring(0,indexPoint+2));
130
				indexPoint = String.valueOf(iniY).indexOf('.');
131
				dialog.getTsup_izqY().setText(String.valueOf(iniY).substring(0,indexPoint+2));
132
				saveRaster.show();
133
				
134
			}
135
				
136
		} 
137
	}
138
}
54
    /**
55
     * Construye un nuevo CmdInfo para el Canvas
56
     * @param canvas
57
     */
58
    public CmdSaveRaster(CQMapCanvas canvas) {
59
        super(canvas);
60
        eventsWanted = (LEFT | RIGHT | PRESS | RELEASE | DRAG);
61
        cursor = CQCursor.getCursor(CQCursor.INFO_CURSOR);
62
    }
63

  
64
    /**
65
     *
66
     * @param saveRaster
67
     */
68
    public void setCQSaveRaster(CQSaveRaster saveRaster) {
69
        System.out.println("setCQSaveRaster");
70
        this.saveRaster = saveRaster;
71
    }
72

  
73
    /**
74
     *
75
     * @param prj
76
     */
77
    public void setProjection(IProjection prj) {
78
        System.out.println("setProjection");
79
        this.prj = prj;
80
    }
81

  
82
    /**
83
     *
84
     * @param layerList
85
     */
86
    public void setLayerList(PxLayerList layerList) {
87
        System.out.println("setLayerList");
88
        this.layerList = layerList;
89
    }
90

  
91
    /**
92
     * Recibe los eventos del rat?n.
93
     */
94
    public void cmd(Point2D pt, int bt, int mouseEvent) {
95
        //System.out.println("Save Raster: Evento = "+ mouseEvent);
96
        if ((mouseEvent == PRESS) && (bt == MouseEvent.BUTTON1)) {
97
            ptIni = pt;
98
        } else if ((mouseEvent == RELEASE) && (bt == MouseEvent.BUTTON1)) {
99
            if ((pt.getX() == ptIni.getX()) || (pt.getY() == ptIni.getY())) {
100
                System.err.println("Ptos coincidentes");
101
            } else {
102
                double iniX;
103
                double iniY;
104
                double finX;
105
                double finY;
106

  
107
                if (pt.getX() > ptIni.getX()) {
108
                    iniX = ptIni.getX();
109
                    finX = pt.getX();
110
                } else {
111
                    finX = ptIni.getX();
112
                    iniX = pt.getX();
113
                }
114

  
115
                if (pt.getY() > ptIni.getY()) {
116
                    iniY = ptIni.getY();
117
                    finY = pt.getY();
118
                } else {
119
                    finY = ptIni.getY();
120
                    iniY = pt.getY();
121
                }
122

  
123
                saveRaster.setProjection(this.prj);
124
                saveRaster.setLayerList(this.layerList);
125

  
126
                DataInputSaveRaster dialog = ((SaveSetupPanel) (((SaveRasterDialogPanel) saveRaster.getContentPane()).getContentPanel())).getSaveParameters();
127
                int indexPoint = String.valueOf(finX).indexOf('.');
128
                dialog.getTinf_derX().setText(String.valueOf(finX).substring(0,
129
                                                                             indexPoint +
130
                                                                             2));
131
                indexPoint = String.valueOf(finY).indexOf('.');
132
                dialog.getTinf_derY().setText(String.valueOf(finY).substring(0,
133
                                                                             indexPoint +
134
                                                                             2));
135
                indexPoint = String.valueOf(iniX).indexOf('.');
136
                dialog.getTsup_izqX().setText(String.valueOf(iniX).substring(0,
137
                                                                             indexPoint +
138
                                                                             2));
139
                indexPoint = String.valueOf(iniY).indexOf('.');
140
                dialog.getTsup_izqY().setText(String.valueOf(iniY).substring(0,
141
                                                                             indexPoint +
142
                                                                             2));
143
                saveRaster.show();
144
            }
145
        }
146
    }
147
}

Also available in: Unified diff