Revision 3627 branches/gvSIG_WMSv2/extensions/extWMS/src/com/iver/cit/gvsig/gui/panels/WMSParamsPanel.java

View differences:

WMSParamsPanel.java
40 40
*/
41 41
package com.iver.cit.gvsig.gui.panels;
42 42

  
43
import java.awt.event.FocusEvent;
44
import java.awt.event.FocusListener;
43 45
import java.awt.geom.Rectangle2D;
44 46
import java.util.ArrayList;
45 47
import java.util.ConcurrentModificationException;
......
49 51
import java.util.Vector;
50 52

  
51 53
import javax.swing.DefaultListModel;
52
import javax.swing.ImageIcon;
53
import javax.swing.JButton;
54 54
import javax.swing.JCheckBox;
55
import javax.swing.JComboBox;
56
import javax.swing.JList;
55
import javax.swing.JEditorPane;
57 56
import javax.swing.JPanel;
58 57
import javax.swing.JScrollPane;
59 58
import javax.swing.JTabbedPane;
60
import javax.swing.JTable;
61 59
import javax.swing.JTextField;
62
import javax.swing.table.DefaultTableModel;
63 60
import javax.swing.tree.TreePath;
64 61

  
65 62
import com.iver.andami.PluginServices;
......
71 68
import com.iver.cit.gvsig.gui.wizards.FormatListModel;
72 69
import com.iver.cit.gvsig.gui.wizards.LayerTreeModel;
73 70
import com.iver.cit.gvsig.gui.wizards.SRSListModel;
74
import com.iver.cit.gvsig.gui.wizards.StylesTableModel;
75 71
import com.iver.cit.gvsig.gui.wizards.WMSWizardData;
76
import com.iver.cit.gvsig.gui.wizards.WizardData;
77 72
import com.iver.cit.gvsig.gui.wizards.WizardListenerSupport;
78 73
/**
79 74
 * This class implements the map option panel.
......
124 119
	private JPanel jPanel1 = null;
125 120
	private JPanel jPanel5 = null;
126 121
	private StylesPanel tabStyle = null;
127
	private JPanel jPanel8 = null;
128
	private StylesSelectionPanel styleSelectPanel;
129
	private JPanel tabStyleSelect;
130 122
	private JCheckBox chkTransparency = null;
131
    private JPanel tabStyles = null;
132
    private JScrollPane jScrollPane = null;
133
    private JTable tblStyles = null;
134 123
    private InfoPanel tabInfo = null;
135 124
    private DimensionPanel tabDimensions = null;
136 125
    private int dimensionTabIndex;
137 126
    private int stylesTabIndex;
127
   
138 128
    
139 129
    public WMSParamsPanel(){
140 130
		super();
......
369 359
                    	listenerSupport.callStateChanged(isCorretlyConfigured());
370 360
					}
371 361
				});
372
//            treeLayers.setCellRenderer(new TreeCellRenderer() {
373
//
374
//                public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
375
//                    final JLabel label = new JLabel();
376
//                    if (value instanceof WMSLayerNode){
377
//                        label.setText(((WMSLayerNode)value).getTitle());
378
//                        label.setToolTipText(((WMSLayerNode)value).getAbstract());
379
//                    }
380
//                    
381
//                    return label;
382
//                }
383
//                
384
//            });
385 362
		}
386 363

  
387 364
		return treeLayers;
......
406 383
		}
407 384
        
408 385
        // Enable or disable the delete layer button.
409
        getBtnDel().setEnabled(getLstSelectedLayers().getSelectedIndices()!=null && getLstSelectedLayers().getSelectedIndices().length>0);
386
        getBtnDel().setEnabled(
387
                getLstSelectedLayers().getSelectedIndices()!=null 
388
                && getLstSelectedLayers().getSelectedIndices().length>0
389
                );
410 390
        return b;
411 391
	}
412 392

  
......
440 420
    public void refresh() {
441 421
        refreshSRS();
442 422
        getLstSelectedLayers().repaint();
443
        //styleSelectPanel.refresh();
444
        //refreshStyleTable();
445 423
        refreshStyleTree();
446 424
        refreshDimensionTree();
425
        getTabInfo().refresh(dataSource, 
426
                             selectedLayersVector(),
427
                             getStyleTitles(),
428
                             getFormat(),
429
                             getSRS(),
430
                             getDimensions());
431
        
447 432
    }
448 433

  
449 434
    private void refreshDimensionTree() {
......
572 557

  
573 558
		return lstSelectedLayers;
574 559
	}
575
	
576 560
    
577

  
578
    private void refreshStyleTable(){
579
        int size = getLstSelectedLayers().getModel().getSize();
580
        getTabStyle().setEnabled(size != 0); // TODO y que alguna de ellas tenga estilo
581
        
582
        StylesTableModel model = (StylesTableModel) getTblStyles().getModel();
583
        model.removeAll();
584
        for (int i=0; i<size; i++){
585
            WMSLayerNode node = (WMSLayerNode)getLstSelectedLayers().getModel().getElementAt(i);
586
            model.addRow(node);
587
        }
588
    }
589
    
590 561
	/**
591 562
	 * This method initializes lstSRSs
592 563
	 *
......
600 571
			lstSRSs.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
601 572
				public void valueChanged(
602 573
						javax.swing.event.ListSelectionEvent e) {
603
					//activarVisualizarBotones();
604 574
					listenerSupport.callStateChanged(isCorretlyConfigured());
605 575
				}
606 576
			});
......
690 660
        
691 661
		getLstFormats().setModel(new FormatListModel(this.dataSource.getFormats()));
692 662
		getTreeLayers().setModel(new LayerTreeModel(this.dataSource.getLayer()));
693
		/*getLstLayerStyles().setModel(getLstSelectedLayers().getModel());
694
		getLstLayerStyles().repaint();*/
