Revision 1425

View differences:

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/bean/previewbase/ParamStruct.java
21 21
*/
22 22
package org.gvsig.raster.tools.app.basic.raster.bean.previewbase;
23 23

  
24
import java.util.ArrayList;
24
import java.util.List;
25 25

  
26 26
import org.gvsig.fmap.dal.coverage.datastruct.Params;
27 27
import org.gvsig.fmap.dal.coverage.exception.FilterManagerException;
......
92 92
	 * @throws FilterTypeException 
93 93
	 * @throws FilterManagerException 
94 94
	 */
95
	public static void addSelectedFilters(RasterFilterList filterList, ArrayList<ParamStruct> listFilterUsed) throws FilterTypeException, FilterManagerException {
95
	public static void addSelectedFilters(RasterFilterList filterList, List<ParamStruct> listFilterUsed) throws FilterTypeException, FilterManagerException {
96 96
		filterList.clear();
97 97

  
98 98
		for (int i = 0; i < listFilterUsed.size(); i++) {
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/tool/enhanced/ui/EnhancedDialog.java
74 74
		this.lyr = lyr;
75 75
		
76 76
		graphicsPanel = new GraphicsPanel(this.lyr);
77
		filteredPreview = new PreviewFiltering();
77
		filteredPreview = new PreviewFiltering(false);
78 78
		filteredPreview.setFilterStatus(this.lyr.getRender().getFilterList().getStatusCloned());
79 79
		controlsPanel = new SelectorsPanel(this.lyr, graphicsPanel.getInputHistogram());
80 80
				
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/tool/enhanced/ui/PreviewFiltering.java
22 22
package org.gvsig.raster.tools.app.basic.tool.enhanced.ui;
23 23

  
24 24
import java.util.ArrayList;
25
import java.util.List;
25 26

  
26 27
import org.gvsig.andami.PluginServices;
27 28
import org.gvsig.fmap.dal.coverage.RasterLocator;
......
54 55
	private ArrayList<ParamStruct>   paramsList              = new ArrayList<ParamStruct>();
55 56
	private ArrayList<RasterFilter>  filtersInit             = new ArrayList<RasterFilter>();
56 57
	private boolean                  showPreview             = true;	
58
	private boolean                  saveLayerFilters        = true;
57 59
	
60
	public PreviewFiltering(boolean saveLayerFilters) {
61
		this.saveLayerFilters = saveLayerFilters;
62
	}
63
	
58 64
	/**
59 65
	 * Flag de selecci?n de activaci?n y desactivaci?n
60 66
	 * @param show
......
135 141
			RasterFilterList filterList = lyr.getRender().getFilterList();
136 142
			filterList.setInitDataType(lyr.getDataStore().getDataType()[0]);
137 143

  
138
			ArrayList<ParamStruct> listFilterUsed = applyFilters(lyr);
144
			List<ParamStruct> listFilterUsed = null;
145
			if(saveLayerFilters)
146
				listFilterUsed = applyAllFilters(lyr);
147
			else
148
				listFilterUsed = applySelectedFilters(null);
139 149
			ArrayList<Exception> exc = new ArrayList<Exception>();
140 150
			for (int i = 0; i < listFilterUsed.size(); i++) {
141 151
				try {
......
163 173
	 * @return
164 174
	 */
165 175
	@SuppressWarnings("unchecked")
166
	public ArrayList<ParamStruct> applyFilters(FLyrRaster layerRaster) {
167
		ArrayList<ParamStruct> listFilterUsed = new ArrayList<ParamStruct>();
176
	public List<ParamStruct> applyAllFilters(FLyrRaster layerRaster) {
177
		List<ParamStruct> listFilterUsed = new ArrayList<ParamStruct>();
168 178
		
169 179
		int initDataType = layerRaster.getRender().getFilterList().getInitDataType();
170 180
		RasterFilterList filterList = RasterLocator.getManager().createEmptyFilterList(initDataType);
......
213 223
		}
214 224
		
215 225
		// Metemos los filtros seleccionados en listFilterUsed
226
		listFilterUsed = applySelectedFilters(listFilterUsed);
227
		
228
		return listFilterUsed;
229
	}
230
	
231
	/**
232
	 * Gets the list of filters selected for the preview (without the layer filters). If a list of filters is
233
	 * assigned, this method will replace the filter if exists in the list. 
234
	 * @param listFilterUsed
235
	 * @return
236
	 */
237
	public List<ParamStruct> applySelectedFilters(List<ParamStruct> listFilterUsed) {
238
		if(listFilterUsed == null)
239
			return paramsList;
240
		
216 241
		for (int i = 0; i < paramsList.size(); i++) {
217 242
			// En caso de existir el filtro, lo reemplazamos
218 243
			boolean finded = false;
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/tool/enhanced/ui/EnhancedListener.java
26 26
import java.awt.event.ActionEvent;
27 27
import java.awt.event.ActionListener;
28 28
import java.io.File;
29
import java.util.ArrayList;
29
import java.util.List;
30 30

  
31 31
import org.gvsig.andami.PluginServices;
32 32
import org.gvsig.fmap.dal.coverage.RasterLocator;
......
470 470
	/**
471 471
	 * Que acciones se ejecutaran al haber presionado el bot?n aceptar o aplicar
472 472
	 */
473
	@SuppressWarnings("unchecked")
474 473
	public void apply() {
475 474
		FLyrRaster lyr = enhancedDialog.getLayer();
476 475
		if (lyr == null)
......
485 484

  
486 485

  
487 486
		// Array para guardar los filtros que se van a usar en forma de ParamStruct
488
		ArrayList listFilterUsed = enhancedDialog.getFilteredPreview().applyFilters(enhancedDialog.getLayer());
487
		List<ParamStruct> listFilterUsed = enhancedDialog.getFilteredPreview().applySelectedFilters(null);
489 488

  
490 489
		if (enhancedDialog.getNewOrSaveLayerPanel().isOnlyViewSelected()) {
491 490
			try {

Also available in: Unified diff