Statistics
| Revision:

gvsig-raster / org.gvsig.raster.wms / trunk / org.gvsig.raster.wms / org.gvsig.raster.wms.app.wmsclient / src / main / java / org / gvsig / raster / wms / app / wmsclient / gui / panel / LayerList.java @ 2484

History | View | Annotate | Download (2.43 KB)

1
/* gvSIG. Geographic Information System of the Valencian Government
2
*
3
* Copyright (C) 2007-2008 Infrastructures and Transports Department
4
* of the Valencian Government (CIT)
5
* 
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* as published by the Free Software Foundation; either version 2
9
* of the License, or (at your option) any later version.
10
* 
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
* GNU General Public License for more details.
15
* 
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
* MA  02110-1301, USA.
20
* 
21
*/
22
 
23
package org.gvsig.raster.wms.app.wmsclient.gui.panel;
24

    
25
import java.awt.Component;
26
import java.awt.Dimension;
27

    
28
import javax.swing.DefaultListCellRenderer;
29
import javax.swing.JList;
30

    
31
import org.gvsig.gui.beans.controls.dnd.JDnDList;
32
import org.gvsig.raster.wms.io.WMSLayerNode;
33

    
34

    
35
/**
36
 * Class implementing a JList component adapted to the WMSLayerNode
37
 * needs (use it as a JList with drag'n'drop capabilities).
38
 * 
39
 * @author jaume dominguez faus - jaume.dominguez@iver.es
40
 *
41
 */
42
public class LayerList extends JDnDList {
43
        public boolean showLayerNames = false;
44
        private int count = 0; 
45
        public LayerList() {
46
                super();
47
                setCellRenderer(new MyRenderer());
48
        }
49
        
50
        private class MyRenderer extends DefaultListCellRenderer {
51
                public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
52
                        super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
53
                        if (value instanceof WMSLayerNode){
54
                                WMSLayerNode layer = (WMSLayerNode) value;
55
                
56
                if (!showLayerNames) {
57
                        if (layer.getName() != null || layer.getName() == "") {
58
                                String text = layer.toString();
59
                                text = text.substring(text.indexOf(']')+2, text.length());
60
                                setText(text);
61
                        }
62
                }
63
                
64
                Dimension sz  = getPreferredSize();
65
                sz.setSize((sz.getWidth()+50) - (50*count), sz.getHeight());
66
                setPreferredSize(sz);
67
                count++;
68
            }  
69
                        return this;
70
                }
71
        }
72
}