695
        getTabInfo().refresh(dataSource);
663
        
664
        getTabInfo().refresh(dataSource, 
665
                             selectedLayersVector(),
666
                             getStyleTitles(),
667
                             getFormat(),
668
                             getSRS(),
669
                             getDimensions());
696 670
	}
697 671

  
698 672
	
699
	public String getFormat() {
673
    private Vector getStyleTitles() {
674
        return getTabStyle().getStyleTree().getStyleSelectionTitles();
675
    }
676

  
677
    /**
678
     * @return
679
     */
680
    private Vector selectedLayersVector() {
681
        JDnDListModel mod = (JDnDListModel) getLstSelectedLayers().getModel();
682
        Vector lyrs = new Vector();
683
        for (int i = 0; i < mod.getSize(); i++) {
684
            lyrs.add(mod.getElementAt(i));
685
        }
686
        return lyrs;
687
    }
688

  
689
    public String getFormat() {
700 690
		return (String) getLstFormats().getSelectedValue();
701 691
	}
702 692

  
......
867 857
		if (jTabbedPane == null) {
868 858
			jTabbedPane = new JTabbedPane();
869 859
			jTabbedPane.setBounds(3, 3, 475, 415);
870
			jTabbedPane.addTab(PluginServices.getText(this, "info"), null, getTabInfo(), null);
860
            InfoPanel ip = getTabInfo();
861
            ip.addFocusListener(new FocusListener(){
862
                public void focusGained(FocusEvent e) {
863
                    getTabInfo().refresh(dataSource, 
864
                                         selectedLayersVector(),
865
                                         getStyleTitles(),
866
                                         getFormat(),
867
                                         getSRS(),
868
                                         getDimensions());
869
                }
870
                public void focusLost(FocusEvent e) {
871
                }
872
            });
873
            
874
            StylesPanel sp = getTabStyle();
875
            DimensionPanel dp = getTabDimensions();
876
            
877
            
878
			jTabbedPane.addTab(PluginServices.getText(this, "info"), null, ip, null);
871 879
			jTabbedPane.addTab(PluginServices.getText(this, "capas"), null, getTabLayers(), null);
872
			jTabbedPane.addTab(PluginServices.getText(this, "formatos"), null, getTabFormats(), null);
873
			//jTabbedPane.addTab(PluginServices.getText(this, "estilos (old)"), null, getTabStyleSelect(), null);
874
			jTabbedPane.addTab(PluginServices.getText(this, "estilos"), null, getTabStyle(), null);
880
			jTabbedPane.addTab(PluginServices.getText(this, "estilos"), null, sp, null);
875 881
            stylesTabIndex = jTabbedPane.getTabCount()-1;
876
			//jTabbedPane.addTab(PluginServices.getText(this, "estilos tabla"), null, getTabStyles(), null);	
877
			jTabbedPane.addTab(PluginServices.getText(this, "dimensiones"), null, getTabDimensions(), null);
882
            jTabbedPane.addTab(PluginServices.getText(this, "dimensiones"), null, dp, null);
878 883
            dimensionTabIndex = jTabbedPane.getTabCount()-1;
884
            jTabbedPane.addTab(PluginServices.getText(this, "formatos"), null, getTabFormats(), null);
879 885
            jTabbedPane.setEnabledAt(dimensionTabIndex, false);
880 886
            jTabbedPane.setEnabledAt(stylesTabIndex, false);
881 887
		}
......
948 954
		}
