Statistics
| Revision:

svn-gvsig-desktop / trunk / extensions / extWCS / src / com / iver / cit / gvsig / gui / panels / InfoPanel.java @ 4505

History | View | Annotate | Download (11.2 KB)

1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2005 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

    
42
/* CVS MESSAGES:
43
*
44
* $Id: InfoPanel.java 4505 2006-03-21 16:36:58Z jaume $
45
* $Log$
46
* Revision 1.1  2006-03-21 16:36:58  jaume
47
* *** empty log message ***
48
*
49
*
50
*/
51
package com.iver.cit.gvsig.gui.panels;
52

    
53
import java.util.Vector;
54

    
55
import javax.swing.JEditorPane;
56
import javax.swing.JPanel;
57
import javax.swing.JScrollPane;
58

    
59
import com.iver.andami.PluginServices;
60
import com.iver.cit.gvsig.fmap.layers.WCSLayer;
61
import com.iver.cit.gvsig.gui.wcs.WCSWizardData;
62

    
63
class InfoPanel extends JPanel {
64
    private final String bgColor0 = "\"#FEEDD6\""; // light salmon
65
    private final String bgColor1 = "\"#EAEAEA\""; // light grey
66
    private final String bgColor2 = "\"#F2FEFF\""; // light blue
67
    private final String bgColor3 = "\"#FBFFE1\""; // light yellow
68
    
69
    private final String service_title       = PluginServices.getText(this, "service_info");
70
    private final String server              = PluginServices.getText(this, "server");
71
    private final String server_type         = PluginServices.getText(this, "server_type");
72
    private final String server_abstract     = PluginServices.getText(this, "server_abstract");
73
    private final String server_title        = PluginServices.getText(this, "server_title");
74
    private final String layers_title        = PluginServices.getText(this, "selected_layers");
75
    private final String layer_title         = PluginServices.getText(this, "layer_title");
76
    private final String layer_abstract      = PluginServices.getText(this, "layer_abstract");
77
    private final String selected_dimensions = PluginServices.getText(this, "selected_dimensions");
78
    private final String style               = PluginServices.getText(this, "style");
79
    private final String format_title        = PluginServices.getText(this, "format");
80
    private final String srs_title           = "SRS";
81
    private final String properties                         = PluginServices.getText(this, "properties");
82
    private final String layer_name                         = PluginServices.getText(this, "name");
83
        private JEditorPane editor = null;
84
    
85
    
86
    /**
87
     * Creates a new instance of InfoPanel with double buffer and null layout
88
     *
89
     */
90
        public InfoPanel() {
91
                super();
92
        setLayout(null);
93
        JScrollPane src = new JScrollPane();
94
        src.setBounds(5, 5, 455, 375);
95
        add(src, null);
96
        src.setViewportView(getEditor());
97
        }
98

    
99
    /**
100
     * This method initializes tblInfo  
101
     *  
102
     * @return javax.swing.JTable   
103
     */    
104
    private JEditorPane getEditor() {
105
        if (editor == null) {
106
            editor = new JEditorPane();
107
            editor.setEditable(false);
108
        }
109
        return editor;
110
    }
111

    
112
    
113
    /**
114
     * Fills the text pane with a data table describing the service and the
115
     * selected settings.
116
     * 
117
     * @param dataSource
118
     */
119
    
120
    public void refresh(WCSWizardData dataSource, Vector layers, Vector styles, String format, String srs, Vector dimensions) {
121
        
122
        String server_text = dataSource.getHost();
123
        String server_type_text = dataSource.getServerType();
124
        String server_title_text = dataSource.getTitle(); 
125
        String server_abstract_text = dataSource.getAbstract();
126
        String font = "Arial";
127
        
128
        if (server_text == null) 
129
            server_text = "-";
130
        if (server_type_text == null)
131
            server_type_text = "-";
132
        if (server_title_text == null)
133
            server_title_text = "-";
134
        if (server_abstract_text == null)
135
            server_abstract_text = "-";
136
        
137
        if (format == null)
138
            format = PluginServices.getText(this, "none_selected");
139
        if (srs == null)
140
            srs = PluginServices.getText(this, "none_selected");
141
        
142
        String layers_html = "";
143
        for (int i = 0; i < layers.size(); i++) {
144
            WCSLayer layer = (WCSLayer) layers.get(i);
145
            String layer_name_text = layer.getName();
146
            String style_title = (styles==null) ? PluginServices.getText(this, "not_available") : (String) styles.get(i);//((FMapWMSStyle) selectedStyles.get(i)).title;
147
            String layer_abstract_text = layer.getDescription();
148
            String layer_title_text = layer.getTitle();
149
            
150
            if (layer_name_text ==null)
151
                    layer_name_text = "-";
152
            if (style_title==null)
153
                    style_title = "-";
154
            if (layer_abstract_text==null)
155
                    layer_abstract_text = "-";
156
            if (layer_title_text == null)
157
                    layer_title_text = "-";
158
            String layer_html =
159
                    "  <tr valign=\"top\">" +
160
                "     <td bgcolor=\"#D6D6D6\" align=\"right\"><font face=\"Arial\" size=\"3\" align=\"right\"><b>"+layer_name+"</b></font></td>" +
161
                "     <td bgcolor="+bgColor0+"><font face=\"Arial\" size=\"3\">"+layer_name_text+"</font></td>" +
162
                "  </tr>" +
163
                "  <tr valign=\"top\">" +
164
                "     <td width=\"119\" height=\"18\" bgcolor=\"#D6D6D6\" align=\"right\"><font face=\"Arial\" size=\"3\"><b>"+layer_title+"</b></font></td>" +
165
                "     <td width=\"322\" height=\"18\" bgcolor="+bgColor1+"><font face=\"Arial\" size=\"3\">"+layer_title_text+"</font></td>" +
166
                "  </tr>" +
167
                "  <tr valign=\"top\">" +
168
                "     <td bgcolor=\"#D6D6D6\" align=\"right\"><font face=\"Arial\" size=\"3\" align=\"right\"><b>"+layer_abstract+"</b></font></td>" +
169
                "     <td bgcolor="+bgColor0+"><font face=\"Arial\" size=\"3\">"+layer_abstract_text+"</font></td>" +
170
                "  </tr>" +
171
                "  <tr valign=\"top\">" +
172
                "     <td bgcolor=\"#D6D6D6\" align=\"right\"><font face=\"Arial\" size=\"3\" align=\"right\"><b>"+style+"</b></font></td>" +
173
                "     <td bgcolor="+bgColor1+"><font face=\"Arial\" size=\"3\">"+style_title+"</font></td>" +
174
                "  </tr>" +
175
                "  <tr>" +
176
                "  </tr>";
177
            layers_html += layer_html;
178
        }
179
        if (!layers_html.equals(""))
180
            layers_html =
181
                "  <tr valign=\"top\" bgcolor=\"#FFFFFF\">" +
182
                "    <td width=\"92\" height=\"18\" bgcolor="+bgColor3+" colspan=\"2\"><font face=\""+font+"\" size=\"4\"><b>"+layers_title+"</font></b></td>" +
183
                "  </tr>" + layers_html;
184
        String dimension_html = "";
185
        if (dimensions!=null) {
186
                boolean swap = false;
187
                for (int i = 0; i < dimensions.size(); i++) {
188
                        String color = swap ? bgColor0 : bgColor1;
189
                        String[] dimension = ((String) dimensions.get(i)).split("=");
190
                        dimension_html +=
191
                                "  <tr valign=\"top\" bgcolor="+color+">" +
192
                                "    <td width=\"120\" height=\"18\" bgcolor=\"#D6D6D6\" align=\"right\"><b>"+dimension[0]+"</b></td>" +
193
                                "    <td width=\"322\" height=\"18\">"+dimension[1]+"</td>" +
194
                                "  </tr>";
195
                        swap = !swap;
196
                }
197
        }        
198
        if (!dimension_html.equals(""))
199
                dimension_html = 
200
                        "  <tr valign=\"top\">" +
201
                        "    <td width=\"92\" height=\"18\" bgcolor="+bgColor3+" colspan=\"2\"><font face=\""+font+"\" size=\"4\"><b>"+selected_dimensions+"</font></b></td>" +
202
                        "  </tr>" + dimension_html;
203
        
204
        String format_html = 
205
                "  <tr valign=\"top\" bgcolor=\"#FFFFFF\">" +
206
            "    <td width=\"92\" height=\"18\" bgcolor="+bgColor3+" colspan=\"2\"><font face=\""+font+"\" size=\"4\"><b>"+properties+"</font></b></td>" +
207
            "  </tr>" + 
208
            "  <tr valign=\"top\" bgcolor="+bgColor0+">" +
209
            "    <td height=\"18\" bgcolor=\"#D6D6D6\" align=\"right\"><font face=\""+font+"\" size=\"3\"><b>"+format_title+"</b></font></td>" +
210
            "    <td><font face=\""+font+"\" size=\"3\"><font face=\""+font+"\" size=\"3\">"+format+"</font></td>" +
211
            "  </tr>" +
212
            "  <tr valign=\"top\" bgcolor="+bgColor1+">" +
213
            "    <td height=\"18\" bgcolor=\"#D6D6D6\" align=\"right\"><font face=\""+font+"\" size=\"3\"><b>"+srs_title+"</font></b></td>" +
214
            "    <td><font face=\""+font+"\" size=\"3\">"+srs+"</font></td>" +
215
            "  </tr>";
216
            
217
        String html = 
218

    
219
            "<html>" +
220
            "<body>" +
221
            "<table align=\"center\" width=\"437\" height=\"156\" border=\"0\" cellpadding=\"4\" cellspacing=\"4\">" +
222
            "  <tr valign=\"top\" bgcolor=\"#FFFFFF\">" +
223
            "    <td width=\"92\" height=\"18\" bgcolor="+bgColor3+" colspan=\"2\"><font face=\""+font+"\" size=\"4\"><b>"+service_title+"</font></b></td>" +
224
            "  </tr>" +
225
            "  <tr valign=\"top\" bgcolor="+bgColor0+">" +
226
            "    <td width=\"92\" height=\"18\" bgcolor=\"#D6D6D6\" align=\"right\"><font face=\""+font+"\" size=\"3\"><b>"+server+"</font></b></td>" +
227
            "    <td width=\"268\"><font face=\""+font+"\" size=\"3\">"+server_text+"</font></td>" +
228
            "  </tr>" +
229
            "  <tr valign=\"top\" bgcolor="+bgColor1+">" +
230
            "    <td height=\"18\" bgcolor=\"#D6D6D6\" align=\"right\"><font face=\""+font+"\" size=\"3\"><b>"+server_type+"</b></font></td>" +
231
            "    <td><font face=\""+font+"\" size=\"3\">"+server_type_text+"</font></td>" +
232
            "  </tr>" +
233
            "  <tr valign=\"top\" bgcolor="+bgColor0+">" +
234
            "    <td height=\"18\" bgcolor=\"#D6D6D6\" align=\"right\"><font face=\""+font+"\" size=\"3\"><b>"+server_title+"</b></font></td>" +
235
            "    <td><font face=\""+font+"\" size=\"3\"><font face=\""+font+"\" size=\"3\">"+server_title_text+"</font></td>" +
236
            "  </tr>" +
237
            "  <tr valign=\"top\" bgcolor="+bgColor1+">" +
238
            "    <td height=\"18\" bgcolor=\"#D6D6D6\" align=\"right\"><font face=\""+font+"\" size=\"3\"><b>"+server_abstract+"</font></b></td>" +
239
            "    <td><font face=\""+font+"\" size=\"3\">"+server_abstract_text+"</font></td>" +
240
            "  </tr>" +
241
            
242
            "  <tr>" +
243
            "  </tr>" +
244
            layers_html +
245
            dimension_html +
246
            format_html +
247
            "</table>" +
248
            "</body>" +
249
            "</html>";
250
        
251
        getEditor().setContentType("text/html");
252
        getEditor().setText(html);
253
    }
254
}