Revision 18962

View differences:

trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/PropertyEvent.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 */
19
package org.gvsig.rastertools;
20

  
21
import java.util.EventObject;
22

  
23
/**
24
 * Evento de una propiedad con la forma variable=valor
25
 * 
26
 * 07/01/2008
27
 * @author Nacho Brodin (nachobrodin@gmail.com)
28
 */
29
public class PropertyEvent extends EventObject {
30
	private static final long serialVersionUID = -1649548367781607532L;
31
	private String name = null;
32
	private Object value = null;
33
	private Object oldValue = null;
34

  
35
	/**
36
	 * Constructor. Se asignan los valores de nombre y valor de la 
37
	 * propiedad que ha disparado el evento.
38
	 * @param source Objeto fuente
39
	 * @param name Nombre de la propiedad
40
	 * @param value Valor de la propiedad
41
	 */
42
	public PropertyEvent(Object source, String name, Object value, Object oldValue) {
43
		super(source);
44
		this.name = name;
45
		this.value = value;
46
		this.oldValue = oldValue;
47
	}
48

  
49
	/**
50
	 * Obtiene el nombre de la propiedad que dispar? el evento
51
	 * @return cadena con el nombre de la propiedad que dispar? el evento
52
	 */
53
	public String getName() {
54
		return name;
55
	}
56

  
57
	/**
58
	 * Obtiene el valor de la propiedad que dispar? el evento
59
	 * @return Object con el valor de la propiedad que dispar? el evento
60
	 */
61
	public Object getOldValue() {
62
		return oldValue;
63
	}
64
	
65
	/**
66
	 * Obtiene el valor de la propiedad antes de que se modificara.
67
	 * @return Object con el valor de la propiedad que dispar? el evento
68
	 */
69
	public Object getValue() {
70
		return value;
71
	}
72
}
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/PropertyListener.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 */
19
package org.gvsig.rastertools;
20

  
21
import java.util.EventListener;
22

  
23
/**
24
 * Listener con los eventos que puede disparar una propiedad.
25
 * 
26
 * 07/01/2008
27
 * @author Nacho Brodin (nachobrodin@gmail.com)
28
 */
29
public interface PropertyListener extends EventListener {
30
		/**
31
		 * Evento que se dispara cuando cambia el valor de la propiedad.
32
		 * @param e
33
		 */
34
		public void actionValueChanged(PropertyEvent e);
35
}
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/clipping/panels/ClippingOptionsPanel.java
35 35
import javax.swing.JTextField;
36 36

  
37 37
import org.gvsig.gui.beans.swing.JFileChooser;
38
import org.gvsig.rastertools.PropertyEvent;
39
import org.gvsig.rastertools.PropertyListener;
40
import org.gvsig.rastertools.RasterModule;
38
import org.gvsig.raster.RasterLibrary;
39
import org.gvsig.raster.util.PropertyEvent;
40
import org.gvsig.raster.util.PropertyListener;
41 41

  
42 42
import com.iver.andami.PluginServices;
43 43
/**
......
230 230
		if (filenameTextField == null) {
231 231
			filenameTextField = new JTextField();
232 232
			filenameTextField.setPreferredSize(new Dimension(150, filenameTextField.getPreferredSize().height));
233
			RasterModule.addOnlyLayerNameListener(this);
233
			RasterLibrary.addOnlyLayerNameListener(this);
234 234
		}
235 235
		return filenameTextField;
236 236
	}
......
270 270
	 * en cada llamada un nombre consecutivo.
271 271
	 */
272 272
	public void updateNewLayerText() {
273
		filenameTextField.setText(RasterModule.getOnlyLayerName());
273
		filenameTextField.setText(RasterLibrary.getOnlyLayerName());
274 274
	}
275 275

  
276 276
	/**
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/clipping/ui/ClippingDialog.java
27 27
import org.gvsig.gui.beans.buttonspanel.ButtonsPanel;
28 28
import org.gvsig.gui.beans.buttonspanel.ButtonsPanelEvent;
29 29
import org.gvsig.gui.beans.buttonspanel.ButtonsPanelListener;
30
import org.gvsig.rastertools.RasterModule;
30
import org.gvsig.raster.RasterLibrary;
31 31

  
32 32
import com.iver.andami.PluginServices;
33 33
import com.iver.andami.ui.mdiManager.IWindow;
......
97 97
	 */
