svn-gvsig-desktop / trunk / extensions / extWMS / src / com / iver / cit / gvsig / gui / wizards / WMSWizard.java @ 4305
History | View | Annotate | Download (20.6 KB)
1 | 3746 | jaume | /* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
|
---|---|---|---|
2 | *
|
||
3 | * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
|
||
4 | *
|
||
5 | * This program is free software; you can redistribute it and/or
|
||
6 | * modify it under the terms of the GNU General Public License
|
||
7 | * as published by the Free Software Foundation; either version 2
|
||
8 | * of the License, or (at your option) any later version.
|
||
9 | *
|
||
10 | * This program is distributed in the hope that it will be useful,
|
||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
13 | * GNU General Public License for more details.
|
||
14 | *
|
||
15 | * You should have received a copy of the GNU General Public License
|
||
16 | * along with this program; if not, write to the Free Software
|
||
17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,USA.
|
||
18 | *
|
||
19 | * For more information, contact:
|
||
20 | *
|
||
21 | * Generalitat Valenciana
|
||
22 | * Conselleria d'Infraestructures i Transport
|
||
23 | * Av. Blasco Ib??ez, 50
|
||
24 | * 46010 VALENCIA
|
||
25 | * SPAIN
|
||
26 | *
|
||
27 | * +34 963862235
|
||
28 | * gvsig@gva.es
|
||
29 | * www.gvsig.gva.es
|
||
30 | *
|
||
31 | * or
|
||
32 | *
|
||
33 | * IVER T.I. S.A
|
||
34 | * Salamanca 50
|
||
35 | * 46005 Valencia
|
||
36 | * Spain
|
||
37 | *
|
||
38 | * +34 963163400
|
||
39 | * dac@iver.es
|
||
40 | */
|
||
41 | package com.iver.cit.gvsig.gui.wizards; |
||
42 | |||
43 | 4222 | jaume | import java.awt.Component; |
44 | import java.awt.Dimension; |
||
45 | 3746 | jaume | import java.awt.geom.Rectangle2D; |
46 | import java.net.MalformedURLException; |
||
47 | import java.net.URL; |
||
48 | 4222 | jaume | import java.util.Hashtable; |
49 | 3746 | jaume | import java.util.Vector; |
50 | |||
51 | import javax.swing.DefaultComboBoxModel; |
||
52 | import javax.swing.JLabel; |
||
53 | 4222 | jaume | import javax.swing.JOptionPane; |
54 | 3746 | jaume | import javax.swing.JPanel; |
55 | import javax.swing.tree.TreePath; |
||
56 | |||
57 | import org.apache.log4j.Logger; |
||
58 | |||
59 | import com.iver.andami.PluginServices; |
||
60 | 4305 | jorpiell | import com.iver.andami.persistence.serverData.ServerDataPersistence; |
61 | 3746 | jaume | import com.iver.cit.gvsig.fmap.drivers.wms.FMapWMSDriver; |
62 | 4222 | jaume | import com.iver.cit.gvsig.fmap.exceptions.CannotReprojectException; |
63 | 3746 | jaume | import com.iver.cit.gvsig.fmap.layers.FLayer; |
64 | import com.iver.cit.gvsig.fmap.layers.FLyrWMS; |
||
65 | import com.iver.cit.gvsig.gui.WizardPanel; |
||
66 | import com.iver.cit.gvsig.gui.panels.WMSParamsPanel; |
||
67 | import com.iver.utiles.NotExistInXMLEntity; |
||
68 | import com.iver.utiles.XMLEntity; |
||
69 | 4305 | jorpiell | import com.iver.utiles.swing.jcomboServer.JComboServer; |
70 | import com.iver.utiles.swing.jcomboServer.ServerData; |
||
71 | 3746 | jaume | |
72 | |||
73 | /**
|
||
74 | 3850 | jaume | * The WMS properties container panel.
|
75 | 3746 | jaume | *
|
76 | 3850 | jaume | * @author Jaume Dominguez Faus
|
77 | 3746 | jaume | */
|
78 | public class WMSWizard extends WizardPanel { |
||
79 | private static Logger logger = Logger.getLogger(WMSWizard.class.getName()); |
||
80 | private int page = 0; |
||
81 | private boolean conectado = false; |
||
82 | 4305 | jorpiell | private JComboServer cmbHost = null; |
83 | 3746 | jaume | private javax.swing.JButton btnConnect = null; |
84 | private javax.swing.JPanel jPanel = null; |
||
85 | private javax.swing.JLabel jLabel1 = null; |
||
86 | private javax.swing.JLabel lblTitle = null; |
||
87 | private javax.swing.JScrollPane jScrollPane = null; |
||
88 | private javax.swing.JTextArea txtAbstract = null; |
||
89 | private javax.swing.JPanel panelPage1 = null; |
||
90 | private javax.swing.JButton btnSiguiente = null; |
||
91 | private javax.swing.JButton btnAnterior = null; |
||
92 | private javax.swing.JPanel jPanel1 = null; |
||
93 | private WizardListenerSupport listenerSupport = new WizardListenerSupport(); |
||
94 | private WMSWizardData dataSource;
|
||
95 | private WMSParamsPanel wmsParamsPanel = null; |
||
96 | private JLabel lblServerType = null; |
||
97 | private JLabel lblServerTypeValue = null; |
||
98 | |||
99 | /**
|
||
100 | * This is the default constructor
|
||
101 | */
|
||
102 | public WMSWizard() {
|
||
103 | super();
|
||
104 | initialize(); |
||
105 | } |
||
106 | |||
107 | /**
|
||
108 | * This method initializes this
|
||
109 | */
|
||
110 | private void initialize() { |
||
111 | setTabName("WMS");
|
||
112 | |||
113 | lblServerType = new JLabel(); |
||
114 | 3796 | jaume | lblServerType.setBounds(20, 444, 100, 20); |
115 | 3746 | jaume | lblServerType.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); |
116 | lblServerType.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); |
||
117 | lblServerType.setFont(new java.awt.Font("Arial", java.awt.Font.PLAIN, 11)); |
||
118 | 3796 | jaume | lblServerType.setText(PluginServices.getText(this, "server_type")+":"); |
119 | 3746 | jaume | lblServerTypeValue = new JLabel(); |
120 | lblServerTypeValue.setBounds(128, 444, 148, 20); |
||
121 | lblServerTypeValue.setFont(new java.awt.Font("Arial", java.awt.Font.BOLD, 11)); |
||
122 | lblServerTypeValue.setText("-");
|
||
123 | this.setSize(510, 468); |
||
124 | this.setLayout(null); |
||
125 | this.setPreferredSize(new java.awt.Dimension(750, 420)); |
||
126 | this.setVisible(true); |
||
127 | this.add(getPanelPage1(), null); |
||
128 | this.add(getPanelPage2(), null); |
||
129 | this.add(getBtnAnterior(), null); |
||
130 | this.add(getBtnSiguiente(), null); |
||
131 | this.add(lblServerType, null); |
||
132 | this.add(lblServerTypeValue, null); |
||
133 | activarVisualizarBotones(); |
||
134 | } |
||
135 | |||
136 | |||
137 | private JPanel getPanelPage2(){ |
||
138 | if (wmsParamsPanel == null){ |
||
139 | wmsParamsPanel = new WMSParamsPanel();
|
||
140 | wmsParamsPanel.setListenerSupport(this.listenerSupport);
|
||
141 | wmsParamsPanel.setBounds(15, 5, 480, 428); |
||
142 | wmsParamsPanel.getJTabbedPane().addMouseListener( |
||
143 | new java.awt.event.MouseAdapter() {
|
||
144 | public void mouseClicked(java.awt.event.MouseEvent e) { |
||
145 | page = wmsParamsPanel.currentPage() + 1;
|
||
146 | activarVisualizarBotones(); |
||
147 | } |
||
148 | }); |
||
149 | } |
||
150 | return wmsParamsPanel;
|
||
151 | } |
||
152 | /**
|
||
153 | * DOCUMENT ME!
|
||
154 | *
|
||
155 | * @param host DOCUMENT ME!
|
||
156 | */
|
||
157 | private void addHost(String host) { |
||
158 | 4305 | jorpiell | ServerDataPersistence persistence = new ServerDataPersistence(this,ServerData.SERVER_TYPE_WMS); |
159 | persistence.addServerData(new ServerData(host, ServerData.SERVER_TYPE_WMS));
|
||
160 | persistence.setPersistent(); |
||
161 | // host = host.trim();
|
||
162 | //
|
||
163 | // DefaultComboBoxModel model = (DefaultComboBoxModel) getTxtHost()
|
||
164 | // .getModel();
|
||
165 | //
|
||
166 | // if (model.getIndexOf(host) < 0) {
|
||
167 | // model.addElement(host);
|
||
168 | //
|
||
169 | // PluginServices ps = PluginServices.getPluginServices(this);
|
||
170 | // XMLEntity xml = ps.getPersistentXML();
|
||
171 | //
|
||
172 | // try {
|
||
173 | // String[] servers = xml.getStringArrayProperty("wms-servers");
|
||
174 | // String[] newServers = new String[servers.length + 1];
|
||
175 | // System.arraycopy(servers, 0, newServers, 0, servers.length);
|
||
176 | // newServers[servers.length] = host;
|
||
177 | // xml.putProperty("wms-servers", newServers);
|
||
178 | // } catch (NotExistInXMLEntity e) {
|
||
179 | // xml.putProperty("wms-servers", new String[] { host });
|
||
180 | // }
|
||
181 | //
|
||
182 | // ps.setPersistentXML(xml);
|
||
183 | //
|
||
184 | // }
|
||
185 | 3746 | jaume | } |
186 | |||
187 | /**
|
||
188 | * DOCUMENT ME!
|
||
189 | */
|
||
190 | private void rellenarControles() { |
||
191 | try {
|
||
192 | String host = cmbHost.getModel().getSelectedItem().toString();
|
||
193 | //WMSWizardData data = dataSource.detalles(url);
|
||
194 | dataSource.setHost(new URL(host)); |
||
195 | lblTitle.setText(dataSource.getTitle()); |
||
196 | lblServerTypeValue.setText(dataSource.getServerType()); |
||
197 | txtAbstract.setText(dataSource.getAbstract()); |
||
198 | |||
199 | addHost(host); |
||
200 | wmsParamsPanel.setWizardData(dataSource); |
||
201 | //wmsParamsPanel.setDataSource(dataSource);
|
||
202 | conectado = true;
|
||
203 | activarVisualizarBotones(); |
||
204 | } catch (Exception e) { |
||
205 | listenerSupport.callError(e); |
||
206 | e.printStackTrace(); |
||
207 | } |
||
208 | } |
||
209 | |||
210 | /**
|
||
211 | * DOCUMENT ME!
|
||
212 | */
|
||
213 | private void activarVisualizarBotones() { |
||
214 | if (page == 0) { |
||
215 | getBtnAnterior().setEnabled(false);
|
||
216 | getBtnSiguiente().setVisible(true);
|
||
217 | |||
218 | if (conectado) {
|
||
219 | getBtnSiguiente().setEnabled(true);
|
||
220 | } else {
|
||
221 | getBtnSiguiente().setEnabled(false);
|
||
222 | } |
||
223 | } else if (page < wmsParamsPanel.getNumTabs()) { |
||
224 | getBtnSiguiente().setEnabled(true);
|
||
225 | getBtnSiguiente().setVisible(true);
|
||
226 | getBtnAnterior().setEnabled(true);
|
||
227 | getBtnAnterior().setVisible(true);
|
||
228 | if (wmsParamsPanel.nextEnabledPage()==-1){ |
||
229 | getBtnSiguiente().setEnabled(false);
|
||
230 | } |
||
231 | listenerSupport.callStateChanged(wmsParamsPanel.isCorrectlyConfigured()); |
||
232 | } else if (page == wmsParamsPanel.getNumTabs()) { |
||
233 | getBtnSiguiente().setVisible(false);
|
||
234 | getBtnSiguiente().setEnabled(false);
|
||
235 | listenerSupport.callStateChanged(wmsParamsPanel |
||
236 | .isCorrectlyConfigured()); |
||
237 | } |
||
238 | } |
||
239 | |||
240 | /**
|
||
241 | * This method initializes txtHost
|
||
242 | *
|
||
243 | * @return javax.swing.JTextField
|
||
244 | */
|
||
245 | 4305 | jorpiell | private JComboServer getTxtHost() {
|
246 | 3746 | jaume | if (cmbHost == null) { |
247 | 4305 | jorpiell | cmbHost = new JComboServer();
|
248 | //cmbHost.setModel(new DefaultComboBoxModel());
|
||
249 | 3746 | jaume | cmbHost.setPreferredSize(new java.awt.Dimension(350, 20)); |
250 | cmbHost.setBounds(11, 26, 454, 20); |
||
251 | cmbHost.setEditable(true);
|
||
252 | |||
253 | 4305 | jorpiell | ServerDataPersistence persistence = new ServerDataPersistence(this,ServerData.SERVER_TYPE_WMS); |
254 | ServerData[] servers = persistence.getArrayOfServerData();
|
||
255 | 3746 | jaume | |
256 | 4305 | jorpiell | if (servers.length == 0){ |
257 | servers = new ServerData[3]; |
||
258 | servers[0] = new ServerData("http://www.idee.es/wms/IDEE-Base/IDEE-Base",ServerData.SERVER_TYPE_WMS); |
||
259 | servers[1] = new ServerData("http://wms.jpl.nasa.gov/wms.cgi",ServerData.SERVER_TYPE_WMS); |
||
260 | servers[2] = new ServerData("http://www2.dmsolutions.ca/cgi-bin/mswms_gmap?",ServerData.SERVER_TYPE_WMS); |
||
261 | 3746 | jaume | } |
262 | 4305 | jorpiell | |
263 | cmbHost.setServerList(servers); |
||
264 | |||
265 | // XMLEntity xml = PluginServices.getPluginServices(this)
|
||
266 | // .getPersistentXML();
|
||
267 | // if (xml == null)
|
||
268 | // xml = new XMLEntity();
|
||
269 | //
|
||
270 | // if (!xml.contains("wms-servers")) {
|
||
271 | // String[] servers = new String[11];
|
||
272 | // servers[0] = "http://www.idee.es/wms/IDEE-Base/IDEE-Base";
|
||
273 | // servers[1] = "http://wms.jpl.nasa.gov/wms.cgi";
|
||
274 | // servers[2] = "http://www2.dmsolutions.ca/cgi-bin/mswms_gmap?";
|
||
275 | // servers[3] = "http://demo.deegree.org:8080/deegree/wms";
|
||
276 | // servers[4] = "http://orto.cth.gva.es/wmsconnector/com.esri.wms.Esrimap/wms_patricova";
|
||
277 | // servers[5] = "http://orto.cth.gva.es/wmsconnector/com.esri.wms.Esrimap/wms_parque_fondo_prug";
|
||
278 | // servers[6] = "http://orto.cth.gva.es/wmsconnector/com.esri.wms.Esrimap/wms_pgof";
|
||
279 | // servers[7] = "http://orto.cth.gva.es/wmsconnector/com.esri.wms.Esrimap/wms_urbanismo_tematicos";
|
||
280 | // servers[8] = "http://onearth.jpl.nasa.gov/wms.cgi";
|
||
281 | // servers[9] = "http://www.demis.nl/wms/wms.asp?WMS=WorldMap";
|
||
282 | // servers[9] = "http://aes.gsfc.nasa.gov/cgi-bin/wms";
|
||
283 | // servers[10]= "http://mapas.euitto.upm.es/cgi-bin/cnauticas";
|
||
284 | // xml.putProperty("wms-servers", servers);
|
||
285 | // }
|
||
286 | //
|
||
287 | // try {
|
||
288 | // String[] servers = xml.getStringArrayProperty("wms-servers");
|
||
289 | // for (int i = 0; i < servers.length; i++) {
|
||
290 | // ((DefaultComboBoxModel) cmbHost.getModel()).addElement(servers[i]);
|
||
291 | // }
|
||
292 | // } catch (NotExistInXMLEntity e) {
|
||
293 | // }
|
||
294 | 3746 | jaume | } |
295 | |||
296 | return cmbHost;
|
||
297 | } |
||
298 | |||
299 | /**
|
||
300 | * This method initializes btnDetalles
|
||
301 | *
|
||
302 | * @return javax.swing.JButton
|
||
303 | */
|
||
304 | private javax.swing.JButton getBtnConnect() {
|
||
305 | if (btnConnect == null) { |
||
306 | btnConnect = new javax.swing.JButton();
|
||
307 | btnConnect.setPreferredSize(new java.awt.Dimension(100, 20)); |
||
308 | btnConnect.setBounds(366, 50, 100, 20); |
||
309 | btnConnect.setText(PluginServices.getText(this, "conectar")); |
||
310 | btnConnect.addActionListener(new java.awt.event.ActionListener() {
|
||
311 | public void actionPerformed(java.awt.event.ActionEvent e) { |
||
312 | rellenarControles(); |
||
313 | } |
||
314 | }); |
||
315 | } |
||
316 | |||
317 | return btnConnect;
|
||
318 | } |
||
319 | |||
320 | /**
|
||
321 | * This method initializes jPanel
|
||
322 | *
|
||
323 | * @return javax.swing.JPanel
|
||
324 | */
|
||
325 | private javax.swing.JPanel getJPanel() {
|
||
326 | if (jPanel == null) { |
||
327 | jPanel = new javax.swing.JPanel();
|
||
328 | jPanel.setLayout(null);
|
||
329 | jPanel.setPreferredSize(new java.awt.Dimension(470, 130)); |
||
330 | jPanel.setBorder(javax.swing.BorderFactory.createTitledBorder( |
||
331 | 3774 | jaume | null, PluginServices.getText(this, "description"), |
332 | 3746 | jaume | javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, |
333 | javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null)); |
||
334 | jPanel.setBounds(2, 96, 477, 324); |
||
335 | jPanel.add(getJLabel1(), null);
|
||
336 | jPanel.add(getLblTitle(), null);
|
||
337 | jPanel.add(getJScrollPane(), null);
|
||
338 | } |
||
339 | |||
340 | return jPanel;
|
||
341 | } |
||
342 | |||
343 | /**
|
||
344 | * This method initializes jLabel1
|
||
345 | *
|
||
346 | * @return javax.swing.JLabel
|
||
347 | */
|
||
348 | private javax.swing.JLabel getJLabel1() {
|
||
349 | if (jLabel1 == null) { |
||
350 | jLabel1 = new javax.swing.JLabel();
|
||
351 | 3796 | jaume | jLabel1.setText(PluginServices.getText(this, "name") + ":"); |
352 | 3746 | jaume | jLabel1.setBounds(37, 26, 40, 15); |
353 | } |
||
354 | |||
355 | return jLabel1;
|
||
356 | } |
||
357 | |||
358 | /**
|
||
359 | * This method initializes lblTitle
|
||
360 | *
|
||
361 | * @return javax.swing.JLabel
|
||
362 | */
|
||
363 | private javax.swing.JLabel getLblTitle() {
|
||
364 | if (lblTitle == null) { |
||
365 | lblTitle = new javax.swing.JLabel();
|
||
366 | lblTitle.setText("-");
|
||
367 | lblTitle.setPreferredSize(new java.awt.Dimension(350, 16)); |
||
368 | lblTitle.setBounds(82, 26, 350, 16); |
||
369 | } |
||
370 | |||
371 | return lblTitle;
|
||
372 | } |
||
373 | |||
374 | /**
|
||
375 | * This method initializes jScrollPane
|
||
376 | *
|
||
377 | * @return javax.swing.JScrollPane
|
||
378 | */
|
||
379 | private javax.swing.JScrollPane getJScrollPane() {
|
||
380 | if (jScrollPane == null) { |
||
381 | jScrollPane = new javax.swing.JScrollPane();
|
||
382 | jScrollPane.setViewportView(getTxtAbstract()); |
||
383 | jScrollPane.setPreferredSize(new java.awt.Dimension(450, 60)); |
||
384 | jScrollPane.setBounds(10, 47, 450, 267); |
||
385 | } |
||
386 | |||
387 | return jScrollPane;
|
||
388 | } |
||
389 | |||
390 | /**
|
||
391 | * This method initializes txtAbstract
|
||
392 | *
|
||
393 | * @return javax.swing.JTextArea
|
||
394 | */
|
||
395 | private javax.swing.JTextArea getTxtAbstract() {
|
||
396 | if (txtAbstract == null) { |
||
397 | txtAbstract = new javax.swing.JTextArea();
|
||
398 | txtAbstract.setWrapStyleWord(true);
|
||
399 | txtAbstract.setColumns(30);
|
||
400 | txtAbstract.setLineWrap(true);
|
||
401 | } |
||
402 | |||
403 | return txtAbstract;
|
||
404 | } |
||
405 | |||
406 | /**
|
||
407 | * This method initializes panelPage1
|
||
408 | *
|
||
409 | * @return javax.swing.JPanel
|
||
410 | */
|
||
411 | private javax.swing.JPanel getPanelPage1() {
|
||
412 | if (panelPage1 == null) { |
||
413 | panelPage1 = new javax.swing.JPanel();
|
||
414 | panelPage1.setLayout(null);
|
||
415 | panelPage1.setPreferredSize(new java.awt.Dimension(480, 220)); |
||
416 | panelPage1.setVisible(true);
|
||
417 | panelPage1.setBounds(15, 5, 480, 427); |
||
418 | panelPage1.add(getJPanel1(), null);
|
||
419 | panelPage1.add(getJPanel(), null);
|
||
420 | } |
||
421 | |||
422 | return panelPage1;
|
||
423 | } |
||
424 | |||
425 | /**
|
||
426 | * This method initializes btnSiguiente
|
||
427 | *
|
||
428 | * @return javax.swing.JButton
|
||
429 | */
|
||
430 | private javax.swing.JButton getBtnSiguiente() {
|
||
431 | if (btnSiguiente == null) { |
||
432 | btnSiguiente = new javax.swing.JButton();
|
||
433 | btnSiguiente.setPreferredSize(new java.awt.Dimension(100, 30)); |
||
434 | btnSiguiente.setBounds(395, 444, 100, 20); |
||
435 | btnSiguiente.setText(PluginServices.getText(this, "siguiente")); |
||
436 | btnSiguiente.addActionListener(new java.awt.event.ActionListener() {
|
||
437 | public void actionPerformed(java.awt.event.ActionEvent e) { |
||
438 | if (page > 0) { |
||
439 | // si page es mayor que cero, vamos enfocando las
|
||
440 | // sucesivas SOLAPAS del WCSParamsPanel
|
||
441 | wmsParamsPanel.avanzaTab(); |
||
442 | page = wmsParamsPanel.currentPage(); |
||
443 | } |
||
444 | page++; |
||
445 | getPanelPage1().setVisible(false);
|
||
446 | getPanelPage2().setVisible(true);
|
||
447 | activarVisualizarBotones(); |
||
448 | } |
||
449 | }); |
||
450 | } |
||
451 | return btnSiguiente;
|
||
452 | } |
||
453 | |||
454 | /**
|
||
455 | * This method initializes btnAnterior
|
||
456 | *
|
||
457 | * @return javax.swing.JButton
|
||
458 | */
|
||
459 | private javax.swing.JButton getBtnAnterior() {
|
||
460 | if (btnAnterior == null) { |
||
461 | btnAnterior = new javax.swing.JButton();
|
||
462 | btnAnterior.setText(PluginServices.getText(this, "anterior")); |
||
463 | btnAnterior.setBounds(292, 444, 100, 20); |
||
464 | btnAnterior.setPreferredSize(new java.awt.Dimension(100, 30)); |
||
465 | btnAnterior.addActionListener(new java.awt.event.ActionListener() {
|
||
466 | public void actionPerformed(java.awt.event.ActionEvent e) { |
||
467 | page --; |
||
468 | if (page > 0) { |
||
469 | // Tenemos que retroceder en el wcsParamsPanel
|
||
470 | wmsParamsPanel.retrocedeTab(); |
||
471 | page = wmsParamsPanel.currentPage() + 1;
|
||
472 | activarVisualizarBotones(); |
||
473 | } else if (page==0){ |
||
474 | activarVisualizarBotones(); |
||
475 | page = 1;
|
||
476 | //wmsParamsPanel.limpiaWizard();
|
||
477 | getLblTitle().setText("-");
|
||
478 | getTxtAbstract().setText("");
|
||
479 | wmsParamsPanel.retrocedeTab(); |
||
480 | getPanelPage1().setVisible(true);
|
||
481 | getPanelPage2().setVisible(false);
|
||
482 | getBtnSiguiente().setEnabled(false);
|
||
483 | conectado = false;
|
||
484 | } |
||
485 | listenerSupport.callStateChanged(wmsParamsPanel.isCorrectlyConfigured()); |
||
486 | } |
||
487 | }); |
||
488 | } |
||
489 | |||
490 | return btnAnterior;
|
||
491 | } |
||
492 | |||
493 | /**
|
||
494 | * This method initializes jPanel1
|
||
495 | *
|
||
496 | * @return javax.swing.JPanel
|
||
497 | */
|
||
498 | private javax.swing.JPanel getJPanel1() {
|
||
499 | if (jPanel1 == null) { |
||
500 | jPanel1 = new javax.swing.JPanel();
|
||
501 | jPanel1.setLayout(null);
|
||
502 | jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder( |
||
503 | 3774 | jaume | null, PluginServices.getText(this, "server"), |
504 | 3746 | jaume | javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, |
505 | javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null)); |
||
506 | jPanel1.setBounds(2, 5, 477, 85); |
||
507 | jPanel1.add(getTxtHost(), null);
|
||
508 | jPanel1.add(getBtnConnect(), null);
|
||
509 | } |
||
510 | |||
511 | return jPanel1;
|
||
512 | } |
||
513 | |||
514 | /**
|
||
515 | * DOCUMENT ME!
|
||
516 | *
|
||
517 | * @param listener
|
||
518 | */
|
||
519 | public void addWizardListener(WizardListener listener) { |
||
520 | listenerSupport.addWizardListener(listener); |
||
521 | } |
||
522 | |||
523 | /**
|
||
524 | * DOCUMENT ME!
|
||
525 | *
|
||
526 | * @param listener
|
||
527 | */
|
||
528 | public void removeWizardListener(WizardListener listener) { |
||
529 | listenerSupport.removeWizardListener(listener); |
||
530 | } |
||
531 | |||
532 | /**
|
||
533 | * DOCUMENT ME!
|
||
534 | *
|
||
535 | * @return
|
||
536 | */
|
||
537 | // public WMSWizardDataSource getDataSource() {
|
||
538 | // return dataSource;
|
||
539 | // }
|
||
540 | |||
541 | /**
|
||
542 | * DOCUMENT ME!
|
||
543 | *
|
||
544 | * @param source
|
||
545 | */
|
||
546 | // public void setDataSource(WMSWizardDataSource source) {
|
||
547 | // dataSource = source;
|
||
548 | // }
|
||
549 | |||
550 | |||
551 | /**
|
||
552 | * DOCUMENT ME!
|
||
553 | *
|
||
554 | * @return DOCUMENT ME!
|
||
555 | */
|
||
556 | public String getSRS() { |
||
557 | return wmsParamsPanel.getSRS();
|
||
558 | } |
||
559 | |||
560 | /**
|
||
561 | * DOCUMENT ME!
|
||
562 | *
|
||
563 | * @return DOCUMENT ME!
|
||
564 | */
|
||
565 | public String getFormat() { |
||
566 | return wmsParamsPanel.getFormat();
|
||
567 | } |
||
568 | |||
569 | /**
|
||
570 | * DOCUMENT ME!
|
||
571 | *
|
||
572 | * @return DOCUMENT ME!
|
||
573 | */
|
||
574 | public TreePath[] getSelectedLayers() { |
||
575 | return wmsParamsPanel.getSelectedLayers();
|
||
576 | } |
||
577 | |||
578 | /**
|
||
579 | * DOCUMENT ME!
|
||
580 | *
|
||
581 | * @return DOCUMENT ME!
|
||
582 | */
|
||
583 | 4222 | jaume | public Rectangle2D getLayersRectangle() throws CannotReprojectException{ |
584 | 3746 | jaume | return wmsParamsPanel.getLayersRectangle();
|
585 | } |
||
586 | |||
587 | |||
588 | |||
589 | /**
|
||
590 | 4222 | jaume | * Devuelve el host que est? escrito en el cuadro de texto del host o null
|
591 | * en caso de que no haya nada escrito o est? mal escrito
|
||
592 | 3746 | jaume | *
|
593 | * @return URL del host
|
||
594 | */
|
||
595 | public URL getHost() { |
||
596 | try {
|
||
597 | return new URL(cmbHost.getModel().getSelectedItem().toString()); |
||
598 | } catch (MalformedURLException e) { |
||
599 | return null; |
||
600 | } |
||
601 | } |
||
602 | |||
603 | /**
|
||
604 | * DOCUMENT ME!
|
||
605 | *
|
||
606 | * @return Nombre de la capa que aparece en el TOC.
|
||
607 | */
|
||
608 | public String getLayerName() { |
||
609 | return wmsParamsPanel.getLayerName();
|
||
610 | } |
||
611 | |||
612 | |||
613 | public void initWizard() { |
||
614 | dataSource = new WMSWizardData();
|
||
615 | } |
||
616 | |||
617 | public void execute() { |
||
618 | |||
619 | } |
||
620 | |||
621 | /**
|
||
622 | * DOCUMENT ME!
|
||
623 | *
|
||
624 | * @return DOCUMENT ME!
|
||
625 | */
|
||
626 | private String getLayersQuery() { |
||
627 | return wmsParamsPanel.getLayersQuery();
|
||
628 | } |
||
629 | |||
630 | 4222 | jaume | // public FLayer _getLayer() {
|
631 | // View v = (View) PluginServices.getMDIManager().getActiveView();
|
||
632 | // if (true) {
|
||
633 | // FLayers l = new FLayers(v.getMapControl().getMapContext(), null);
|
||
634 | // l.setName("composite");
|
||
635 | // String[] layerNames = getLayersQuery().split(",");
|
||
636 | // for (int i = 0; i < layerNames.length; i++) {
|
||
637 | // FLyrWMS layer = new FLyrWMS();
|
||
638 | // layer.setHost(getHost());
|
||
639 | // try {
|
||
640 | // layer.setFullExtent(getLayersRectangle());
|
||
641 | // } catch (CanNotReprojectException e) {
|
||
642 | // e.printStackTrace();
|
||
643 | // }
|
||
644 | // layer.setFormat(getFormat());
|
||
645 | // layer.setLayerQuery(layerNames[i]);
|
||
646 | // layer.setInfoLayerQuery(getQueryableLayerQuery());
|
||
647 | // layer.setSRS(getSRS());
|
||
648 | // layer.setName(layerNames[i]);
|
||
649 | // layer.setWmsTransparency(getTransparency());
|
||
650 | // layer.setStyles(getStyles());
|
||
651 | // l.addLayer(layer);
|
||
652 | // }
|
||
653 | // return l;
|
||
654 | // } else
|
||
655 | // return _getLayer();
|
||
656 | //
|
||
657 | // }
|
||
658 | 3746 | jaume | |
659 | 4222 | jaume | public FLayer getLayer(){
|
660 | 3746 | jaume | FLyrWMS layer = new FLyrWMS();
|
661 | layer.setHost(getHost()); |
||
662 | 4222 | jaume | try{
|
663 | layer.setFullExtent(getLayersRectangle()); |
||
664 | }catch(CannotReprojectException ex)
|
||
665 | { |
||
666 | ex.printStackTrace(); |
||
667 | JOptionPane.showMessageDialog((Component)PluginServices.getMainFrame(), ex.getMessage()); |
||
668 | return null; |
||
669 | } |
||
670 | 3746 | jaume | layer.setFormat(getFormat()); |
671 | layer.setLayerQuery(getLayersQuery()); |
||
672 | layer.setInfoLayerQuery(getQueryableLayerQuery()); |
||
673 | layer.setSRS(getSRS()); |
||
674 | layer.setName(getLayerName()); |
||
675 | layer.setWmsTransparency(getTransparency()); |
||
676 | layer.setStyles(getStyles()); |
||
677 | layer.setDimensions(getDimensions()); |
||
678 | layer.setDriver(getDriver()); |
||
679 | 4222 | jaume | layer.setOnlineResources(getOnlineResources()); |
680 | layer.setFixedSize(getFixedSize()); |
||
681 | layer.setQueryable(isQueryable()); |
||
682 | 3746 | jaume | return layer;
|
683 | } |
||
684 | |||
685 | 4222 | jaume | private boolean isQueryable() { |
686 | return dataSource.isQueryable();
|
||
687 | } |
||
688 | |||
689 | private Dimension getFixedSize() { |
||
690 | return wmsParamsPanel.getFixedSize();
|
||
691 | } |
||
692 | 3746 | jaume | |
693 | 4222 | jaume | private Hashtable getOnlineResources() { |
694 | return wmsParamsPanel.getOnlineResources();
|
||
695 | } |
||
696 | |||
697 | 3746 | jaume | private FMapWMSDriver getDriver() {
|
698 | return wmsParamsPanel.getDriver();
|
||
699 | } |
||
700 | |||
701 | /**
|
||
702 | * @return
|
||
703 | */
|
||
704 | private Vector getStyles() { |
||
705 | return wmsParamsPanel.getStyles();
|
||
706 | } |
||
707 | |||
708 | private Vector getDimensions() { |
||
709 | return wmsParamsPanel.getDimensions();
|
||
710 | } |
||
711 | |||
712 | /**
|
||
713 | * @return
|
||
714 | */
|
||
715 | private boolean getTransparency() { |
||
716 | return wmsParamsPanel.getTransparency();
|
||
717 | } |
||
718 | |||
719 | /**
|
||
720 | * DOCUMENT ME!
|
||
721 | *
|
||
722 | * @return DOCUMENT ME!
|
||
723 | */
|
||
724 | public String getQueryableLayerQuery() { |
||
725 | return wmsParamsPanel.getQueryableLayerQuery();
|
||
726 | } |
||
727 | } // @jve:decl-index=0:visual-constraint="10,10" |