Revision 3527 branches/gvSIG_WMSv2/extensions/extWMS/src/com/iver/cit/gvsig/gui/panels/WMSParamsPanel.java
WMSParamsPanel.java | ||
---|---|---|
49 | 49 |
import java.util.Vector; |
50 | 50 |
|
51 | 51 |
import javax.swing.DefaultListModel; |
52 |
import javax.swing.ImageIcon; |
|
53 |
import javax.swing.JButton; |
|
52 | 54 |
import javax.swing.JCheckBox; |
55 |
import javax.swing.JComboBox; |
|
56 |
import javax.swing.JList; |
|
53 | 57 |
import javax.swing.JPanel; |
54 | 58 |
import javax.swing.JScrollPane; |
55 | 59 |
import javax.swing.JTabbedPane; |
... | ... | |
120 | 124 |
private JPanel jPanel5 = null; |
121 | 125 |
private JPanel tabStyle = null; |
122 | 126 |
private JPanel jPanel8 = null; |
127 |
private StylesSelectionPanel styleSelectPanel; |
|
128 |
private JPanel tabStyleSelect; |
|
123 | 129 |
private JCheckBox chkTransparency = null; |
124 | 130 |
private JPanel tabStyles = null; |
125 | 131 |
private JScrollPane jScrollPane = null; |
126 | 132 |
private JTable tblStyles = null; |
127 | 133 |
private JPanel tabInfo = null; |
128 |
private JScrollPane scrlInfo = null;
|
|
134 |
private InfoPanel infoPanel = null;
|
|
129 | 135 |
private JTable tblInfo = null; |
130 | 136 |
private JScrollPane jScrollPane3 = null; |
131 | 137 |
private JTree treeStyles = null; |
... | ... | |
418 | 424 |
public void refresh() { |
419 | 425 |
refreshSRS(); |
420 | 426 |
getLstSelectedLayers().repaint(); |
427 |
styleSelectPanel.refresh(); |
|
421 | 428 |
refreshStyleTable(); |
422 |
refreshInfoTable(); |
|
423 | 429 |
} |
424 | 430 |
|
425 |
private void refreshInfoTable(){ |
|
426 |
DefaultTableModel tbl = (DefaultTableModel) getTblInfo().getModel(); |
|
427 |
for (int i = tbl.getRowCount()-1; i >=0 ; i--) { |
|
428 |
tbl.removeRow(i); |
|
429 |
} |
|
430 |
String[] row = new String[tbl.getColumnCount()]; |
|
431 |
|
|
432 |
// No Column names |
|
433 |
row[0] = " "; |
|
434 |
row[1] = " "; |
|
435 |
tbl.setColumnIdentifiers(row); |
|
436 |
|
|
437 |
|
|
438 |
// URL row |
|
439 |
row[0] = PluginServices.getText(this, "servidor"); |
|
440 |
row[1] = dataSource.getHost(); |
|
441 |
tbl.addRow( row ); |
|
442 |
|
|
443 |
// Server type row |
|
444 |
row[0] = PluginServices.getText(this, "tipo_servidor"); |
|
445 |
row[1] = dataSource.getServerType(); |
|
446 |
tbl.addRow( row ); |
|
447 |
|
|
448 |
// Server Title |
|
449 |
row[0] = PluginServices.getText(this, "titulo_wms"); |
|
450 |
row[1] = dataSource.getTitle(); |
|
451 |
tbl.addRow( row ); |
|
452 |
|
|
453 |
// Abstract |
|
454 |
row[0] = PluginServices.getText(this, "abstract"); |
|
455 |
row[1] = dataSource.getAbstract(); |
|
456 |
tbl.addRow( row ); |
|
457 |
} |
|
458 |
|
|
459 | 431 |
/** |
460 | 432 |
* DOCUMENT ME! |
461 | 433 |
*/ |
... | ... | |
621 | 593 |
getTreeLayers().setModel(new LayerTreeModel(this.dataSource.getLayer())); |
622 | 594 |
/*getLstLayerStyles().setModel(getLstSelectedLayers().getModel()); |
623 | 595 |
getLstLayerStyles().repaint();*/ |
596 |
infoPanel.refresh(dataSource); |
|
624 | 597 |
} |
625 | 598 |
|
626 | 599 |
|
... | ... | |
795 | 768 |
if (jTabbedPane == null) { |
796 | 769 |
jTabbedPane = new JTabbedPane(); |
797 | 770 |
jTabbedPane.setBounds(3, 3, 475, 415); |
771 |
jTabbedPane.addTab(PluginServices.getText(this, "info"), null, getTabInfo(), null); |
|
798 | 772 |
jTabbedPane.addTab(PluginServices.getText(this, "capas"), null, getTabLayers(), null); |
799 | 773 |
jTabbedPane.addTab(PluginServices.getText(this, "formatos"), null, getTabFormats(), null); |
800 |
jTabbedPane.addTab(PluginServices.getText(this, "estilos"), null, getTabStyle(), null);
|
|
801 |
jTabbedPane.addTab(PluginServices.getText(this, "estilos"), null, getTabStyles(), null);
|
|
802 |
jTabbedPane.addTab(PluginServices.getText(this, "info"), null, getTabInfo(), null);
|
|
774 |
jTabbedPane.addTab(PluginServices.getText(this, "estilos (old)"), null, getTabStyleSelect(), null);
|
|
775 |
jTabbedPane.addTab(PluginServices.getText(this, "estilos arbol"), null, getTabStyle(), null);
|
|
776 |
jTabbedPane.addTab(PluginServices.getText(this, "estilos tabla"), null, getTabStyles(), null);
|
|
803 | 777 |
} |
804 | 778 |
return jTabbedPane; |
805 | 779 |
} |
... | ... | |
873 | 847 |
} |
874 | 848 |
|
875 | 849 |
/** |
850 |
* This method initializes tabStyleSelect |
|
851 |
* |
|
852 |
* @return javax.swing.JPanel |
|
853 |
*/ |
|
854 |
private JPanel getTabStyleSelect() { |
|
855 |
if (tabStyleSelect == null) { |
|
856 |
styleSelectPanel = new StylesSelectionPanel(this); |
|
857 |
tabStyleSelect = new JPanel(); |
|
858 |
tabStyleSelect.setLayout(null); |
|
859 |
tabStyleSelect.add(styleSelectPanel, null); |
|
860 |
styleSelectPanel.setTabPanel(tabStyleSelect); |
|
861 |
} |
|
862 |
return tabStyleSelect; |
|
863 |
} |
|
864 |
|
|
865 |
/** |
|
876 | 866 |
* This method initializes jPanel7 |
877 | 867 |
* |
878 | 868 |
* @return javax.swing.JPanel |
... | ... | |
1066 | 1056 |
*/ |
1067 | 1057 |
private JPanel getTabInfo() { |
1068 | 1058 |
if (tabInfo == null) { |
1059 |
infoPanel = new InfoPanel(); |
|
1069 | 1060 |
tabInfo = new JPanel(); |
1070 |
tabInfo.add(getScrlInfo(), null);
|
|
1061 |
tabInfo.add(infoPanel, null);
|
|
1071 | 1062 |
} |
1072 | 1063 |
return tabInfo; |
1073 | 1064 |
} |
1074 | 1065 |
|
1075 | 1066 |
/** |
1076 |
* This method initializes scrlInfo |
|
1077 |
* |
|
1078 |
* @return javax.swing.JScrollPane |
|
1079 |
*/ |
|
1080 |
private JScrollPane getScrlInfo() { |
|
1081 |
if (scrlInfo == null) { |
|
1082 |
scrlInfo = new JScrollPane(); |
|
1083 |
scrlInfo.setViewportView(getTblInfo()); |
|
1084 |
} |
|
1085 |
return scrlInfo; |
|
1086 |
} |
|
1087 |
|
|
1088 |
/** |
|
1089 |
* This method initializes tblInfo |
|
1090 |
* |
|
1091 |
* @return javax.swing.JTable |
|
1092 |
*/ |
|
1093 |
private JTable getTblInfo() { |
|
1094 |
if (tblInfo == null) { |
|
1095 |
tblInfo = new JTable(new DefaultTableModel(0,2)); |
|
1096 |
tblInfo.setRowSelectionAllowed(true); |
|
1097 |
tblInfo.setRowMargin(1); |
|
1098 |
} |
|
1099 |
return tblInfo; |
|
1100 |
} |
|
1101 |
|
|
1102 |
/** |
|
1103 | 1067 |
* This method initializes jScrollPane3 |
1104 | 1068 |
* |
1105 | 1069 |
* @return javax.swing.JScrollPane |
... | ... | |
1125 | 1089 |
return treeStyles; |
1126 | 1090 |
} |
1127 | 1091 |
} // @jve:decl-index=0:visual-constraint="10,10" |
1092 |
|
|
1093 |
/** |
|
1094 |
* Panel de seleccion de estilos para cada capa seleccionada. |
|
1095 |
*/ |
|
1096 |
class StylesSelectionPanel extends JPanel { |
|
1097 |
private WMSParamsPanel mainPanel = null; |
|
1098 |
private JPanel tabPanel = null; |
|
1099 |
private JScrollPane scrlLayerStyles = null; |
|
1100 |
private JScrollPane scrlSelectedStyles = null; |
|
1101 |
private JList lstLayerStyles = null; |
|
1102 |
private JList lstSelectedStyles = null; |
|
1103 |
private JButton setLayerStyleBtn = null; |
|
1104 |
private JButton deleteLayerStyleBtn = null; |
|
1105 |
private JComboBox cmbStyleLayers = null; |
|
1106 |
private ArrayList styles; |
|
1107 |
|
|
1108 |
public StylesSelectionPanel(WMSParamsPanel p) { |
|
1109 |
super(); |
|
1110 |
mainPanel = p; |
|
1111 |
init(); |
|
1112 |
} |
|
1113 |
|
|
1114 |
/** |
|
1115 |
* This method initializes Panel |
|
1116 |
*/ |
|
1117 |
|
|
1118 |
private void init() { |
|
1119 |
setLayout(null); |
|
1120 |
setBounds(5, 9, 456, 376); |
|
1121 |
setBorder(javax.swing.BorderFactory.createTitledBorder( |
|
1122 |
null, PluginServices.getText(this, "seleccionar_estilo_para_capa"), |
|
1123 |
javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, |
|
1124 |
javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null)); |
|
1125 |
add(getScrlLayerStyles(), null); |
|
1126 |
add(getScrlSelectedStyles(), null); |
|
1127 |
add(getSetLayerStyleBtn(), null); |
|
1128 |
add(getDeleteLayerStyleBtn(), null); |
|
1129 |
add(getCmbStyleLayers(), null); |
|
1130 |
setSetLayerStyleButtonEnabled(false); |
|
1131 |
setDeleteButtonEnabled(false); |
|
1132 |
} |
|
1133 |
|
|
1134 |
protected void refresh() { |
|
1135 |
getCmbStyleLayers().removeAllItems(); |
|
1136 |
int size = getLstSelectedLayers().getModel().getSize(); |
|
1137 |
getTabPanel().setEnabled(size != 0); // TODO y que alguna de ellas tenga estilo |
|
1138 |
for (int i=0; i<size; i++){ |
|
1139 |
getCmbStyleLayers().addItem(getLstSelectedLayers().getModel().getElementAt(i)); |
|
1140 |
} |
|
1141 |
} |
|
1142 |
|
|
1143 |
protected void setTabPanel(JPanel tab) { |
|
1144 |
tabPanel = tab; |
|
1145 |
} |
|
1146 |
|
|
1147 |
protected JPanel getTabPanel() { |
|
1148 |
return tabPanel; |
|
1149 |
} |
|
1150 |
|
|
1151 |
public JList getLstSelectedLayers() { |
|
1152 |
return mainPanel.getLstSelectedLayers(); |
|
1153 |
} |
|
1154 |
|
|
1155 |
/** |
|
1156 |
* This method initializes scrlLayerStyles |
|
1157 |
* |
|
1158 |
* @return javax.swing.JScrollPane |
|
1159 |
*/ |
|
1160 |
private JScrollPane getScrlLayerStyles() { |
|
1161 |
if (scrlLayerStyles == null) { |
|
1162 |
scrlLayerStyles = new JScrollPane(); |
|
1163 |
scrlLayerStyles.setBounds(14, 67, 430, 117); |
|
1164 |
scrlLayerStyles.setViewportView(getLstLayerStyles()); |
|
1165 |
} |
|
1166 |
return scrlLayerStyles; |
|
1167 |
} |
|
1168 |
|
|
1169 |
/** |
|
1170 |
* This method initializes scrlStyles |
|
1171 |
* |
|
1172 |
* @return javax.swing.JScrollPane |
|
1173 |
*/ |
|
1174 |
private JScrollPane getScrlSelectedStyles() { |
|
1175 |
if (scrlSelectedStyles == null) { |
|
1176 |
scrlSelectedStyles = new JScrollPane(); |
|
1177 |
scrlSelectedStyles.setBounds(14, 250, 430, 111); |
|
1178 |
scrlSelectedStyles.setViewportView(getLstSelectedStyles()); |
|
1179 |
|
|
1180 |
} |
|
1181 |
return scrlSelectedStyles; |
|
1182 |
} |
|
1183 |
|
|
1184 |
/** |
|
1185 |
* This method initializes lstLayerStyles |
|
1186 |
* |
|
1187 |
* @return javax.swing.JList |
|
1188 |
*/ |
|
1189 |
private JList getLstLayerStyles() { |
|
1190 |
if (lstLayerStyles == null) { |
|
1191 |
lstLayerStyles = new JList(); |
|
1192 |
} |
|
1193 |
return lstLayerStyles; |
|
1194 |
} |
|
1195 |
|
|
1196 |
|
|
1197 |
/** |
|
1198 |
* This method initializes lstStyles |
|
1199 |
* |
|
1200 |
* @return javax.swing.JList |
|
1201 |
*/ |
|
1202 |
private JList getLstSelectedStyles() { |
|
1203 |
if (lstSelectedStyles == null) { |
|
1204 |
lstSelectedStyles = new JList(); |
|
1205 |
} |
|
1206 |
return lstSelectedStyles; |
|
1207 |
} |
|
1208 |
|
|
1209 |
/** |
|
1210 |
* This method initializes setLayerStyleBtn |
|
1211 |
* |
|
1212 |
* @return javax.swing.JButton |
|
1213 |
*/ |
|
1214 |
private JButton getSetLayerStyleBtn() { |
|
1215 |
if (setLayerStyleBtn == null) { |
|
1216 |
setLayerStyleBtn = new JButton(); |
|
1217 |
setLayerStyleBtn.setBounds(183, 199, 33, 33); |
|
1218 |
} |
|
1219 |
return setLayerStyleBtn; |
|
1220 |
} |
|
1221 |
|
|
1222 |
/** |
|
1223 |
* This method initializes deleteLayerStyleBtn |
|
1224 |
* |
|
1225 |
* @return javax.swing.JButton |
|
1226 |
*/ |
|
1227 |
private JButton getDeleteLayerStyleBtn() { |
|
1228 |
if (deleteLayerStyleBtn == null) { |
|
1229 |
deleteLayerStyleBtn = new JButton(); |
|
1230 |
deleteLayerStyleBtn.setBounds(236, 199, 33, 33); |
|
1231 |
} |
|
1232 |
return deleteLayerStyleBtn; |
|
1233 |
} |
|
1234 |
|
|
1235 |
/** |
|
1236 |
* Enables or disables the delete style button, and also shifts the |
|
1237 |
* IconImage. |
|
1238 |
* @param enabled |
|
1239 |
*/ |
|
1240 |
private void setDeleteButtonEnabled(boolean enabled){ |
|
1241 |
JButton btn = getDeleteLayerStyleBtn(); |
|
1242 |
btn.setEnabled(enabled); |
|
1243 |
// TODO Faltan los iconos |
|
1244 |
/* if (enabled){ |
|
1245 |
btn.setIcon(new ImageIcon(getClass().getClassLoader().getResource("images/delete-on.png"))); |
|
1246 |
} else{ |
|
1247 |
btn.setIcon(new ImageIcon(getClass().getClassLoader().getResource("images/delete-off.png"))); |
|
1248 |
}*/ |
|
1249 |
} |
|
1250 |
|
|
1251 |
/** |
|
1252 |
* Enables or disables the add style button, and also shifts the |
|
1253 |
* IconImage. |
|
1254 |
* @param enabled |
|
1255 |
*/ |
|
1256 |
private void setSetLayerStyleButtonEnabled(boolean enabled){ |
|
1257 |
JButton btn = getSetLayerStyleBtn(); |
|
1258 |
btn.setEnabled(enabled); |
|
1259 |
// TODO Faltan los iconos |
|
1260 |
ImageIcon icon = null; |
|
1261 |
/* if (enabled){ |
|
1262 |
icon = new ImageIcon(getClass().getClassLoader().getResource("images/arrow-down-on.png")); |
|
1263 |
if (icon != null) |
|
1264 |
btn.setIcon(icon); |
|
1265 |
} else{ |
|
1266 |
icon = new ImageIcon(getClass().getClassLoader().getResource("images/arrow-down-off.png")); |
|
1267 |
if (icon != null) |
|
1268 |
btn.setIcon(icon); |
|
1269 |
}*/ |
|
1270 |
} |
|
1271 |
|
|
1272 |
/** |
|
1273 |
* This method initializes cmbStyleLayers |
|
1274 |
* |
|
1275 |
* @return javax.swing.JComboBox |
|
1276 |
*/ |
|
1277 |
private JComboBox getCmbStyleLayers() { |
|
1278 |
if (cmbStyleLayers == null) { |
|
1279 |
cmbStyleLayers = new JComboBox(); |
|
1280 |
cmbStyleLayers.setBounds(14, 25, 430, 20); |
|
1281 |
cmbStyleLayers.addItemListener(new java.awt.event.ItemListener() { |
|
1282 |
public void itemStateChanged(java.awt.event.ItemEvent e) { |
|
1283 |
setStyleList((WMSLayerNode)getCmbStyleLayers().getSelectedItem()); |
|
1284 |
} |
|
1285 |
}); |
|
1286 |
} |
|
1287 |
return cmbStyleLayers; |
|
1288 |
} |
|
1289 |
|
|
1290 |
/** |
|
1291 |
* Sets the styles of the layer passed as the layer's title |
|
1292 |
* |
|
1293 |
* @param layerTitle |
|
1294 |
*/ |
|
1295 |
private void setStyleList(WMSLayerNode layer){ |
|
1296 |
if (layer == null) |
|
1297 |
return; |
|
1298 |
ArrayList elements = ((JDnDListModel) getLstSelectedLayers().getModel()).getElements(); |
|
1299 |
WMSLayerNode[] layers = (WMSLayerNode[]) elements.toArray(new WMSLayerNode[0]); |
|
1300 |
for (int i = 0; i < layers.length; i++) { |
|
1301 |
if (layers[i].getName().equals(layer.getName())){ |
|
1302 |
styles = layers[i].getStyles(); |
|
1303 |
if (styles == null) |
|
1304 |
continue; |
|
1305 |
String[] styleTitles = new String[styles.size()]; |
|
1306 |
for (int j=0; j < styles.size(); j++){ |
|
1307 |
WMSLayerNode.FMapWMSStyle style = (WMSLayerNode.FMapWMSStyle) styles.get(j); |
|
1308 |
styleTitles[j] = style.title; |
|
1309 |
} |
|
1310 |
getLstLayerStyles().setModel(new FormatListModel(styleTitles)); |
|
1311 |
} |
|
1312 |
} |
|
1313 |
} |
|
1314 |
} |
|
1315 |
|
|
1316 |
/** |
|
1317 |
* Panel de informaci?n del Service |
|
1318 |
*/ |
|
1319 |
|
|
1320 |
class InfoPanel extends JScrollPane { |
|
1321 |
private JTable tblInfo = null; |
|
1322 |
public InfoPanel() { |
|
1323 |
super(); |
|
1324 |
setViewportView(getTblInfo()); |
|
1325 |
} |
|
1326 |
/** |
|
1327 |
* This method initializes tblInfo |
|
1328 |
* |
|
1329 |
* @return javax.swing.JTable |
|
1330 |
*/ |
|
1331 |
private JTable getTblInfo() { |
|
1332 |
if (tblInfo == null) { |
|
1333 |
tblInfo = new JTable(new DefaultTableModel(0,2)); |
|
1334 |
tblInfo.setRowSelectionAllowed(true); |
|
1335 |
tblInfo.setRowMargin(1); |
|
1336 |
} |
|
1337 |
return tblInfo; |
|
1338 |
} |
|
1339 |
|
|
1340 |
/** |
|
1341 |
* Rellena la tabla de datos de informaci?n del servicio. |
|
1342 |
* @param dataSource |
|
1343 |
*/ |
|
1344 |
|
|
1345 |
public void refresh(WMSWizardData dataSource) { |
|
1346 |
DefaultTableModel tbl = (DefaultTableModel) getTblInfo().getModel(); |
|
1347 |
for (int i = tbl.getRowCount()-1; i >=0 ; i--) { |
|
1348 |
tbl.removeRow(i); |
|
1349 |
} |
|
1350 |
String[] row = new String[tbl.getColumnCount()]; |
|
1351 |
|
|
1352 |
// No Column names |
|
1353 |
row[0] = " "; |
|
1354 |
row[1] = " "; |
|
1355 |
tbl.setColumnIdentifiers(row); |
|
1356 |
|
|
1357 |
// URL row |
|
1358 |
row[0] = PluginServices.getText(this, "servidor"); |
|
1359 |
row[1] = dataSource.getHost(); |
|
1360 |
tbl.addRow( row ); |
|
1361 |
|
|
1362 |
// Server type row |
|
1363 |
row[0] = PluginServices.getText(this, "tipo_servidor"); |
|
1364 |
row[1] = dataSource.getServerType(); |
|
1365 |
tbl.addRow( row ); |
|
1366 |
|
|
1367 |
// Server Title |
|
1368 |
row[0] = PluginServices.getText(this, "titulo_wms"); |
|
1369 |
row[1] = dataSource.getTitle(); |
|
1370 |
tbl.addRow( row ); |
|
1371 |
|
|
1372 |
// Abstract |
|
1373 |
row[0] = PluginServices.getText(this, "abstract"); |
|
1374 |
row[1] = dataSource.getAbstract(); |
|
1375 |
tbl.addRow( row ); |
|
1376 |
} |
|
1377 |
|
|
1378 |
|
|
1379 |
|
|
1380 |
} |
Also available in: Unified diff