Revision 5262 branches/MULTITHREADING_DEVELOPMENT/extensions/extWMS/src/com/iver/cit/gvsig/gui/wizards/WMSWizard.java

View differences:

WMSWizard.java
57 57
import javax.swing.tree.TreePath;
58 58

  
59 59
import org.apache.log4j.Logger;
60
import org.gvsig.gui.beans.CancellableComponent;
61
import org.gvsig.gui.beans.ProgressDialog;
60 62

  
61 63
import com.iver.andami.PluginServices;
62 64
import com.iver.andami.persistence.serverData.ServerDataPersistence;
63
import com.iver.cit.gvsig.fmap.DriverException;
64 65
import com.iver.cit.gvsig.fmap.drivers.WMSListener;
65 66
import com.iver.cit.gvsig.fmap.drivers.wms.FMapWMSDriver;
66 67
import com.iver.cit.gvsig.fmap.exceptions.CannotReprojectException;
......
82 83
 *
83 84
 * @author Jaume Dominguez Faus
84 85
 */
85
public class WMSWizard extends WizardPanel {
86
public class WMSWizard extends WizardPanel implements CancellableComponent {
86 87
	private static Logger logger = Logger.getLogger(WMSWizard.class.getName());
87 88
	protected int page;
88 89
	protected boolean connected = false;
......
106 107
	private static Preferences fPrefs = Preferences.userRoot().node( "gvsig.wms-wizard" );
107 108
	private boolean refreshing = fPrefs.getBoolean("refresh_capabilities", false);
108 109
	protected int firstPage;
109

  
110
	private ProgressDialog dlg = new ProgressDialog(this, PluginServices.getText(this, "progress"), 3);
111
	
110 112
	public WMSWizard (WMSParamsPanel params){
111 113
		
112 114
		super();
......
137 139
				new java.awt.event.MouseAdapter() {
138 140
					public void mouseClicked(java.awt.event.MouseEvent e) {
139 141
						page = wmsParamsPanel.currentPage() + 1;
140
						activarVisualizarBotones();
142
						activeAndShowButtons();
141 143
					}
142 144
				});
143 145
		this.add(wmsParamsPanel, null);
......
182 184
		this.add(getBtnSiguiente(), null);
183 185
		this.add(lblServerType, null);
184 186
		this.add(lblServerTypeValue, null);
185
		activarVisualizarBotones();
187
		activeAndShowButtons();
186 188
	}
187 189

  
188 190

  
......
195 197
					new java.awt.event.MouseAdapter() {
196 198
						public void mouseClicked(java.awt.event.MouseEvent e) {
197 199
							page = wmsParamsPanel.currentPage() + 1;
198
							activarVisualizarBotones();
200
							activeAndShowButtons();
199 201
						}
200 202
					});
201 203
		}
......
208 210
	 */
209 211
	private void addHost(String host) {
210 212
		host = host.trim();
211

  
212
//		DefaultComboBoxModel model = (DefaultComboBoxModel) getTxtHost()
213
//		.getModel();
214

  
215
//		if (model.getIndexOf(host) < 0) {
216
//		model.addElement(host);
217

  
218
//		PluginServices ps = PluginServices.getPluginServices(this);
219
//		XMLEntity xml = ps.getPersistentXML();
220

  
221
//		try {
222
//		String[] servers = xml.getStringArrayProperty("wms-servers");
223
//		String[] newServers = new String[servers.length + 1];
224
//		System.arraycopy(servers, 0, newServers, 0, servers.length);
225
//		newServers[servers.length] = host;
226
//		xml.putProperty("wms-servers", newServers);
227
//		} catch (NotExistInXMLEntity e) {
228
//		xml.putProperty("wms-servers", new String[] { host });
229
//		}
230

  
231
//		ps.setPersistentXML(xml);
232
//		}
233

  
234 213
		ServerDataPersistence persistence = new ServerDataPersistence(this,ServerData.SERVER_TYPE_WMS);
235 214
		persistence.addServerData(new ServerData(host, ServerData.SERVER_TYPE_WMS));
236

  
237

  
238 215
	}
