Revision 2613 org.gvsig.raster.wmts/trunk/org.gvsig.raster.wmts/org.gvsig.raster.wmts.swing/org.gvsig.raster.wmts.swing.impl/src/main/java/org/gvsig/raster/wmts/swing/impl/wizard/WMTSParamsPanel.java
WMTSParamsPanel.java | ||
---|---|---|
52 | 52 |
import javax.swing.event.TreeSelectionListener; |
53 | 53 |
import javax.swing.tree.TreePath; |
54 | 54 |
|
55 |
import org.gvsig.andami.PluginServices; |
|
56 | 55 |
import org.gvsig.fmap.dal.DataParameters; |
57 | 56 |
import org.gvsig.fmap.dal.DataStoreParameters; |
58 | 57 |
import org.gvsig.fmap.dal.coverage.store.parameter.RasterDataParameters; |
... | ... | |
63 | 62 |
import org.gvsig.gui.beans.listeners.BeanListener; |
64 | 63 |
import org.gvsig.raster.wmts.io.WMTSDataParameters; |
65 | 64 |
import org.gvsig.raster.wmts.io.WMTSServerExplorer; |
65 |
import org.gvsig.raster.wmts.ogc.struct.WMTSDimension; |
|
66 | 66 |
import org.gvsig.raster.wmts.ogc.struct.WMTSStyle; |
67 | 67 |
import org.gvsig.raster.wmts.ogc.struct.WMTSTheme; |
68 | 68 |
import org.gvsig.raster.wmts.swing.WMTSWizardListener; |
69 | 69 |
import org.gvsig.raster.wmts.swing.WmtsGUI; |
70 |
import org.gvsig.raster.wmts.swing.impl.panel.dimension.DimensionPanel; |
|
70 | 71 |
import org.gvsig.raster.wmts.swing.impl.panel.format.IFormatsPanel; |
71 | 72 |
import org.gvsig.raster.wmts.swing.impl.panel.layer.ILayerPanel; |
72 | 73 |
import org.gvsig.raster.wmts.swing.impl.panel.layer.LayerList; |
... | ... | |
87 | 88 |
* @author Nacho Brodin (nachobrodin@gmail.com) |
88 | 89 |
*/ |
89 | 90 |
public class WMTSParamsPanel extends WmtsGUI implements ActionListener, ItemListener, KeyListener, ListSelectionListener, MouseListener, TreeSelectionListener { |
90 |
private static final long serialVersionUID = 1L; |
|
91 |
private static final long serialVersionUID = 1L;
|
|
91 | 92 |
|
92 |
private InfoPanel tabInfo = null; |
|
93 |
private ILayerPanel layerPanel = null; |
|
94 |
private StylesPanel tabStyle = null; |
|
95 |
private IFormatsPanel formatsPanel = null; |
|
93 |
private InfoPanel tabInfo = null; |
|
94 |
private ILayerPanel layerPanel = null; |
|
95 |
private StylesPanel tabStyle = null; |
|
96 |
private IFormatsPanel formatsPanel = null; |
|
97 |
private DimensionPanel dimensionPanel = null; |
|
96 | 98 |
|
97 |
private ArrayList<TreePath> selectedPaths = new ArrayList<TreePath>(); |
|
98 |
private WMTSWizardListener listenerSupport = null; |
|
99 |
private JTabbedPane jTabbedPane = null; |
|
100 |
private int dimensionTabIndex;
|
|
101 |
private int stylesTabIndex;
|
|
102 |
protected WMTSServerExplorer explorer = null;
|
|
103 |
public static Preferences fPrefs = Preferences.userRoot().node("gvsig.wmts-wizard");
|
|
104 |
private boolean deleteCache = false;
|
|
99 |
private ArrayList<TreePath> selectedPaths = new ArrayList<TreePath>();
|
|
100 |
private WMTSWizardListener listenerSupport = null;
|
|
101 |
private JTabbedPane jTabbedPane = null;
|
|
102 |
protected WMTSServerExplorer explorer = null;
|
|
103 |
public static Preferences fPrefs = Preferences.userRoot().node("gvsig.wmts-wizard");
|
|
104 |
private boolean deleteCache = false;
|
|
105 |
private HashMap<Object, Integer> tabsIndexes = new HashMap<Object, Integer>();
|
|
106 |
//private Logger log = LoggerFactory.getLogger(WMTSParamsPanel.class);
|
|
105 | 107 |
|
106 | 108 |
/** |
107 | 109 |
* Layer to add to the selected layers box |
... | ... | |
132 | 134 |
initialize(); |
133 | 135 |
} |
134 | 136 |
|
135 |
// TODO: crear nuevo constructor para a?adir los panels que quieras... |
|
136 | 137 |
public WMTSParamsPanel(WMTSServerExplorer data) { |
137 | 138 |
super(); |
138 | 139 |
setWizardData(data); |
... | ... | |
141 | 142 |
if (jTabbedPane == null) { |
142 | 143 |
jTabbedPane = new JTabbedPane(); |
143 | 144 |
jTabbedPane.setBounds(4, 4, 502, 415); |
144 |
StylesPanel sp = getTabStyle(); |
|
145 | 145 |
|
146 |
jTabbedPane.addTab(PluginServices.getText(this, "capas"), null, getLayerPanel(), null); |
|
147 |
jTabbedPane.addTab(PluginServices.getText(this, "estilos"), null, sp, null); |
|
148 |
stylesTabIndex = jTabbedPane.getTabCount() - 1; |
|
149 |
dimensionTabIndex = jTabbedPane.getTabCount() - 1; |
|
150 |
jTabbedPane.addTab(PluginServices.getText(this, "formatos"), null, getJPanelFormatsAndSrs(), null); |
|
151 |
jTabbedPane.setEnabledAt(dimensionTabIndex, false); |
|
152 |
jTabbedPane.setEnabledAt(stylesTabIndex, false); |
|
146 |
jTabbedPane.addTab(Messages.getText("capas"), null, getLayerPanel(), null); |
|
147 |
jTabbedPane.addTab(Messages.getText("estilos"), null, getTabStyle(), null); |
|
148 |
jTabbedPane.addTab(Messages.getText("dimensions"), null, getJPanelDimension(), null); |
|
149 |
jTabbedPane.addTab(Messages.getText("formatos"), null, getJPanelFormatsAndSrs(), null); |
|
150 |
|
|
151 |
tabsIndexes.put(getLayerPanel(), 0); |
|
152 |
tabsIndexes.put(getTabStyle(), 1); |
|
153 |
tabsIndexes.put(getJPanelDimension(), 2); |
|
154 |
tabsIndexes.put(getJPanelFormatsAndSrs(), 3); |
|
153 | 155 |
} |
154 | 156 |
this.add(jTabbedPane, null); |
157 |
|
|
158 |
jTabbedPane.setEnabledAt(1, false); |
|
159 |
jTabbedPane.setEnabledAt(2, false); |
|
160 |
jTabbedPane.setEnabledAt(3, false); |
|
155 | 161 |
} |
156 | 162 |
|
157 | 163 |
/** |
... | ... | |
177 | 183 |
InfoPanel ip = getTabInfo(); |
178 | 184 |
ip.addFocusListener(new FocusListener() { |
179 | 185 |
public void focusGained(FocusEvent e) { |
180 |
refreshInfo(); |
|
186 |
refreshInfoPanel();
|
|
181 | 187 |
} |
182 | 188 |
|
183 | 189 |
public void focusLost(FocusEvent e) { |
184 | 190 |
} |
185 | 191 |
}); |
186 | 192 |
|
187 |
jTabbedPane.addTab(PluginServices.getText(this, "info"), null, ip, null); |
|
188 |
jTabbedPane.addTab(PluginServices.getText(this, "capas"), null, getLayerPanel(), null); |
|
189 |
jTabbedPane.addTab(PluginServices.getText(this, "estilos"), null, getTabStyle(), null); |
|
190 |
stylesTabIndex = jTabbedPane.getTabCount() - 1; |
|
191 |
jTabbedPane.addTab(PluginServices.getText(this, "formatos"), null, getJPanelFormatsAndSrs(), null); |
|
192 |
jTabbedPane.setEnabledAt(stylesTabIndex, false); |
|
193 |
jTabbedPane.addTab(Messages.getText("info"), null, ip, null); |
|
194 |
jTabbedPane.addTab(Messages.getText("capas"), null, getLayerPanel(), null); |
|
195 |
jTabbedPane.addTab(Messages.getText("estilos"), null, getTabStyle(), null); |
|
196 |
jTabbedPane.addTab(Messages.getText("dimensions"), null, getJPanelDimension(), null); |
|
197 |
jTabbedPane.addTab(Messages.getText("formatos"), null, getJPanelFormatsAndSrs(), null); |
|
198 |
|
|
199 |
tabsIndexes.clear(); |
|
200 |
tabsIndexes.put(ip, 0); |
|
201 |
tabsIndexes.put(getLayerPanel(), 1); |
|
202 |
tabsIndexes.put(getTabStyle(), 2); |
|
203 |
tabsIndexes.put(getJPanelDimension(), 3); |
|
204 |
tabsIndexes.put(getJPanelFormatsAndSrs(), 4); |
|
205 |
|
|
206 |
jTabbedPane.setEnabledAt(2, false); |
|
207 |
jTabbedPane.setEnabledAt(3, false); |
|
208 |
jTabbedPane.setEnabledAt(4, false); |
|
193 | 209 |
} |
194 | 210 |
return jTabbedPane; |
195 | 211 |
} |
... | ... | |
238 | 254 |
tabStyle.setEnabled(false); |
239 | 255 |
tabStyle.addListener(new BeanListener() { |
240 | 256 |
public void beanValueChanged(Object value) { |
241 |
fireWizardComplete(isCorrectlyConfigured());
|
|
257 |
fireWizardComplete(); |
|
242 | 258 |
}; |
243 | 259 |
}); |
244 | 260 |
tabStyle.addFocusListener(new FocusAdapter() { |
... | ... | |
264 | 280 |
} |
265 | 281 |
return formatsPanel; |
266 | 282 |
} |
283 |
|
|
284 |
/** |
|
285 |
* This method initializes the panel with the formats and SRSs |
|
286 |
* @return Panel |
|
287 |
*/ |
|
288 |
private DimensionPanel getJPanelDimension() { |
|
289 |
if (dimensionPanel == null) { |
|
290 |
dimensionPanel = new DimensionPanel(); |
|
291 |
} |
|
292 |
return dimensionPanel; |
|
293 |
} |
|
294 |
|
|
295 |
/** |
|
296 |
* Fires a notification to this wizard listeners telling them if the |
|
297 |
* configuration is fair enough to send a GetMap request. |
|
298 |
* |
|
299 |
* @param b |
|
300 |
*/ |
|
301 |
private void fireWizardComplete() { |
|
302 |
listenerSupport.correctlyConfiguredEvent(isCorrectlyConfigured()); |
|
303 |
} |
|
304 |
|
|
305 |
public void setListenerSupport(WMTSWizardListener support) { |
|
306 |
listenerSupport = support; |
|
307 |
} |
|
267 | 308 |
|
268 | 309 |
/** |
269 | 310 |
* Returns the index of the CRS within the CRS list. |
... | ... | |
338 | 379 |
getInfoFormats().setSelectedIndex(index); |
339 | 380 |
} |
340 | 381 |
|
341 |
refreshInfo(); |
|
382 |
refreshInfoPanel();
|
|
342 | 383 |
} |
343 | 384 |
|
344 | 385 |
private void setSelectedLayer(String name) { |
... | ... | |
354 | 395 |
|
355 | 396 |
/** |
356 | 397 |
* Gets the available layers in WMTS maintaining the tree structure |
357 |
* |
|
358 | 398 |
* @return |
359 | 399 |
*/ |
360 | 400 |
public LayerTree getLayerStructure() { |
... | ... | |
365 | 405 |
* Gets the list of the styles |
366 | 406 |
* @return |
367 | 407 |
*/ |
408 |
@SuppressWarnings("rawtypes") |
|
368 | 409 |
public Vector getStyleTitles() { |
369 | 410 |
return getTabStyle().getStyleTree().getStyleSelectionTitles(); |
370 | 411 |
} |
... | ... | |
373 | 414 |
* Gets the list of the selected layers |
374 | 415 |
* @return |
375 | 416 |
*/ |
417 |
@SuppressWarnings({ "rawtypes", "unchecked" }) |
|
376 | 418 |
public Vector getSelectedLayersVector() { |
377 | 419 |
JDnDListModel mod = (JDnDListModel) getLayerPanel().getLstSelectedLayers().getModel(); |
378 | 420 |
Vector lyrs = new Vector(); |
... | ... | |
394 | 436 |
* Gets an array with the list of layers |
395 | 437 |
* @return |
396 | 438 |
*/ |
439 |
@SuppressWarnings({ "unchecked", "rawtypes" }) |
|
397 | 440 |
public LayerUI[] selectedLayersToArray() { |
398 | 441 |
JDnDListModel modelo = ((JDnDListModel) getLayerPanel().getLstSelectedLayers().getModel()); |
399 | 442 |
ArrayList elements = modelo.getElements(); |
... | ... | |
439 | 482 |
getLayerPanel().getBtnDel().setEnabled(values != null && values.length > 0); |
440 | 483 |
return (values == null || values.length == 0) ? false : true; |
441 | 484 |
} |
442 |
|
|
485 |
|
|
443 | 486 |
/** |
444 |
* DOCUMENT ME! |
|
487 |
* Method called when pressing the Add layer button or when double-clicking |
|
488 |
* on a layer from the server's layer tree. |
|
445 | 489 |
*/ |
446 |
private void delLayer() {
|
|
447 |
int[] indices = getLayerPanel().getLstSelectedLayers().getSelectedIndices();
|
|
490 |
public void addLayer() {
|
|
491 |
boolean alguno = false;
|
|
448 | 492 |
|
493 |
TreePath[] selecciones = getLayerPanel().getTreeLayers().getSelectionPaths(); |
|
494 |
if (selecciones == null) { |
|
495 |
return; |
|
496 |
} |
|
497 |
|
|
498 |
//************** |
|
499 |
//Limpiar la lista. |
|
500 |
//Quitar este bloque si se quiere a?adir una lista de elementos y no solo uno |
|
449 | 501 |
try { |
450 |
ArrayList removeList = new ArrayList(); |
|
451 | 502 |
LayerUI[] infos = selectedLayersToArray(); |
452 | 503 |
JDnDListModel modelo = ((JDnDListModel) getLayerPanel().getLstSelectedLayers().getModel()); |
453 |
for (int i = 0; i < indices.length; i++) { |
|
454 |
removeList.add(infos[indices[i]]); |
|
455 |
} |
|
456 |
modelo.delIndices(indices); |
|
504 |
modelo.delIndices(new int[infos.length]); |
|
457 | 505 |
layerPanel.getLstSelectedLayers().clearSelection(); |
458 |
fireWizardComplete(isCorrectlyConfigured()); |
|
506 |
selectedPaths.clear(); |
|
507 |
} catch (ArrayIndexOutOfBoundsException ex) { |
|
508 |
ex.printStackTrace(); |
|
509 |
} |
|
510 |
//************** |
|
459 | 511 |
|
460 |
// delete from selectedPaths as well |
|
461 |
WMTSTheme elemento = null; |
|
462 |
WMTSTheme last = null; |
|
463 |
TreePath path = null; |
|
464 |
for (int i = removeList.size() - 1; i >= 0; i--) { |
|
465 |
elemento = ((LayerUI)removeList.get(i)).theme; |
|
466 |
for (int j = 0; j < selectedPaths.size(); j++) { |
|
467 |
path = (TreePath) selectedPaths.get(j); |
|
468 |
last = (WMTSTheme) path.getLastPathComponent(); |
|
469 |
if (last.getTitle().compareTo(elemento.getTitle()) == 0) { |
|
470 |
selectedPaths.remove(path); |
|
471 |
} |
|
472 |
} |
|
512 |
for (int i = 0; i < selecciones.length && i < 1 /*Se a?ade solo uno: quitar para lista*/; i++) { |
|
513 |
if(!(selecciones[i].getLastPathComponent() instanceof WMTSTheme)) |
|
514 |
continue; |
|
515 |
selectedPaths.add(selecciones[i]); |
|
516 |
WMTSTheme nodo = (WMTSTheme) selecciones[i].getLastPathComponent(); |
|
517 |
|
|
518 |
if (nodo.getTitle() == null || nodo.getTitle().equals("")) { |
|
519 |
continue; |
|
473 | 520 |
} |
474 | 521 |
|
522 |
JDnDListModel modelo = (JDnDListModel) getLayerPanel().getLstSelectedLayers().getModel(); |
|
523 |
if(getLayerPanel().getThemesViewSelection().isSelected() && nodo.getLayerRef().size() == 0) { |
|
524 |
JOptionPane.showOptionDialog(this, |
|
525 |
Messages.getText("theme_without_reference"), |
|
526 |
Messages.getText("confirmacion"), |
|
527 |
JOptionPane.OK_OPTION, |
|
528 |
JOptionPane.INFORMATION_MESSAGE, |
|
529 |
null, |
|
530 |
new Object[]{Messages.getText("accept")}, |
|
531 |
Messages.getText("accept")); |
|
532 |
return; |
|
533 |
} |
|
534 |
|
|
535 |
if (modelo.addElement(0, new LayerUI(nodo))) { |
|
536 |
alguno = true; |
|
537 |
} |
|
538 |
getLayerPanel().getLstSelectedLayers().setSelectedIndex(0); |
|
539 |
} |
|
540 |
|
|
541 |
if (alguno) { |
|
475 | 542 |
refreshSelectedLayerData(); |
476 |
refreshInfo(); |
|
477 |
} catch (ArrayIndexOutOfBoundsException ex) { |
|
478 |
// if you reach this, please, tell me how you did it. |
|
479 |
ex.printStackTrace(); |
|
480 | 543 |
} |
544 |
refreshInfoPanel(); |
|
545 |
fireWizardComplete(); |
|
546 |
listenerSupport.addLayerEvent(); |
|
481 | 547 |
} |
482 | 548 |
|
483 |
/** |
|
484 |
* Fires a notification to this wizard listeners telling them if the |
|
485 |
* configuration is fair enough to send a GetMap request. |
|
486 |
* |
|
487 |
* @param b |
|
488 |
*/ |
|
489 |
private void fireWizardComplete(boolean b) { |
|
490 |
listenerSupport.callStateChanged(b); |
|
549 |
|
|
550 |
@SuppressWarnings({ "rawtypes", "unchecked" }) |
|
551 |
private void delLayer() { |
|
552 |
int[] indices = getLayerPanel().getLstSelectedLayers().getSelectedIndices(); |
|
553 |
|
|
554 |
ArrayList removeList = new ArrayList(); |
|
555 |
LayerUI[] infos = selectedLayersToArray(); |
|
556 |
JDnDListModel modelo = ((JDnDListModel) getLayerPanel().getLstSelectedLayers().getModel()); |
|
557 |
for (int i = 0; i < indices.length; i++) { |
|
558 |
removeList.add(infos[indices[i]]); |
|
559 |
} |
|
560 |
modelo.delIndices(indices); |
|
561 |
layerPanel.getLstSelectedLayers().clearSelection(); |
|
562 |
|
|
563 |
// delete from selectedPaths as well |
|
564 |
WMTSTheme elemento = null; |
|
565 |
WMTSTheme last = null; |
|
566 |
TreePath path = null; |
|
567 |
for (int i = removeList.size() - 1; i >= 0; i--) { |
|
568 |
elemento = ((LayerUI)removeList.get(i)).theme; |
|
569 |
for (int j = 0; j < selectedPaths.size(); j++) { |
|
570 |
path = (TreePath) selectedPaths.get(j); |
|
571 |
last = (WMTSTheme) path.getLastPathComponent(); |
|
572 |
if (last.getTitle().compareTo(elemento.getTitle()) == 0) { |
|
573 |
selectedPaths.remove(path); |
|
574 |
} |
|
575 |
} |
|
576 |
} |
|
577 |
|
|
578 |
refreshSelectedLayerData(); |
|
579 |
refreshInfoPanel(); |
|
580 |
fireWizardComplete(); |
|
581 |
listenerSupport.removeLayerEvent(); |
|
491 | 582 |
} |
492 | 583 |
|
493 | 584 |
/** |
... | ... | |
501 | 592 |
refreshInfoFormats(); |
502 | 593 |
getLayerPanel().getLstSelectedLayers().repaint(); |
503 | 594 |
refreshStyleTree(); |
595 |
refreshDimension(); |
|
504 | 596 |
} |
505 | 597 |
|
506 | 598 |
/** |
507 | 599 |
* Refreshes the info tab |
508 | 600 |
*/ |
509 |
public void refreshInfo() { |
|
601 |
public void refreshInfoPanel() {
|
|
510 | 602 |
getTabInfo().refresh(explorer, getSelectedLayersVector(), |
511 | 603 |
getStyleTitles(), getSelectedImageFormat(), getSelectedSRS()); |
512 | 604 |
} |
... | ... | |
515 | 607 |
* Refreshes the style tab |
516 | 608 |
*/ |
517 | 609 |
private void refreshStyleTree() { |
518 |
StyleTreeModel model = new StyleTreeModel(PluginServices.getText(this, "selected_layers")); |
|
519 |
jTabbedPane.setEnabledAt(stylesTabIndex, false); |
|
610 |
StyleTreeModel model = new StyleTreeModel(Messages.getText("selected_layers")); |
|
611 |
int tabIndex = tabsIndexes.get(getTabStyle()); |
|
612 |
jTabbedPane.setEnabledAt(tabIndex, false); |
|
520 | 613 |
|
521 | 614 |
Object[] selectedValues = getLayerPanel().getLstSelectedLayers().getSelectedValues(); |
522 | 615 |
if(selectedValues != null && selectedValues.length == 1) { |
... | ... | |
530 | 623 |
LayerUI layerUI = ((LayerUI)listModel.getElementAt(i)); |
531 | 624 |
// If any of the layers defines styles, the tab will be enabled. |
532 | 625 |
if (model.addLayerBranch(layerUI)) { |
533 |
jTabbedPane.setEnabledAt(stylesTabIndex, true);
|
|
626 |
jTabbedPane.setEnabledAt(tabIndex, true);
|
|
534 | 627 |
} |
535 | 628 |
} |
536 | 629 |
|
... | ... | |
544 | 637 |
*/ |
545 | 638 |
private void refreshImageFormats() { |
546 | 639 |
Object[] selectedValues = getLayerPanel().getLstSelectedLayers().getSelectedValues(); |
640 |
|
|
641 |
int tabIndex = tabsIndexes.get(getJPanelFormatsAndSrs()); |
|
642 |
jTabbedPane.setEnabledAt(tabIndex, false); |
|
643 |
|
|
547 | 644 |
if( (selectedValues == null || selectedValues.length == 0) && |
548 | 645 |
getImageFormats().getModel() != null && |
549 | 646 |
getImageFormats().getModel() instanceof WMTSParametersListModel) { |
550 | 647 |
((WMTSParametersListModel)getImageFormats().getModel()).removeAllItems(); |
551 | 648 |
} |
552 |
if(selectedValues != null && selectedValues.length == 1) {
|
|
649 |
if(selectedValues != null && selectedValues.length >= 1) {
|
|
553 | 650 |
List<String> formats = ((LayerUI)selectedValues[0]).theme.getLayer().getFormat(); |
554 | 651 |
WMTSParametersListModel model = new WMTSParametersListModel(formats); |
555 | 652 |
getImageFormats().setModel(model); |
556 | 653 |
getImageFormats().setSelectedIndex(((LayerUI)selectedValues[0]).imageFormatSelected); |
654 |
jTabbedPane.setEnabledAt(tabIndex, true); |
|
557 | 655 |
} |
558 | 656 |
} |
559 | 657 |
|
... | ... | |
592 | 690 |
getLstSRSs().setSelectedIndex(((LayerUI)selectedValues[0]).srsFormatSelected); |
593 | 691 |
} |
594 | 692 |
} |
595 |
|
|
596 |
/** |
|
597 |
* Method called when pressing the Add layer button or when double-clicking |
|
598 |
* on a layer from the server's layer tree. |
|
599 |
*/ |
|
600 |
public void addLayer() { |
|
601 |
boolean alguno = false; |
|
602 |
|
|
603 |
TreePath[] selecciones = getLayerPanel().getTreeLayers().getSelectionPaths(); |
|
604 |
if (selecciones == null) { |
|
605 |
return; |
|
606 |
} |
|
607 |
|
|
608 |
//************** |
|
609 |
//Limpiar la lista. |
|
610 |
//Quitar este bloque si se quiere a?adir una lista de elementos y no solo uno |
|
611 |
try { |
|
612 |
LayerUI[] infos = selectedLayersToArray(); |
|
613 |
JDnDListModel modelo = ((JDnDListModel) getLayerPanel().getLstSelectedLayers().getModel()); |
|
614 |
modelo.delIndices(new int[infos.length]); |
|
615 |
layerPanel.getLstSelectedLayers().clearSelection(); |
|
616 |
fireWizardComplete(isCorrectlyConfigured()); |
|
617 |
selectedPaths.clear(); |
|
618 |
} catch (ArrayIndexOutOfBoundsException ex) { |
|
619 |
ex.printStackTrace(); |
|
620 |
} |
|
621 |
//************** |
|
622 |
|
|
623 |
for (int i = 0; i < selecciones.length && i < 1 /*Se a?ade solo uno: quitar para lista*/; i++) { |
|
624 |
if(!(selecciones[i].getLastPathComponent() instanceof WMTSTheme)) |
|
625 |
continue; |
|
626 |
selectedPaths.add(selecciones[i]); |
|
627 |
WMTSTheme nodo = (WMTSTheme) selecciones[i].getLastPathComponent(); |
|
628 |
|
|
629 |
if (nodo.getTitle() == null || nodo.getTitle().equals("")) { |
|
630 |
continue; |
|
631 |
} |
|
632 |
|
|
633 |
JDnDListModel modelo = (JDnDListModel) getLayerPanel().getLstSelectedLayers().getModel(); |
|
634 |
if(getLayerPanel().getThemesViewSelection().isSelected() && nodo.getLayerRef().size() == 0) { |
|
635 |
JOptionPane.showOptionDialog(this, |
|
636 |
Messages.getText("theme_without_reference"), |
|
637 |
Messages.getText("confirmacion"), |
|
638 |
JOptionPane.OK_OPTION, |
|
639 |
JOptionPane.INFORMATION_MESSAGE, |
|
640 |
null, |
|
641 |
new Object[]{Messages.getText("accept")}, |
|
642 |
Messages.getText("accept")); |
|
693 |
|
|
694 |
private void refreshDimension() { |
|
695 |
Object[] selectedValues = getLayerPanel().getLstSelectedLayers().getSelectedValues(); |
|
696 |
int tabIndex = tabsIndexes.get(getJPanelDimension()); |
|
697 |
jTabbedPane.setEnabledAt(tabIndex, false); |
|
698 |
|
|
699 |
if(selectedValues != null && selectedValues.length >= 1) { |
|
700 |
List<WMTSDimension> dimensions = ((LayerUI)selectedValues[0]).theme.getLayer().getDimensions(); |
|
701 |
if(dimensions == null || dimensions.size() == 0) { |
|
643 | 702 |
return; |
644 | 703 |
} |
645 |
|
|
646 |
if (modelo.addElement(0, new LayerUI(nodo))) { |
|
647 |
alguno = true; |
|
648 |
} |
|
649 |
getLayerPanel().getLstSelectedLayers().setSelectedIndex(0); |
|
704 |
jTabbedPane.setEnabledAt(tabIndex, true); |
|
705 |
getJPanelDimension().setDimensions(dimensions); |
|
650 | 706 |
} |
651 |
|
|
652 |
if (alguno) { |
|
653 |
refreshSelectedLayerData(); |
|
654 |
} |
|
655 |
refreshInfo(); |
|
656 | 707 |
} |
657 | 708 |
|
658 |
public void setListenerSupport(WMTSWizardListener support) { |
|
659 |
listenerSupport = support; |
|
660 |
} |
|
661 |
|
|
662 | 709 |
/** |
663 | 710 |
* Sets the explorer |
664 | 711 |
* @param data |
... | ... | |
669 | 716 |
layerPanel.getLstSelectedLayers().repaint(); |
670 | 717 |
|
671 | 718 |
getLayerPanel().getTreeLayers().setModel(new LayerTreeModel(explorer.getOGCClient().getLayerListAsThemes())); |
672 |
refreshInfo(); |
|
719 |
refreshInfoPanel();
|
|
673 | 720 |
} |
674 | 721 |
|
675 | 722 |
|
723 |
@SuppressWarnings({ "rawtypes", "unchecked" }) |
|
676 | 724 |
public String getLayersQuery() { |
677 | 725 |
ArrayList elements = ((JDnDListModel) getLayerPanel().getLstSelectedLayers().getModel()).getElements(); |
678 | 726 |
LayerUI[] layers = (LayerUI[]) elements.toArray(new LayerUI[0]); |
... | ... | |
689 | 737 |
|
690 | 738 |
/** |
691 | 739 |
* Sets the focus to the tab next to the current one. |
692 |
* |
|
693 |
* Enfoca a la solapa siguiente a la actualmente enfocada del TabbedPane |
|
694 |
* |
|
695 | 740 |
*/ |
696 | 741 |
public void setNextTab() { |
697 | 742 |
int currentPage = currentPage(); |
... | ... | |
703 | 748 |
|
704 | 749 |
/** |
705 | 750 |
* Sets the focus to the tab previous to the current one. |
706 |
* |
|
707 |
* Enfoca a la solapa anterior a la actualmente enfocada del TabbedPane |
|
708 |
* |
|
709 | 751 |
*/ |
710 | 752 |
public void setPreviousTab() { |
711 | 753 |
this.getJTabbedPane().setSelectedIndex(previousEnabledPage()); |
... | ... | |
714 | 756 |
|
715 | 757 |
/** |
716 | 758 |
* Returns the index of the current tab. |
717 |
* |
|
718 |
* Devuelve el �ndice de la p�gina actual del wizard. |
|
719 |
* |
|
720 | 759 |
* @return |
721 | 760 |
*/ |
722 | 761 |
public int currentPage() { |
... | ... | |
725 | 764 |
|
726 | 765 |
/** |
727 | 766 |
* Returns the tab amount that the WMTSParamsPanel currently have |
728 |
* |
|
729 |
* Devuelve el n?mero de solapas que tiene actualmente el WMTSParamsPanel |
|
730 |
* |
|
731 | 767 |
* @return int |
732 | 768 |
*/ |
733 | 769 |
public int getNumTabs() { |
... | ... | |
738 | 774 |
* <p> |
739 | 775 |
* Returns the index of the previous enabled tab. |
740 | 776 |
* </p> |
741 |
* <p> |
|
742 |
* Devuelve el �ndice de la anterior p�gina habilitada del wizard o -1 |
|
743 |
* si no hay ninguna. |
|
744 |
* </p> |
|
745 |
* |
|
746 | 777 |
* @return The index, or -1 if there is no one. |
747 | 778 |
*/ |
748 | 779 |
public int previousEnabledPage() { |
... | ... | |
764 | 795 |
* <p> |
765 | 796 |
* Returns the previous of the previous enabled tab. |
766 | 797 |
* </p> |
767 |
* <p> |
|
768 |
* Devuelve el �ndice de la siguiente p�gina habilitada del wizard o -1 |
|
769 |
* si no hay ninguna. |
|
770 |
* </p> |
|
771 |
* |
|
772 | 798 |
* @return The index, or -1 if there is no one. |
773 | 799 |
*/ |
774 | 800 |
public int nextEnabledPage() { |
... | ... | |
787 | 813 |
|
788 | 814 |
/** |
789 | 815 |
* Selects/deselects the transparency checkbox. |
790 |
* |
|
791 | 816 |
* @param b |
792 | 817 |
*/ |
793 | 818 |
public void setTransparent(boolean b) { |
794 | 819 |
getJPanelFormatsAndSrs().getChkTransparency().setSelected(b); |
795 | 820 |
} |
796 |
|
|
797 |
// public FLyrWMTS[] getLayers() throws LoadLayerException { |
|
798 |
// ListModel model = getLayerPanel().getLstSelectedLayers().getModel(); |
|
799 |
// FLyrWMTS[] layerList = new FLyrWMTS[model.getSize()]; |
|
800 |
// |
|
801 |
// for (int i = 0; i < model.getSize(); i++) { |
|
802 |
// WMTSTheme theme = ((LayerUI)model.getElementAt(i)).theme; |
|
803 |
// DataStoreParameters parameters = explorer.getStoredParameters(); |
|
804 |
// WMTSDataParameters par = null; |
|
805 |
// if(parameters instanceof WMTSDataParameters) { |
|
806 |
// par = (WMTSDataParameters) parameters; |
|
807 |
// } |
|
808 |
// if(parameters instanceof TileDataParameters) { |
|
809 |
// DataParameters p = ((TileDataParameters) parameters).getDataParameters(); |
|
810 |
// if(p instanceof WMTSDataParameters) |
|
811 |
// par = (WMTSDataParameters) p; |
|
812 |
// } |
|
813 |
// par.setURI(explorer.getHost()); |
|
814 |
// par.setImageFormat(getSelectedImageFormat()); |
|
815 |
// par.setInfoFormat(getSelectedInfoFormat()); |
|
816 |
// par.setSRS(getSelectedSRS()); |
|
817 |
// par.setLayer(theme.getLayer()); |
|
818 |
// par.setStyle(getSelectedStyle(theme.getLayer().getTitle())); |
|
819 |
// |
|
820 |
// FLyrWMTS layer = new FLyrWMTS(); |
|
821 |
// layer.deleteCache(deleteCache); |
|
822 |
// try { |
|
823 |
// layer.setParameters(parameters); |
|
824 |
// layer.setName(theme.getLayer().getTitle()); |
|
825 |
// layer.setExplorer(explorer); |
|
826 |
// //Ojo! Pruebas! |
|
827 |
// //layer.setTileServer(FileTileServer.class); |
|
828 |
// } catch (InitializeException e) { |
|
829 |
// throw new LoadLayerException("Error initializating layer", e); |
|
830 |
// } |
|
831 |
// layerList[i] = layer; |
|
832 |
// } |
|
833 |
// return layerList; |
|
834 |
// } |
|
835 | 821 |
|
836 | 822 |
public RasterDataParameters[] getDataParameters() throws LoadLayerException { |
837 | 823 |
ListModel model = getLayerPanel().getLstSelectedLayers().getModel(); |
... | ... | |
854 | 840 |
par.setInfoFormat(getSelectedInfoFormat()); |
855 | 841 |
par.setSRS(getSelectedSRS()); |
856 | 842 |
par.setLayer(theme.getLayer()); |
843 |
par.setDimension(getSelectedDimension()); |
|
844 |
par.setDimensionSelectedValue(getSelectedValueForDimension()); |
|
857 | 845 |
WMTSStyle style = getSelectedStyle(theme.getLayer().getTitle()); |
858 | 846 |
if(style != null) |
859 | 847 |
par.setStyle(style); |
... | ... | |
863 | 851 |
return paramList; |
864 | 852 |
} |
865 | 853 |
|
854 |
private String getSelectedValueForDimension() { |
|
855 |
return getJPanelDimension().getSelectedValuePanel().getSelectedValue().getText(); |
|
856 |
} |
|
857 |
|
|
858 |
private String getSelectedDimension() { |
|
859 |
return getJPanelDimension().getDimensionPanel().getSelectedDimension(); |
|
860 |
} |
|
861 |
|
|
866 | 862 |
/** |
867 | 863 |
* Returns the current selected SRS. |
868 | 864 |
* @return |
... | ... | |
971 | 967 |
layerPanel.getLstSelectedLayers().repaint(); |
972 | 968 |
|
973 | 969 |
getLayerPanel().getTreeLayers().setModel(new LayerTreeModel(explorer.getOGCClient().getLayerListAsThemes())); |
974 |
refreshInfo(); |
|
970 |
refreshInfoPanel();
|
|
975 | 971 |
} |
976 | 972 |
|
977 | 973 |
if(e.getSource() == getLayerPanel().getThemesViewSelection()) { |
... | ... | |
980 | 976 |
layerPanel.getLstSelectedLayers().repaint(); |
981 | 977 |
|
982 | 978 |
getLayerPanel().getTreeLayers().setModel(new LayerTreeModel(explorer.getOGCClient().getThemes())); |
983 |
refreshInfo(); |
|
979 |
refreshInfoPanel();
|
|
984 | 980 |
} else { |
985 | 981 |
getLayerPanel().getLayerListViewSelection().setSelected(true); |
986 | 982 |
JOptionPane.showOptionDialog(this, |
... | ... | |
1006 | 1002 |
} |
1007 | 1003 |
|
1008 | 1004 |
if(e.getSource() == getJPanelFormatsAndSrs().getChkTransparency()) { |
1009 |
fireWizardComplete(isCorrectlyConfigured());
|
|
1005 |
fireWizardComplete(); |
|
1010 | 1006 |
} |
1011 | 1007 |
} |
1012 | 1008 |
|
1013 | 1009 |
public void keyTyped(KeyEvent e) { |
1014 |
/*if(e.getSource() == getLayerPanel().getJTxtNomCapa()) { |
|
1015 |
fireWizardComplete(isCorrectlyConfigured()); |
|
1016 |
}*/ |
|
1017 | 1010 |
} |
1018 | 1011 |
|
1019 | 1012 |
public void keyPressed(KeyEvent e) { |
... | ... | |
1023 | 1016 |
} |
1024 | 1017 |
|
1025 | 1018 |
public void valueChanged(ListSelectionEvent e) { |
1026 |
fireWizardComplete(isCorrectlyConfigured());
|
|
1019 |
fireWizardComplete(); |
|
1027 | 1020 |
} |
1028 | 1021 |
|
1029 | 1022 |
public void mouseClicked(MouseEvent e) { |
... | ... | |
1049 | 1042 |
} |
1050 | 1043 |
} |
1051 | 1044 |
|
1052 |
|
|
1053 | 1045 |
public void valueChanged(TreeSelectionEvent e) { |
1054 | 1046 |
if(e.getSource() == getLayerPanel().getTreeLayers()) { |
1055 | 1047 |
boolean isGetMapable = false; |
... | ... | |
1065 | 1057 |
|
1066 | 1058 |
} |
1067 | 1059 |
getLayerPanel().getBtnAdd().setEnabled(isGetMapable); |
1068 |
fireWizardComplete(isCorrectlyConfigured());
|
|
1060 |
fireWizardComplete(); |
|
1069 | 1061 |
} |
1070 | 1062 |
} |
1071 | 1063 |
|
Also available in: Unified diff