Revision 5339 trunk/extensions/extWFS2/src/com/iver/cit/gvsig/gui/panels/WFSSelectFieldsPanel.java
WFSSelectFieldsPanel.java | ||
---|---|---|
2 | 2 |
|
3 | 3 |
import java.util.ArrayList; |
4 | 4 |
import java.util.Hashtable; |
5 |
import java.util.Vector; |
|
5 | 6 |
|
6 | 7 |
import javax.swing.JButton; |
7 | 8 |
import javax.swing.JList; |
8 | 9 |
import javax.swing.JPanel; |
9 | 10 |
import javax.swing.JScrollPane; |
10 | 11 |
|
12 |
import org.gvsig.remoteClient.wfs.WFSField; |
|
13 |
|
|
11 | 14 |
import com.iver.andami.PluginServices; |
15 |
import com.iver.cit.gvsig.fmap.drivers.geotools.WFSFilter; |
|
12 | 16 |
import com.iver.cit.gvsig.fmap.layers.WFSLayerNode; |
13 | 17 |
|
14 | 18 |
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana |
... | ... | |
55 | 59 |
* |
56 | 60 |
* $Id$ |
57 | 61 |
* $Log$ |
58 |
* Revision 1.2 2006-05-19 12:57:08 jorpiell |
|
62 |
* Revision 1.3 2006-05-23 08:09:39 jorpiell |
|
63 |
* Se ha cambiado la forma en la que se leian los valores seleccionados en los paneles y se ha cambiado el comportamiento de los botones |
|
64 |
* |
|
65 |
* Revision 1.2 2006/05/19 12:57:08 jorpiell |
|
59 | 66 |
* Modificados algunos paneles |
60 | 67 |
* |
61 | 68 |
* Revision 1.1 2006/04/20 16:38:24 jorpiell |
... | ... | |
197 | 204 |
*/ |
198 | 205 |
public void setFields(WFSLayerNode feature){ |
199 | 206 |
this.getLstSelectedFeatures().setListData(new Object[0]); |
200 |
Hashtable fields = feature.getFields(); |
|
201 |
this.getLstFeatures().setListData(fields.values().toArray()); |
|
207 |
Vector fields = feature.getFields(); |
|
208 |
this.getLstFeatures().setListData(fields.toArray()); |
|
209 |
for (int i=0 ; i<fields.size() ;i++){ |
|
210 |
WFSField field = (WFSField)fields.get(i); |
|
211 |
if (WFSFilter.isGeometry(field.getType())){ |
|
212 |
Vector geometry = new Vector(); |
|
213 |
geometry.add(field); |
|
214 |
getLstSelectedFeatures().setListData(geometry.toArray()); |
|
215 |
} |
|
216 |
} |
|
202 | 217 |
} |
203 | 218 |
|
204 | 219 |
/** |
... | ... | |
235 | 250 |
features.add(getLstSelectedFeatures().getModel() |
236 | 251 |
.getElementAt(i)); |
237 | 252 |
|
238 |
for (int j = 0; j < obj.length; j++) |
|
239 |
if (features.contains(obj[j])) |
|
240 |
features.remove(obj[j]); |
|
253 |
for (int j = 0; j < obj.length; j++){ |
|
254 |
if (features.contains(obj[j])){ |
|
255 |
WFSField field = (WFSField)obj[j]; |
|
256 |
if (!(WFSFilter.isGeometry(field.getType()))){ |
|
257 |
features.remove(obj[j]); |
|
258 |
} |
|
259 |
} |
|
260 |
} |
|
241 | 261 |
obj = new Object[features.size()]; |
242 | 262 |
for (int i = 0; i < obj.length; i++) { |
243 | 263 |
obj[i] = features.get(i); |
... | ... | |
251 | 271 |
* @return the selected fields. |
252 | 272 |
*/ |
253 | 273 |
public String[] getSelectedFields(){ |
254 |
Object[] items = getLstSelectedFeatures().getSelectedValues();
|
|
255 |
String[] fields = new String[items.length];
|
|
256 |
for (int i=0 ; i<items.length ; i++){
|
|
257 |
fields[i] = (String)items[i];
|
|
274 |
int numSelected = getLstSelectedFeatures().getModel().getSize();
|
|
275 |
String[] fields = new String[numSelected];
|
|
276 |
for (int i=0 ; i<fields.length ; i++){
|
|
277 |
fields[i] = ((WFSField)getLstFeatures().getModel().getElementAt(i)).getName();
|
|
258 | 278 |
} |
259 |
return fields; |
|
279 |
return fields;
|
|
260 | 280 |
} |
261 | 281 |
|
262 | 282 |
} |
Also available in: Unified diff