Revision 978

View differences:

org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/resources/text_en.properties
528 528
delete_value=Deletes the NoData value of this layer
529 529
tratar_nodata_transparente=Draw the NoData values transparent
530 530
value_not_valid=This NoData value is not valid
531
round_pixels=Round off pixels
531
round_pixels=Round off pixels
532
tiled_layer=Would you like to use tile cache with the selected layers?
533
yes_dont_ask_more=Yes for all
534
no_dont_ask_more=Not for all
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/resources/text.properties
544 544
tratar_nodata_transparente=Tratar valor NoData como transparente
545 545
value_not_valid=Valor no valido para un valor NoData
546 546
round_pixels=Redondear p?xeles
547
tiled_layer=?Deseas usar la cach? de tiles con las capas seleccionadas?
548
yes_dont_ask_more=Si a todas
549
no_dont_ask_more=No a todas
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/raster/gui/wizard/PrepareLayerAskUsingTiles.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
*
3
* Copyright (C) 2007-2008 Infrastructures and Transports Department
4
* of the Valencian Government (CIT)
5
* 
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* as published by the Free Software Foundation; either version 2
9
* of the License, or (at your option) any later version.
10
* 
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
* GNU General Public License for more details.
15
* 
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
* MA  02110-1301, USA.
20
* 
21
*/
22
package org.gvsig.raster.tools.app.basic.raster.gui.wizard;
23

  
24
import java.awt.Component;
25
import java.util.Map;
26

  
27
import javax.swing.JOptionPane;
28

  
29
import org.gvsig.andami.PluginServices;
30
import org.gvsig.app.prepareAction.PrepareContext;
31
import org.gvsig.app.prepareAction.PrepareContextView;
32
import org.gvsig.app.prepareAction.PrepareDataStoreParameters;
33
import org.gvsig.app.prepareAction.PrepareLayer;
34
import org.gvsig.fmap.dal.DALLocator;
35
import org.gvsig.fmap.dal.DataManager;
36
import org.gvsig.fmap.dal.DataStoreParameters;
37
import org.gvsig.fmap.dal.coverage.store.parameter.RasterDataParameters;
38
import org.gvsig.fmap.dal.coverage.store.parameter.TileDataParameters;
39
import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemStoreParameters;
40
import org.gvsig.fmap.mapcontext.layers.FLayer;
41
import org.gvsig.tools.exception.BaseException;
42

  
43
public class PrepareLayerAskUsingTiles implements PrepareDataStoreParameters, PrepareLayer {
44
	private boolean askMe    = true;
45
	private boolean answer   = false;
46
	
47
	/*
48
	 * (non-Javadoc)
49
	 * @see org.gvsig.app.prepareAction.PrepareDataStoreParameters#prepare(org.gvsig.fmap.dal.DataStoreParameters, org.gvsig.app.prepareAction.PrepareContext)
50
	 */
51
	public DataStoreParameters prepare(DataStoreParameters storeParameters,
52
			PrepareContext context) throws BaseException {
53
		if(!(storeParameters instanceof RasterDataParameters))
54
			return storeParameters;
55
		if(askMe)
56
			messageBoxYesOrNot(PluginServices.getText(this, "tiled_layer"), null);
57
		
58
		if(answer) {
59
			DataManager manager = DALLocator.getDataManager();
60
			TileDataParameters tileParams = null;
61
			tileParams = (TileDataParameters) manager.createStoreParameters("Tile Store");
62
			((FilesystemStoreParameters) tileParams).setFile(((FilesystemStoreParameters)storeParameters).getFile());
63
			tileParams.setDataParameters(storeParameters);
64
			return tileParams;
65
		}
66
		
67
		return storeParameters;
68
	}
69
	
70
	public void post(DataStoreParameters storeParameters, PrepareContext context) {
71
		askMe = true;
72
	}
73
	
74
	public void pre(DataStoreParameters storeParameters, PrepareContext context) {
75
	}
76
	
77
	public boolean askMe() {
78
		return askMe;
79
	}
80
	
81
	public void setAskMe(boolean askMe) {
82
		this.askMe = askMe;
83
	}
84
	
85
	/*
86
	 * (non-Javadoc)
87
	 * @see org.gvsig.app.prepareAction.PrepareLayer#prepare(org.gvsig.fmap.mapcontext.layers.FLayer, org.gvsig.app.prepareAction.PrepareContextView)
88
	 */
89
	public FLayer prepare(FLayer layer, PrepareContextView context) {
90
		return layer;
91
	}
92
	
93
	
94

  
95
	public void end(Object param) {
96
		
97
	}
98

  
99
	public String getDescription() {
100
		return "Prepare Tiles for Raster Layer";
101
	}
102

  
103
	public String getName() {
104
		return "PrepareRasterLayerAskUsingTiles";
105
	}
106

  
107
	public Object create() {
108
		return this;
109
	}
110

  
111
	public Object create(Object[] args) {
112
		return this;
113
	}
114

  
115
	@SuppressWarnings("unchecked")
116
	public Object create(Map args) {
117
		return this;
118
	}
119

  
120
	public void interrupted() {
121
	}
122
	
123
	/**
124
	 * Muestra un dialogo con un texto y un bot?n Si o No.
125
	 * @param msg Mensaje a mostrar en el dialogo.
126
	 * @param parentWindow Ventana desde la que se lanza el dialogo
127
	 * @return El bot?n seleccionado por el usuario. true si ha seleccionado "si"
128
	 *         y false si ha seleccionado "no"
129
	 */
130
	public void messageBoxYesOrNot(String msg, Object parentWindow){
131
		String string1 = PluginServices.getText(parentWindow, "yes");
132
		String string2 = PluginServices.getText(parentWindow, "no");
133
		String string3 = PluginServices.getText(parentWindow, "yes_dont_ask_more");
134
		String string4 = PluginServices.getText(parentWindow, "no_dont_ask_more");
135
		Object[] options = {string1, string2, string3, string4};
136
		int n = JOptionPane.showOptionDialog((Component)PluginServices.getMainFrame(),
137
					"<html>" + PluginServices.getText(parentWindow, msg).replaceAll("\n", "<br>") + "</html>",
138
					PluginServices.getText(parentWindow, "confirmacion"),
139
					JOptionPane.YES_NO_OPTION,
140
					JOptionPane.QUESTION_MESSAGE,
141
					null,
142
					options,
143
					string1);
144
		answer = false;
145
		if (n == 0) 
146
			answer = true;
147
		if (n == 2) {
148
			askMe = false;
149
			answer = true;
150
		}
151
		if (n == 3) 
152
			askMe = false;
153
	}
154
}
0 155

  

Also available in: Unified diff