239 216

  
240 217
	private void connect() {
241 218
		String host = cmbHost.getModel().getSelectedItem().toString();
242 219

  
243 220
		try {
221
			getBtnSiguiente().setEnabled(false);
222
			dlg.setVisible(true);
223
			dlg.setBounds(300, 300, dlg.getWidth(), dlg.getHeight());
244 224
			dataSource.setHost(new URL(host), refreshing);
245 225
			dataSource.setWizardListener(new WMSListener() {
246 226

  
247 227
				public void newEvent(int idRequest, int eventType) {
248
					if (idRequest == WMSListener.CAPABILITIES && eventType == WMSListener.FINISHED)
249
						rellenarControles();
228
					if (idRequest == WMSListener.CAPABILITIES) {
229
						int progress=0;
230
						if (eventType == WMSListener.FINISHED) {
231
							fillupControls();
232
							progress = 3;
233
							dlg.setVisible(false);
234
						} else if (eventType == WMSListener.CANCELLED) {
235
							progress = 3;
236
							dlg.setStatusMessage(PluginServices.getText(this, "cancelled"));
237
							dlg.setVisible(false);
238
						} else if (eventType == WMSListener.FAILED) {
239
							progress = 3;
240
							dlg.setStatusMessage(PluginServices.getText(this, "failed"));
241
						} else if (eventType == WMSListener.STARTED) {
242
							dlg.setStatusMessage(PluginServices.getText(this, "starting"));
243
							progress = 1;
244
						} else if (eventType == WMSListener.TRANSFERRING) {
245
							progress = 2;
246
							dlg.setStatusMessage(PluginServices.getText(this, "transferring"));
247
						}	
248
						dlg.setProgress(progress);
249
					}
250 250
				}
251
				
252 251
			});
253 252
		} catch (Exception e) {
254 253
			listenerSupport.callError(e);
......
259 258
	/**
260 259
	 * DOCUMENT ME!
261 260
	 */
262
	private void rellenarControles() {
261
	private void fillupControls() {
263 262
		try {
264 263
			String host = cmbHost.getModel().getSelectedItem().toString();
265 264

  
......
270 269
			addHost(host);
271 270
			wmsParamsPanel.setWizardData(dataSource);
272 271
			connected = true;
273
			activarVisualizarBotones();
272
			activeAndShowButtons();
274 273
		} catch (Exception e) {
275 274
			listenerSupport.callError(e);
276 275
			e.printStackTrace();
......
280 279
	/**
281 280
	 * DOCUMENT ME!
282 281
	 */
283
	protected void activarVisualizarBotones() {
282
	protected void activeAndShowButtons() {
284 283
		if (page == firstPage) {
285 284
			getBtnAnterior().setEnabled(false);
286 285
			getBtnSiguiente().setVisible(true);
......
567 566
					page++;
568 567
					getPanelPage1().setVisible(false);
569 568
					getPanelPage2().setVisible(true);
570
					activarVisualizarBotones();
569
					activeAndShowButtons();
571 570
				}
572 571
			});
573 572
		}
......
592 591
						// Tenemos que retroceder en el wcsParamsPanel
593 592
						wmsParamsPanel.retrocedeTab();
594 593
						page = wmsParamsPanel.currentPage() + 1;
595
						activarVisualizarBotones();
594
						activeAndShowButtons();
596 595
					} else if (page==firstPage){
597
						activarVisualizarBotones();
596
						activeAndShowButtons();
598 597
						page = firstPage +1;
599 598
						//wmsParamsPanel.limpiaWizard();
600 599
						getLblTitle().setText("-");
......
960 959
		}
961 960
		return chkCaching;
962 961
	}
962

  
963
	public void cancel() {
964
		dataSource.cancelTransfer();
965
	}
963 966
}  //  @jve:decl-index=0:visual-constraint="10,10"

Also available in: Unified diff