Revision 38409

View differences:

branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/dal/feature/swing/table/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
}
branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/dal/feature/swing/table/FeatureTableConfigurationPanel.java
86 86
        setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
87 87
        add(scrollPane);
88 88
    }
89
    
90
    /**
91
     * Make current changes in configuration (visible columns and aliases)
92
     * as definitive.
93
     */
94
    public void accept() {
95
    	tableModel.acceptChanges();
96
    }
97
    
98
    /**
99
     * Cancel current changes in configuration (visible columns and aliases)
100
     * and return to previous status.
101
     */
102
    public void cancel() {
103
    	tableModel.cancelChanges();
104
    }
89 105
}
branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/dal/feature/swing/table/ConfigurationTableModel.java
131 131
	public static int getVisibilityColumn() {
132 132
		return VISIBILITY_COLUMN;
133 133
	}
134
	
135
    /**
136
     * Make current changes in configuration (visible columns and aliases)
137
     * as definitive.
138
     */
139
	public void acceptChanges() {
140
		configurable.acceptChanges();
141
	}
142
	
143
    /**
144
     * Cancel current changes in configuration (visible columns and aliases)
145
     * and return to previous status.
146
     */
147
	public void cancelChanges() {
148
		configurable.cancelChanges();
149
	}
134 150
}

Also available in: Unified diff