Revision 1310 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/roi/ROIFeatureManager.java
ROIFeatureManager.java | ||
---|---|---|
117 | 117 |
|
118 | 118 |
for (int i = 0; i < roiNameList.size(); i++) { |
119 | 119 |
String roiName = roiNameList.get(i); |
120 |
anythingCleared = anythingCleared || removeROI(roiName, layer, onlyRemoveFromLayer); |
|
120 |
anythingCleared = removeGraphics(layer, getROIId(roiName)) ? true : anythingCleared; |
|
121 |
if(onlyRemoveFromLayer) |
|
122 |
roiNameToFeatureList.remove(roiName); |
|
121 | 123 |
} |
122 | 124 |
|
123 | 125 |
return anythingCleared; |
124 | 126 |
} |
125 | 127 |
|
126 | 128 |
public boolean removeROI(String roiName, GraphicLayer layer) { |
127 |
return removeROI(roiName, layer, false); |
|
128 |
} |
|
129 |
|
|
130 |
private synchronized boolean removeROI(String roiName, GraphicLayer layer, |
|
131 |
boolean onlyRemoveFromLayer) { |
|
132 |
//String roiId = getROIId(roiName); |
|
133 |
//layer.removeGraphics(roiId); |
|
134 | 129 |
removeGraphics(layer, getROIId(roiName)); |
135 |
synchronized (roiNameToFeatureList) { |
|
136 |
return onlyRemoveFromLayer ? true : roiNameToFeatureList.remove(roiName) != null; |
|
137 |
} |
|
130 |
return roiNameToFeatureList.remove(roiName) != null; |
|
138 | 131 |
} |
139 | 132 |
|
140 | 133 |
public void changeColor(GraphicLayer lyr, String roiName, Color color) { |
... | ... | |
170 | 163 |
} |
171 | 164 |
} |
172 | 165 |
|
173 |
public void removeGraphics(GraphicLayer lyr, String prefix) { |
|
166 |
@SuppressWarnings("deprecation") |
|
167 |
public boolean removeGraphics(GraphicLayer lyr, String prefix) { |
|
168 |
boolean anythingCleared = false; |
|
174 | 169 |
DisposableIterator iterator = null; |
175 | 170 |
FeatureSet featureSet = null; |
176 | 171 |
FeatureStore store = lyr.getFeatureStore(); |
... | ... | |
189 | 184 |
//featureSet.delete(feature); //ConcurrentModificationException!!! Lo a?ado a una lista para eliminarlo posteriormente |
190 | 185 |
} |
191 | 186 |
} |
187 |
anythingCleared = list.size() > 0; |
|
192 | 188 |
for (int i = 0; i < list.size(); i++) { |
193 | 189 |
store.delete(list.get(i)); |
194 | 190 |
} |
... | ... | |
204 | 200 |
iterator.dispose(); |
205 | 201 |
} |
206 | 202 |
} |
203 |
return anythingCleared; |
|
207 | 204 |
} |
208 |
|
|
205 |
|
|
209 | 206 |
public String getROIId(String roiName) { |
210 | 207 |
return getROIPrefix().concat(roiName); |
211 | 208 |
} |
Also available in: Unified diff