98 98
	public void close() {
99 99
		try {
100
			RasterModule.removeOnlyLayerNameListener(getClippingPanel().getOptionsPanel());
100
			RasterLibrary.removeOnlyLayerNameListener(getClippingPanel().getOptionsPanel());
101 101
			PluginServices.getMDIManager().closeWindow(this);
102 102
		} catch (ArrayIndexOutOfBoundsException e) {
103 103
			// Si la ventana no se puede eliminar no hacemos nada
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/clipping/ui/listener/ClippingPanelListener.java
44 44
import org.gvsig.gui.beans.datainput.DataInputContainerListener;
45 45
import org.gvsig.gui.beans.table.models.CheckBoxModel;
46 46
import org.gvsig.raster.IProcessActions;
47
import org.gvsig.raster.RasterLibrary;
47 48
import org.gvsig.raster.RasterProcess;
48 49
import org.gvsig.raster.buffer.WriterBufferServer;
49 50
import org.gvsig.raster.dataset.properties.DatasetColorInterpretation;
50 51
import org.gvsig.raster.datastruct.Extent;
51 52
import org.gvsig.raster.util.RasterToolsUtil;
52 53
import org.gvsig.raster.util.RasterUtilities;
53
import org.gvsig.rastertools.RasterModule;
54 54
import org.gvsig.rastertools.clipping.ClippingProcess;
55 55
import org.gvsig.rastertools.clipping.panels.ClippingCoordinatesPanel;
56 56
import org.gvsig.rastertools.clipping.panels.ClippingOptionsPanel;
......
592 592
		}
593 593
		
594 594
		String file = getOptionsPanel().getFilenameTextField().getText();
595
		if(file.compareTo(RasterModule.getOnlyLayerName()) == 0) 
596
			RasterModule.usesOnlyLayerName();
595
		if(file.compareTo(RasterLibrary.getOnlyLayerName()) == 0) 
596
			RasterLibrary.usesOnlyLayerName();
597 597
		
598 598
		if (file == "") file = "cutlayer";
599 599

  
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/filter/ui/FilterDialog.java
25 25
import org.gvsig.gui.beans.buttonspanel.ButtonsPanel;
26 26
import org.gvsig.gui.beans.buttonspanel.ButtonsPanelEvent;
27 27
import org.gvsig.gui.beans.buttonspanel.ButtonsPanelListener;
28
import org.gvsig.rastertools.RasterModule;
28
import org.gvsig.raster.RasterLibrary;
29 29

  
30 30
import com.iver.andami.PluginServices;
31 31
import com.iver.andami.ui.mdiManager.IWindow;
......
101 101
	 */
102 102
	private void close() {
103 103
		try {
104
			RasterModule.removeOnlyLayerNameListener(getFilterPanel());
104
			RasterLibrary.removeOnlyLayerNameListener(getFilterPanel());
105 105
			PluginServices.getMDIManager().closeWindow(this);
106 106
		} catch (ArrayIndexOutOfBoundsException e) {
107 107
			//Si la ventana no se puede eliminar no hacemos nada
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/filter/ui/FilterPanel.java
48 48
import org.gvsig.gui.beans.imagenavigator.ImageNavigator;
49 49
import org.gvsig.gui.beans.propertiespanel.PropertiesComponent;
50 50
import org.gvsig.gui.beans.treelist.TreeListContainer;
51
import org.gvsig.raster.RasterLibrary;
51 52
import org.gvsig.raster.dataset.Params;
52 53
import org.gvsig.raster.dataset.Params.Param;
53 54
import org.gvsig.raster.datastruct.Extent;
......
55 56
import org.gvsig.raster.grid.filter.RasterFilterList;
56 57
import org.gvsig.raster.grid.filter.RasterFilterListManager;
57 58
import org.gvsig.raster.grid.render.Rendering;
59
import org.gvsig.raster.util.PropertyEvent;
60
import org.gvsig.raster.util.PropertyListener;
58 61
import org.gvsig.raster.util.RasterToolsUtil;
59
import org.gvsig.rastertools.PropertyEvent;
60
import org.gvsig.rastertools.PropertyListener;
61
import org.gvsig.rastertools.RasterModule;
62 62
import org.gvsig.rastertools.filter.FilterListener;
63 63
import org.gvsig.rastertools.filter.FilterListener.ParamStruct;
64 64

  
......
531 531
	 * en cada llamada un nombre consecutivo.
532 532
	 */
533 533
	public void updateNewLayerText() {
534
		filenameTextField.setText(RasterModule.getOnlyLayerName());
534
		filenameTextField.setText(RasterLibrary.getOnlyLayerName());
535 535
	}
536 536

  
537 537
	/**
......
566 566
		if (filenameTextField == null) {
567 567
			filenameTextField = new JTextField();
568 568
			filenameTextField.setPreferredSize(new Dimension(150, filenameTextField.getPreferredSize().height));
569
			RasterModule.addOnlyLayerNameListener(this);
569
			RasterLibrary.addOnlyLayerNameListener(this);
570 570
		}
571 571
		return filenameTextField;
572 572
	}
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/filter/FilterListener.java
43 43
import org.gvsig.gui.beans.treelist.listeners.TreeListChangeListener;
44 44
import org.gvsig.gui.beans.treelist.listeners.TreeListComponentListener;
45 45
import org.gvsig.raster.IProcessActions;
46
import org.gvsig.raster.RasterLibrary;
46 47
import org.gvsig.raster.dataset.GeoRasterWriter;
47 48
import org.gvsig.raster.dataset.IRasterDataSource;
48 49
import org.gvsig.raster.dataset.InvalidSetViewException;
......
62 63
import org.gvsig.raster.util.ExtendedFileFilter;
63 64
import org.gvsig.raster.util.RasterNotLoadException;
64 65
import org.gvsig.raster.util.RasterToolsUtil;
65
import org.gvsig.rastertools.RasterModule;
66 66
import org.gvsig.rastertools.filter.ui.FilterPanel;
67 67

  
68 68
import com.iver.andami.PluginServices;
......
321 321
		} else {
322 322

  
323 323
			String file = getFilterPanel().getFilenameTextField().getText();
324
			if(file.compareTo(RasterModule.getOnlyLayerName()) == 0) 
325
				RasterModule.usesOnlyLayerName();
324
			if(file.compareTo(RasterLibrary.getOnlyLayerName()) == 0) 
325
				RasterLibrary.usesOnlyLayerName();
326 326
							
327 327
			if(!compress)
328 328
				path = Utilities.createTempDirectory() + File.separator + file + ".tif";
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/RasterModule.java
18 18
 */
19 19
package org.gvsig.rastertools;
20 20

  
21
import java.util.ArrayList;
22 21
import java.util.prefs.Preferences;
23 22

  
24 23
import org.gvsig.fmap.raster.layers.FLyrRasterSE;
......
76 75
 * @author Nacho Brodin (nachobrodin@gmail.com)
77 76
 */
78 77
public class RasterModule extends Extension implements ConfigurationListener {
79
	/**
80
	 * Contador global de las capas generadas para raster
81
	 */
82
	private static int           layerCount = 1;
83
	private static ArrayList     propetiesListeners = new ArrayList();
84 78

  
85 79
	/**
86 80
	 * Indica si en el panel de preferencias se refresca automaticamente la vista
......
94 88
	 */
95 89
	public static boolean       askCoordinates = false;
96 90

  
97
	/**
98
	 * La gesti?n de nombres ?nicos en la generaci?n de capas se lleva de forma
99
	 * autom?tica. Cuando alguien crea una capa nueva, si esta no tiene nombre especifico,
100
	 * obtiene su nombre mediante este m?todo. La siguiente vez que se llame dar? un nombre
101
	 * distinto. El nombre de la capa ser? NewLayer_ seguido de un contador de actualizaci?n
102
	 * autom?tica cada vez que se usa.
103
	 * @return Nombre ?nico para la capa.
104
	 */
105
	public static String usesOnlyLayerName() {
106
		String oldValue = getOnlyLayerName();
107
		String newValue = "NewLayer_" + (++RasterModule.layerCount);
108
		for (int i = 0; i < propetiesListeners.size(); i++) {
109
			if(propetiesListeners.get(i) instanceof PropertyListener) 
110
				((PropertyListener)propetiesListeners.get(i)).actionValueChanged(new PropertyEvent(oldValue, "NewLayer", newValue, oldValue));
111
		}
112
		return newValue;
113
	}
114
	
115
	/**
116
	 * Obtiene el nombre ?nico de la siguiente capa sin actualizar el contador. Es
117
	 * solo para consulta. La siguiente vez que se llama a getOnlyLayerName o usesOnlyLayerName
118
	 * devolver? el mismo nomnbre. 
119
	 * @return Nombre ?nico para la capa.
120
	 */
121
	public static String getOnlyLayerName() {
122
		return "NewLayer_" + RasterModule.layerCount;
123
	}
124
	
125
	/**
126
	 * A?adir un listener a la lista de eventos
127
	 * @param listener
128
	 */
129
	public static void addOnlyLayerNameListener(PropertyListener listener) {
130
		if (!propetiesListeners.contains(listener))
131
			propetiesListeners.add(listener);
132
	}
133
	
134
	/**
135
	 * Elimina un listener de la lista de eventos
136
	 * @param listener
137
	 */
138
	public static void removeOnlyLayerNameListener(PropertyListener listener) {
139
		for (int i = 0; i < propetiesListeners.size(); i++)
140
			if(propetiesListeners.get(i) == listener)
141
				propetiesListeners.remove(i);
142
	}
143
	
144 91
	/*
145 92
	 * (non-Javadoc)
146 93
	 * @see com.iver.andami.plugins.IExtension#execute(java.lang.String)
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/colortable/data/ColorTableDataEvent.java
18 18
*/
19 19
package org.gvsig.rastertools.colortable.data;
20 20

  
21
import org.gvsig.rastertools.PropertyEvent;
21
import org.gvsig.raster.util.PropertyEvent;
22 22
/**
23 23
 *
24 24
 * @version 07/08/2007
25 25
 * @author BorSanZa - Borja S?nchez Zamorano (borja.sanchez@iver.es)
26 26
 */
27 27
public class ColorTableDataEvent extends PropertyEvent {
28
	private static final long serialVersionUID = 1L;
28 29

  
29 30
	public ColorTableDataEvent(Object source, String name, Object value) {
30 31
		super(source, name, value, null);
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/colortable/data/ColorTableDataListener.java
18 18
*/
19 19
package org.gvsig.rastertools.colortable.data;
20 20

  
21
import org.gvsig.rastertools.PropertyListener;
21
import org.gvsig.raster.util.PropertyListener;
22 22
/**
23 23
 *
24 24
 * @version 07/08/2007
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/colortable/ColorTableListener.java
44 44
import org.gvsig.raster.grid.filter.enhancement.LinearEnhancementFilter;
45 45
import org.gvsig.raster.grid.filter.statistics.TailTrimFilter;
46 46
import org.gvsig.raster.hierarchy.IRasterRendering;
47
import org.gvsig.raster.util.PropertyEvent;
47 48
import org.gvsig.raster.util.RasterToolsUtil;
48
import org.gvsig.rastertools.PropertyEvent;
49 49
import org.gvsig.rastertools.colortable.data.ColorTableData;
50 50
import org.gvsig.rastertools.colortable.data.ColorTableDataListener;
51 51
import org.gvsig.rastertools.colortable.panels.ColorTableUIListener;
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/properties/control/PanSharpeningControl.java
15 15
import org.gvsig.gui.beans.panelGroup.AbstractPanelGroup;
16 16
import org.gvsig.gui.beans.slidertext.listeners.SliderEvent;
17 17
import org.gvsig.gui.beans.slidertext.listeners.SliderListener;
18
import org.gvsig.raster.RasterLibrary;
18 19
import org.gvsig.raster.dataset.RasterDataset;
19 20
import org.gvsig.raster.grid.filter.FilterTypeException;
20 21
import org.gvsig.raster.grid.filter.RasterFilter;
......
25 26
import org.gvsig.raster.hierarchy.IRasterDataset;
26 27
import org.gvsig.raster.hierarchy.IRasterProperties;
27 28
import org.gvsig.raster.util.RasterToolsUtil;
28
import org.gvsig.rastertools.RasterModule;
29 29
import org.gvsig.rastertools.properties.panels.PanSharpeningPanel;
30 30

  
31 31
import com.iver.andami.PluginServices;
......
154 154
			PanSharpeningListManager bcManager = (PanSharpeningListManager) manager.getManagerByClass(PanSharpeningListManager.class);
155 155
		
156 156
			// Fichero de salida
157
			String fileName = RasterModule.usesOnlyLayerName();
157
			String fileName = RasterLibrary.usesOnlyLayerName();
158 158
			fileNameOutput = Utilities.createTempDirectory() + File.separator + fileName + ".tif";
159 159
			if (pansharpPanel.getCbActiveSharpening().isSelected()){		
160 160
				// Tomar los parametros de la interfas pharsharpPanel
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/generictoolbar/GenericToolBarModule.java
71 71
					for (int j = 0; j < panel.getComponentCount(); j++) {
72 72
						if (panel.getComponent(i) instanceof JToolBar) {
73 73
							toolBar = new GenericToolBarPanel();
74
							toolBar.setPreferredSize(new Dimension(300, 23));
74
							toolBar.setPreferredSize(new Dimension(300, 26));
75 75
							
76 76
							panel.add(toolBar, BorderLayout.PAGE_START);
77 77
							return toolBar;

Also available in: Unified diff