949 955
		return tabStyle;
950 956
	}
951

  
952
	/**
953
	 * This method initializes tabStyleSelect	
954
	 * 	
955
	 * @return javax.swing.JPanel	
956
	 */    
957
	private JPanel getTabStyleSelect() {
958
		if (tabStyleSelect == null) {
959
			styleSelectPanel = new StylesSelectionPanel(this);
960
			tabStyleSelect = new JPanel();
961
			tabStyleSelect.setLayout(null);
962
			tabStyleSelect.add(styleSelectPanel, null);
963
			styleSelectPanel.setTabPanel(tabStyleSelect);
964
		}
965
		return tabStyleSelect;
966
	}
967

  
968
	/**
969
     * This method initializes jPanel7  
970
     *  
971
     * @return javax.swing.JPanel   
972
     */    
973
    private JPanel getJPanel8() {
974
        if (jPanel8 == null) {
975
            jPanel8 = new JPanel();
976
            jPanel8.setLayout(null);
977
            jPanel8.setBounds(5, 9, 456, 376);
978
            jPanel8.setBorder(javax.swing.BorderFactory.createTitledBorder(
979
                    null, PluginServices.getText(this, "seleccionar_estilo_para_capa"),
980
                    javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
981
                    javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
982
            jPanel8.add(getJScrollPane(), null);
983
        }
984
        return jPanel8;
985
    }
986 957
		
987 958
	/**
988 959
	 * Sets the focus to the tab next to the current one.
......
994 965
		int currentPage = currentPage();
995 966
		int nPages = getNumTabs();
996 967
		if (nPages -1 > currentPage){
997
			getJTabbedPane().setSelectedIndex(nextPageEnabled());
968
			getJTabbedPane().setSelectedIndex(nextEnabledPage());
998 969
		}
999 970
	}
1000 971
	
......
1065 1036
     * </p>
1066 1037
     * @return The index, or -1 if there is no one.
1067 1038
     */
1068
    public int nextPageEnabled() {
1039
    public int nextEnabledPage() {
1069 1040
        int currentPage = currentPage();
1070 1041
        int nPages = getNumTabs();
1071 1042
        if (currentPage == nPages)
......
1093 1064
    	return chkTransparency;
1094 1065
    }
1095 1066

  
1096
    /**
1097
     * This method initializes jPanel	
1098
     * 	
1099
     * @return javax.swing.JPanel	
1100
     */    
1101
    private JPanel getTabStyles() {
1102
    	if (tabStyles == null) {
1103
    		tabStyles = new JPanel();
1104
    		tabStyles.setLayout(null);
1105
    		tabStyles.add(getJPanel8(), null);
1106
    	}
1107
    	return tabStyles;
1108
    }
1109

  
1110
    /**
1111
     * This method initializes jScrollPane	
1112
     * 	
1113
     * @return javax.swing.JScrollPane	
1114
     */    
1115
    private JScrollPane getJScrollPane() {
1116
    	if (jScrollPane == null) {
1117
    		jScrollPane = new JScrollPane();
1118
    		jScrollPane.setBounds(8, 20, 441, 350);
1119
    		jScrollPane.setViewportView(getTblStyles());
1120
    	}
1121
    	return jScrollPane;
1122
    }
1123

  
1124
    /**
1125
     * This method initializes tblStyles	
1126
     * 	
1127
     * @return javax.swing.JTable	
1128
     */    
1129
    private JTable getTblStyles() {
1130
    	if (tblStyles == null) {
1131
    		tblStyles = new StylesTable(new StylesTableModel());
1132
        }
1133
    	return tblStyles;
1134
    }
1135 1067
    
1136 1068
    /**
1137 1069
     * Returns a vector of strings containing the styles selected for the
1138 1070
     * layers. A blank style is correct and means that default style will 
1139 1071
     * be used.
1140 1072
     * 
1141
     * TODO Tenir en compte que poden haver dues capes amb estils diferents i tal 
1142
     * com est?. Sempre tornar? l'estil de la primera (clonar el hash? refrescar l'ordre?)
1143
     * 
1144 1073
     * @return Vector
1145 1074
     */
1146 1075
    public Vector getStyles() {
......
1195 1124
    }
1196 1125
}  //  @jve:decl-index=0:visual-constraint="10,10"
1197 1126

  
1198
/**
1199
 * Panel de seleccion de estilos para cada capa seleccionada.
1200
 */
1201
class StylesSelectionPanel extends JPanel {
1202
	private WMSParamsPanel mainPanel = null;
1203
	private JPanel tabPanel = null;
1204
	private JScrollPane scrlLayerStyles = null;
1205
	private JScrollPane scrlSelectedStyles = null;
1206
	private JList lstLayerStyles = null;
1207
	private JList lstSelectedStyles = null;
1208
	private JButton setLayerStyleBtn = null;
1209
	private JButton deleteLayerStyleBtn = null;
1210
	private JComboBox cmbStyleLayers = null;
1211
    private ArrayList styles;
1212
    
1213
    public StylesSelectionPanel(WMSParamsPanel p) {
1214
    	super();
1215
    	mainPanel = p;
1216
    	init();
1217
    }
1218
	
1219
	/**
1220
	 * This method initializes Panel	
1221
	 */    
1222
	
1223
	private void init() {
1224
		setLayout(null);
1225
		setBounds(5, 9, 456, 376);
1226
		setBorder(javax.swing.BorderFactory.createTitledBorder(
1227
				null, PluginServices.getText(this, "seleccionar_estilo_para_capa"),
1228
				javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
1229
				javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
1230
		add(getScrlLayerStyles(), null);
1231
		add(getScrlSelectedStyles(), null);
1232
		add(getSetLayerStyleBtn(), null);
1233
		add(getDeleteLayerStyleBtn(), null);
1234
		add(getCmbStyleLayers(), null);
1235
		setSetLayerStyleButtonEnabled(false);
1236
		setDeleteButtonEnabled(false);
1237
	}
1238
	
1239
	protected void refresh() {
1240
		getCmbStyleLayers().removeAllItems();
1241
		int size = getLstSelectedLayers().getModel().getSize();
1242
        getTabPanel().setEnabled(size != 0); // TODO y que alguna de ellas tenga estilo
1243
        for (int i=0; i<size; i++){
1244
			getCmbStyleLayers().addItem(getLstSelectedLayers().getModel().getElementAt(i));
1245
		}
1246
	}
1247
	
1248
	protected void setTabPanel(JPanel tab) {
1249
		tabPanel = tab;
1250
	}
1251 1127

  
1252
	protected JPanel getTabPanel() {
1253
		return tabPanel;
1254
	}
1255
	
1256
	public JList getLstSelectedLayers() {
1257
		return mainPanel.getLstSelectedLayers();
1258
	}
1259

  
1260
	/**
1261
	 * This method initializes scrlLayerStyles	
1262
	 * 	
1263
	 * @return javax.swing.JScrollPane	
1264
	 */    
1265
	private JScrollPane getScrlLayerStyles() {
1266
		if (scrlLayerStyles == null) {
1267
			scrlLayerStyles = new JScrollPane();
1268
			scrlLayerStyles.setBounds(14, 67, 430, 117);
1269
			scrlLayerStyles.setViewportView(getLstLayerStyles());
1270
		}
1271
		return scrlLayerStyles;
1272
	}
1273

  
1274
	/**
1275
	 * This method initializes scrlStyles	
1276
	 * 	
1277
	 * @return javax.swing.JScrollPane	
1278
	 */    
1279
	private JScrollPane getScrlSelectedStyles() {
1280
		if (scrlSelectedStyles == null) {
1281
			scrlSelectedStyles = new JScrollPane();
1282
			scrlSelectedStyles.setBounds(14, 250, 430, 111);
1283
			scrlSelectedStyles.setViewportView(getLstSelectedStyles());
1284
			
1285
		}
1286
		return scrlSelectedStyles;
1287
	}
1288

  
1289
	/**
1290
	 * This method initializes lstLayerStyles	
1291
	 * 	
1292
	 * @return javax.swing.JList	
1293
	 */    
1294
	private JList getLstLayerStyles() {
1295
		if (lstLayerStyles == null) {
1296
			lstLayerStyles = new JList();
1297
		}
1298
		return lstLayerStyles;
1299
	}
1300

  
1301

  
1302
    /**
1303
	 * This method initializes lstStyles	
1304
	 * 	
1305
	 * @return javax.swing.JList	
1306
	 */    
1307
	private JList getLstSelectedStyles() {
1308
		if (lstSelectedStyles == null) {
1309
			lstSelectedStyles = new JList();
1310
		}
1311
		return lstSelectedStyles;
1312
	}
1313

  
1314
	/**
1315
	 * This method initializes setLayerStyleBtn	
1316
	 * 	
1317
	 * @return javax.swing.JButton	
1318
	 */    
1319
	private JButton getSetLayerStyleBtn() {
1320
		if (setLayerStyleBtn == null) {
1321
			setLayerStyleBtn = new JButton();
1322
			setLayerStyleBtn.setBounds(183, 199, 33, 33);
1323
		}
1324
		return setLayerStyleBtn;
1325
	}
1326

  
1327
	/**
1328
	 * This method initializes deleteLayerStyleBtn	
1329
	 * 	
1330
	 * @return javax.swing.JButton	
1331
	 */    
1332
	private JButton getDeleteLayerStyleBtn() {
1333
		if (deleteLayerStyleBtn == null) {
1334
			deleteLayerStyleBtn = new JButton();
1335
			deleteLayerStyleBtn.setBounds(236, 199, 33, 33);
1336
		}
1337
		return deleteLayerStyleBtn;
1338
	}
1339

  
1340
	/**
1341
	 * Enables or disables the delete style button, and also shifts the
1342
	 * IconImage.
1343
	 * @param enabled
1344
	 */
1345
	private void setDeleteButtonEnabled(boolean enabled){
1346
		JButton btn = getDeleteLayerStyleBtn();
1347
		btn.setEnabled(enabled);
1348
		// TODO Faltan los iconos
1349
/*		if (enabled){
1350
			btn.setIcon(new ImageIcon(getClass().getClassLoader().getResource("images/delete-on.png")));
1351
		} else{
1352
			btn.setIcon(new ImageIcon(getClass().getClassLoader().getResource("images/delete-off.png")));
1353
		}*/
1354
	}
1355

  
1356
	/**
1357
	 * Enables or disables the add style button, and also shifts the
1358
	 * IconImage.
1359
	 * @param enabled
1360
	 */
1361
	private void setSetLayerStyleButtonEnabled(boolean enabled){
1362
		JButton btn = getSetLayerStyleBtn();
1363
		btn.setEnabled(enabled);
1364
		// TODO Faltan los iconos
1365
		ImageIcon icon = null;
1366
/*		if (enabled){
1367
			icon = new ImageIcon(getClass().getClassLoader().getResource("images/arrow-down-on.png"));
1368
			if (icon != null)
1369
				btn.setIcon(icon);
1370
		} else{
1371
			icon = new ImageIcon(getClass().getClassLoader().getResource("images/arrow-down-off.png"));
1372
			if (icon != null)
1373
				btn.setIcon(icon);
1374
		}*/
1375
	}
1376

  
1377
	/**
1378
	 * This method initializes cmbStyleLayers	
1379
	 * 	
1380
	 * @return javax.swing.JComboBox	
1381
	 */    
1382
	private JComboBox getCmbStyleLayers() {
1383
		if (cmbStyleLayers == null) {
1384
			cmbStyleLayers = new JComboBox();
1385
			cmbStyleLayers.setBounds(14, 25, 430, 20);
1386
			cmbStyleLayers.addItemListener(new java.awt.event.ItemListener() { 
1387
				public void itemStateChanged(java.awt.event.ItemEvent e) {    
1388
					setStyleList((WMSLayerNode)getCmbStyleLayers().getSelectedItem());
1389
				}
1390
			});
1391
		}
1392
		return cmbStyleLayers;
1393
	}
1394

  
1395
	/**
1396
	 * Sets the styles of the layer passed as the layer's title
1397
	 * 
1398
	 * @param layerTitle
1399
	 */
1400
	private void setStyleList(WMSLayerNode layer){
1401
        if (layer == null) 
1402
            return; 
1403
        ArrayList elements = ((JDnDListModel) getLstSelectedLayers().getModel()).getElements();
1404
        WMSLayerNode[] layers = (WMSLayerNode[]) elements.toArray(new WMSLayerNode[0]);
1405
        for (int i = 0; i < layers.length; i++) {
1406
			if (layers[i].getName().equals(layer.getName())){
1407
                styles = layers[i].getStyles();
1408
                if (styles == null)
1409
                    continue;
1410
                String[] styleTitles = new String[styles.size()];
1411
                for (int j=0; j < styles.size(); j++){
1412
                    WMSLayerNode.FMapWMSStyle style = (WMSLayerNode.FMapWMSStyle) styles.get(j);
1413
                    styleTitles[j] = style.title;
1414
                }
1415
				getLstLayerStyles().setModel(new FormatListModel(styleTitles));		
1416
			}
1417
		}
1418
	}
1419
}
1420

  
1421 1128
/**
1422 1129
 * Panel de informaci?n del Service
1423 1130
 */
1424 1131

  
1425 1132
class InfoPanel extends JPanel {
1426
	private JTable tblInfo = null;
1133
    private final String bgColor0 = "\"#FEEDD6\""; // light salmon
1134
    private final String bgColor1 = "\"#EAEAEA\""; // light grey
1135
    private final String bgColor2 = "\"#F2FEFF\""; // light blue
1136
    private final String bgColor3 = "\"#FBFFE1\""; // light yellow
1137
    
1138
    private final String service_title       = PluginServices.getText(this, "service_info");
1139
    private final String server              = PluginServices.getText(this, "server");
1140
    private final String server_type         = PluginServices.getText(this, "server_type");
1141
    private final String server_abstract     = PluginServices.getText(this, "server_abstract");
1142
    private final String server_title        = PluginServices.getText(this, "server_title");
1143
    private final String layers_title        = PluginServices.getText(this, "selected_layers");
1144
    private final String layer_title         = PluginServices.getText(this, "layer_title");
1145
    private final String layer_abstract      = PluginServices.getText(this, "layer_abstract");
1146
    private final String selected_dimensions = PluginServices.getText(this, "selected_dimensions");
1147
    private final String style               = PluginServices.getText(this, "style");
1148
    private final String format_title        = PluginServices.getText(this, "format");
1149
    private final String srs_title           = "SRS";
1150
	private JEditorPane editor = null;
1151
    
1152
    
1153
    
1427 1154
	public InfoPanel() {
1428 1155
		super();
1156
        setLayout(null);
1429 1157
        JScrollPane src = new JScrollPane();
1158
        src.setBounds(5, 5, 455, 375);
1430 1159
        add(src, null);
1431
        src.setViewportView(getTblInfo());
1160
        src.setViewportView(getEditor());
1432 1161
	}
1162

  
1433 1163
    /**
1434
     * This method initializes tblInfo	
1435
     * 	
1436
     * @return javax.swing.JTable	
1164
     * This method initializes tblInfo  
1165
     *  
1166
     * @return javax.swing.JTable   
1437 1167
     */    
1438
    private JTable getTblInfo() {
1439
    	if (tblInfo == null) {
1440
            tblInfo = new JTable(new DefaultTableModel(0,2));
1441
            tblInfo.setRowSelectionAllowed(true);
1442
            tblInfo.setRowMargin(1);
1443
    	}
1444
    	return tblInfo;
1168
    private JEditorPane getEditor() {
1169
        if (editor == null) {
1170
            editor = new JEditorPane(); 
1171
        }
1172
        return editor;
1445 1173
    }
1446 1174

  
1175
    
1447 1176
    /**
1448 1177
     * Rellena la tabla de datos de informaci?n del servicio.
1449 1178
     * @param dataSource
1450 1179
     */
1451 1180
    
1452
    public void refresh(WMSWizardData dataSource) {
1453
        DefaultTableModel tbl = (DefaultTableModel) getTblInfo().getModel();
1454
        for (int i = tbl.getRowCount()-1; i >=0 ; i--) {
1455
            tbl.removeRow(i);
1456
        }
1457
        String[] row = new String[tbl.getColumnCount()];
1181
    public void refresh(WMSWizardData dataSource, Vector layers, Vector styles, String format, String srs, Vector dimensions) {
1458 1182
        
1459
        // No Column names
1460
        row[0] = " ";
1461
        row[1] = " ";
1462
        tbl.setColumnIdentifiers(row);
1183
        String server_text = dataSource.getHost();
1184
        String server_type_text = dataSource.getServerType();
1185
        String server_title_text = dataSource.getTitle(); 
1186
        String server_abstract_text = dataSource.getAbstract();
1463 1187
        
1464
        // URL row
1465
        row[0] = PluginServices.getText(this, "servidor");
1466
        row[1] = dataSource.getHost();
1467
        tbl.addRow( row );
1188
        if (format == null)
1189
            format = "-";
1190
        if (srs == null)
1191
            srs = "-";
1192
        
1193
        String layers_html = "";
1194
        for (int i = 0; i < layers.size(); i++) {
1195
            WMSLayerNode layer = (WMSLayerNode) layers.get(i);
1196
            String style_title = (String) styles.get(i);//((FMapWMSStyle) selectedStyles.get(i)).title;
1197
            String layer_abstract_text = layer.getAbstract();
1198
            String layer_title_text = layer.getTitle();
1199
            String layer_html =
1200
                "  <tr valign=\"top\">" +
1201
                "     <td width=\"119\" height=\"18\" bgcolor=\"#D6D6D6\" align=\"right\"><font face=\"Arial\" size=\"3\"><b>"+layer_title+"</b></font></td>" +
1202
                "     <td width=\"322\" height=\"18\" bgcolor="+bgColor1+"><font face=\"Arial\" size=\"3\">"+layer_title_text+"</font></td>" +
1203
                "  </tr>" +
1204
                "  <tr valign=\"top\">" +
1205
                "     <td bgcolor=\"#D6D6D6\" align=\"right\"><font face=\"Arial\" size=\"3\" align=\"right\"><b>"+layer_abstract+"</b></font></td>" +
1206
                "     <td bgcolor="+bgColor0+"><font face=\"Arial\" size=\"3\">"+layer_abstract_text+"</font></td>" +
1207
                "  </tr>" +
1208
                "  <tr valign=\"top\">" +
1209
                "     <td bgcolor=\"#D6D6D6\" align=\"right\"><font face=\"Arial\" size=\"3\" align=\"right\"><b>"+style+"</b></font></td>" +
1210
                "     <td bgcolor="+bgColor2+"><font face=\"Arial\" size=\"3\">"+style_title+"</font></td>" +
1211
                "  </tr>" +
1212
                "  <tr>" +
1213
                "  </tr>";
1214
            layers_html += layer_html;
1215
        }
1216
        if (!layers_html.equals(""))
1217
            layers_html =
1218
                "  <tr valign=\"top\" bgcolor=\"#FFFFFF\">" +
1219
                "    <td width=\"92\" height=\"18\" bgcolor="+bgColor3+" colspan=\"2\"><font face=\"Arial\" size=\"4\"><b>"+layers_title+"</font></b></td>" +
1220
                "  </tr>" + layers_html;
1221
        String dimension_html = "";
1222
//            "  <tr>" +
1223
//            "    <td bgcolor=\"#FFFFFF\"><strong>"+selected_dimensions+"</strong></td>" +
1224
//            "    <td></td>" +
1225
//            "  </tr>" +
1226
//            "  <tr bgcolor="+bgColor0+">" +
1227
//            "    <td width=\"120\" height=\"18\" bgcolor=\"#D6D6D6\"><b>\"+dimension_name+\"</b></td>" +
1228
//            "    <td width=\"322\" height=\"18\">\"+dimension_value+\"</td>" +
1229
//            "  </tr>";
1230
        if (!dimension_html.equals(""))
1231
            dimension_html = 
1232
                "  <tr>" +
1233
              "    <td bgcolor=\"#FFFFFF\"><strong>"+selected_dimensions+"</strong></td>" +
1234
              "    <td></td>" +
1235
              "  </tr>" + dimension_html;
1236
        String html = 
1468 1237

  
1469
        // Server type row
1470
        row[0] = PluginServices.getText(this, "tipo_servidor");
1471
        row[1] = dataSource.getServerType();
1472
        tbl.addRow( row );
1238
            "<html>" +
1239
            "<body>" +
1240
            "<p>" +
1241
            "<table align=\"center\" width=\"437\" height=\"156\" border=\"0\" cellpadding=\"4\" cellspacing=\"4\">" +
1242
            "  <tr valign=\"top\" bgcolor=\"#FFFFFF\">" +
1243
            "    <td width=\"92\" height=\"18\" bgcolor="+bgColor3+" colspan=\"2\"><font face=\"Arial\" size=\"4\"><b>"+service_title+"</font></b></td>" +
1244
            "  </tr>" +
1245
            "  <tr valign=\"top\" bgcolor="+bgColor0+">" +
1246
            "    <td width=\"92\" height=\"18\" bgcolor=\"#D6D6D6\" align=\"right\"><font face=\"Arial\" size=\"3\"><b>"+server+"</font></b></td>" +
1247
            "    <td width=\"268\"><font face=\"Arial\" size=\"3\">"+server_text+"</font></td>" +
1248
            "  </tr>" +
1249
            "  <tr valign=\"top\" bgcolor="+bgColor1+">" +
1250
            "    <td height=\"18\" bgcolor=\"#D6D6D6\" align=\"right\"><font face=\"Arial\" size=\"3\"><b>"+server_type+"</b></font></td>" +
1251
            "    <td><font face=\"Arial\" size=\"3\">"+server_type_text+"</font></td>" +
1252
            "  </tr>" +
1253
            "  <tr valign=\"top\" bgcolor="+bgColor0+">" +
1254
            "    <td height=\"18\" bgcolor=\"#D6D6D6\" align=\"right\"><font face=\"Arial\" size=\"3\"><b>"+server_title+"</b></font></td>" +
1255
            "    <td><font face=\"Arial\" size=\"3\"><font face=\"Arial\" size=\"3\">"+server_title_text+"</font></td>" +
1256
            "  </tr>" +
1257
            "  <tr valign=\"top\" bgcolor="+bgColor1+">" +
1258
            "    <td height=\"18\" bgcolor=\"#D6D6D6\" align=\"right\"><font face=\"Arial\" size=\"3\"><b>"+server_abstract+"</font></b></td>" +
1259
            "    <td><font face=\"Arial\" size=\"3\">"+server_abstract_text+"</font></td>" +
1260
            "  </tr>" +
1261
            "  <tr valign=\"top\" bgcolor="+bgColor0+">" +
1262
            "    <td height=\"18\" bgcolor=\"#D6D6D6\" align=\"right\"><font face=\"Arial\" size=\"3\"><b>"+format_title+"</b></font></td>" +
1263
            "    <td><font face=\"Arial\" size=\"3\"><font face=\"Arial\" size=\"3\">"+format+"</font></td>" +
1264
            "  </tr>" +
1265
            "  <tr valign=\"top\" bgcolor="+bgColor1+">" +
1266
            "    <td height=\"18\" bgcolor=\"#D6D6D6\" align=\"right\"><font face=\"Arial\" size=\"3\"><b>"+srs_title+"</font></b></td>" +
1267
            "    <td><font face=\"Arial\" size=\"3\">"+srs+"</font></td>" +
1268
            "  </tr>" +
1269
            
1270
            "  <tr>" +
1271
            "  </tr>" +
1272
            layers_html +
1273
            dimension_html +
1274
            "</table>" +
1275
            "</p>" +
1276
            "</body>" +
1277
            "</html>";
1473 1278
        
1474
        // Server Title
1475
        row[0] = PluginServices.getText(this, "titulo_wms");
1476
        row[1] = dataSource.getTitle();
1477
        tbl.addRow( row );
1478
        
1479
        // Abstract
1480
        row[0] = PluginServices.getText(this, "abstract");
1481
        row[1] = dataSource.getAbstract();
1482
        tbl.addRow( row );
1279
        getEditor().setContentType("text/html");
1280
        getEditor().setText(html);
1483 1281
    }
1484 1282
}
1485 1283

  
1486
class StylesPanel extends JPanel {
1284
class StylesPanel extends JPanel{
1487 1285
    private JScrollPane jScrollPane = null;
1488 1286
    private StyleTree treeStyles = null;
1489 1287
    public StylesPanel(){
......
1528 1326
        setLayout(null);
1529 1327
        setLayout(null);
1530 1328
        add(getJScrollPane(), null);
1329
        
1531 1330
    }
1532 1331
    /**
1533 1332
     * This method initializes jScrollPane3 

Also available in: Unified diff