Revision 8845

View differences:

org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.wms/org.gvsig.wms.swing/org.gvsig.wms.swing.api/src/main/java/org/gvsig/wms/swing/api/WMSParametersPanel.java
54 54
     */
55 55
    public boolean refreshLocalCache();
56 56

  
57
    /**
58
     * Validates the parameters
59
     * @return boolean
60
     */
61
    boolean areSettingsValid();
62

  
63

  
57 64
}
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.wms/org.gvsig.wms.swing/org.gvsig.wms.swing.impl/src/main/java/org/gvsig/wms/swing/impl/DefaultWMSParametersPanelController.java
455 455
//        if(connectionThread != null && connectionThread.isAlive()){
456 456
//            connectionThread.interrupt();
457 457
//        }
458
        firePropertyChange("all", null, null);
458 459
    }
459 460

  
460 461

  
......
474 475
        }
475 476

  
476 477
        tabWMS.setEnabledAt(4, true);
478
        firePropertyChange("all", null, null);
477 479
    }
478 480

  
479 481
    /**
......
523 525
        } else {
524 526
            fillFormats(null);
525 527
        }
528
        firePropertyChange("all", null, null);
526 529
    }
527 530

  
528 531

  
......
597 600
            @Override
598 601
            public void valueChanged(ListSelectionEvent e) {
599 602
                int index = lstFormats.getSelectedIndex();
600
                format = model.getElementAt(index);
603
                if(index>=0 && index<model.getSize()){
604
                    format = model.getElementAt(index);
605
                } else {
606
                    format = null;
607
                }
608
                firePropertyChange("all", null, null);
601 609
            }
602 610
        });
603 611
        lstFormats.setModel(model);
......
615 623
            @Override
616 624
            public void valueChanged(ListSelectionEvent e) {
617 625
                int index = lstInfoFormats.getSelectedIndex();
618
                infoFormat = model.getElementAt(index);
626
                if(index>=0 && index<model.getSize()){
627
                    infoFormat = model.getElementAt(index);
628
                } else {
629
                    infoFormat = null;
630
                }
631
                firePropertyChange("all", null, null);
619 632
            }
620 633
        });
621 634
        lstInfoFormats.setModel(model);
......
780 793
        updateLstProjections();
781 794
        updateTreeStyles();
782 795
//        updateLstDimensions();
796
        firePropertyChange("all", null, null);
783 797
    }
784 798

  
785 799
    @SuppressWarnings("unchecked")
......
797 811
                if (selectedRow >= 0 && selectedRow < model.getSize()) {
798 812
                    projection = model.getElementAt(selectedRow);
799 813
                }
814
                firePropertyChange("all", null, null);
800 815
            }
801 816
        });
802 817

  
......
902 917
                ((StyleTreeModel) treeStyles.getModel()).setSelectedLeaf(treeStyles.getSelectionPath());
903 918
                treeStyles.clearSelection();
904 919
                repaint();
920
                firePropertyChange("all", null, null);
905 921
            }
906 922
        });
907 923
    }
......
1337 1353
    public boolean refreshLocalCache() {
1338 1354
        return chkRefreshLocalCache.isSelected();
1339 1355
    }
1356

  
1357
    @Override
1358
    public boolean areSettingsValid() {
1359
        return serverExplorer!=null && format!=null && infoFormat!=null && selectedLayers!=null && !selectedLayers.isEmpty() && projection!=null;
1360
    }
1340 1361
}
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.wms/org.gvsig.wms.app/org.gvsig.wms.app.mainplugin/src/main/java/org/gvsig/wms/app/mainplugin/WMSAddLayerPanel.java
23 23
package org.gvsig.wms.app.mainplugin;
24 24

  
25 25
import java.awt.BorderLayout;
26
import java.beans.PropertyChangeEvent;
27
import java.beans.PropertyChangeListener;
26 28
import java.io.File;
27 29
import java.util.List;
28 30

  
......
35 37
import org.gvsig.app.ApplicationLocator;
36 38
import org.gvsig.app.ApplicationManager;
37 39
import org.gvsig.app.gui.WizardPanel;
40
import org.gvsig.app.gui.wizards.WizardListener;
41
import org.gvsig.app.gui.wizards.WizardListenerSupport;
38 42
import org.gvsig.app.project.documents.view.toc.actions.LayerErrorsPanel;
39 43
import org.gvsig.fmap.dal.DALLocator;
40 44
import org.gvsig.fmap.dal.DataManager;
......
69 73
     *
70 74
     */
71 75
    private static final long serialVersionUID = 208280947322242604L;
72
    private WMSParametersPanel panel = null;
73 76
    private static final Logger logger = LoggerFactory.getLogger(WMSAddLayerPanel.class);
74 77

  
78
    private WMSParametersPanel panel = null;
79
    private WizardListenerSupport listenerSupport = null;
80

  
75 81
    /**
76 82
     *
77 83
     */
......
100 106

  
101 107

  
102 108
        this.add(panel.asJComponent(), BorderLayout.CENTER);
109

  
110
        panel.asJComponent().addPropertyChangeListener(new PropertyChangeListener() {
111
            @Override
112
            public void propertyChange(PropertyChangeEvent evt) {
113
                getWizardListenerSupport().callStateChanged(areSettingsValid());
114
            }
115
        });
103 116
    }
104 117

  
118
    private WizardListenerSupport getWizardListenerSupport() {
119
        if (listenerSupport == null)
120
            listenerSupport = new WizardListenerSupport();
121
        return listenerSupport;
122
    }
123

  
124
    @Override
125
    public void addWizardListener(WizardListener listener) {
126
        getWizardListenerSupport().addWizardListener(listener);
127
        getWizardListenerSupport().callStateChanged(false);
128
    }
129

  
130
    @Override
131
    public void removeWizardListener(WizardListener listener) {
132
        getWizardListenerSupport().removeWizardListener(listener);
133
    }
134

  
105 135
    /*
106 136
     * (non-Javadoc)
107 137
     *
......
228 258
        return parametersList.toArray(new DataStoreParameters[parametersList.size()]);
229 259
    }
230 260

  
261
    @Override
262
    public boolean areSettingsValid() {
263
        boolean valid = super.areSettingsValid();
264
        return valid && panel.areSettingsValid();
265
    }
231 266

  
232 267
}

Also available in: Unified diff