Revision 18962 trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/RasterModule.java
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) |
Also available in: Unified diff