Revision 44747

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.impl/src/main/java/org/gvsig/fmap/dal/swing/impl/featuretype/DefaultFeatureAttributesSelectionPanel.java
7 7
import java.util.ArrayList;
8 8
import java.util.Collections;
9 9
import java.util.List;
10
import javax.swing.DefaultListCellRenderer;
10 11
import javax.swing.DefaultListModel;
11 12
import javax.swing.ImageIcon;
12 13
import javax.swing.JComponent;
......
25 26
import org.gvsig.tools.swing.api.ToolsSwingManager;
26 27
import org.gvsig.tools.swing.icontheme.IconTheme;
27 28
import org.gvsig.fmap.dal.swing.featuretype.FeatureAttributesSelectionPanel;
29
import org.gvsig.tools.util.LabeledValue;
30
import org.gvsig.tools.util.LabeledValueImpl;
28 31

  
29 32
/**
30 33
 *
......
48 51
    
49 52
    private void initComponents() {
50 53
        ToolsSwingManager toolsSwingManager = ToolsSwingLocator.getToolsSwingManager();
51
        ListCellRenderer renderer = DALSwingLocator.getDataSwingManager().createDefaultFeatureAttributeListCellRenderer();
54
//        ListCellRenderer renderer = DALSwingLocator.getDataSwingManager().createDefaultFeatureAttributeListCellRenderer();
55
        DefaultListCellRenderer renderer = new DefaultListCellRenderer();
52 56
        this.lstAvailableColumns.setCellRenderer(renderer);
53 57
        this.lstSelectedColumns.setCellRenderer(renderer);
54 58
        
......
100 104
    public void setSelectedNames(List<String> names) {
101 105
      this.selecteds.clear();
102 106
      for (String name : names) {
103
        if( this.featureType.getAttributeDescriptor(name)!=null &&
104
            !this.selecteds.contains(name) ) {
107
        if(!this.selecteds.contains(name)) {
105 108
          this.selecteds.add(name);
106 109
        }
107 110
      }
......
133 136
    }
134 137
    
135 138
    private void doColumnUp() {
136
        FeatureAttributeDescriptor attr = (FeatureAttributeDescriptor) this.lstSelectedColumns.getSelectedValue();
139
        LabeledValue attr = (LabeledValue) this.lstSelectedColumns.getSelectedValue();
137 140
        if( attr == null ) {
138 141
            return;
139 142
        }
140
        int n = this.selecteds.indexOf(attr.getName());
143
        int n = this.selecteds.indexOf(attr.getLabel());
141 144
        if( n<1 ) {
142 145
          return;
143 146
        }
......
147 150
    }
148 151

  
149 152
    private void doColumnDown() {
150
        FeatureAttributeDescriptor attr = (FeatureAttributeDescriptor) this.lstSelectedColumns.getSelectedValue();
153
        LabeledValue attr = (LabeledValue) this.lstSelectedColumns.getSelectedValue();
151 154
        if( attr == null ) {
152 155
            return;
153 156
        }
154
        int n = this.selecteds.indexOf(attr.getName());
157
        int n = this.selecteds.indexOf(attr.getLabel());
155 158
        if( n<1 || n>=this.selecteds.size()-1 ) {
156 159
          return;
157 160
        }
......
161 164
    }
162 165

  
163 166
    private void doColumnRemove() {
164
        FeatureAttributeDescriptor attr = (FeatureAttributeDescriptor) this.lstSelectedColumns.getSelectedValue();
167
        LabeledValue attr = (LabeledValue) this.lstSelectedColumns.getSelectedValue();
165 168
        if( attr == null ) {
166 169
            return;
167 170
        }
168
        int n = this.selecteds.indexOf(attr.getName());
171
        int n = this.selecteds.indexOf(attr.getLabel());
169 172
        if( n<0 ) {
170 173
          return;
171 174
        }
......
174 177
    }
175 178

  
176 179
    private void doColumnAdd() {
177
        FeatureAttributeDescriptor attr = (FeatureAttributeDescriptor) this.lstAvailableColumns.getSelectedValue();
180
        LabeledValue attr = (LabeledValue) this.lstAvailableColumns.getSelectedValue();
178 181
        if( attr == null ) {
179 182
            return;
180 183
        }
181
        int n = this.selecteds.indexOf(attr.getName());
184
        int n = this.selecteds.indexOf(attr);
182 185
        if( n>=0 ) {
183 186
          return;
184 187
        }
185
        this.selecteds.add(attr.getName());
188
        this.selecteds.add(attr.getLabel());
186 189
        this.updateControls();
187 190
    }
188 191

  
......
248 251
        int indexAvailables = this.lstAvailableColumns.getSelectedIndex();
249 252
        int indexSelecteds = this.lstSelectedColumns.getSelectedIndex();
250 253
        FilteredListModel modelAvailables = ToolsSwingLocator.getToolsSwingManager().createFilteredListModel();
251
        DefaultListModel<FeatureAttributeDescriptor> modelSelecteds = new DefaultListModel<>();
254
        FilteredListModel modelSelecteds = ToolsSwingLocator.getToolsSwingManager().createFilteredListModel();
252 255
        for (FeatureAttributeDescriptor attr : featureType) {
253 256
            if( !this.selecteds.contains(attr.getName()) ) {
254
                modelAvailables.addElement(attr);
257
                modelAvailables.addElement(attr.getName());
255 258
            }
256 259
        } 
257 260
        modelAvailables.setFilter(this.txtColumnsFilter.getText());
258 261
        modelAvailables.sort(true);
259 262
        for (String name : this.selecteds) {
260
            modelSelecteds.addElement(featureType.getAttributeDescriptor(name));
263
            modelSelecteds.addElement(name);
261 264
        }
262 265
        modelAvailables.sort(true);
263 266
        this.lstAvailableColumns.setModel(modelAvailables);

Also available in: Unified diff