Revision 23794 branches/v2_0_0_prep/libraries/libFMap_mapcontrol/src/org/gvsig/fmap/data/feature/swing/table/ConfigurableFeatureTableModel.java

View differences:

ConfigurableFeatureTableModel.java
78 78

  
79 79
    @Override
80 80
    public String getColumnName(int column) {
81
        int realIndex = getRealColumnIndex(column);
82
        String realName = super.getColumnName(realIndex);
83
        return getAliasForColumn(realName);
81
        int originalIndex = getOriginalColumnIndex(column);
82
        return getAliasForColumn(getOriginalColumnName(originalIndex));
84 83
    }
85 84

  
86 85
    /**
86
     * Returns the original name of the column, ignoring the alias.
87
     * 
88
     * @param column
89
     *            the original index of the column
90
     * @return the original column name
91
     */
92
    public String getOriginalColumnName(int column) {
93
        return super.getColumnName(column);
94
    }
95

  
96
    /**
87 97
     * Sets the visibility of a table column.
88 98
     * 
89 99
     * @param columnIndex
......
163 173
    }
164 174

  
165 175
    /**
176
     * Returns if a column is visible.
177
     * 
178
     * @param name
179
     *            the name of the column
180
     * @return if the column is visible
181
     */
182
    public boolean isVisible(String name) {
183
        return visibleColumnNames.contains(name);
184
    }
185

  
186
    /**
166 187
     * Initializes the table name aliases.
167 188
     */
168 189
    private void initializeAliases() {
......
202 223
    }
203 224

  
204 225
    /**
205
     * Returns if a column is visible.
226
     * Returns the original position of a column.
206 227
     * 
207
     * @param name
208
     *            the name of the column
209
     * @return if the column is visible
210
     */
211
    protected boolean isVisible(String name) {
212
        return visibleColumnNames.contains(name);
213
    }
214

  
215
    /**
216
     * Returns the real position of a column.
217
     * 
218 228
     * @param columnIndex
219 229
     *            the current visible column index
220
     * @return the real column index
230
     * @return the original column index
221 231
     */
222
    protected int getRealColumnIndex(int columnIndex) {
232
    protected int getOriginalColumnIndex(int columnIndex) {
223 233
        String columnName = visibleColumnNames.get(columnIndex);
224 234
        return columnNames.indexOf(columnName);
225 235
    }
226 236

  
227 237
    @Override
228 238
    protected Object getFeatureValue(Feature feature, int columnIndex) {
229
        int realColumnIndex = getRealColumnIndex(columnIndex);
239
        int realColumnIndex = getOriginalColumnIndex(columnIndex);
230 240
        return super.getFeatureValue(feature, realColumnIndex);
231 241
    }
232 242

  
233 243
    @Override
234 244
    protected EditableFeature setFeatureValue(Feature feature, int columnIndex,
235 245
            Object value) {
236
        int realColumnIndex = getRealColumnIndex(columnIndex);
246
        int realColumnIndex = getOriginalColumnIndex(columnIndex);
237 247
        return super.setFeatureValue(feature, realColumnIndex, value);
238 248
    }
239 249
}

Also available in: Unified diff