Revision 24759 branches/v2_0_0_prep/applications/appgvSIG/src/com/iver/cit/gvsig/ViewSelectionControls.java

View differences:

ViewSelectionControls.java
96 96
package com.iver.cit.gvsig;
97 97

  
98 98
import org.apache.log4j.Logger;
99
import org.gvsig.fmap.data.DataCollection;
100
import org.gvsig.fmap.data.DataException;
101
import org.gvsig.fmap.data.DataStore;
99
import org.gvsig.fmap.dal.DataStore;
100
import org.gvsig.fmap.dal.exception.DataException;
101
import org.gvsig.fmap.dal.feature.FeatureStore;
102 102
import org.gvsig.fmap.mapcontext.MapContext;
103 103
import org.gvsig.fmap.mapcontext.layers.FLayer;
104 104
import org.gvsig.fmap.mapcontext.layers.FLayers;
......
180 180
			PluginServices.getMDIManager().addWindow(dlg);
181 181
			((ProjectDocument)vista.getModel()).setModified(true);
182 182
		} else if (actionCommand.equals("INVERT_SELECTION")) {
183
			for (int i = 0; i < mapa.getLayers().getActives().length; i++) {
184
				FLayer lyr = mapa.getLayers().getActives()[i];
183
			FLayer[] actives = mapa.getLayers().getActives();
184
			for (int i = 0; i < actives.length; i++) {
185
				FLayer lyr = actives[i];
185 186
				if (lyr.isAvailable() && lyr instanceof SingleLayer) {
186 187
					SingleLayer lyrSingle = (SingleLayer) lyr;
187
					DataStore fs;
188
					try {
189
						fs = lyrSingle.getDataStore();
190
						DataCollection fCollectionAll = fs.getDataCollection();
191
						DataCollection fCollection = fs.getSelection();
192
						DataCollection fCollectionNew = fs.createSelection();
193
						fCollectionNew.addAll(fCollectionAll);
194
						fCollectionNew.removeAll(fCollection);
195
						fs.setSelection(fCollectionNew);
196
					} catch (DataException e) {
197
						e.printStackTrace();
198
						NotificationManager.addError(e);
188
					DataStore ds = lyrSingle.getDataStore();
189
					if (ds instanceof FeatureStore) {
190
						try {
191
							((FeatureStore) ds).getFeatureSelection().reverse();
192
						} catch (DataException e) {
193
							e.printStackTrace();
194
							NotificationManager.addError(e);
195
						}
196
					} else {
197
						// TODO Not supported yet
199 198
					}
200 199

  
200

  
201 201
				}
202 202
			}
203 203
			((ProjectDocument)vista.getModel()).setModified(true);

Also available in: Unified diff