Revision 44478 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/DefaultFeatureTypePanel.java

View differences:

DefaultFeatureTypePanel.java
9 9
import java.util.Objects;
10 10
import javax.swing.JComponent;
11 11
import javax.swing.JOptionPane;
12
import javax.swing.event.ChangeListener;
12 13
import javax.swing.event.ListSelectionEvent;
13 14
import javax.swing.event.ListSelectionListener;
14 15
import javax.swing.event.TableModelEvent;
......
23 24
import org.gvsig.tools.dataTypes.DataTypes;
24 25
import org.gvsig.tools.dynobject.DynStruct_v2;
25 26
import org.gvsig.tools.i18n.I18nManager;
27
import org.gvsig.tools.swing.api.ChangeListenerHelper;
26 28
import org.gvsig.tools.swing.api.ToolsSwingLocator;
27 29
import org.gvsig.tools.swing.api.ToolsSwingManager;
28 30
import org.slf4j.Logger;
......
38 40
    {
39 41

  
40 42
    private static final Logger LOGGER = LoggerFactory.getLogger(DefaultFeatureTypePanel.class);
41
    
43

  
42 44
    private class FeatureTypeTableModel extends AbstractTableModel {
43 45

  
44 46
        private final FeatureType featureType;
......
145 147
    private int currentRow;
146 148
    private boolean fieldSelectionAllowed;
147 149
    private TagsController tagsController;
150
    private ChangeListenerHelper changeListenerHelper;
148 151
        
149 152
    public DefaultFeatureTypePanel() {
150 153
        this.editable = true;
......
157 160
    private void initComponents() {
158 161
        ToolsSwingManager swingManager = ToolsSwingLocator.getToolsSwingManager();
159 162

  
163
        this.changeListenerHelper = swingManager.createChangeListenerHelper();
164
        
160 165
        swingManager.translate(this.btnDelete);
161 166
        swingManager.translate(this.btnFormFieldAccept);
162 167
        swingManager.translate(this.btnFormFieldDiscard);
......
225 230
        );
226 231

  
227 232
        
228
        this.setPreferredSize(new Dimension(700, 400));
233
        this.setPreferredSize(new Dimension(700, 500));
229 234
        if( this.tblFields.getRowCount()>0 ) {
230 235
            this.tblFields.getSelectionModel().setSelectionInterval(0, 0);
231 236
            doFormFieldPut();
......
292 297
            this.descriptorPanel.setEditable(false);
293 298
        }
294 299
        this.fieldSelectionAllowed = false;
300
        this.changeListenerHelper.fireEvent();
295 301
    }
296 302
    
303
    @Override
304
    public boolean isModifyingAField() {
305
        return btnFormFieldAccept.isEnabled();
306
    }
307
    
297 308
    private void doFormFieldAccept() {
298 309
        int row = this.tblFields.getSelectedRow();
299 310
        if( row<0 ) {
......
305 316
            this.tblFields.scrollRectToVisible(this.tblFields.getCellRect(row, 0, true));
306 317
            this.fieldSelectionAllowed = true;
307 318
        }
319
        this.changeListenerHelper.fireEvent();
308 320
    }
309 321
    
310 322
    private void doFormFieldDiscard() {
311 323
        doFormFieldPut();
312 324
        this.updateButtonState();
313 325
        this.fieldSelectionAllowed = true;
326
        this.changeListenerHelper.fireEvent();
314 327
    }
315 328

  
316 329
    private void doChangeFieldSelection() {
......
403 416
        this.tblFields.getSelectionModel().addSelectionInterval(row,row);
404 417
        this.tblFields.scrollRectToVisible(this.tblFields.getCellRect(row, 0, true));
405 418
        updateButtonState();
406
        doFormFieldModify();       
419
        doFormFieldModify();    
420
        this.changeListenerHelper.fireEvent();
407 421
    }
408 422
    
409 423
    private void doDeleteField() {
......
420 434
        this.tblFields.getSelectionModel().addSelectionInterval(row,row);
421 435
        updateButtonState();
422 436
        doFormFieldPut();       
437
        this.changeListenerHelper.fireEvent();
423 438
    }
424 439
            
425 440
    public static String getNewFieldName(FeatureType featureType) {
......
436 451
        return fieldName;
437 452
    }
438 453

  
454
    @Override
455
    public void addChangeListener(ChangeListener listener) {
456
        this.changeListenerHelper.addChangeListener(listener);
457
    }
458

  
459
    @Override
460
    public ChangeListener[] getChangeListeners() {
461
        return this.changeListenerHelper.getChangeListeners();
462
    }
463

  
464
    @Override
465
    public void removeChangeListener(ChangeListener listener) {
466
        this.changeListenerHelper.removeChangeListener(listener);
467
    }
468

  
469
    @Override
470
    public void removeAllChangeListener() {
471
        this.changeListenerHelper.removeAllChangeListener();
472
    }
473

  
474
    @Override
475
    public boolean hasChangeListeners() {
476
        return this.changeListenerHelper.hasChangeListeners();
477
    }
478
    
439 479
}

Also available in: Unified diff