Revision 38409 branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/dal/feature/swing/table/ConfigurableFeatureTableModel.java
ConfigurableFeatureTableModel.java | ||
---|---|---|
61 | 61 |
|
62 | 62 |
private List<String> visibleColumnNames; |
63 | 63 |
|
64 |
private List<String> visibleColumnNamesOriginal; |
|
65 |
|
|
64 | 66 |
private Map<String, String> name2Alias; |
65 | 67 |
|
68 |
private Map<String, String> name2AliasOriginal; |
|
69 |
|
|
66 | 70 |
/** |
67 | 71 |
* @see FeatureTableModel#FeatureTableModel(FeatureStore, FeatureQuery) |
68 | 72 |
*/ |
... | ... | |
168 | 172 |
if (!visibleColumnNames.contains(colName) && newColumns.contains(colName)) { |
169 | 173 |
// Add new columns |
170 | 174 |
visibleColumnNames.add(colName); |
175 |
visibleColumnNamesOriginal.add(colName); |
|
171 | 176 |
} |
172 | 177 |
} |
173 | 178 |
|
174 | 179 |
// remove from visible columns removed columns |
175 | 180 |
visibleColumnNames.retainAll(columnNames); |
181 |
visibleColumnNamesOriginal.retainAll(columnNames); |
|
176 | 182 |
|
177 | 183 |
// remove from alias map removed columns |
178 |
name2Alias.keySet().retainAll(visibleColumnNames); |
|
184 |
name2Alias.keySet().retainAll(columnNames); |
|
185 |
name2AliasOriginal.keySet().retainAll(columnNames); |
|
179 | 186 |
|
180 | 187 |
super.setFeatureType(featureType); |
181 | 188 |
|
... | ... | |
260 | 267 |
private void initializeAliases() { |
261 | 268 |
int columns = super.getColumnCount(); |
262 | 269 |
name2Alias = new HashMap<String, String>(columns); |
270 |
name2AliasOriginal = new HashMap<String, String>(columns); |
|
263 | 271 |
// |
264 | 272 |
// for (int i = 0; i < columns; i++) { |
265 | 273 |
// String columnName = super.getColumnName(i); |
... | ... | |
286 | 294 |
visibleColumnNames.add(columnName); |
287 | 295 |
} |
288 | 296 |
} |
297 |
|
|
298 |
visibleColumnNamesOriginal = new ArrayList<String>(visibleColumnNames); |
|
289 | 299 |
} |
290 | 300 |
|
291 | 301 |
/** |
... | ... | |
324 | 334 |
int realColumnIndex = getOriginalColumnIndex(columnIndex); |
325 | 335 |
return super.setFeatureValue(feature, realColumnIndex, value); |
326 | 336 |
} |
337 |
|
|
338 |
/** |
|
339 |
* Make current changes in configuration (visible columns and aliases) |
|
340 |
* as definitive. |
|
341 |
*/ |
|
342 |
public void acceptChanges() { |
|
343 |
visibleColumnNamesOriginal = new ArrayList<String>(visibleColumnNames); |
|
344 |
name2AliasOriginal = new HashMap<String, String>(name2Alias); |
|
345 |
} |
|
346 |
|
|
347 |
/** |
|
348 |
* Cancel current changes in configuration (visible columns and aliases) |
|
349 |
* and return to previous status. |
|
350 |
*/ |
|
351 |
public void cancelChanges() { |
|
352 |
visibleColumnNames = new ArrayList<String>(visibleColumnNamesOriginal); |
|
353 |
name2Alias = new HashMap<String, String>(name2AliasOriginal); |
|
354 |
fireTableStructureChanged(); |
|
355 |
} |
|
327 | 356 |
} |
Also available in: Unified diff